9d80524a34
Minor optimization: no need to check if obj is NULL, prop_object_type() does that already.
2013-06-14 12:22:29 +02:00
db1efb3aa6
Relax memory requirements on 64bit platforms; fix two memleaks.
2013-06-12 10:04:10 +02:00
dbf4bb184e
xbps_transaction_remove_pkg: fix uninitialized argument value reported by scan-build.
2013-04-04 09:22:40 +02:00
0845d6cae3
xbps_transaction_remove_pkg: handle correctly target pkg.
2013-03-11 12:13:02 +01:00
50ea03df2a
Revert code to update xbps independently; I'll use another way to implement this.
2013-03-08 09:44:57 +01:00
0a1859987a
Respect automatic-install mode from pkgdb in transaction updates.
...
Also simplify register/unregister and remove useless state definitions.
2013-03-07 10:03:59 +01:00
37263d63c9
lib/transaction_ops.c: only call xbps_pkg_name() when it's really necessary.
2013-03-07 09:12:47 +01:00
7c1a0ac3e8
New pkgdb (0.21) and repo index (1.7) format, see NEWS for info.
2013-03-05 04:08:42 +01:00
9489f8a3dc
Do not configure pkg if there's an update in transaction.
...
This fixes the following problem:
- pkg is installed with state "unpacked".
- There's an update of pkg in transaction.
- xbps tries to configure the pkg because its state is "unpacked",
therefore ignoring the update.
2012-12-20 12:08:55 +01:00
f45352dbf8
Added support for dynamic generation of revdeps for installed packages.
2012-11-30 17:40:52 +01:00
b9136c61c9
Use prop iterators when needed to retain the obj.
...
This could explain the strange issues seen in buildbot builds that
have been happening since 0.18; this should fix completely this.
2012-11-30 09:49:09 +01:00
63c1883201
Major API/ABI cleanup bringing performance improvements and fixes.
...
These are the core interfaces in the new API:
rpool - Interface to interact with the repository pool.
rindex - Interface to interact with repository indexes.
pkgdb - Interface to interact with local packages.
transaction - Interface to interact with a transaction.
This also brings new repository index format, making the index file
per architecture and being incompatible with previous versions.
The transaction frequency flush option has been removed, and due to
the nature of package states it was causing more harm than good.
More changes coming soon, but the API shall remain stable from now on.
2012-11-30 07:11:51 +01:00
16e18313da
xbps_transaction: return proper errors if pkg is missing from repos.
2012-11-28 17:35:03 +01:00
1b217d1906
transaction_ops: shortest static function name.
2012-11-15 09:25:59 +01:00
58333419a0
Shell wildcard patterns can now be used in the PackagesOnHold option.
2012-11-11 16:11:40 +01:00
df0d5d7330
Get rid of pkg state half-unpacked; not-installed state is good enough.
2012-11-11 09:42:30 +01:00
01915e3030
xbps_transaction_update_packages: make packages on hold work (duh!).
...
(cherry picked from commit aa154199a6d7d89bfe040755be289b1d827c5727)
2012-09-29 18:58:21 +02:00
94238302f2
transaction_ops: in update, check if curpkg has been previously added.
2012-07-04 11:56:01 +02:00
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
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
c61ba8dfcc
Added support for package conflicts.
2012-06-11 16:14:03 +02:00
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
e75a524ee3
xbps_transaction_install_pkg: on exact match properly detect if it's installed.
2012-06-05 22:54:46 +02:00
c37026d4c6
libxbps: require an underscore in strings to detect correctly pkgname/version.
2012-06-05 10:58:39 +02:00
9441f9f14b
libxbps: multiple random changes for overall performance increase.
2012-06-04 23:22:33 +02:00
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
f9c72e1d06
xbps_transaction_install_pkg: properly fix previous commit.
2012-06-02 17:39:36 +02:00
bd3a8982cc
xbps-bin: added support to install exact pkg version, i.e 'foo-1.0'.
2012-06-02 17:35:21 +02:00
40864bcdce
Improve xbps_transaction_update_pkg/packages and misc cosmetic changes.
2012-06-02 16:52:01 +02:00
922ee1f1b6
libxbps: rename xbps_repository_pool_xxx to xbps_rpool_xxx.
2012-05-30 10:56:32 +02:00
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
28767f2ea8
Added support to put packages "on hold".
2012-05-08 09:19:43 +02:00
cbf7417d1d
xbps_transaction_install_pkg: return EEXIST if pkg already installed.
2012-02-14 00:34:26 +01:00
ff0b9b9b59
transaction_find_pkg: warning due to uninitialized var.
2012-01-25 02:18:15 +01:00
abb0d260b9
xbps-bin: the install target gains suppor for installing best pkg available.
2012-01-25 02:14:04 +01:00
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
38db570c19
pkgdb: foreach_xxx_pkg_cb -> foreach_xxx_cb.
2012-01-21 10:30:20 +01:00
d075411049
Improve API documentation round 1.
2012-01-20 12:17:27 +01:00
6940505de9
regpkgdb rototill: renamed to pkgdb, improve the public API.
2012-01-20 11:10:52 +01:00
dfc7ff4232
API break: simplify xbps_repository_pool_find_virtualpkg().
2012-01-18 08:25:28 +01:00
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
3b7491d29b
Merged purge code in remove, configurable transaction regpkgdb flushing.
...
See the NEWS file for info.
2011-12-24 01:05:26 +01:00
d7a32a7eca
Introduce regpkgdb_foreach_reverse_pkg_cb, switch to regpkgdb_foreach_xxx.
2011-12-23 08:16:25 +01:00
b232ca1815
libxbps: cache regpkgdb just when it's needed not via xbps_init().
2011-12-22 12:56:56 +01:00
53fd5fa10b
xbps_transaction_update_packages: handle ENODEV case (package removed but not purged).
2011-12-16 11:03:40 +01:00
9d731ffe09
Introduce xbps_transaction_remove_pkg() and use it for xbps-bin(8).
2011-11-27 09:05:18 +01:00
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
bbfd2813b2
libxbps: renamed xbps_repository_{install,update}_xxx to xbps_transaction_xxx.
2011-11-25 10:12:03 +01:00