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
This will chroot() to rootdir and removes many chroot() commands
from those scripts.
--HG--
extra : convert_revision : 4845df1949996da1bcd2776fcc50c3d0a00b451b
This new code correctly sorts all dependencies without needing
to look at required_by or priority objects.
--HG--
extra : convert_revision : 3aa07372ae07e6938b9120d560a49efdaeac0a4e
Return -1 if package is not installed or dependency not satisfied.
Return 0 if same version required is already installed.
Return 1 if installed version is greater than required.
--HG--
extra : convert_revision : 359b79cbe809e1818fe999dc1d55da7e635dbe44
Add util funcs to get/set global values for them:
* xbps_[gs]et_rootdir()
* xbps_[gs]et_flags()
--HG--
extra : convert_revision : 2584b098e68a684e7b0eeac57c2b1df4aba6589d
Now with some uncommitted changes removing a pkg with info files,
looks like this:
[juan@fedora-vm xbps]$ xbps-bin -r ~/blah remove make
Removing package make-3.81 ...
Unregistering info file: /usr/share/info/make.info-2.gz... done.
Unregistering info file: /usr/share/info/make.info.gz... done.
Unregistering info file: /usr/share/info/make.info-1.gz... done.
done.
[juan@fedora-vm xbps]$
--HG--
extra : convert_revision : b06a96125aa957c3d21e998596530372086b94da
It seems that it was failing in the VM where I'm running only
all xbps packages for unknown reasons.
--HG--
extra : convert_revision : d7403820e238688af67265aed921ad7a007d27a4
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
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
* 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