'-e' flag applies to everything that exists, which is not ideal.
This can, for example, also show README files on personal repositories.
Since our target is user-scripts and package directories, checking
if the target is executable is the best overall solutions as most
directories are also marked executable. This change makes sure we
get what we want while keeping other files out of pkg_find.
Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
This removes the previous arguments when calling kiss help so that
they are not listed as extensions. This is not a big issue, but
someone can type
kiss help please
and 'please' would be shown as an available extension.
Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
If the checksums file doesn't exist on the package directory, kiss
used as_root regardless of permissions. This checks whether the directory
is writable instead of the checksums file, which should provide proper
permissions.
This patch ignores if the directory has weird permissions. If the
directory is writable but the checksums file isn't, kiss will exit
with error. This ignorance is intentional as ideally a package dir
should have identical permissions.
Signed-off-by: Dylan Araps <dylan.araps@gmail.com>
It is now possible to do 'kiss f' instead of 'kiss fork' to give
a simple example. In the case where there is a conflict in single
lettering, the first match will be used.
This extends to 'kiss fo', 'kiss for' and so on.
Seeing as how these utilities are now better integrated,
more effort should go into the overall interface between
what should be the "benchmark" or example kiss scripts.
kiss' help output will now include all executables found in $PATH
which begin with kiss-*. A comment string is optionally usable via
setting the second line of the script to a string.
Example:
...
This also means that 'kiss <script name>' is also possible now.
If I have a script in my $PATH called kiss-depends, I can now use
it via kiss with 'kiss depends'.
People seem to have the odd belief that little to no thought has
gone into the installation process of the package manager. The
reality is of course the opposite.
This commit adds comments to the pkg_install() function hopefully
giving insight into _why_ it works as it does.
Additional rationale for rsync is that it allowed us to drop
fakeroot from the repositories and package system entirely.