Commit Graph

249 Commits

Author SHA1 Message Date
Martchus ac8976bf0b lmdb: Update submodule 2022-01-30 21:33:03 +01:00
Martchus eafa797262 lmdb: Avoid installing lmdb-safe when building it as part of this project
* Build lmdb-safe always as static library
* Disable install targets of lmdb-safe
2022-01-30 21:11:39 +01:00
Martchus ecf25ca260 lmdb: Build lmdb-safe as own CMake project/library 2022-01-30 01:28:03 +01:00
Martchus fa2ba49915 lmdb: Update subrepo 2022-01-26 00:47:25 +01:00
Martchus cd98c39c54 lmdb: Test clearing all packages 2022-01-26 00:47:12 +01:00
Martchus 0e61a726e1 Set `lastUpdate` to zero when clearing packages
Since reloading packages is now avoided clearing packages should not itself
count as update as it would prevent loading packages again.
2022-01-26 00:46:36 +01:00
Martchus 66d3e7b301 lmdb: Remove unused function 2022-01-26 00:44:07 +01:00
Martchus 45922b47ec lmdb: Allow configuring cache limit 2022-01-26 00:41:53 +01:00
Martchus d4d187463a Fix problems with global locks
* Aquire the mutex before setting `m_exclusivelyOwned = false`; otherwise
  it might be set after `lock()` has checked it but before `lock()` has
  entered `wait()` leading to a deadlock
* Check state again after `wait()` because it may also be unblocked
  "spuriously" so it isn't guaranteed that the state will have actually
  changed after unblocking
2022-01-25 22:49:20 +01:00
Martchus 218dfecf56 Avoid loading databases when modification date is <= last update
* Do HTTP head request first when loading database from mirror to avoid
  downloading the full database all the time
* Use the last modification date of the local database file because with
  the persistent storage even local database reloads became a bit expensive
2022-01-25 00:13:10 +01:00
Martchus fe09463b0a lmdb: Fix replacing existing packages when updating package via cache 2022-01-25 00:04:25 +01:00
Martchus 027358a340 lmdb: Update README 2022-01-25 00:03:22 +01:00
Martchus 300f74fb10 lmdb: Open LMDB file after restoring cache so DBs added from cache have the storage initialized 2022-01-25 00:01:59 +01:00
Martchus 5a66bdc8c2 Update README for JavaScript/xterm.js changes 2022-01-24 23:59:39 +01:00
Martchus ea00c9ca10 Update xterm.js to 4.16.0
* Update xterm.js to 4.16.0 and its search addon to 0.8.2
* Improve hack for using addon despite ES6 modules support still missing
2022-01-23 20:43:22 +01:00
Martchus 1c820fc2f6 lmdb: Fix storage initialization when config file cannot be loaded 2022-01-23 19:47:50 +01:00
Martchus 26f787fb42 lmdb: Do not make lmdb a public dependency as it is only used within libpkg 2022-01-23 19:47:28 +01:00
Martchus 2abc407c77 Use JavaScript modules 2022-01-23 19:46:57 +01:00
Martchus 1bb8a55169 lmdb: Update submodule 2022-01-22 19:20:29 +01:00
Martchus f088e54c61 lmdb: Use package cache when querying packages for dependencies
* Use package cache when querying packages for dependencies or library
  names
* Avoid manual instantiations of `std::shared_ptr<Package>`
2022-01-21 20:35:43 +01:00
Martchus fcdd4fa7b3 lmdb: Fix warning about type conversion 2022-01-21 20:29:52 +01:00
Martchus 9af3e4783f lmdb: Remove obsolete code 2022-01-21 20:29:25 +01:00
Martchus 7cdd472b0a lmdb: Update submodule 2022-01-20 23:34:15 +01:00
Martchus f73753792c lmdb: Use caching when finding package via ID 2022-01-20 23:33:02 +01:00
Martchus 231571f2d1 lmdb: Generalize caching to be able to use it for other types than packages 2022-01-19 23:33:07 +01:00
Martchus a8afccf081 lmdb: Set limit for at least 6 DBs (requiring each 10 LMDB databases)
This makes setting up tests easier.
2022-01-18 22:54:49 +01:00
Martchus e44cbf94e5 lmdb: Enable versioning for objects we'd like to store in the DB 2022-01-18 22:48:34 +01:00
Martchus 879c8824a4 Fix typo in README 2022-01-18 22:39:19 +01:00
Martchus fc32f790fb lmdb: Use namespace and have reflective-rapidjson code in its own header 2022-01-18 22:25:28 +01:00
Martchus f4774cac56 lmdb: Remove obsolete code 2022-01-18 22:11:54 +01:00
Martchus 2ffa6629c8 lmdb: Use lmdb to store packages and dependency indices 2022-01-18 21:50:53 +01:00
Martchus bcc24fe1d1 lmdb: Update lmdb-safe
Add own patches and ones from pending PRs
2022-01-18 20:57:00 +01:00
Martchus 5ad89d964f lmdb: Exclude lmdb-safe from tidying 2021-12-07 22:48:42 +01:00
Martchus c4a32feb48 lmdb: Configure project to use lmdb and lmdb-safe 2021-12-07 22:48:42 +01:00
Martchus 4ce5401904 lmdb: Add lmdb-safe submodule 2021-12-07 22:48:42 +01:00
Martchus 0a2c41ee0c Fix shadowing warning 2021-12-07 22:48:22 +01:00
Martchus 567c3aaf56 Support "trunk" subdirectory for using official svntogit repos as source 2021-11-16 15:00:19 +01:00
Martchus 0f7718c934 Locate PKGBUILDs locally also without variant dir
This makes it possible to checkout
https://github.com/archlinux/svntogit-packages.git and
https://github.com/archlinux/svntogit-community.git locally to build
official packages.
2021-11-14 23:37:33 +01:00
Martchus 6f652922cd Add lookup for repo-specific config file path
This could be useful to create another repository with packages that are
built using different compile flags, e.g. optimized for certain processors.
2021-11-14 22:59:46 +01:00
Martchus 2adc80e5fc Override existing symlinks when adding signatures to repo 2021-11-03 16:32:38 +01:00
Martchus 893a8473ad Override existing symlinks when adding packages to repo 2021-11-03 16:06:16 +01:00
Martchus 755e1958d3 Allow overriding existing files in repository
When `repo-add` fails but files could be copied before refusing to override
is actually very annoying because one has to delete the files before
restarting the build task.
2021-10-07 18:12:44 +02:00
Martchus 672f3b4e97 Fix staging check for split packages
* Consider all split packages when skipping an affected package
2021-09-30 22:23:54 +02:00
Martchus ace478be22 Fix tests when test working directory is on another device
* Fallback to copying if hard link creation fails due to cross device link
2021-09-30 22:22:22 +02:00
Martchus a93924bb3a Fix cleanup of signatures
* Record full path for the deletion of orphaned signatures
* Test for the existence of the signature symlink itself and not the target
  because the symlink target (in the any directory) might not exist anymore
  but the symlink should be removed in any case
2021-08-29 00:32:19 +02:00
Martchus c68202bdc1 Add test for repository cleanup 2021-08-29 00:29:26 +02:00
Martchus 1cc8a3d6db Add warnings about missing DLLs to the build action's result 2021-08-28 15:06:24 +02:00
Martchus 2ad4a39aea Handle case when a split package overrides the archs from the base 2021-08-28 00:25:09 +02:00
Martchus 95ae827c74 Fix applying relative working directory multiple times 2021-07-31 14:55:49 +02:00
Martchus 1ce736d66f Fix passing the body limit to nested `cachePackages()` calls 2021-07-25 01:25:30 +02:00