ec7549fa04
xbps_sort_pkg_deps: change an assertion into a real check.
2011-02-04 16:17:47 +01:00
097b50b3c2
Fix all warnings found by clang analyzer as reported by ojab in issue 3.
2011-02-03 17:49:43 +01:00
0a26497b50
xbps_repository_update_allpkgs: return ENOENT if regpkgdb dict cannot be internalized.
2011-02-03 09:34:38 +01:00
692caea1cd
xbps_get_pkg_state_*: if state object is not available return EINVAL.
2011-02-02 09:53:56 +01:00
927d7e0c5d
xbps_repository_find_pkg_deps: improve a debug printf.
2011-02-01 17:32:25 +01:00
0e38b649ff
xbps_get_pkg_state_installed: if pkg dictionary is not found return ENOENT.
2011-02-01 17:30:59 +01:00
fdc496e8f1
Added xbps_repository_pkg_replaces() to handle pkg "replaces" in the transaction.
...
The frontend (in that case xbps-bin(8)) is only responsible to remove
those packages that have the "trans-action" string object set to "remove".
2011-02-01 01:21:54 +01:00
da607becf9
Make some xbps_warn_printf dependent of XBPS_FLAG_VERBOSE.
2011-01-30 18:38:16 +01:00
5c7eaf2f92
xbps_warn_printf: fix previous and remove unused var.
2011-01-30 18:32:15 +01:00
42eb834e8d
xbps_warn_printf: always print regardless of XBPS_FLAG_VERBOSE.
2011-01-30 18:31:36 +01:00
e04f167d09
xbps_repository_pool_foreach: use SIMPLEQ_FOREACH_SAFE.
2011-01-30 15:09:18 +01:00
bdd48de67d
xbps_sort_pkg_deps: use TAILQ_FOREACH_SAFE.
2011-01-30 14:42:17 +01:00
2492d98d13
xbps_purge_pkg: chdir to rootdir, check that REMOVE file exists and is executable.
2011-01-30 12:49:55 +01:00
b6b3bd799b
xbps_purge_pkg: execute the "purge" action in REMOVE script (if found).
...
This replaces code for removing all directories installed by the
package and instead let's the package do whatever is ok in the REMOVE
script by executing the "purge" action.
2011-01-30 11:32:46 +01:00
7da33469cc
xbps-bin(8): added -R option to recursively remove pkgs that were instaled automatically.
2011-01-30 08:08:34 +01:00
bb897da7b4
Fix an assertion.
2011-01-30 00:14:29 +01:00
de034c28f5
xbps_find_pkg_orphans: simplify even more.
2011-01-29 18:34:50 +01:00
5bbbb3c8fd
xbps_find_pkg_in_*: search for virtual pkg before the real one.
2011-01-29 17:57:01 +01:00
8d6eab5ac1
xbps_remove_obsoletes: make xbps_printf conditionalized with XBPS_FLAG_VERBOSE.
2011-01-29 16:26:17 +01:00
d7bafff252
xbps_requiredby_pkg_{add,remove}: simplify and make them aware of virtual pkgs.
2011-01-29 12:29:30 +01:00
241751f1b7
Added three new helper functions to the API.
...
xbps_find_pkg_in_array_by_name
xbps_find_pkg_in_array_by_pattern
xbps_remove_pkgname_from_array
2011-01-29 12:28:23 +01:00
298305c1d5
Make some xbps_printf()s conditioned on XBPS_FLAG_VERBOSE.
2011-01-29 01:55:52 +01:00
463d182c49
When sorting packages also look for virtual packages.
...
A new function xbps_find_virtual_pkg_in_dict() has been made public
to the API to make this find duplicate packages in the transaction
when updating packages.
2011-01-28 20:56:28 +01:00
6e26332a2e
A really faster dependency sorting algorithm, 60% faster approx!
...
Benchmarks before and after the code for installing
"xorg gnome xbmc vlc firefox epdfview":
OLD
-----------------
real 0m1.844s
user 0m1.841s
sys 0m0.003s
NEW
-----------------
real 0m0.873s
user 0m0.868s
sys 0m0.004s
2011-01-28 19:47:05 +01:00
af5d3a0653
xbps_repository_find_pkg_deps: do not recurse more than MAX_DEPTH times, return ELOOP.
2011-01-28 12:12:47 +01:00
f7f3cfcb9c
Performance improvements for xbps_find_pkg_in_dict_by_* and xbps_find_*_in_array().
2011-01-28 12:11:43 +01:00
4438fd1183
xbps_repository_find_pkg_deps: simplify even more and remove dead code.
2011-01-27 21:54:55 +01:00
bebad82316
repository_finddeps.c: remove useless code.
2011-01-27 21:12:42 +01:00
c58107bd27
xbps_repository_find_pkg_deps: fix stupid error by reusing a var.
2011-01-27 21:02:56 +01:00
176f5e3e40
xbps_sort_pkg_deps: use xbps_check_is_installed_pkg_by_name().
2011-01-27 20:54:23 +01:00
1cc45ee20f
Fix two asserts.
2011-01-27 20:47:34 +01:00
8a7bfe6cda
xbps_repository_find_pkg_deps: simplify and handle an error case.
2011-01-27 18:23:32 +01:00
faad0a6597
Make xbps_remove_pkg_from_* use shared code, and add another variant.
...
The functions have been renamed to really match what they do.
2011-01-27 18:22:57 +01:00
93e1a0a22c
Performance improvements for xbps_find_pkg_in_dict_by_{name,pattern} with virtual pkgs.
2011-01-27 15:50:50 +01:00
1c21a98545
Rename some symbols in repository_plist.c.
...
xbps_repository_get_pkg_plist_dict_from_url -> xbps_repository_plist_find_pkg_dict_from_url
xbps_repository_get_pkg_plist_dict -> xbps_repository_plist_find_pkg_dict
2011-01-27 13:53:33 +01:00
6e8e5b830e
repository_register.c: fix doxygen @file mark.
2011-01-27 12:44:32 +01:00
69512d4da7
Rename xbps_find_pkg_from_plist to xbps_find_pkg_dict_from_plist_by_name.
2011-01-27 12:41:49 +01:00
26701d3bf3
Rename a few symbols for clarity.
...
xbps_check_is_installed_pkg -> xbps_check_is_installed_pkg_by_pattern
xbps_check_is_installed_pkgname -> xbps_check_is_installed_pkg_by_name
xbps_check_is_repo_string_remote -> xbps_check_is_remote_uri_remote
2011-01-27 12:34:13 +01:00
628a6cebf7
Rename xbps_find_orphan_packages() to xbps_find_pkg_orphans().
2011-01-27 12:19:05 +01:00
41341af135
Shared code for xbps_find_{string,pkgname,pkgpattern}_in_array().
2011-01-27 03:05:22 +01:00
22d67bcfb9
Improve comments for dependency sorting.
2011-01-26 18:57:29 +01:00
9797030306
xbps_register_pkg: also copy the provides object for virtual packages.
2011-01-26 18:42:28 +01:00
4b3b50c6ef
xbps_check_is_installed_pkg: simplify.
2011-01-26 18:41:57 +01:00
f06a605854
Implemented support for virtual packages.
...
The patch adds 150 lines approximately. It is implemented by modifying
xbps_find_pkg_in_dict_by_name() and xbps_find_pkg_in_dict_by_pattern().
When no dictionary is returned if tries to find a virtual package by
looking at the "provides" array object, if found.
2011-01-26 18:05:43 +01:00
ac6fe51340
xbps_repository_find_pkg_deps: some performance optimizations.
2011-01-25 18:09:27 +01:00
563b6446f4
xbps_repository_pool_find_pkg: remove a debug printf that bothers me.
2011-01-25 17:52:59 +01:00
35aa4b9951
xbps_fetch_file: memset the stat(2) struct before using it.
2011-01-25 17:49:24 +01:00
a685c9ee41
xbps_sort_pkg_deps: exit from the loop immediately if all pkgs were sorted.
2011-01-25 16:04:37 +01:00
a47d030851
xbps_sort_pkg_deps: optimize one more time, it is 5% faster approx.
2011-01-25 14:56:37 +01:00
be5ff1d934
Don't build code with _GNU_SOURCE, use _XOPEN_SOURCE=500 instead.
...
_GNU_SOURCE is only now for xbps_xasprintf() if vasprintf is found,
and only for <stdio.h>, it's unset immediately once the header is included.
2011-01-25 13:00:23 +01:00