Commit d94c811 changed `sort -u` to `uniq -u`; these are not equivalent.
`uniq -u` suppresses all duplicate lines, but `sort -u` removes all but
one. In the case of there being no command-line args, PWD is taken as
the package, and if that package is in a repo already in KISS_PATH, the
repo will be in KISS_PATH twice. This will cause the `kiss search`
command to give two entries for PWD, and `uniq -u` removes both.
Revert to `sort -u` to keep one of those entries.
If the package in PWD is not installed, there will be not entries left;
if it is installed, kiss-maintainer will try to get the history from
/var/db/kiss/installed/pkg, which is not a git repo.
Example of the incorrect behaviour:
KISS_PATH=/home/me/repo/core
PWD=/home/me/repo/core/musl
$ sh -x /usr/bin/kiss-maintainer
+ '[' ]
+ export 'KISS_PATH=/home/me/repo/core::/home/me/repo/core'
+ set -- musl
+ kiss search musl
+ uniq -u
+ read -r repo
+ read -r repo
+ cd /var/db/kiss/installed/musl
+ git log -1 version
+ m=
+ :
+ m=
+ m=
+ '[' ]
+ continue
+ read -r repo
(no output)
if a package contains a file with a quote in it's name, xargs complains
about an unmatched quote and fails, and the pipeline is aborted.
this patch escapes all non-alphanumeric characters so that xargs can
handle such filenames.
Ctrl+C is now correctly blocked during installation and removal
and ordering of pkg_clean is maintained.
Two new hooks have been added, SIGINT and SIGEXIT. These run in
the corresponding signal handlers.
Fixes#280
This option defaults to '1' and controls the installation prompt
at the end of the build process. Setting this to '0' will disable
the installation of packages post-build.
Closes#265
This wraps the call in a subshell so the die() call does not exit
the script early. Error code is also forced back to 0 so the
existing clean up code runs.
Closes#260