Commit Graph

166 Commits

Author SHA1 Message Date
20fb38142b lib/package_unpack.c: fixed two memleaks. 2013-08-29 12:06:04 +02:00
52fc384e4e Fixed some issues/warnings found by clang-analyzer. 2013-06-20 11:25:43 +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
99be698979 Use a single file to store repository data.
This is just the starting point to extend repositories with PGP signatures.
2013-06-10 10:28:39 +02:00
c22dfa8d52 Make sure that pkg meta plist are always created, even in pkgs without files. 2013-05-17 09:17:32 +02:00
769205db0c Before unpacking pkg files, first create the pkg metafile (temp fix for #7). 2013-05-17 08:24:47 +02:00
7da5f6e8f7 lib/package_unpack.c: remove extra arg in xbps_set_cb_state(). 2013-05-15 12:45:35 +02:00
6fdb2e322d lib/package_unpack.c: remove extra parameter in a variadic function. 2013-04-04 10:15:32 +02:00
c753eae9f7 lib/package_unpack.c: fix two possible memleaks. 2013-04-04 09:55:35 +02:00
0a1ea51e4e lib/package_unpack.c: fix a meamleak in error path. 2013-04-04 09:17:32 +02:00
8d6f3b5029 unpack: use lchown(2) to set proper uid/gid to symlinks. 2013-03-17 17:13:07 +01:00
57bb7baf5e unpack: use archive_entry_{filetype,uid,gid,mode} rather than stored struct stat. 2013-03-15 13:18:30 +01:00
5efa1de8d5 lib/package_unpack.c: no need to use a var just to check lstat() rval. 2013-03-11 14:06:47 +01:00
e2b303363b lib/package_unpack.c: fix a memleak. 2013-03-09 11:07:14 +01:00
c504a73f08 Re-use pkgname from unpack to handle config files. 2013-03-08 10:11:16 +01:00
faacbd4a96 lib/package_unpack.c: fix xbps_entry_install_conf_file() args. 2013-03-08 10:07:48 +01:00
bcae7e83aa lib/package_unpack.c: pass pkgver to xbps_pkg_exec_buffer() not pkgname. 2013-03-07 12:01:07 +01:00
7e2d5344d3 lib/package_unpack.c: pass correct number of args to xbps_set_cb_state(). 2013-03-07 11:52:47 +01:00
e36bedb036 Fix regressions in xbps_unpack_binary_pkg(). 2013-03-05 06:42:25 +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
e525e2c251 Drop posix_fadvise(3) completely before unpacking.
Some systems with small memory might fail to make the preallocation,
as seen in the rpi. It doesn't give us too much gain anyway.
2013-02-20 12:59:11 +01:00
d8769c4873 Workaround fix for 'xbps-install -yf xbps <-> xbps-git'. 2013-02-05 12:10:24 +01:00
5c1688944d xbps-install: make -f preserve conf files; use it twice to overwrite all files. 2013-02-02 11:30:42 +01:00
b75cd05c37 Use posix_fadvise(2) only if it's available. 2012-12-15 10:47:30 +01:00
5dab658d09 xbps_unpack_binary_pkg: use posix_fadvise(2). 2012-12-15 09:51:44 +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
5de4fb1f0a xbps-install: -f will also overwrite pkg files. 2012-11-19 20:50:58 +01:00
6094bbc6ea pkg_metadir: fix some issues I've found while finding obsolete files. 2012-11-18 12:07:43 +01:00
fcdb6b0930 unpack: use pkg dictionary from metadir to find obsoletes! 2012-11-17 15:14:11 +01:00
34bd49f85a New pkg metadata structure for 0.18. See the NEWS file for info. 2012-11-16 16:55:35 +01:00
db4b542d40 unpack: typo in previous. 2012-11-15 09:27:41 +01:00
ce2f45a3df unpack: don't extract pkg props.plist, we use pkg data from repo index. 2012-11-15 09:25:31 +01:00
ce3d4f1764 unpack: externalize pkg props dictionary from index. 2012-11-13 14:41:04 +01:00
4945755d53 unpack: don't assert if target file of a symlink doesn't exist, it may happen. 2012-11-12 17:10:02 +01:00
df0d5d7330 Get rid of pkg state half-unpacked; not-installed state is good enough. 2012-11-11 09:42:30 +01:00
d6735d5685 xbps_xasprintf: do not return NULL anymore; remove checks for this. 2012-11-11 09:37:27 +01:00
310e619ea3 Remove unnecessary variable assignments reported by cppcheck. 2012-11-06 09:28:34 +01:00
03567ecb70 unpack: correctly take into account rootdir while checking symlinks. 2012-10-27 10:36:39 +02:00
978013bfbf unpack: match correctly symlinks with absolute path. 2012-10-27 09:42:26 +02:00
264c704529 unpack: do not use realpath(3) on uninstalled symlinks. 2012-10-27 09:36:28 +02:00
c28f882d5c unpack: misc improvements for previous. 2012-10-26 14:32:04 +02:00
c58ca952a8 unpack: convert printf added in previous to xbps_dbg_printf. 2012-10-26 14:22:18 +02:00
7fdae2d6dc unpack: handle another case of relative symlink. 2012-10-26 14:17:31 +02:00
d31a3d205a unpack: use lstat() for symlinks, respect uid/gid if euid == 0, some fixes. 2012-10-26 11:25:17 +02:00
4023c8115b unpack: improvements to handle more cases of modified files.
- Do not unpack unmodified symlinks.
- Do not unpack files that only differ in mode, just chmod(2) new perms.
- Do not create pkg's metadata dir if this already exists.
2012-10-26 10:27:24 +02:00
863f12e349 Improved finding obsolete files while upgrading pkgs. 2012-10-24 07:45:00 +02:00
d38dfdd19a libxbps: unpack: before extracting re-set entry_pname. 2012-10-01 16:41:50 +02:00
bdeeaa46b8 libxbps: unpack: simplify file hash matching code. 2012-09-30 17:07:51 +02:00