Commit Graph

562 Commits

Author SHA1 Message Date
9e30e98e90 fix: allow colon in options interpolation 2024-09-23 13:52:49 +03:00
df2e98a1d3 Release 2.15.0 2024-09-23 03:32:01 +03:00
62320e8ec6 feat: drop explicit makepkg usage (#134)
* generate filenames without using makepkg

* pkgbuild parser impl

* completely remove makepkg calls

* simplify typed get

* try to improve parser

* docs and recipes updatte

* never raise keyerror instead return empty string

* udpate tests

* add support of array expansion

* docs update

* tests update

* handle quoted control sequences correctly

* expand bash

* allow packages without package function

* docs update

* add moroe tests

* small improovements

* support escaped arrays and functions
2024-09-21 03:57:22 +03:00
fbbb80d091 Revert "fix: update Repo.init to the latest pacman release"
This reverts commit 99ca0cb2fd.
2024-09-20 01:48:09 +03:00
5316427371 fix: limit amount of fetches used for changes
The issue appears in case if - somehow - unknown commit sha has been
stored. In this scenario it would try to fetch infinitely
2024-09-20 01:48:03 +03:00
0fa748f302 feat: calculate changes on package addition as well 2024-09-20 01:48:03 +03:00
7a3d32dcfa fix: do not treat cached vcs packages as local 2024-09-20 01:47:58 +03:00
a396126a79 feat: calculate and store changes for each update 2024-09-17 15:01:45 +03:00
9785835c0e docs: improve class init docs 2024-09-15 15:13:54 +03:00
f43ee2fd1d build: make cerberus dependency optional 2024-09-04 22:28:25 +03:00
f7a50e5294 feat: implement stats subcommand (#132) 2024-09-04 22:28:25 +03:00
ddd3c3f06f feat: allow filter events by timestamp 2024-09-04 22:28:25 +03:00
aaf7adbac1 refactor: simplify Validator class 2024-09-04 22:28:25 +03:00
9e011990ee feat: allow cross reference in the configuration (#131) 2024-09-04 22:28:25 +03:00
529d4caa0e feat: implement rss generation (#130) 2024-09-04 22:28:25 +03:00
d7c4fccf98 feat: add ability to log sql statements 2024-09-04 22:28:25 +03:00
1e30838be4 feat: serve logs and events from the newest to oldest, but keep the
ordering

So basically initial implementation, with limit=1, would emit the oldest
record in series. New implementation will return the most recent one
instead

The response is still sorted by ascension
2024-09-04 22:28:25 +03:00
d57276f214 feat: log package update events 2024-09-04 22:28:25 +03:00
31e59df2c8 refactor: allow event to receive keyword arguments
This change also replaces the dataclass implementation of the class to
custom one
2024-09-04 22:28:25 +03:00
23cd843e44 feat: add timer for metrics purposes 2024-09-04 22:28:25 +03:00
c08a292070 docs: update booleans in docs 2024-09-04 22:28:25 +03:00
5163aa4dca feat: implement audit log tables and methods (#129) 2024-09-04 22:28:25 +03:00
69f0966ff1 feat: replace scan paths options to single one
It has been found that previous system didn't allow to configure
specific cases (e.g. a whitelisted directory inside /usr/lib/cmake). The
current solution replaces two options to single one, which also allows a
regular expressions

Also PackageArchive class has been moved to core package, because it is
more about service rather than model
2024-09-04 22:25:54 +03:00
16308dc3ae Release 2.14.1 2024-09-04 22:01:04 +03:00
962599e937 bug: fix removal of the packages
It has been broken since reporter improvements, because it effectivelly
1) didn't call remove functions in database
2) used empty repository identifier for web service

With those changes it also raises exception when you try to call id on
empty identifier
2024-09-04 21:50:33 +03:00
84942e3c98 refactor: fix some IDE warnings 2024-09-04 21:49:31 +03:00
b4372ff583 Release 2.14.0 2024-08-23 14:37:05 +03:00
41fc7bffbb docs: improve waiter classes docs 2024-08-23 14:33:07 +03:00
300f5026c4 feat: add ability to suppress git hints
It can be done by setting options in command. The commit author/email is
also now using this logic
2024-08-23 14:33:07 +03:00
10aa91a033 feat: add blacklisted paths to implicit dependencies processing
It has been found that in some cases additional packages have been added
as dependencies, like usr/share/applications, usr/lib/cmake, etc

This commit adds an ability to blacklist specific paths from processing
2024-08-23 14:33:07 +03:00
4d9e06156d feat: add support of pam authentication
Add naive implementation of user password check by calling su command.
Also change some authentication method to require username to be string
instead of optional string
2024-08-20 16:44:40 +03:00
af2269c64a fix: print current and updated version correctly
The issue appears in case if versions ar the same (e.g. rebuild); in
this case printer doesn't increment version as builder does.

Also util has been renamed to utils, keeping backward compatibiltiy
2024-08-16 16:24:11 +03:00
f44fa19c42 feat: optimize archive reading
Instead of trying to load every database and look for files, this commit
introduces the optimization in which, the service loads packages first,
groups them by database and load files later.

In some cases it significantly descreases times for loading files
2024-08-14 17:07:10 +03:00
fd3c6343f1 fix: explicitly process list of packages
Small workaround to remove debug packages from being processed
2024-08-14 17:07:10 +03:00
9edff2826f fix: remove trailit slash when loading packages files from a database 2024-08-14 17:07:10 +03:00
b38ecfb35c fix: skip debug packages as well 2024-08-14 17:07:10 +03:00
434057ec49 feat: remove excess dependencies leaves (#128)
This mr improves implicit dependencies processing by reducing tree leaves by using the following algorithm:

* remove paths which belong to any base package
* remove packages which are (opt)dependencies of one of the package which provides same path. It also tries to handle circular dependencies by excluding them from being "satisfied"
* remove packages which are already satisfied by any children path
2024-08-14 17:07:10 +03:00
a01b090c2b feat: improve lock mechanisms
* improve lock mechanisms

* use /run/ahriman for sockett

* better water
2024-08-14 17:07:10 +03:00
8ffc1299f0 feat: implement local reporter mode (#126)
* implement local reporter mode

* simplify watcher class

* review changes

* do not update unknown status

* allow empty key patches via api

* fix some pylint warnings in tests
2024-08-14 17:07:10 +03:00
02b13de7f4 feat: allow to use simplified keys for context
Initial implementation requires explicit context key name to be set.
Though it is still useful sometimes (e.g. if there should be two
variables with the same type), in the most used scenarios internally
only type is required. This commit extends set and get methods to allow
to construct ContextKey from type directly

Also it breaks old keys, since - in order to reduce amount of possible
mistakes - internal classes uses this generation method
2024-08-14 17:07:10 +03:00
50a045434d feat: add abillity to check broken dependencies (#122)
* implement elf dynamic linking check

* load local database too in pacman wrapper
2024-08-14 17:07:10 +03:00
7bbe3242d4 type: drop MiddlewareType in favour of Middleware builtin 2024-08-14 17:07:10 +03:00
a9cb357182 type: fix mypy warn for fresh unixsocket release 2024-08-14 17:07:10 +03:00
feec9141b2 type: remove another unused mypy directive 2024-08-14 17:07:10 +03:00
5ff635db70 Release 2.13.8 2024-05-12 11:53:19 +03:00
b7d3493ae3 Release 2.13.7 2024-05-09 13:26:40 +03:00
f8b725d175 fix: parse array variable from command 2024-05-09 13:21:42 +03:00
46b3c82aca Release 2.13.6 2024-05-05 21:59:30 +03:00
3cd9cff4ee refactor: update code to the latest python (3.12+) 2024-05-05 21:17:30 +03:00
9e02d7a38f fix: remove debug packages together with normal ones (#124) 2024-05-05 21:17:30 +03:00