xbps/lib
Juan RP 06c9891ae3 xbps_transaction_*: multiple performance improvements (v2).
This commit implements multiple performance improvements
to the transaction code:

- Don't process xbps_pkg_name() N times each time we access
  its package dictionary (via pkgdb or rpool), just do it once
  at xbps_pkgdb_init() time. At pkgdb init time, it just creates
  a property in pkgdb, "pkgname". At rpool time, each time a
  package is accessed, the "pkgname" string property is added.

- The package transaction dictionary contains the "transaction"
  object to know what's the pkg type. This has been changed to an
  uint8, this simplifies the logic and it's faster than checking
  a string object. See xbps_trans_type_t and xbps_transaction_pkg_type().

- Fixed the issue that was marked with XXX in transaction shlibs
  checking code. This has been fixed and improved and resources are
  now just freed as expected.

- Simplified random code all over the place, avoiding unnecessary
  allocations or operations.

- Rename some transaction files to have a better description.

This is my first rototill to the code in 2020.
2020-02-21 09:37:32 +01:00
..
compat
external lib/external/fexec.c: fix potential insecure usage in vfork(). 2019-06-18 18:49:29 +02:00
fetch lib/fetch: fix CVE-2020-7450 2020-01-28 20:29:39 +01:00
portableproplib lib/portableproplib/rb.c: fix dead initialization. 2019-06-18 18:49:29 +02:00
archive.c Revert "Verify repodata signature" 2020-01-06 14:33:49 +01:00
cb_util.c
conf.c configuration: add keepconf option 2020-02-08 21:06:04 +01:00
download.c lib/download.c: fix digestlen assert and add if condition to avoid misuse 2020-02-10 15:03:54 +01:00
initend.c lib/initend.c: use new xbps_path_* functions 2020-02-14 19:20:54 +01:00
log.c xbps_dbg_printf{,_append}: return if xhp is NULL. 2020-01-11 09:48:38 +01:00
Makefile xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
package_alternatives.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
package_config_files.c lib/package_config_files.c: use _get_cstring_nocopy for sha256_orig 2020-02-10 13:32:17 +01:00
package_configure.c libxbps: ABI/API break due to xbps_pkg{,pattern}_name changes. 2020-02-08 19:49:57 +01:00
package_fulldeptree.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
package_msg.c Added LTO support and fix warnings (maybe-uninitialized). 2019-06-27 18:09:26 +02:00
package_orphans.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
package_register.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
package_remove.c libxbps: ABI/API break due to xbps_pkg{,pattern}_name changes. 2020-02-08 19:49:57 +01:00
package_script.c libxbps: ABI/API break due to xbps_pkg{,pattern}_name changes. 2020-02-08 19:49:57 +01:00
package_state.c libxbps: ABI/API break due to xbps_pkg{,pattern}_name changes. 2020-02-08 19:49:57 +01:00
package_unpack.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
pkgdb_conversion.c Introduce xbps_plist_{array,dictionary}_from_file(). 2015-05-28 10:15:05 +02:00
pkgdb.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
plist_fetch.c xbps_repo_fetch_remote: use XBPS_REPOIDX_META. 2020-01-06 15:09:16 +01:00
plist_find.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
plist_match.c libxbps: ABI/API break due to xbps_pkg{,pattern}_name changes. 2020-02-08 19:49:57 +01:00
plist_remove.c libxbps: ABI/API break due to xbps_pkg{,pattern}_name changes. 2020-02-08 19:49:57 +01:00
plist.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
proplib_wrapper.c Introduce xbps_plist_{array,dictionary}_from_file(). 2015-05-28 10:15:05 +02:00
pubkey2fp.c upgrade to openssl 1.1.x. 2019-01-24 14:57:50 -05:00
repo_sync.c lib/repo_sync.c: set umask before creating repo cache directories 2019-06-14 21:08:55 +02:00
repo.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
rpool.c Added LTO support and fix warnings (maybe-uninitialized). 2019-06-27 18:09:26 +02:00
transaction_check_conflicts.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_check_replaces.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_check_revdeps.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_check_shlibs.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_commit.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_fetch.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_files.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_ops.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_pkg_deps.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_prepare.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
transaction_store.c xbps_transaction_*: multiple performance improvements (v2). 2020-02-21 09:37:32 +01:00
util_hash.c lib/util_hash.c: add conditions to avoid misuse without asserts 2020-02-10 15:03:54 +01:00
util_path.c lib/util_path.c: add some util functions to work with paths 2020-02-14 19:20:54 +01:00
util.c lib/util.c: add assertions everywhere. 2020-02-08 20:00:56 +01:00
verifysig.c libxbps: ABI/API break due to hash function changes 2020-02-10 13:32:17 +01:00