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