Martchus
bde385ba6b
Allow auth without access to secrets (and then just don't access secrets)
2022-07-29 22:07:24 +02:00
Martchus
662c924321
Use `flagenumclass.h` for auth flags
2022-07-29 22:06:40 +02:00
Martchus
aece080986
Pass sudo password and GPG passphrase from encrypted file
...
Not tested yet; so far just an idea to make everything at least a little
more secure
2022-07-25 21:48:24 +02:00
Martchus
255da5b091
Allow passing secrets to build action
2022-07-11 23:33:28 +02:00
Martchus
df2b5ba9f6
Allow secrets stored in encrypted files to be loaded from route handlers
2022-07-10 19:47:41 +02:00
Martchus
9c83ba8ea7
Extend tests for conducting build
...
* Test further error cases
* Improve checks for error messages
* Use better scoping
2022-07-01 19:28:49 +02:00
Martchus
1e7e604917
Fix skipping package build due to failed dependency
...
Skip package as expected when a dependency failed that was attempted to be
built as last package of the previous batch (and building as far as
possible is enabled).
2022-07-01 19:27:39 +02:00
Martchus
6c1782ba42
Apply clang-format
2022-06-28 16:08:53 +02:00
Martchus
0e3be7ce69
Fix conduct build action from getting stuck when configuring chroot fails
...
by moving the creation of the process session below configuring the chroot
2022-06-27 12:49:47 +02:00
Martchus
9f5474e128
Fix passing architecture when creating database
...
When adding a new database when reloading the config at runtime the
architecture must be passed when creating the database. Otherwise we end up
with the new database sharing the internal storage with the x86_64 database
which leads to very confusing behavior.
2022-06-19 23:06:25 +02:00
Martchus
0a536a992a
Fix missing include for std::ifstream
2022-06-15 23:31:14 +02:00
Martchus
3b150428ae
Allow building with `makecontainerpkg`
2022-06-12 20:42:14 +02:00
Martchus
294dba0e2a
Fix URL and show it in the about dialog
2022-06-09 19:50:43 +02:00
Martchus
c155176098
Fix missing build date in package search
...
* Avoid using buildDate of PackageInfo in favor of the same field in
PackageBase
* PackageInfo::buildDate should be removed on the next breaking change
* Do not really use the deprecated attribute because it is still used by
(de)serialization code until it is removed for good
2022-06-08 22:44:58 +02:00
Martchus
94c4b8addc
Improve misleading test name
2022-05-31 21:34:20 +02:00
Martchus
55c7c62c7c
Speed up returning build actions table by avoiding deserializing whole obj
2022-05-31 20:54:02 +02:00
Martchus
645bb0fe54
Use arch-specific sub-directory within cache dir when conducting build
2022-05-31 20:27:42 +02:00
Martchus
f2902f1d08
Apply clang-format
2022-05-31 20:13:21 +02:00
Martchus
ecebf9fbde
Fix showing arch of packages after optimization
...
* Move the binary package arch truly into the base package
2022-05-31 20:13:15 +02:00
Martchus
b74392c34d
Speed up deserialization when serving providing packages as well
2022-05-31 19:40:12 +02:00
Martchus
68d67f543f
Refactor to optimize deserialization of base-data
...
* Break backwards compatibility
* Allow to deserialize only base-data of packages and build
actions to potentially speed up showing tables
* Speed up package search in many cases by only deserializing
base-data (unless details are actually wanted)
2022-05-31 19:04:57 +02:00
Martchus
ae44624989
Rebuild package DBs as well when fixing DBs
2022-05-15 00:32:46 +02:00
Martchus
40cfe9883c
Ensure there are no more leftovers in "clean-repository-" DBs
2022-05-15 00:07:39 +02:00
Martchus
f37739ec07
Avoid compilation error with GCC 12
...
Make operator<< for iteratable objects visible prior to call site like it
is already done in other places.
2022-05-12 21:01:58 +02:00
Martchus
438fccd6cd
Avoid fatal warning about potential null pointer deref from GCC 12
...
It is about code included from Boost.Asio (some io_uring related code) so
let's just not treat it as fatal error.
2022-05-12 20:45:25 +02:00
Martchus
4c98887b02
Fix warning about possibly unused value
2022-05-12 20:33:23 +02:00
Martchus
5a6d68b318
Fix using files DB in CleanRepository
2022-05-07 01:59:14 +02:00
Martchus
c2d5e2f749
Use DB path when checking timestamps in repo cleanup
...
Otherwise it can break if files DBs are used.
2022-05-02 22:23:35 +02:00
Martchus
1950619f21
Add link to UI in root page
2022-05-01 22:21:42 +02:00
Martchus
e343b3ca44
Split `ResourceUsage` into `MemoryUsage` and setup specific stats
2022-04-24 18:25:22 +02:00
Martchus
142f6466ae
Show resource usage in UI
2022-04-23 19:56:22 +02:00
Martchus
a780b26ef6
Log package cache size on startup
2022-04-20 22:47:29 +02:00
Martchus
26caa78956
Reduce memory usage when loading packages
...
* Avoid creation of map with all archive contents; instead parse packages
while walking though the archive
* Avoid instantiation of std::string in come cases (using std::string_view)
* Reuse libarchive's archive entry when walking though archive
* Use visitor-based database parser in all places to avoid intermediate big
array with all package objects
2022-04-20 22:47:10 +02:00
Martchus
2ca6ce1eec
Prevent crash in package search when index is broken
2022-04-19 00:24:31 +02:00
Martchus
1f3f0b0df1
Avoid high memory usage when reloading database
...
Especially when enabling files DBs it is quite problematic to store all
package objects of a database within one big array. This change avoids the
array and instead adds the packages directly. The disadvantage is that
clearing the database isn't as simple anymore.
2022-04-19 00:23:46 +02:00
Martchus
edb014011c
Make package search more efficient
...
* Avoid keeping list of all packages in memory by pushing each package
directly to the JSON array
* Avoid check for database before pushing each package; do it only before
reaching the next database
* Remove no longer required functions
2022-04-17 23:39:25 +02:00
Martchus
4578b30ea2
Remove hard-coded build directories in test data
2022-04-15 19:58:35 +02:00
Martchus
eae8af6571
Avoid big build action IDs by reusing older/lower ones
2022-04-15 19:20:01 +02:00
Martchus
e15f65ac16
Extend tests for conducting build
2022-04-07 23:18:14 +02:00
Martchus
08421fa719
Don't rely on local pkg dir when reloading library deps
...
Since 11f1849fde
the cache dir is also set as local pkg dir
so we cannot rely on packages really existing there.
2022-04-07 21:35:05 +02:00
Martchus
7c627e6a12
Use `auto` in `getPackages()`
2022-03-22 21:03:56 +01:00
Martchus
56afe0c710
Fix returning newly retrieved AUR packages
2022-03-22 21:03:01 +01:00
Martchus
d163f56abf
Log whether `io_uring` is used/configured
2022-03-20 17:37:33 +01:00
Martchus
d5e2b5489d
Provide filename for artefact downloads
2022-03-15 23:22:34 +01:00
Martchus
69a81f7583
Remove unused function declaration
2022-03-15 22:27:50 +01:00
Martchus
83c7426fce
Allow specifying output path for license info
2022-03-15 22:23:34 +01:00
Martchus
13cccd3bc9
Improve creating license info
2022-03-15 01:10:15 +01:00
Martchus
f87829ba85
Save state after reloading configuration
2022-03-15 01:07:51 +01:00
Martchus
11f1849fde
Keep local pkg paths deduced from pacman config
...
It makes the setup easier and shouldn't hurt otherwise.
2022-03-15 01:07:36 +01:00
Martchus
b0234ff02e
Improve MIME-type when serving artefacts
2022-03-15 00:21:08 +01:00