Commit Graph

20 Commits

Author SHA1 Message Date
ea364affc8 libxbps: open fds with O_CLOEXEC to avoid warnings of leaked fds. 2015-04-15 21:02:38 +02:00
72cefcfc83 Introduce xbps_mmap_file() and use it in strategic points.
Rather than using a random buffer from stack or heap, and decide
what size to use, create a private memory mapped object...

This simplifies the code in lib/verifysig.c and xbps-create.
2014-09-27 13:00:34 +02:00
5bbcdf2c62 lib/util_hash.c: enlarge read buffer for xbps_file_hash to increase performance. 2014-09-18 18:34:15 +02:00
741f8fbe04 lib/util_hash.c: update copyright year. 2014-09-17 07:24:00 +02:00
72c64c7626 xbps_file_hash: reduce memory footprint and process file in small chunks.
With xbps-rindex(8) -c/-r being multithreaded, the memory usage was
insanely high in the build server, with peaks of almost 4GB (this depends
on the file size being processed and number of threads).

Process the file in small chunks instead to compute the SHA256 hash.
2014-09-17 06:50:46 +02:00
4e427ded92 xbps_file_hash: simplify and use read(2). 2013-11-26 13:08:44 +01:00
a30623c65c Revert "lib/util_hash.c: xbps_file_hash: remove unnecessary memset() call."
This reverts commit febc673f1e.
2013-11-26 10:40:53 +01:00
febc673f1e lib/util_hash.c: xbps_file_hash: remove unnecessary memset() call. 2013-11-18 18:12:58 +01: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
84745dfe33 xbps_file_hash: remove madvise usage (no gain irl). 2013-03-09 16:22:41 +01:00
e1fc085915 xbps_file_hash: use madvise(2). 2012-12-15 09:51:05 +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
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
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
a0f91f3342 xbps_file_hash_check_dictionary: fixed for rootdir != /. 2012-06-05 20:51:00 +02:00
84c6850c28 xbps_file_hash_dictionary: only process exact matches. 2012-06-05 20:22:47 +02:00
9fb3c38aa2 Extend assertions by checking passed in proplib type. 2011-10-19 16:53:38 +02:00
ba5913cbb9 libxbps: [unpack] only extract files if they have been modified. 2011-08-01 12:35:47 +02:00
a22a6c3be1 libxbps: move hash funcs from util.c into its own file. 2011-07-19 21:21:28 +02:00