Juan RP
b0fab7a3ee
Implemented a cache to get pkg dicts from metadir.
...
This improves xbps-pkgdb -a marginally, but still seems to be a bit slow.
2012-11-16 21:50:52 +01:00
Juan RP
34bd49f85a
New pkg metadata structure for 0.18. See the NEWS file for info.
2012-11-16 16:55:35 +01:00
Juan RP
a77727887d
Improvements for xbps_fetch_file and xbps_repository_sync_index.
...
xbps_fetch_file:
- A temp file is created with .part extension to improve resuming.
- Files are downloaded in cwd.
- Switch to futimens(2) and fsync(2).
xbps_repository_sync_index:
- Do not create local repodir in metadir if it already exists.
- Simplify the code thanks to new xbps_fetch_file().
2012-11-11 11:29:49 +01:00
Juan RP
df0d5d7330
Get rid of pkg state half-unpacked; not-installed state is good enough.
2012-11-11 09:42:30 +01:00
Juan RP
05984a31b1
xbps_rpool_sync: new arg to specify the file; bump XBPS_API_VERSION.
2012-11-07 10:37:58 +01:00
Juan RP
ca095df52f
libxbps: some tweaks for struct xbps_state_cb_data.
...
- Renamed args pkgname/version to arg0/arg1 to make them generic.
- Update bins with this and make some tweaks in state_cb.
Bumped API version.
2012-11-07 10:11:06 +01:00
Juan RP
a5707e5b8d
Bump XBPS_API_VERSION for latest changes in libxbps behaviour.
2012-10-26 11:35:01 +02:00
Juan RP
863f12e349
Improved finding obsolete files while upgrading pkgs.
2012-10-24 07:45:00 +02:00
Juan RP
22a86d82f8
Added support for installing exact dependencies, i.e pkg X depends on 'Y-1.0_1'.
2012-10-09 07:35:59 +02:00
Juan RP
6592164010
xbps_api.h.in: bump XBPS_APIVER.
2012-10-06 09:23:27 +02:00
Juan RP
b13df00ded
Use a common place to set XBPS_VERSION.
2012-10-03 10:10:20 +02:00
Juan RP
7909f597cb
xbps_path_from_repository_uri: do not look for binpkgs in repo arch dirs anymore.
2012-09-30 10:13:06 +02:00
Juan RP
54b6cc7ec1
xbps-{bin,repo}: add -B flag to set default repo if xbps.conf not found.
...
(cherry picked from commit 75eac1a1426040a833e0b10e208f2e55fa359532)
2012-09-29 19:10:48 +02:00
Juan RP
e370ff0625
libxbps: use a new bool in struct xbps_handle to track successful initialization.
...
(cherry picked from commit 03374950680f6a839b1ee2df8e3a4e1dfb110fa8)
2012-09-29 19:09:03 +02:00
Juan RP
b422fa654e
xbps_api.h: next version will be 0.17.
2012-08-10 08:44:41 +02:00
Juan RP
8eba2d7ea3
xbps-repo: replaced 'genindex' target with 'index-{add,clean}'.
...
See the NEWS file for more information.
2012-07-17 12:31:04 +02:00
Juan RP
9edd60c3a7
libxbps: extend the list of symlinks in rootdir to be ignored.
2012-07-14 12:11:55 +02:00
Juan RP
2f1e975607
Added "install-date" object to pkg's pkgdb dictionary, make xbps-bin(8) print it.
2012-07-11 12:19:39 +02:00
Juan RP
34697e8022
libxbps: improve matching obsolete files, skip matches by hash and filename.
...
Don't remove top level symlinks (/bin, /sbin and /lib) if they were found
as obsoletes. This is a workaround for the system transition to /usr.
2012-07-10 23:22:25 +02:00
Juan RP
172435bd7e
xbps_check_is_installed_pkg_by_pattern: do not reset errno, leave it as is.
2012-07-04 12:59:40 +02:00
Juan RP
94238302f2
transaction_ops: in update, check if curpkg has been previously added.
2012-07-04 11:56:01 +02:00
Juan RP
f1ad8a95de
xbps-repo: fixed issue 24 (xbps-src make-repoidx is doing something wrong).
2012-06-30 11:10:00 +02:00
Juan RP
54bc92bd97
xbps_dictionary_from_archive_entry: simplify and sync zlib code with proplib.
2012-06-20 09:26:00 +02:00
Juan RP
8abd275bfb
libxbps: xbps_rpool_release: don't release repo_pool, it's already released.
2012-06-18 10:49:36 +02:00
Juan RP
c24ce8e4da
libxbps: use memcpy in critical paths for performance, fixed some memleaks.
2012-06-18 10:43:05 +02:00
Juan RP
0f3d4f4a19
libxbps: hide compat symbols.
2012-06-18 09:52:19 +02:00
Juan RP
974b2fe8ad
libxbps: simplify pkgdb_get_pkgd and find_pkg_dict_installed internals.
...
There's no need to prop_dictionary_copy the returned dictionary to
later have to free it again, just return directly the dictionary and
avoid the free(3)s.
2012-06-16 09:02:07 +02:00
Juan RP
068cab8d20
libxbps: performance improvements by caching the most accessed paths.
...
1- We can cache the result of the first xbps_pkgdb_init() when it fails
and avoid the malloc/free/access from it.
2- We cache the uname(2) result into a private var in xbps_handle and
use it in xbps_pkg_arch_match().
This improves performance by ~5% approx and it's close as it was before
introducing the repository index format 1.5.
2012-06-15 15:33:11 +02:00
Juan RP
506625a716
libxbps: also match vpkgs in previous commit.
2012-06-14 12:12:05 +02:00
Juan RP
302b216d8d
libxbps: do not add dups to transaction dictionary due to virtual pkgs.
2012-06-14 11:53:27 +02:00
Juan RP
c31d168e2b
xbps_api.h: document EAGAIN in xbps_transaction_prepare(), fix typos.
2012-06-14 10:01:24 +02:00
Juan RP
6cc5ee2d81
xbps_api.h: fix doc for xbps_rpool_index.
2012-06-14 09:49:32 +02:00
Juan RP
d46c503a97
xbps_api.h: document new xhp arg in some funcs.
2012-06-14 09:43:39 +02:00
Juan RP
3e9e87fc2a
libxbps: require a pointer to xbps_handle in functions that need it.
...
This removes 2 global vars from lib/initend.c and easier to know
what functions require access to xbps_handle.
2012-06-14 08:22:11 +02:00
Juan RP
c61ba8dfcc
Added support for package conflicts.
2012-06-11 16:14:03 +02:00
Juan RP
81610697df
xbps_transaction_install_pkg: proper pkg find order in rpool.
...
Previously it was preferring virtual packages from
configuration file before real packages.
2012-06-09 10:09:46 +02:00
Juan RP
e75a524ee3
xbps_transaction_install_pkg: on exact match properly detect if it's installed.
2012-06-05 22:54:46 +02:00
Juan RP
efefa000b2
xbps_dictionary_metadata_plist_by_url: only accept exact matches.
2012-06-05 20:53:15 +02:00
Juan RP
a00a450fe0
unpack: make sure to use exact file when checking for hash matches.
2012-06-05 20:23:12 +02:00
Juan RP
c37026d4c6
libxbps: require an underscore in strings to detect correctly pkgname/version.
2012-06-05 10:58:39 +02:00
Juan RP
9441f9f14b
libxbps: multiple random changes for overall performance increase.
2012-06-04 23:22:33 +02:00
Juan RP
fa73de309f
libxbps: remove xbps_find_pkg_dict_from_plist_by_xxx (unused).
2012-06-04 21:34:21 +02:00
Juan RP
34c1269504
Fixed installing exact pkg versions on pkgs with hyphens, we use equal sign as delimiter now.
2012-06-03 07:26:48 +02:00
Juan RP
bd3a8982cc
xbps-bin: added support to install exact pkg version, i.e 'foo-1.0'.
2012-06-02 17:35:21 +02:00
Juan RP
642e6fca3a
xbps_rpool_sync: also fetch repository files index, removed accidently in previous.
2012-06-01 15:45:49 +02:00
Juan RP
981b13bd5a
xbps-repo: 'sync' and 'pkg-list' target now accept a repository URI argument.
...
If set, only the matching repository will be used for the task.
2012-06-01 15:02:06 +02:00
Juan RP
652e9afcef
libxbps: fixed xbps_remove_pkg_from_array_by_{name,pattern,pkgver}.
...
The correct index wasn't being passed to prop_array_remove.
2012-06-01 10:53:28 +02:00
Juan RP
7289547432
Welcome "repository index format 1.5". See NEWS for information.
2012-05-31 16:29:56 +02:00
Juan RP
27aacf97f4
xbps_file_exec: simplify and don't chroot when rootdir == /.
...
Before that change we were chroot(2)ing even when rootdir was set to /.
2012-05-30 17:44:39 +02:00
Juan RP
a94dd5dbfa
Revert "libxbps: implement xbps_file_exec() with posix_spawn()."
...
This reverts commit 5aa05f4c72
.
2012-05-30 17:26:25 +02:00
Juan RP
5aa05f4c72
libxbps: implement xbps_file_exec() with posix_spawn().
2012-05-30 14:45:47 +02:00
Juan RP
f40759aabe
libxbps: use same order strategy when checking for deps queued in transaction.
2012-05-30 12:54:28 +02:00
Juan RP
922ee1f1b6
libxbps: rename xbps_repository_pool_xxx to xbps_rpool_xxx.
2012-05-30 10:56:32 +02:00
Juan RP
da4b8b7427
rpool: improve the order while resolving dependencies.
...
See the NEWS file for more information. After that change you don't have
to set a virtual pkg in conf file, if required virtual pkg is in rpool.
2012-05-30 10:22:53 +02:00
Juan RP
f7f4e0bec0
Extend 'soft replace' and also remove obsolete files.
2012-05-25 22:44:58 +02:00
Juan RP
da9b6774c3
Fix previous: propagate "softreplace" obj to pkg being replaced.
2012-05-25 17:58:36 +02:00
Juan RP
6a4de0127d
libxbps: introduce the concept of "soft replace"; see the NEWS file.
2012-05-25 17:24:36 +02:00
Juan RP
d075f7182a
When removing pkg files, remove only dangling symlinks after regular files.
...
This is required for the upcoming eglibc package.
2012-05-25 14:31:42 +02:00
Juan RP
9acec7883b
xbps_remove_pkg: do not error out if files.plist not found, just continue.
2012-05-21 23:03:29 +02:00
Juan RP
28767f2ea8
Added support to put packages "on hold".
2012-05-08 09:19:43 +02:00
Juan RP
5e0b06dc00
xbps-bin: improve def unpack cb to print more meaningful messages.
2012-05-06 16:48:47 +02:00
Juan RP
8a4b143bf3
Show a proper error message if download of a binpkg fails in a transaction.
2012-05-06 09:09:09 +02:00
Juan RP
83bda174ab
libxbps: make xbps_find_virtualpkg_* only look for virtual pkgs.
...
Before this commit they also looked for non virtual packages, which
is not what it was meant when those functions were added.
2012-04-12 11:57:21 +02:00
Juan RP
bfe7ab1c5a
xbps_configure_pkg: simplify and remove "version" arg (API change).
...
The "version" argument (being optional) clearly is not needed and it
can be fully removed. This simplifies the internal implementation as well
as the API.
2012-04-10 10:02:27 +02:00
Juan RP
ef6d1adf91
xbps_set_pkg_state_installed: simplify (API change).
...
The third optional argument "pkgver" clearly is useless because we can
create it internally with "pkgname" and "version" arguments instead.
Also make the "version" argument mandatory.
2012-04-10 09:43:59 +02:00
Juan RP
732ce45b86
libxbps: new function xbps_pkgdb_get_pkgd_by_pkgver().
...
Finds a pkg dictionary in pkgdb by matching its pkgver object.
2012-04-05 10:57:15 +02:00
Juan RP
feacc506de
When reinstalling existing pkgs, remove previous entry in pkgdb's requiredby.
2012-04-04 10:20:29 +02:00
Juan RP
8e0612bb46
A bugfix while sorting dependencies in a transaction (thanks dave).
2012-03-30 01:39:13 +02:00
Juan RP
a5f4848d0b
Use best pkg available when resolving required dependencies.
2012-03-28 12:01:59 +02:00
Juan RP
af593500c3
Fix a couple of issues resolving deps with virtual packages.
2012-03-24 09:21:28 +01:00
Juan RP
e698acf440
Make xbps_find_virtualpkg_conf_xxx private again, unused in test suite now.
2012-03-13 11:37:50 +01:00
Juan RP
9bada162a1
New "metadir" member in xbps_handle to override default metadata dir.
2012-03-13 10:22:35 +01:00
Juan RP
749e03aa29
Make xbps_find_virtualpkg_conf_in_xxx_by_xxx part of the API and add kyua tests.
2012-03-12 17:51:50 +01:00
Juan RP
715990a1e5
Make xbps_find_virtualpkg_in_dict_by_xxx part of the API and add kyua tests.
2012-03-12 16:36:46 +01:00
Juan RP
35c2e2a75d
Enable assertions by default, even with --debug disabled.
2012-03-12 11:22:18 +01:00
Juan RP
06745b70ae
Fixed issue 22: always set perms from binpkg to existing files while unpacking.
2012-03-07 12:00:08 +01:00
Juan RP
dc61fbed0e
libxbps: match required pkgdep by virtual pkg in a transaction.
2012-02-28 20:39:10 +01:00
Juan RP
c965c27dfb
Skip removing obsolete files in some cases.
2012-02-20 20:23:33 +01:00
Juan RP
6e50919d2b
xbps_repository_pool_dictionary_metadata_plist: make it accept a pkgpattern.
2012-02-16 08:55:07 +01:00
Juan RP
cbf7417d1d
xbps_transaction_install_pkg: return EEXIST if pkg already installed.
2012-02-14 00:34:26 +01:00
Juan RP
9a23c2a356
xbps_api.h: fix xbps_transaction_install_pkg doc mismatch.
2012-02-06 13:50:53 +01:00
Juan RP
f48ab4a686
Fixed a bug in rpool to find best pkg available.
2012-01-29 12:12:00 +01:00
Juan RP
b7da3464dd
xbps_repository_sync_pkg_index: update for index 1.4 format.
2012-01-25 06:02:38 +01:00
Juan RP
abb0d260b9
xbps-bin: the install target gains suppor for installing best pkg available.
2012-01-25 02:14:04 +01:00
Juan RP
49baad48f4
Fixed module-init-tools->kmod update as reported by davehome.
...
The problem was that required package dependency was installed, but
the version didn't satisfy the requirement and the code unconditionally
assumed an updated existed in repository pool. Now the code checks
package state to set transaction reason.
2012-01-24 18:45:50 +01:00
Juan RP
e8071802d1
xbps_api.h: fix xbps_handle::flags possible values.
2012-01-22 11:35:26 +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
c884634a62
xbps_api.h: fix some defs.
2012-01-22 10:24:37 +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
99f5549a29
xbps_pkgdb_replace_pkgd: fix bool vs int confusion in returned value.
2012-01-20 12:38:24 +01:00
Juan RP
d075411049
Improve API documentation round 1.
2012-01-20 12:17:27 +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