From 14a150b73b66288dfdd67a275d88a0367c122210 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 7 Aug 2013 23:46:19 -0600 Subject: librefetch: add a `print` mode --- src/librefetch/librefetch | 16 +++++++++++++++- src/librefetch/librefetch.8.ronn | 10 +++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/librefetch/librefetch b/src/librefetch/librefetch index 168d30e..3a5aef2 100755 --- a/src/librefetch/librefetch +++ b/src/librefetch/librefetch @@ -28,7 +28,7 @@ trap cleanup EXIT cmd=${0##*/} usage() { print "Usage: %s [options] []" "$cmd" - print "Usage: %s -[g|V|h]" "$cmd" + print "Usage: %s -[g|P|V|h]" "$cmd" print "Downloads or creates a liberated source tarball." echo print "The default mode is to create , first by trying download" @@ -61,6 +61,7 @@ usage() { print " instead" print " Alternate modes:" print " -g, --geninteg Generage integrity checks for source files" + print " -P, --print Print the effective build script (SRCBUILD)" print " -V, --version Show version information" print " -h, --help Show this message" } @@ -118,6 +119,18 @@ main() { return 0 fi + # Mode: print ########################################################## + + if [[ $mode =~ print ]]; then + if [[ ${#extra_opts[@]} != 0 ]]; then + print "%s: found extra non-flag arguments: %s" "$cmd" "${extra_opts[*]}" >> /dev/stderr + usage >> /dev/stderr + return 1 + fi + cat "$srcbuild" + return 0 + fi + ######################################################################## local src dst @@ -189,6 +202,7 @@ parse_options() { -C) mode=create;; -D) mode=download;; -g|--geninteg) mode=checksums;; + -P|--print) mode=print;; -p) BUILDFILE="$(readlink -m -- "$opt")";; -V|--version) mode=version;; -h|--help) mode=help;; diff --git a/src/librefetch/librefetch.8.ronn b/src/librefetch/librefetch.8.ronn index 5df2e09..44c24f5 100644 --- a/src/librefetch/librefetch.8.ronn +++ b/src/librefetch/librefetch.8.ronn @@ -18,13 +18,14 @@ package adds `librefetch` as a download agent for `libre://` to `makepkg.conf`. Because of this, it is almost never necessary to call `librefetch` manually. -There are 6 modes: +There are 7 modes: * `download-create`: The default mode. First try `download` mode, then `create` mode. * `download`: Download the tarball from the configured mirror. * `create`: Create the tarball from a `PKGBUILD`/`SRCBUILD`. * `checksums`: Generate integrity checks for source files. + * `print`: Print the effective build script. * `version`: Print `librefetch` version information. * `help`: Print `librefetch` usage information. @@ -37,6 +38,7 @@ There are 6 modes: directory, it is used instead. * `-g` | `--geninteg`: Use `checksums` mode: Generate integrity checks for source files. + * `-P` | `--print`: Use `print` mode: print the effective build script. * `-V` | `--version`: Use `version` mode: Show version information. * `-h` | `--help`: Use `help` mode: Show useage information. @@ -62,6 +64,12 @@ When this documentation speaks of a file being modified, it is a temporary copy of the file that is modified, your original file will remain intact. +## SRCBUILD GENERATION + +As explained in the `CREATE MODE` section, in `create` mode, this +program generates an `SRCBUILD` file. For debugging purposes, this +file can be printed instead of executed with `print` mode. + ### PRE-EXISTING SRCBUILD The use of `SRCBUILD` files pre-dates `librefetch`. By convention, -- cgit v1.2.2