Commit Graph

260 Commits

Author SHA1 Message Date
Martchus f7272c0836 Adapt makechrootpkg invocation to change in devtools-custom 2024-03-16 22:36:00 +01:00
Martchus c7f2310250 Bump patch version 2024-03-11 12:35:21 +01:00
Martchus 4017d50a20 Fix locking when removing packages from source repository 2024-03-07 00:53:10 +01:00
Martchus b9021286bf Apply change of `global.h` template 2024-02-27 00:51:43 +01:00
Martchus ac30fd2996 Use `CRYPTO_memcmp` to compare password to prevent timing attacks 2024-02-21 20:43:38 +01:00
Martchus 56ee1325f0 Add "AUR-only" flag for "Prepare build" action
This might be useful to avoid accidentally rebuilding a package with a
local/custom override withiout actually updating the custom PKGBUILD.
2024-02-11 17:40:28 +01:00
Martchus 9150d90233 Fix handling of "Use container" flag for the "Prepare build" action 2024-02-09 23:09:38 +01:00
Martchus 82af909b9f Prevent cmake-format from messing with the comment about BOOST_ASIO_DISABLE_CONCEPTS 2023-12-21 21:00:39 +01:00
Martchus 4e141f7a04 Avoid misleading name of lock variable 2023-12-21 20:54:16 +01:00
Martchus 5d5b673b3c Improve updating package database when loading library dependencies
* Make use of `PackageUpdater` more efficient by avoiding multiple calls of
  `addDepsAndProvidesFromOtherPackage`
* Fix leaving old provides in the database by splitting the update via new
  `beginUpdate()` and `endUpdate()` functions
2023-12-21 20:51:38 +01:00
Martchus 8deeb0a82b Remove non-forcing package updates
This was only used in tests but was otherwise not very useful as we
normally need to ensure the persistent database is updated as well.
2023-12-19 21:34:18 +01:00
Martchus f0761ed70e Apply clang-format 2023-12-19 21:32:05 +01:00
Martchus 141d8fa3f5 Allow dumping package databases 2023-12-16 22:13:44 +01:00
Martchus 400d260230 Improve error messages when an exception occurs when fixing DBs 2023-12-16 21:04:41 +01:00
Martchus 0984cf0d0c Make package database path configurable 2023-12-16 21:03:49 +01:00
Martchus ec493b3454 Remove unused includes 2023-12-09 23:28:02 +01:00
Martchus 0d4b6c1ad0 Fix build preparation when an empty dependency is present 2023-12-02 20:35:44 +01:00
Martchus edd78667c5 Allow configuring retention for build actions 2023-11-23 18:49:43 +01:00
Martchus 24e2ec0136 Fix reporting an error during build preparation as such 2023-11-22 21:50:45 +01:00
Martchus bf67d1914d Allow using `repo-add`/`repo-remove` from container in repo management actions 2023-11-09 13:48:57 +01:00
Martchus 60a477af99 Keep setup lock while checking executables
In the error case we use the fields from `m_setup.building` so the lock
needs to be kept.
2023-11-09 13:46:47 +01:00
Martchus 72d1999e72 Fallback to using `updpkgsums`/`repo-add` from container for containerized builds
If those tools are not installed on the host but we use `makecontainerpkg`
anyways for the build we might as well use it to run these additional tools
as well.
2023-11-08 17:27:46 +01:00
Martchus 10e86c759c Avoid running into exception when checking whether executable exists
When we cannot even check whether the executable exists we can just assume
it doesn't.
2023-11-08 17:26:04 +01:00
Martchus e108c98826 Apply clang-format 2023-11-08 17:25:18 +01:00
Martchus c31027fc7f Pass `PKGNAME` to `makecontainerpkg` to avoid sourcing PKGBUILD again 2023-11-08 16:08:54 +01:00
Martchus 1a4b9282d2 Allow using `makecontainerpkg` in prepare action 2023-11-08 15:09:42 +01:00
Martchus f0d9b684df Make default arch configurable 2023-11-08 14:02:47 +01:00
Martchus 5a006c6b6d Use CMake `option()` correctly 2023-10-16 23:50:01 +02:00
Martchus d3e556cea7 Notify systemd when the service is ready or stopping 2023-10-16 23:48:19 +02:00
Martchus 7cea1c5f41 Fix package search for exact name; fix use after move in `routes.cpp` 2023-09-11 21:49:43 +02:00
Martchus 85736af4bb Avoid warnings about unqualified calls to `std::move` in `routes.cpp` 2023-09-11 21:43:36 +02:00
Martchus 0acbc2d193 Avoid resetting updated version if the package has already been built 2023-09-04 21:20:10 +02:00
Martchus 61756023db Fix accidentally adding an old package version to the repository
Ensure updated version from previous run is cleared
2023-09-04 21:06:38 +02:00
Martchus 91ee500b0a Show amended upstream version correctly 2023-09-03 22:09:28 +02:00
Martchus c816972a16 Avoid having to rely on `pkgver()` yielding a newer version for VCS packages
Bump pkgver/pkgrel of VCS packages. This should help with case (1) and
should not interfere with case (2).

(1) If the pkgver does not change after all then makepkg leaves the bumped
    pkgrel untouched.
(2) If the pkgver does change then makepkg will reset the bumped pkgrel and
    it is as if we haven't changed anything.
2023-09-03 14:29:04 +02:00
Martchus cda3c34806 Avoid CMake deprecation warning by bumping version 2023-07-23 21:17:53 +02:00
Martchus e25866c904 Apply clang-format 2023-06-12 22:18:47 +02:00
Martchus 524b16815a Do basic sanity check of a package's most important fields when checking for problems 2023-06-03 18:49:02 +02:00
Martchus ce6da89a40 Use exit macros from standard library 2023-06-03 17:25:02 +02:00
Martchus b3dd694a1c Move all code in `run()` function into try-blocks for consistent error handling 2023-06-03 17:10:15 +02:00
Martchus 1376a01570 Allow fetching official PKGBUILDs from GitLab
The old approach of using a local checkout does not work anymore
after the Git migration. One could use
`pkgctl repo clone --universe` to get a similar checkout but this
takes ages on my server. So let's better just download the
individual sources as needed, similar to how it is done for AUR
packages.
2023-05-28 23:43:13 +02:00
Martchus feadac7a66 Adapt tests to changed note 2023-05-28 22:37:19 +02:00
Martchus 30a80e7aca Add pkgctl tool 2023-05-28 22:05:02 +02:00
Martchus cf6b90407e Workaround compilation error happening in reflection generation
The latest version of libstdc++ in Arch Linux at this point (13.1.1)
pulls in the following code via `#iterator <iterator>` when
`-std=gnu++2b` is used:

```
    template<forward_iterator _It>
      struct __basic_const_iterator_iter_cat<_It>
{ using iterator_category =
iterator_traits<_It>::iterator_category; };
```

The latest version of Clang in Arch Linux at this point (15.0.7)
complains about a missing `typename` here. To avoid this error
from preventing the build, this changes enables error resilience
for the reflection generation to turn this error into a warning.
2023-05-28 21:05:29 +02:00
Martchus 72d449977f Fix note about deleted build actions in cleanup action 2023-05-28 20:37:45 +02:00
Martchus 55e19d9041 Relax condition for adding `--skippgpcheck`
The `signed` parameter might be used like this:
```
"$pkgname::git+https://github.com/ankitects/anki#tag=${_tag}?signed"
```
So we can't rely on `.git` preceding it.
2023-04-08 19:26:46 +02:00
Martchus cce83f1f9e Allow considering pulling-in further dependencies unexpected
This allows one to review further dependencies if pulled-in automatically
during the build preparation first before conducting the build.
2023-04-08 19:10:59 +02:00
Martchus 86581ec002 Add note in cleanup action stating how many build actions have been deleted 2023-04-08 18:50:46 +02:00
Martchus 5af8de2468 Fix catching exception from `boost::filesystem` in `BuildServiceCleanup` and adapt tests 2023-04-08 18:43:58 +02:00
Martchus 87fd9bb4b1 Fix unqualified calls in `preparebuild.cpp` 2023-04-07 19:30:08 +02:00