Commit Graph

71 Commits

Author SHA1 Message Date
0fc297a471 lib/transaction_ops.c: minor optimization. 2015-02-16 11:18:58 +01:00
d607655371 libxbps: globally check for unresolved reverse dependencies.
Close #46. See NEWS for more information.
2015-02-03 10:20:13 +01:00
076b3f8c44 libxbps: add pkgs on hold mode to the transaction, but ignore them.
Those are there mostly to be shown by the clients and notify that
there's an update in repos that is being ignored.

Idea by @chneukirchen.
2015-01-28 12:07:47 +01:00
5b522109f7 Replaced config/system {repo,preserve,virtualpkg}.d with a single directory.
See the NEWS file for more information.
2014-11-06 09:58:04 +01:00
627a5afaaf Make sure that automatic/manual installation modes are set as expected. 2014-10-20 07:59:06 +02:00
231582e671 libxbps: make sure to not add dups in transaction for remove. 2014-10-19 11:22:17 +02:00
fb868454b2 libxbps: make sure to not add dups in transaction for install/update. 2014-10-19 11:00:40 +02:00
ff189fd210 Replaced redundant dependency sorting code with a simpler implementation.
This fixes the issue found by "xbps-src bootstrap" when a package
without "provides" was declared as a virtual package.
2014-10-18 12:35:47 +02:00
42f0152dce trans_find_pkg(): search for reverts match with correct pkgver 2014-09-28 22:22:20 +02:00
50fb6c1605 rename xbps_pkgver_is_reverted to xbps_pkg_reverts 2014-09-23 13:54:06 +02:00
cd9a9e78a8 lib/transaction_ops.c: trans_find_pkg will check the revert field too.
- if a package on the repo has a lower version than installed
  libxbps will check if this package reverts the one installed
  and downgrades to it if so.
2014-09-23 13:54:06 +02:00
c9514ad617 libxbps: fixed replaces/replace_vpkg test case. 2014-09-14 12:50:17 +02:00
30ea08e605 lib/transaction_ops.c: detect updates when an exact pkg version is set. 2014-09-11 11:13:20 +02:00
01dbb968dd Welcome pkgdb-0.38. 2014-09-11 00:12:12 +02:00
472f622f6f Finally fixed vpkg02 test (vpkg provider in transaction).
Rather than collecting dependencies for a pkg that has been added to the
transaction dictionary, do this for all pkgs in transaction once all
packages are already there.
2014-09-04 10:13:02 +02:00
7cef93ce07 Added support to replace vpkgs when the real pkgname matches any installed vpkg. 2014-08-22 12:44:18 +02:00
e35d2e9415 Revert "lib/transaction_ops.c: also check conflicts for pkgs without rdeps."
This reverts commit e308097af5.

package conflicts are checked in xbps_transaction_prepare() already.
2014-07-12 16:25:12 +02:00
e308097af5 lib/transaction_ops.c: also check conflicts for pkgs without rdeps. 2014-07-12 09:41:37 +02:00
61a1d33995 xbps-install(8): implemented single pkg updates without -u, --update.
The -u, --update is now only necessary to perform full system updates.

Close #35 (https://github.com/voidlinux/xbps/issues/35)
2014-05-27 11:33:45 +02:00
98a3723902 Respect installation mode also on reinstall (and downgrade). 2014-01-15 16:17:41 +01:00
f09eab62cd Fix #18. An ATF test-case will be imported in a while. 2013-11-01 18:05:11 +01:00
776b94e6bc Remove PackagesOnHold from xbps.conf; use xbps-pkgdb -m hold|unhold instead.
To put a package on hold mode:
	$ xbps-pkgdb -m hold foo

To unhold the package:
	$ xbps-pkgdb -m unhold foo

To list packages on hold mode:
	$ xbps-query -H

This also close #12 from github.
2013-08-12 14:46:54 +02:00
42c0766c00 Get rid of libfetch and proplib external dependencies.
The list of required external deps is now confuse, libarchive and openssl.

libxbps now includes a wrapper for proplib prefixed with xbps_ rather than prop_.
2013-06-20 10:26:12 +02:00
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