Martchus
70a98ffedc
Make name of build action to execute custom command shorter
2022-03-12 21:37:59 +01:00
Martchus
6437c7eb42
Avoid concurrent AJAX requests and show loading indication
2022-03-12 18:53:46 +01:00
Martchus
ac0d64fe3e
Allow everyone to see build action details
2022-03-10 23:19:02 +01:00
Martchus
30e3d0343e
Fix condition in `Package::isPkgInfoFileOrBinary()`
2022-03-10 23:04:18 +01:00
Martchus
6699bfa49e
lmdb: Avoid storing empty keys possibly leading to `MDB_BAD_VALSIZE`
...
This might prevent errors like:
```
Unable to parse retrieved database file for "community-staging@x86_64": Getting data: MDB_BAD_VALSIZE: Unsupported size of key/DB name/data, or wrong DUPFIXED size
```
2022-03-10 22:45:11 +01:00
Martchus
14e6698628
Fix setting build actions table width to 100 %
2022-03-08 23:44:36 +01:00
Martchus
7814b8a336
Avoid installing static library of lmdb-safe
2022-03-08 00:47:38 +01:00
Martchus
55f081153e
Add command to delete invalid build actions from DB
2022-03-07 23:36:48 +01:00
Martchus
7ade757c8d
Avoid locking whole config when updating DBs
...
* Only lock the config for writing the reloading the config file
* Make sure all write operations to the database acquire an "update mutex"
to ensure only one write operation happens at a time
* Do *not* acquire any additional locks when reading from a database as it
should be safe to do so even when a write operation happens because
* LMDB read and write transactions can happen at the same time
* The package cache has its own mutex anyways
* Write ops to the package cache try to lock the "update mutex" to
prevent writing "old" data to the cache during updates
* Make "lastUpdate" atomic to avoid locking the config when accessing it
2022-03-05 18:55:52 +01:00
Martchus
afc61bcad6
Speed up AUR updates using `PackageUpdater`
2022-03-05 16:10:33 +01:00
Martchus
8fdf7bfb04
Print certain resource limits on server startup
2022-03-05 12:34:26 +01:00
Martchus
9acd10fa4c
Catch `boost::exception`s
2022-03-05 12:34:05 +01:00
Martchus
9b6be51dd3
Allow reloading library dependencies of specific packages
2022-03-04 21:51:25 +01:00
Martchus
4293eb92bf
Ignore libs for cross-compilation when checking any packages for binaries
...
Not really generic yet (e.g. doesn't cover `aarch64-linux-gnu-glibc`) but
good enough for now.
2022-03-04 21:50:56 +01:00
Martchus
1f3abd5596
Distinguish Android libs from GNU/Linux libs
2022-03-04 21:48:28 +01:00
Martchus
3d3ba1457a
Adapt tests
2022-03-04 09:30:19 +01:00
Martchus
c633eea607
Add any-packages containing binaries as problem when checking for errors
2022-03-03 23:08:14 +01:00
Martchus
8e18b4747f
Assume the filename as library name for ELF libraries without soname field
2022-03-03 23:00:16 +01:00
Martchus
6456273951
Fix early return for special handling of `mingw-w64-crt`
2022-03-03 22:43:31 +01:00
Martchus
cbfdf2236e
Skip DLLs provided by Windows when checking for unresolvable DLLs
2022-03-03 22:40:48 +01:00
Martchus
c2e7f40767
Fix typos
2022-03-01 00:43:06 +01:00
Martchus
79123e4cd9
Improve error handling of server
...
* Return with non-zero exit code when an exception occurred
* Handle exceptions when terminating the service
2022-03-01 00:39:50 +01:00
Martchus
659a8b0e8b
Update xterm.js to 4.18.0
2022-03-01 00:30:48 +01:00
Martchus
02bf5faba4
Remove output route from CLI
2022-03-01 00:28:08 +01:00
Martchus
b6901afcc2
Add memory limits to systemd service for io_uring
2022-02-27 00:07:49 +01:00
Martchus
e5f0a36730
Update README.md
2022-02-26 23:16:25 +01:00
Martchus
0343685910
Adapt tests for limiting
2022-02-25 23:18:26 +01:00
Martchus
67fa8def0b
Name additional threads
2022-02-25 23:09:46 +01:00
Martchus
2071327a71
Fix building packages using signed git repositories as source
2022-02-25 23:09:16 +01:00
Martchus
22cfb4bb29
Use std::string_view when parsing pkg info
2022-02-25 23:08:12 +01:00
Martchus
fd35aa0da6
Parse sources and size from pkg info
2022-02-25 23:07:55 +01:00
Martchus
90ff9678fe
Limit results returned by the API for better scalability
2022-02-25 00:29:43 +01:00
Martchus
ff7f039519
Ensure problems of repos with different archs but the same name aren't mixed up
2022-02-22 22:50:51 +01:00
Martchus
382169ab6e
Fix varoius build action related problems
...
* Fix crashes in some situations
* Fix aborting reloading library dependencies
2022-02-22 22:49:40 +01:00
Martchus
9e15129d9d
Ignore null-dereference warning
...
It is about
```
return result_type{ storageEntry.id, storageEntry.ref.relatedStorage };
```
but it isn't clear why the compiler thinks there's a problem.
2022-02-22 22:46:53 +01:00
Martchus
5c62014b3b
Fix variable name in fallback code when BOOST_ASIO_HAS_FILE
2022-02-22 20:22:00 +01:00
Martchus
a25db1f9e0
Log usage of `io_uring`
2022-02-22 00:08:21 +01:00
Martchus
839a4b0831
Fix wrong variable name in `buildactionlivestreaming.cpp`
2022-02-22 00:05:35 +01:00
Martchus
3dfdce58af
lmdb: Update subrepo
2022-02-21 23:49:09 +01:00
Martchus
8ea2f5fd62
Reintroduce cache file as it is still required for "lastUpdate" for DBs
...
Maybe it makes more sense to use LMDB for this as well. On the other hand
it is an easy way of keeping the remaining state persistent.
2022-02-20 20:17:42 +01:00
Martchus
9c4f0277bd
Unlock output lock early
...
The following things are read-only or guarded by other mutex.
2022-02-20 19:51:46 +01:00
Martchus
bdbfd42e5e
Avoid package object being reused after 3d7310af3
2022-02-20 19:50:44 +01:00
Martchus
d11ba43bf0
lmdb: Avoid getting packages with empty name, can lead to exception
2022-02-20 19:28:44 +01:00
Martchus
334bb1faa9
Use io_uring for async file I/O
2022-02-20 18:44:07 +01:00
Martchus
8115721913
Fix handling error computing db order when reloading dependencies
2022-02-20 00:18:49 +01:00
Martchus
93afb3883d
Write build action "output" log to a logfile like for sub-processes
2022-02-20 00:11:23 +01:00
Martchus
a7de520549
Use lazy-deserialization and package cache when searching in package name
2022-02-19 00:11:59 +01:00
Martchus
3d7310af30
lmdb: Get `std::shared_ptr` directly from iterator
2022-02-18 19:23:00 +01:00
Martchus
68c11be6bb
Call `addDepsAndProvidesFromOtherPackage` *before* clearing existing packages
2022-02-16 19:54:21 +01:00
Martchus
b3b396df5f
Allow ignoring copying errors due to existing files when moving packages
2022-02-16 19:47:25 +01:00