arcanis
257829d15c
remove side effect from getter
2026-02-13 21:28:48 +02:00
arcanis
bb31919858
clean empty directories
2026-02-13 17:01:18 +02:00
arcanis
d0ebd6559c
monor fixes and typos
2026-02-13 15:45:40 +02:00
arcanis
f92105a132
few review fixes
2026-02-11 22:35:33 +02:00
arcanis
49d433ab37
remove duplicate code
2026-02-11 14:26:48 +02:00
arcanis
8c01c1c6bc
smol refactoring of archive_tree class
2026-02-11 14:16:19 +02:00
arcanis
35019741ac
fix rebase
2026-02-11 14:16:19 +02:00
arcanis
61c6dc03d6
add separate function for symlinks creation
2026-02-11 14:16:19 +02:00
arcanis
9eaed20b8a
fix sttyle
2026-02-11 14:16:19 +02:00
arcanis
94a164d32d
simplify symlionk creation
2026-02-11 14:16:19 +02:00
arcanis
bb77a9413f
drop excess REQUIRES_REPOSITORY
2026-02-11 14:16:19 +02:00
arcanis
d1fb969ca7
support requires repostory flag
2026-02-11 14:16:19 +02:00
arcanis
144fcbcef2
gpg loader fix
2026-02-11 14:16:19 +02:00
arcanis
449c508fdf
add archive trigger
2026-02-11 14:16:19 +02:00
arcanis
5d5e0064c3
lookup through archive packages before build
2026-02-11 14:16:19 +02:00
arcanis
cea706c4b6
use generic packages tree for all repos
2026-02-11 14:16:19 +02:00
arcanis
81494059dd
implement atomic_move method, move files only with lock
2026-02-11 14:16:19 +02:00
arcanis
c3982859e3
write tests to support new changes
2026-02-11 14:16:19 +02:00
arcanis
a5c4f735db
store built packages in archive tree instead of repository
2026-02-11 14:16:19 +02:00
arcanis
6a2454548d
refactor: drop some methods from package class into separated wrappers
2026-02-11 03:05:49 +02:00
arcanis
389bad6725
fix: use effective uid instead of uid
2026-02-03 16:38:13 +02:00
arcanis
5738b8b911
fix: rewrite preserver_owner method complitely
...
Previous implementation was somewhat working in the most) scenarios, but
was super slow to handle permissions. However, it is actually very
limited operations in which the application can do anything, so it is
much easier to just drop privileged user to normal one
2026-02-03 15:27:19 +02:00
arcanis
5ac2e3de19
fix: handle permissionerror during walking over tree
...
Previously it tried to look into 700 directories (e.g. .gnupg) which
breaks running as non-ahriman user
2026-02-02 22:16:15 +02:00
arcanis
799dc73d8a
feat: update package status to success in case if package is up-to-date
2026-01-26 01:56:30 +02:00
arcanis
4e79cbf71a
fix: fallback to package name for missing bases in archive
...
package zoom is being generated without base, leading to None there
Closes #155
2026-01-22 16:34:19 +02:00
arcanis
00c4f32294
fix: correct exception type on repository id comparison
2026-01-14 13:59:07 +02:00
arcanis
999ad39d6f
feat: add trigger loader guard
2025-09-17 14:45:09 +03:00
arcanis
dfab5f56b2
feat: use atexit instead of del for triggers
2025-08-11 14:53:10 +03:00
arcanis
10798b9ba3
fix: correctly process trigger repo specific settings in validator (see #154 )
2025-08-01 16:53:15 +03:00
arcanis
358e3dc4d2
feat: expose repository name and architecure in configuration if available
...
In some cases there are reference to current repository settings. In
order to handle it correctly two ro options have been added
Related to #154
2025-07-31 14:14:22 +03:00
arcanis
c13cd029bc
feat: fully readable configuration from environment
2025-07-23 14:49:38 +03:00
arcanis
dff5b775a9
refactor: move logs rotation to separated trigger which is enabled by default
...
Previous solution, well, worked kinda fine-ish, though we have much
better mechanisms to do so
2025-07-15 11:26:00 +03:00
arcanis
228c2cce51
style: use parebtgeses-less exceptions in side effects (tests only)
2025-07-14 20:33:54 +03:00
arcanis
9217c8c759
feat: add reload command and api endpoints
2025-07-13 15:35:49 +03:00
arcanis
c6306631e6
fix: careful handling of file permissions during initialization
...
It has been found that during cold start (e.g. in docker container),
some permissions are invalid. In order to handle that, some operations
are not guarded with RepositoryPaths.preserve_root guard
In addition, it has been also found that in some cases (e.g. web server
start) migrations are performed on empty repository identifier which may
lead to wrong data (see also 435375721d ),
as well as some unexpected results during database operations. In order
to handle that, now all watcher instances have their own databases (and
configurations)
2025-07-11 17:13:37 +03:00
arcanis
435375721d
fix: fix migrations on empty repositories
2025-07-08 16:46:34 +03:00
arcanis
4c5caba6b7
fix: trim provides/depends versions and lookup provides through pkgname
...
(#150 )
Current implementation did it in wrong way. First of all, there was a
lookup through pkgbase instead of pkgname, which lead to errors, because
aur api doesn't allow to search by pkgbase (as well as provides is
basically pkgname instead)
It also was found that dependencies resolution lookup has been performed
by using raw packages array, which can include versions, descriptions
etc
2025-07-08 16:22:41 +03:00
arcanis
f2ea76aab9
feat: add silent logs reload
2025-07-07 17:02:08 +03:00
arcanis
fdc27a9ebf
feat: filter out obvious duplicates from multisearch
2025-07-01 09:59:29 +03:00
arcanis
256376df85
feat: add autorefresh button to the main page ( #149 )
...
* also add configuration options and change behaviour accordingly
2025-07-01 03:22:01 +03:00
arcanis
939a94d889
feat: add autoupdate button to package info ( #148 )
2025-06-29 22:22:54 +03:00
arcanis
f41e44895d
fix: support provides in aur ( #146 )
...
* support provides in aur
* process provides during tree resolution
* stylish
2025-06-28 22:39:54 +03:00
arcanis
765bbf486f
feat: port to new AUR API
2025-06-28 22:07:59 +03:00
arcanis
a3c54afb82
fix: process unicode errors in command execution
2025-06-28 20:26:47 +03:00
arcanis
066d1b1dde
refactor: rework few tests and build system
...
This commit includes the following changes
* Bump github actions
* Update tests github action to check documentation and streamline
process
* Update test cases to use temporary directories as roots
* Simplify tox.ini
2025-06-20 17:04:57 +03:00
arcanis
75682bc7be
feat: add support of openmetrics ( #144 )
...
* feat: add openmetrics support & endpoint
* add support of named resources
* update docstrings
* generate docs
* add another test for http api
2025-06-18 14:42:09 +03:00
arcanis
995b396360
bug: fix invalid logs rotation
2025-06-16 16:36:34 +03:00
arcanis
d4eb55ef95
bug: correctly close sqlite3 connection
...
After the last updates, tests produce warnings that the connection to
database is leaked, which appears to be correct. This commit changes
behaviour to closing connection explicitly via contextlib
2025-06-16 15:24:57 +03:00
arcanis
09350e88ab
style: fix few typos
2025-06-14 23:34:53 +03:00
arcanis
bcd46c66e8
test: use new-style fixtures instead of event_loop for asyncio
2025-05-12 15:57:05 +03:00