This version is 12x faster than current implementation in shell script.
To generate an index for 434 packages, current implementation took
5min and 56 seconds. New implementation only took 29 seconds!
New implementation also doesn't add duplicate packages, and updates
the package entry for new package versions.
--HG--
extra : convert_revision : 269d38ee18184b585877fd729bf95e07ce57dd50
Add util funcs to get/set global values for them:
* xbps_[gs]et_rootdir()
* xbps_[gs]et_flags()
--HG--
extra : convert_revision : 2584b098e68a684e7b0eeac57c2b1df4aba6589d
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
First remove all links, next files and last dirs.
Only check the SHA256 hash for files, skip links and dirs.
--HG--
extra : convert_revision : b1762d5e795959591c732f625d25adfd1840f592
This fixes all cases that previous code has with no changes...
sorry pancake.
--HG--
extra : convert_revision : 993d0aa060daf36d1b5ffa63725002dda122c091
* If any dep of a package cannot be found in the repository pool,
show it on xbps-bin.
* Add the automatic-install boolean obj into pkg's dictionary
on regpkgdb.plist, this will be used to implemented something
like "apt-get autoremove".
--HG--
extra : convert_revision : 666e2fa666ac94140159896e28b445e88e8afb7a
New changes include a modified algorithm of the previous one, which
finally does not fail even with multiple repos, YAY!
Fixed some leaks as well, thanks to valgrind.
--HG--
extra : convert_revision : 3cffe1e9e9e9f7abf225ca3c6643377fc12a94bd
This implementation will be faster and resolv the dependency chain
correctly taking into account indirect/direct deps and priority.
--HG--
extra : convert_revision : cc4ec186f06f944fa8825b176344c4d612658f85