Commit Graph

520 Commits

Author SHA1 Message Date
Juan RP
ec764ffec8 xbps_transaction_package_replace: improved debug output. 2012-01-24 18:43:43 +01:00
Juan RP
791f1d40b2 xbps_handle: remove debug, install_*, syslog_enabled members.
Replaced by definitions that can be set to xbps_handle::flags.
2012-01-22 10:52:35 +01:00
Juan RP
a166d6a2a3 Simplify xbps_transaction_prepare()/commit() and related API changes.
- xbps_handle::transd -> new member with transaction dictionary.
- xbps_transaction_prepare: returns an int.
- xbps_transaction_commit: doesn't need any arg now.
- xbps_repository_pool_sync: doesn't need any arg now.
- xbps_pkgdb_update: removed xbps_handle * arg.
- xbps_transaction_missingdeps_get: removed, missing_deps array is in
  xbps_handle::transd("missing_deps") array object.
2012-01-22 10:00:46 +01:00
Juan RP
38db570c19 pkgdb: foreach_xxx_pkg_cb -> foreach_xxx_cb. 2012-01-21 10:30:20 +01:00
Juan RP
4758635f15 xbps_find_pkg_orphans: make returned array immutable. 2012-01-21 10:21:01 +01:00
Juan RP
1781231454 xbps_repository_pool_init: make registered index arrays immutable. 2012-01-21 10:20:45 +01:00
Juan RP
8c8273d3ed pkgdb: update copyright year, shorter conditional. 2012-01-20 18:37:08 +01:00
Juan RP
99f5549a29 xbps_pkgdb_replace_pkgd: fix bool vs int confusion in returned value. 2012-01-20 12:38:24 +01:00
Juan RP
3f9477417b xbps_set_cb_xxx: simplify by using vars on the stack. 2012-01-20 12:29:14 +01:00
Juan RP
d075411049 Improve API documentation round 1. 2012-01-20 12:17:27 +01:00
Juan RP
6057bd83b3 Update pkgdb dot file with latest changes. 2012-01-20 11:16:07 +01:00
Juan RP
8d23ace0da Rename lib/regpkgdb_dictionary.c to lib/pkgdb.c. 2012-01-20 11:12:53 +01:00
Juan RP
6940505de9 regpkgdb rototill: renamed to pkgdb, improve the public API. 2012-01-20 11:10:52 +01:00
Juan RP
9a088937b5 Repository index 1.4 -- see NEWS file for info. 2012-01-19 12:26:40 +01:00
Juan RP
dfc7ff4232 API break: simplify xbps_repository_pool_find_virtualpkg(). 2012-01-18 08:25:28 +01:00
Juan RP
d0e1477eeb Simplify xbps_end() and don't continue if xbps_init() did not succeed. 2012-01-17 16:56:17 +01:00
Juan RP
f2b05d6438 Improved pkg best matching in rpool, and support for exact pkgver matches.
- xbps_repository_pool_find_pkg in best match case, now returns the
  newest package version available in rpool.
- Added xbps_repository_pool_find_pkg_exact that returns a package
  by exact matching a pkgver.
- Removed xbps_handle_alloc(), the user is free to use memory
  allocated from heap or stack.
- Improved API documentation in preparation for 0.12.

Bumped XBPS_API_VERSION again.
2012-01-17 16:17:03 +01:00
Juan RP
beb7284681 xbps-repo: faster 'genindex' target implementation for index-files.plist. 2012-01-17 10:50:35 +01:00
Juan RP
4164573b35 Added xbps_match_pkgdep_in_array() to match a pkgdep against pkgpatterns.
This fixes xbps_match_pkgpattern_in_array() which had the args swapped
in xbps_pkgpattern_match() resulting in inverted results while resolving
virtual packages in a transaction.
2012-01-16 15:50:06 +01:00
Juan RP
ffa48b2cf3 Fix xbps_configure_packages() by avoiding proplib iterators. 2012-01-16 14:41:16 +01:00
Juan RP
233d9f4803 Do not treat repositories with trailing '/' chars as invalid. 2012-01-15 17:23:50 +01:00
Juan RP
2186e16a5e Fixed issue 21 "xbps-repo find-files is awfully slow" reported by ojab. 2012-01-15 14:24:44 +01:00
Juan RP
0356afba6d Bump copyright year for latest changes. 2012-01-05 16:17:37 +01:00
Juan RP
c83a77c1b5 Fixed issue 19 "xbps-src cannot fetch source with unknown Content-Length". 2012-01-05 12:26:57 +01:00
Juan RP
ab6d4a19f1 xbps_configure_packages: fix flush arg confusion. 2012-01-04 17:59:49 +01:00
Juan RP
a7ef059673 Bump copyright year for changed files. 2012-01-04 17:56:52 +01:00
Juan RP
a31c20e52a Make xbps_configure_pkg/packages accept a flush bool arg for frontends. 2012-01-04 17:41:36 +01:00
Juan RP
812005a7d9 libxbps: use vpkg if found in reqby_pkg_add. 2012-01-04 17:41:22 +01:00
Juan RP
bae664c639 xbps_match_pkgpattern_in_array: fix swapped args resulting in non matches. 2011-12-29 16:35:56 +01:00
Juan RP
0d44ae267c xbps_init: print xhp->conffile if set in a dbg printf. 2011-12-29 10:57:24 +01:00
Juan RP
f4f995574c xbps_remove_pkg_from_dict_by_name: make this work correctly again. 2011-12-28 09:44:25 +01:00
Juan RP
caaba09295 xbps_register_pkg: fix by adding pkgd into regpkgdb array. 2011-12-28 09:21:01 +01:00
Juan RP
a7f3a56e19 Make xbps_(un)register_pkg() accept a boolean arg to flush regpkgdb on success. 2011-12-28 05:57:04 +01:00
Juan RP
b64fb39701 xbps_remove_pkg_from_dict_by_name: simplify. 2011-12-24 16:37:25 +01:00
Juan RP
5a1ab26972 Introduce xbps_regpkgdb_remove_pkgd, and use regpkgdb funcs to make xbps-uhelper work. 2011-12-24 16:09:30 +01:00
Juan RP
39d064aff8 xbps_unpack_binary_pkg: handle EPERM more efficiently. 2011-12-24 12:07:30 +01:00
Juan RP
9d767f19cb xbps_remove_pkg: issue a XBPS_STATE_REMOVE_FAIL state cb if access(2) failed. 2011-12-24 01:30:57 +01:00
Juan RP
3b7491d29b Merged purge code in remove, configurable transaction regpkgdb flushing.
See the NEWS file for info.
2011-12-24 01:05:26 +01:00
Juan RP
d7a32a7eca Introduce regpkgdb_foreach_reverse_pkg_cb, switch to regpkgdb_foreach_xxx. 2011-12-23 08:16:25 +01:00
Juan RP
36c79fc167 xbps_handle_alloc: use calloc to avoid using unitilizated value. 2011-12-22 21:47:32 +01:00
Juan RP
ca0905925f xbps_end: don't continue if we don't have a valid xbps_handle pointer. 2011-12-22 16:55:35 +01:00
Juan RP
3d81d497bd Redo xbps_repository_pool internals, it's a bit faster now. 2011-12-22 16:38:05 +01:00
Juan RP
7bfcdee791 Introduce xbps_regpkgdb_foreach_pkg_cb() and use it in xbps-bin check. 2011-12-22 14:25:27 +01:00
Juan RP
b232ca1815 libxbps: cache regpkgdb just when it's needed not via xbps_init(). 2011-12-22 12:56:56 +01:00
Juan RP
8fd5253e31 xbps_repository_pool_init: check repo arch before plist access(2), faster. 2011-12-22 12:56:49 +01:00
Juan RP
5a892023f4 Be a bit more paranoid by checking allocs and expected types. 2011-12-22 08:23:11 +01:00
Juan RP
866c395d12 Simplify xbps_repository_pool_find_xxx. 2011-12-19 14:22:19 +01:00
Juan RP
c40c40e08e Always preserve current conffiles while installing new packages. 2011-12-19 11:20:27 +01:00
Juan RP
53fd5fa10b xbps_transaction_update_packages: handle ENODEV case (package removed but not purged). 2011-12-16 11:03:40 +01:00
Juan RP
1a4c13e1bf xbps_remove_pkg: fix path to REMOVE script. 2011-12-16 10:34:05 +01:00
Juan RP
450bf2713d Also purge packages to replaced in transaction. 2011-12-16 10:21:51 +01:00
Juan RP
2bc9890eb6 xbps_purge_pkg: fix a memleak. 2011-12-16 09:28:37 +01:00
Juan RP
1698bde3a4 xbps_pkg_index_plist: fix path to repository's index.plist. 2011-12-15 15:34:51 +01:00
Juan RP
c60ab726a3 xbps_configure_pkg: fix path to INSTALL script. 2011-12-15 14:46:59 +01:00
Juan RP
32fdb35c56 libxbps: make xh->cachedir to always use a full path after xbps_init(). 2011-12-15 14:24:10 +01:00
Juan RP
70e95786dc libxbps: pass xhp->conffile as last argument when execing INSTALL/REMOVE scripts. 2011-12-15 12:24:59 +01:00
Juan RP
93e3603dcc xbps_init: use __UNCONST to shut up gcc's -Wcast-qual warnings. 2011-12-15 11:30:17 +01:00
Juan RP
b0ceeaa58e New configuration file via confuse: xbps.conf. 2011-12-15 11:19:20 +01:00
Juan RP
3f45f563be xbps-bin: syslog support, enabled by default. 2011-12-06 13:02:49 +01:00
Juan RP
43d85c76b3 xbps-repo: implement new target 'pkg-list' to list pkgs from target repo. 2011-12-03 10:37:31 +01:00
Juan RP
8be527cbdf xbps_fetch_file: set bytes downloaded correctly for the fetch client cb. 2011-12-01 12:21:13 +01:00
Juan RP
e7562fa72d libxbps: make xbps_find_*pkg_dict_installed only accept {INSTALL,UNPACK}ED states as valid ones. 2011-11-30 11:11:15 +01:00
Juan RP
9d731ffe09 Introduce xbps_transaction_remove_pkg() and use it for xbps-bin(8). 2011-11-27 09:05:18 +01:00
Juan RP
dcac4ec153 xbps_remove_pkg: only issue XBPS_STATE_REMOVE in no update case. 2011-11-25 15:08:33 +01:00
Juan RP
0ff0aee226 libxbps: added xbps_transaction_autoremove_pkgs(bool purge).
This is to add package orphans into the transaction dictionary.
2011-11-25 11:20:03 +01:00
Juan RP
bbfd2813b2 libxbps: renamed xbps_repository_{install,update}_xxx to xbps_transaction_xxx. 2011-11-25 10:12:03 +01:00
Juan RP
f3099fa2c6 Added success states for state_cb, move some descriptions to the client cb. 2011-11-25 09:44:49 +01:00
Juan RP
196b26035a Zero out cb structs completely. 2011-11-25 08:22:20 +01:00
Juan RP
ab17573692 Split XBPS_FLAG_FORCE into CONFIGURE and REMOVE_FILES, bump XBPS_API_VERSION. 2011-11-24 11:50:53 +01:00
Juan RP
3ccfec7054 Improved callback/states support to make libxbps std{err,out} printf free.
This is a major API/ABI change, documentation has been updated accordingly.
2011-11-24 11:23:08 +01:00
Juan RP
c0ecb93410 libxbps: always force pkgpattern match in virtualpkgs from conf. 2011-11-17 12:59:36 +01:00
Juan RP
19664f624a libxbps: return success when requiredby entry already exists. 2011-11-17 12:57:43 +01:00
Juan RP
86f1f18571 libxbps: revamped trans states/cb to be more generic, not just for transactions. 2011-11-11 09:41:48 +01:00
Juan RP
a470e6a1af libxbps: xbps_repository_pool_sync: show proper error on dbg printf. 2011-11-11 00:31:56 +01:00
Juan RP
bcaaf60966 libxbps: xbps_repository_sync_pkg_index: set correct error in err cb. 2011-11-11 00:31:09 +01:00
Juan RP
756234e9c3 libxbps: xbps_fetch_error_string: return NULL on libfetch success. 2011-11-11 00:30:01 +01:00
Juan RP
bbd83767c6 libxbps: missing arg in printf format for xbps_pkg_index_plist. 2011-11-11 00:10:35 +01:00
Juan RP
94b6458415 libxbps: skip unfetched repos in xbps_repository_pool_init and simplify. 2011-11-11 00:07:26 +01:00
Juan RP
45d55698d8 libxbps: strip redundant dir separators returned by xbps_pkg_index_plist(). 2011-11-11 00:05:56 +01:00
Juan RP
c2eed68471 libxbps: add xbps_repository_pool_sync, to sync repoidx from all remotes. 2011-11-10 23:14:50 +01:00
Juan RP
de4504c248 Update refs to pkg-index, which aren't true anymore. 2011-11-10 09:21:17 +01:00
Juan RP
e46dd09127 Faster binary package unpacking, see the NEWS file for info. 2011-11-09 21:01:25 +01:00
Juan RP
bffff1a00d libxbps: xbps_set_pkg_state_installed: create metadir with 0755 perms. 2011-11-09 16:36:11 +01:00
Juan RP
a426bad11d libxbps: xbps_mkpath: create intermediate dirs with 0755 permissions. 2011-11-09 11:17:42 +01:00
Juan RP
662b5acc08 Implemented "New repository scheme and configuration file" from issue 16. 2011-11-07 20:28:35 +01:00
Juan RP
e472fc1334 xbps_repository_pool_find_pkg: return ENODEV in bestpkg case if pkg not installed. 2011-10-31 21:29:37 +01:00
Juan RP
5aca09b5f5 xbps_repository_update_pkg: return ENODEV if pkg is not installed. 2011-10-31 21:29:00 +01:00
Juan RP
cf1b893995 libxbps: there's no need to look for vpkgs in xbps_repository_update_*(). 2011-10-31 21:01:53 +01:00
Juan RP
b8c804e891 Check for obj validity with prop_object_type(), use xbps_pkg_has_rundeps(). 2011-10-31 09:48:46 +01:00
Juan RP
f35e1eff42 libxbps: improve debugging messages while looking for pkgs in repos. 2011-10-30 16:41:39 +01:00
Juan RP
c5d6ccde46 libxbps: make check_is_installed_pkg_* use only find_virtualpkg_dict_installed.
xbps_find_virtualpkg_dict_installed() also finds real packages, so there's no
need to use both in xbps_check_is_installed_pkg_by_{name,pattern}.

Bump XBPS_API_VERSION.
2011-10-30 16:24:56 +01:00
Juan RP
2a8b74484e libxbps: improve xbps_purge_pkg() in case that metadata dir doesn't exist. 2011-10-30 11:12:03 +01:00
Juan RP
858e616f41 libxbps: preserve config file if they exist for replaced pkgs. 2011-10-30 10:32:56 +01:00
Juan RP
07d47ab09a libxbps: xbps_dictionary_from_metadata_plist: respect pkgname arg. 2011-10-30 08:01:25 +01:00
Juan RP
70dd86e2df libxbps: more dbg printf love. 2011-10-29 09:55:09 +02:00
Juan RP
85c58e77c2 libxbps: rpool printf tweaks. 2011-10-29 09:45:51 +02:00
Juan RP
dbd5e05280 Make sure that downloaded pkg-index.plist is really a plist file. 2011-10-28 09:29:37 +02:00
Juan RP
9034df9bc2 libxbps: added xbps_match_any_virtualpkg_in_rundeps(array rundeps, array provides).
Matches any pkgdep from provides array in the rundeps array with
pkgpatterns. True on match, false otherwise.
2011-10-27 18:48:59 +02:00
Juan RP
43ab2ec083 libxbps: fixed a bug with virtualpkgs as dependencies in a transaction. 2011-10-27 10:54:28 +02:00
Juan RP
94591775d5 libxbps: fixed multiple free(3) calls via closedir(3) in virtualpkg init in error paths. 2011-10-26 16:16:09 +02:00