From 92474ea81d4ad37fc2c4c0c65fba79cae24e3625 Mon Sep 17 00:00:00 2001 From: John McQuah Date: Fri, 1 Sep 2023 16:07:25 -0400 Subject: [PATCH] update the man-page with fresh examples --- doc/prt-get.8 | 61 ++++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/doc/prt-get.8 b/doc/prt-get.8 index ddde8a7..9e8272e 100644 --- a/doc/prt-get.8 +++ b/doc/prt-get.8 @@ -287,39 +287,39 @@ symbols will be replaced as follows. .TP \ \ \ \(bu -%n \-> name of the port +%n -> name of the port .TP \ \ \ \(bu -%p1 \-> Full path (including name) to port taking precedence +%p1 -> Full path (including name) to port taking precedence .TP \ \ \ \(bu -%p2 \-> Full path (including name) to port being hidden +%p2 -> Full path (including name) to port being hidden .TP \ \ \ \(bu -%v1 \-> Version of port taking precedence +%v1 -> Version of port taking precedence .TP \ \ \ \(bu -%v2 \-> Version of port being hidden +%v2 -> Version of port being hidden .TP \ \ \ \(bu -%M1 \-> maintainer of port taking precedence +%M1 -> maintainer of port taking precedence .TP \ \ \ \(bu -%M2 \-> maintainer of port being hidden +%M2 -> maintainer of port being hidden .TP \ \ \ \(bu -%u1 \-> URL of port taking precedence +%u1 -> URL of port taking precedence .TP \ \ \ \(bu -%u2 \-> URL of port being hidden +%u2 -> URL of port being hidden .TP .B list [\-v|\-vv] [\-\-path] [\-\-regex] [filter] @@ -337,27 +337,27 @@ Print formatted port list format string can contain variables, which are replaced like this: .TP \ \ \ \(bu -%n \-> name +%n -> name .TP \ \ \ \(bu -%p \-> path +%p -> path .TP \ \ \ \(bu -%v \-> version +%v -> version .TP \ \ \ \(bu -%r \-> release +%r -> release .TP \ \ \ \(bu -%d \-> description +%d -> description .TP \ \ \ \(bu -%e \-> dependencies +%e -> dependencies .TP \ \ \ \(bu @@ -365,7 +365,7 @@ are replaced like this: .TP \ \ \ \(bu -%u \-> URL +%u -> URL .TP \ \ \ \(bu @@ -389,7 +389,7 @@ are replaced like this: .TP \ \ \ \(bu -%i \-> "no" if not installed, "yes" if it's installed and +%i -> "no" if not installed, "yes" if it's installed and up to date and "diff" if it's installed and a new version is in the ports tree. @@ -690,18 +690,18 @@ Install paper and yasm. Abort with an informative error message if either package is already installed, allowing you to issue a revised command. .TP -.B prt\-get update -fr openssh +.B prt\-get update \-fr openssh Update your current version of openssh, forcing a rebuild even if no version difference is detected. Useful if there was a major version change in one of its dependencies, and \fBrevdep openssh\fP indicates a broken package. :\-) .TP -.B MISSLIBS=$(revdep -vvv mpv | awk -v FS=: '/(missing library)/ {print $3}'); [ -n \(dq${MISSLIBS[@]}\(dq ] && for i in ${MISSLIBS[@]}; do prt\-get fsearch $i; done +.B MISSLIBS=$(revdep \-vvv mpv | awk \-v FS=: '/(missing library)/ {print $3}'); [ \-n \(dq${MISSLIBS[@]}\(dq ] && for i in ${MISSLIBS[@]}; do prt\-get fsearch $i; done (adapted from a script by ppetrov^) Check for the presence of the runtime libraries needed by mpv. If any are absent, search the footprints to determine which ports provide the missing libraries. .TP -.B prt\-get isinst $(prt\-get info ffmpeg | awk \-v FS=: '/^Optional/ {gsub(/,/,\(dq \(dq,$2); print $2}') | awk -v FS=\(dq \(dq '/not installed/ {print $2}' +.B prt\-get isinst $(prt\-get info ffmpeg | awk \-v FS=: '/^Optional/ {gsub(/,/,\(dq \(dq,$2); print $2}') | awk \-v FS=\(dq \(dq '/not installed/ {print $2}' Show all the optional dependencies of ffmpeg that are not currently installed. .TP @@ -713,7 +713,7 @@ spend any resources on ffmpeg until all of its optional dependencies are in place. .TP -.B prt\-get isinst $(if grep -qE '^ffmpeg:' /etc/prt-get.softdeps 2>/dev/null; then grep -E '^ffmpeg:' /etc/prt-get.softdeps | cut -d: -f2 | tr ',' ' '; else prt-get info ffmpeg | awk -v FS=: '/^Optional/ {gsub(/,/,\(dq \(dq,$2); print $2}'; fi) | awk -v FS=\(dq \(dq '/not installed/ {print $2}' | xargs prt\-get depinst \-\-group \-\-softdeps ffmpeg +.B prt\-get isinst $(if grep \-qE '^ffmpeg:' /etc/prt\-get.softdeps 2>/dev/null; then grep \-E '^ffmpeg:' /etc/prt\-get.softdeps | cut \-d: \-f2 | tr ',' ' '; else prt\-get info ffmpeg | awk \-v FS=: '/^Optional/ {gsub(/,/,\(dq \(dq,$2); print $2}'; fi) | awk \-v FS=\(dq \(dq '/not installed/ {print $2}' | xargs prt\-get depinst \-\-group \-\-softdeps ffmpeg Extension of the above (addressing a use case envisioned by ivandi). The user can create the file /etc/prt-get.softdeps containing a line like .B ffmpeg: x264 x265 @@ -733,12 +733,17 @@ Return a list of all ports whose names start with "mc", "nc", or "pc" Return a list of all ports having "irc" in their name or description .TP -.B comm -13 <(ls /usr/ports/core) <(prt-get listorphans) +.B prt\-get fsearch \-\-full \(dq/usr/etc/*\(dq | awk '/^Found in/ { $0=gensub(/Found in .*\e/(.+):/,\(dq\e\e1\(dq,\(dqg\(dq); print;}' +Return a list of all ports that store their configs in /usr/etc. Omit the +pipe to awk if you also want a detailed list of the files that matched. + +.TP +.B comm \-13 <(ls /usr/ports/core) <(prt\-get listorphans) (based on comments from Romster and jue) Filter out the core ports from the list of orphans, in shells (like bash) that support process substitution .TP -.B comm -13 <(cat ~/.keepers <(ls /usr/ports/core) | sort) <(prt\-get listorphans) | xargs prt\-get remove +.B comm \-13 <(cat ~/.keepers <(ls /usr/ports/core) | sort) <(prt\-get listorphans) | xargs prt\-get remove (system-hosing extension of the above) A one-liner inspired by \fBpkg\-clean\fP and \fBpkgfoster\fP, but without the safeguard of interactivity. \fBDo not try this on a mission-critical system.\fP @@ -764,7 +769,7 @@ awk filter in the middle is needed to prevent the command from failing with the error message "already installed". .TP -.B comm -3 <(prt\-get printf \(dq%i:%n %v-%r\en\(dq | grep -v ^no | cut -d: -f2 | sort) <(pkginfo -i | sort) +.B comm \-3 <(prt\-get printf \(dq%i:%n %v\-%r\en\(dq | grep \-v ^no | cut \-d: \-f2 | sort) <(pkginfo \-i | sort) (inspired by a bug report from teodor) an alternative to \fBprt\-get diff\fP. In the output, left-justified lines show the version available in the repositories, while indented lines show the version installed. On a @@ -778,16 +783,16 @@ Print the upstream URL for each port in the collection \(dqmyrepo\(dq, perhaps as the first step in keeping your personal overlay up to date. .TP -.B prt\-get printf \(dq%M\et%n\en\(dq | grep ^Tim | wc -l +.B prt\-get printf \(dq%M\et%n\en\(dq | grep \-c ^Tim Count how many ports our most-overworked core team member claims responsibility for. .TP -.B comm -13 <(prt\-get depends firefox-bin |tail -n +2 |sort) <(prt\-get depends firefox |tail -n +2 |sort) +.B comm \-13 <(prt\-get depends firefox\-bin |tail \-n +2 |sort) <(prt\-get depends firefox |tail \-n +2 |sort) Find the build-time dependencies of firefox. Runtime dependencies would also appear in the list generated by the first process substitution, and \fBcomm -13\fP will suppress what the two lists have in common. .TP -.B prt-get listinst \-\-depsort | xargs prt-get install \-\-install\-root=/mnt +.B prt\-get listinst \-\-depsort | xargs prt\-get install \-\-install\-root=/mnt Sort the list of installed packages by dependencies, and then install all those packages onto a backup filesystem (mounted at /mnt). If you have a customized pkgadd.conf that you want applied to this operation, either copy it to @@ -795,7 +800,7 @@ pkgadd.conf that you want applied to this operation, either copy it to /etc/pkgadd.conf\(dq to the install command. .TP -.B prt-get list --path --regex '^xorg.*' | grep -v \(dq/usr/ports/xorg\(dq +.B prt\-get list \-\-path \-\-regex '^xorg.*' | grep \-v \(dq/usr/ports/xorg\(dq Show the ports whose names begin with xorg, but which appear outside the xorg port collection. (At the time of writing, this command returned at least two font ports.)