Also the following changes were made:
* Added an info-files trigger, to (un)register info files.
* xbps-base-dirs: it's responsible to install triggers on destdir.
--HG--
extra : convert_revision : 8d707053616f38d2b5beef7cf28e1bc4a66812b8
A new target has been added to xbps-bin: autoremove. It works in
the same way than 'apt-get', but there's no stdin input. By default
it will list you all orphaned packages, and -f flag must be set
to really remove them.
The following is a real example for the git package, which requires
directly perl and curl-libs, and indirectly libidn and openssl.
$ xbps-bin -r ~/testing-xbps remove git
Removing package git-1.6.1.3 ... done.
$
$ xbps-bin -r ~/testing-xbps autoremove
The following packages were installed automatically
(as dependencies) and aren't needed anymore:
perl-5.10.0 curl-libs-7.19.0 libidn-1.10 openssl-0.9.8j
If you are really sure you don't need them, use -f to confirm.
$
--HG--
extra : convert_revision : 70eebaa3d99be27753b94f580c8ec86330c7c2d3
Now if any package is going to be removed and it's required by
other packages, it won't let you remove it unless -f is set.
Here's an example of how it looks like:
[juan@fedora-vm xbps]$ xbps-bin -r ~/testing-xbps remove glibc
WARNING! glibc is required by the following packages:
zlib-1.2.3 ncurses-libs-5.7 gcc-libstdc++-4.3.2 e2fsprogs-libs-1.41.4
cracklib-2.8.13 expat-2.0.1 ncurses-5.7 cpio-2.9
module-init-tools-3.6 busybox-initramfs-1.13.2 udev-138 procps-3.2.7
pam-1.0.2 dbus-libs-1.2.12 lzma-utils-libs-4.32.7 coreutils-7.1
sed-4.1.5 grep-2.5.4 gawk-3.1.6 gzip-1.3.12
bzip2-1.0.5 bash-4.0 less-424 gdbm-1.8.3
groff-1.20.1 lzma-utils-4.32.7 dbus-1.2.12 proplib-0.3
dash-0.5.4 findutils-4.4.0 util-linux-ng-2.14.2 initramfs-tools-0.92o
file-5.00 diffutils-2.8.1 wget-1.11.4 man-db-2.5.3
sysklogd-1.5 eject-2.1.5 shadow-4.1.2.2 sudo-1.7.0
e2fsprogs-1.41.4 tzdata-2009a vim-7.2 upstart-0.5.1
kernel-2.6.28.1 xbps-base-pkg-0.1 kbd-1.14.1
If you are sure about this, use -f to force deletion for this package.
[juan@fedora-vm xbps]$
--HG--
extra : convert_revision : eeb92925e51f11d5b3bf7e069ed4986ae5fb0c2d
* If a dir is listed in $keep_dirs it won't be removed (anyway any
directory that is not empty won't either).
* If a config file hasn't been modified (SHA256 hash matches) the
file will be removed, otherwise it won't be removed.
There's still missing support to handle new configuration files when
there's an existing file, but will do later.
--HG--
extra : convert_revision : 448af95876fc7a47da07a9a910d6111047f72271
Some other changes related for this:
- Modify binpkg.sh to always insert the INSTALL script at head of
the archive, and appending files after it.
- Modify binpkg.sh to compress binpkgs with bzip2 -9 to save some bytes.
--HG--
extra : convert_revision : b651b944f11c48dede1bbcea658182bf0984e8f3
This currently checks:
- While removing, any file is checked and if hash doesn't match the
file is ignored and not removed.
- While installing, if a binary pkg file doesn't match with the one
reported by the repository's pkg index file, the process will be
stopped.
--HG--
extra : convert_revision : 42bb64e89a092f0ff3e7d951e5b26e45d63a60fe
The list of build dependencies is shown, and if any of them
has deps, the list is shown for it and so on. This has the effect
of installing the deps in the order that they were specified
in the template, at the expense of a minor performance ratio.
--HG--
extra : convert_revision : 231ed52da19201bdeab65d0f9db78ab83b51e010
This fixes all cases that previous code has with no changes...
sorry pancake.
--HG--
extra : convert_revision : 993d0aa060daf36d1b5ffa63725002dda122c091
The reason is that fakeroot can't read files that have restrictive
perms and you'd have to change them before the src installation, and
restoring them at binpkg pre-installation.
I prefer to avoid all this and build the pkg with appropiate perms.
--HG--
extra : convert_revision : 8a5086049ab575962913eda0cb2ace0c211b97f1
This algorithm works for all packages currently usable on xbps.
Previous code didn't take into account the correct order between
indirect and direct deps.
--HG--
extra : convert_revision : c49a20ce300e6e9dfa565325b40745b5a78b78ed
There are two scripts that can be used now:
- prepost-inst: for pre/post actions at installation.
- prepost-rm: for pre/post actions at removal.
--HG--
extra : convert_revision : 5e054758f549f5c81693b825795fbb36e2d5513a
Because in theory any shell script or executable program might run,
and therefore the .sh extension is wrong.
--HG--
extra : convert_revision : 2f52520ccb04cdf1c414ee0ac6128e54d82c1d36
For now all is handled in a script "prepost-action.sh" in package's
metadata directory, with a target in the shell script.
--HG--
extra : convert_revision : 93ed92d9fbb12939c751354cff464cc097379520