This function works by iterating an array in a dictionary
in reverse order, i.e from down to top.
--HG--
extra : convert_revision : 5e655c2edf3d42453f16830e2e944c7f6e2cd974
This fixes a buffer overflow and avoids unnecessary casts and
other cleanup thorough the code.
--HG--
extra : convert_revision : 4b389251cfb76b28028967cd60c409fe94f6c85e
Some parts in the library related to findings pkgs in repositories
has been improved vastly by caching the dictionary once.
Duplicated code has been added in xbps-bin/install.c, but will
be fixed soon.
--HG--
extra : convert_revision : 2924012a8589a2a6ecaa3863b5091049006c0ef3
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
Add util funcs to get/set global values for them:
* xbps_[gs]et_rootdir()
* xbps_[gs]et_flags()
--HG--
extra : convert_revision : 2584b098e68a684e7b0eeac57c2b1df4aba6589d
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
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
* 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 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
This implementation will be faster and resolv the dependency chain
correctly taking into account indirect/direct deps and priority.
--HG--
extra : convert_revision : cc4ec186f06f944fa8825b176344c4d612658f85
- Remove lib/info.c that doesn't belong in the lib and add it into the
bins.
- Every binary now uses its own directory on bin/.
This is in preparation for future changes for correct behaviour of
the library and binaries.
--HG--
extra : convert_revision : 880d16378bf940c4f5478de0362afe883cd5fd2c
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