Commit Graph

455 Commits

Author SHA1 Message Date
Martchus 162f56c5e3 Fix passing around different versions of PackageSpec
The way this is passed has gotten a bit inconsistent; let's just make it
compatible both ways.
2022-01-31 21:32:07 +01:00
Martchus 92f83fadb6 Fix/simplify move c'tor/assignment of Database 2022-01-31 20:48:02 +01:00
Martchus cca0db2d1f Install `main.js` 2022-01-30 22:37:50 +01:00
Martchus a0a1744611 lmdb: Update submodule 2022-01-30 22:37:31 +01:00
Martchus 3db350ce30 Fix finding bundled lmdb-safe when package config suffix is used 2022-01-30 22:03:28 +01:00
Martchus 43552dc9ae Fix triggering toolbar actions in Firefox 2022-01-30 21:40:35 +01:00
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