- Introduce package states: unpacked, broken, installed, etc.
Not yet finished, only unpacked and installed are used for now.
- Move package metadata files in binary packages directly to
the top directory, this speeds up some ops and makes easier to
continue working in future changes.
- xbps-bin: -C flag to check the hash of package files has been
superseded by the 'check' target, which verifies the integrity
of an installed package.
- Use the 'essential' object when upgrading packages, overwritting
current files. This is needed for critical packages like sh, libc
and others.
- Miscellaneous tweaks and improvements thorough the code.
--HG--
extra : convert_revision : 2073fcc123efc24b3e9327b5e22aa91752f20df6
This fixes an item from the TODO about 'xbps-bin -C files' not checking
configuration files.
--HG--
extra : convert_revision : bb661554a6b34a25066749844709b8cbaf5a4d6c
This removes the need for having to specify sourcepkg manually in
every package that will build subpkgs.
--HG--
extra : convert_revision : 383e4c467e84844d2f4f61ae5c5e07a5124e9cfb
The library is only responsible now to find all binary packages
from repositories, sort them and create a dictionary with all
details. The frontend (xbps-bin) provides support for this,
and this allows for more flexibility and removes some stuff
that didn't belong in the library.
While here implemented support to show total download/installed
size for all packages that are going to be installed.
Next step will be to implement user interactivity before
installing/removing/updating packages.
--HG--
extra : convert_revision : 858e9a89bc6a60b348435f2416a8af3ebb6ea5c9
Multiple shells can be (un)registered by a single package, like:
register_shell="/bin/zsh-foo /bin/zsh-blah"
--HG--
extra : convert_revision : 0172a74b41e26089da97fcdc8cc2d5cb6ae147f2
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
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