Commit Graph

823 Commits

Author SHA1 Message Date
arcanis 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
arcanis 4169851eaa docs: split faq into multiple files 2024-08-20 16:44:40 +03:00
arcanis 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
arcanis 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
arcanis 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
arcanis fd3c6343f1 fix: explicitly process list of packages
Small workaround to remove debug packages from being processed
2024-08-14 17:07:10 +03:00
arcanis 9edff2826f fix: remove trailit slash when loading packages files from a database 2024-08-14 17:07:10 +03:00
arcanis b38ecfb35c fix: skip debug packages as well 2024-08-14 17:07:10 +03:00
arcanis 3c7c748b4a docs: update documentation for implicit dependencies resolution 2024-08-14 17:07:10 +03:00
arcanis 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
arcanis a01b090c2b feat: improve lock mechanisms
* improve lock mechanisms

* use /run/ahriman for sockett

* better water
2024-08-14 17:07:10 +03:00
arcanis 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
arcanis 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
arcanis 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
arcanis 7bbe3242d4 type: drop MiddlewareType in favour of Middleware builtin 2024-08-14 17:07:10 +03:00
arcanis a9cb357182 type: fix mypy warn for fresh unixsocket release 2024-08-14 17:07:10 +03:00
arcanis feec9141b2 type: remove another unused mypy directive 2024-08-14 17:07:10 +03:00
arcanis 148ef09e70 build: use requests-unixsocket2 fork
Since requests-2.32.0, the http+unix url scheme is brokek, check
https://github.com/msabramo/requests-unixsocket/issues/73 for more
details
2024-08-14 17:07:10 +03:00
arcanis 5ff635db70 Release 2.13.8 2024-05-12 11:53:19 +03:00
arcanis 9df5820bce fix: drop integrity check for javascript
It has been added to improve security, however, it changes over time for
no reason ¯\_(ツ)_/¯ I guess either cdn was hacked or fuck js
2024-05-12 11:49:12 +03:00
arcanis b7d3493ae3 Release 2.13.7 2024-05-09 13:26:40 +03:00
arcanis f8b725d175 fix: parse array variable from command 2024-05-09 13:21:42 +03:00
arcanis 46b3c82aca Release 2.13.6 2024-05-05 21:59:30 +03:00
arcanis 0d34432c9a fix: update integrity checksums for momentjs and daterangepicker 2024-05-05 21:17:30 +03:00
arcanis 3cd9cff4ee refactor: update code to the latest python (3.12+) 2024-05-05 21:17:30 +03:00
arcanis 9e02d7a38f fix: remove debug packages together with normal ones (#124) 2024-05-05 21:17:30 +03:00
arcanis 9819ed761e Release 2.13.5 2024-04-04 13:33:03 +03:00
arcanis 99ca0cb2fd fix: update Repo.init to the latest pacman release 2024-04-04 13:16:05 +03:00
arcanis ea3cb6e766 build: install base-devel package 2024-04-04 13:16:03 +03:00
arcanis 0ae4941321 fix: lazy web component initialization
In some cases (probably slow internet) in place initialization can cause
exception, because elements are not available yet. This commit moves
events initialization to $()
2024-04-04 13:14:17 +03:00
arcanis 855b55237b feat: add ability to disable debug packages distribution
The feature is implemented as supplying !debug option to makepkg when
generating package list. In this case debug packages still will be
built, however, they will not be added to the repository
2024-04-04 13:14:17 +03:00
arcanis 59d14665a5 docs: update docs 2024-02-10 03:12:09 +02:00
arcanis 414eb93b1e Release 2.13.4 2024-02-09 17:47:01 +02:00
arcanis 14721913a4 fix: return only built packages from task
Since the last updates makepkg --packagelist also adds debug packages
which causes errors
2024-02-09 17:37:50 +02:00
arcanis f68e48fb47 refactor: rename packages http methods to own package
docs: update docs import
2024-01-22 02:20:11 +02:00
arcanis 77cceb4c10 Release 2.13.3 2024-01-13 01:24:30 +02:00
arcanis eca22fdaed fix: replace logo and name in title to just icon 2024-01-12 01:25:46 +02:00
arcanis 719af3676e Release 2.13.2 2024-01-08 22:48:55 +02:00
arcanis 6c63ad6df5 fix: report only unique result entries
since builder intro the triggers are called with merged result, thus it
would lead to duplicated callouts
2024-01-08 22:46:42 +02:00
arcanis 497a115535 Release 2.13.1 2024-01-08 21:17:35 +02:00
arcanis 91598951c5 fix: do not raise 404 in case of unknown package on patches endpoints
Previous improvements raise 404 error in case if no packages were found
for patches endpoints. However, in case of multirepo setup this feature
doesn't work properly because package can be located in any other
repository different from default
2024-01-08 14:32:40 +02:00
arcanis f364e00bea build: pass ssh agent to tox release env 2024-01-08 14:22:53 +02:00
arcanis 87c87d6455 Release 2.13.0 2024-01-05 22:48:03 +02:00
arcanis 265de3dc72 ci: explicit isolated build for old ubuntu tox 2024-01-05 22:47:28 +02:00
arcanis d06c02a1c7 docs: add comments to configuration 2024-01-05 22:24:37 +02:00
arcanis 29bb6284b0 test: add pytlint imports plugin and fix errors 2024-01-05 19:52:51 +02:00
arcanis 70b7fcf47a refactor: fix pylint warnings in tests 2024-01-05 16:40:38 +02:00
arcanis 706808fc97 refactor: simplify lock processing in worker trigger 2024-01-05 16:11:32 +02:00
arcanis 7e5f21c26d refactor: split Path elements to / and first directory 2024-01-05 15:22:46 +02:00
arcanis 9a7f55605a docs: url spelling 2024-01-05 12:37:23 +02:00