arcanis
43c553a3db
improve repo-setup command
...
* Move devtools executable to ahriman home, because we don't really
need to use executable inside root
* Use named sudoers file instead of single file. It will allow easily to
remove file as well as use setup command for several
repositories/architectures
2022-11-06 14:25:44 +02:00
arcanis
0d1a890bd0
fix case in which if no source PKGBUILDs were updated, an exception will occur
2022-11-03 03:39:54 +02:00
arcanis
3aeaa8ce2c
faq update
2022-11-02 17:15:17 +02:00
arcanis
7cee859f19
docs update
2022-11-02 04:17:26 +02:00
arcanis
fb6b22cdd7
change gitremote api to be same as report and upload
...
These changes are keeping fallback to old settings, but will allow to
run multiple git targets with different settings
2022-11-02 04:09:42 +02:00
arcanis
4f35ec6542
fix update handler tests
...
If daemon tests are run before the update handler it causes test
failure, because there are other calls
2022-10-31 11:51:12 +02:00
arcanis
d98211e5e5
add possibility to run full update
...
In case if packages are not set from web, the spawner will run full
repository update
2022-10-31 02:41:24 +02:00
arcanis
b97c8928e1
add daemon subcommand
...
This command emulates default systemd timer and can be useful in docker
container in order to run 24/7
2022-10-31 01:38:01 +02:00
arcanis and GitHub
649df81aa5
implement single-function patches ( #69 )
2022-10-30 03:11:03 +03:00
arcanis
ad7cdb7d95
drop ahriman.core.triggers.Trigger.run method
...
In order to force new triggers to use on_result method, the old method
has been removed. However, default on_result method still checks if the
old method exists and tries to run it
2022-10-19 20:07:31 +03:00
arcanis
4bb598d2eb
fix rtd docs building
...
Commit 6633766cc3 introduced kw_only
dataclasess which require python 3.10+
2022-10-18 02:24:18 +03:00
arcanis
f47be6cab0
disallow no values in configuration
...
This option could lead to missing warnings about missing or invalid
configuration values because code usually expects that values are exists
and not empty unless it is explicitly specified.
However, pacman configuration still requires this option in order to be
able to deal with boolean values
2022-10-18 02:13:01 +03:00
arcanis and GitHub
342b3cb652
Add gitremote triggers ( #68 )
...
* add gitremote pull trigger
* add push gitremote trigger
* docs update
2022-10-18 01:46:27 +03:00
arcanis
fc0d8387df
extend triggers to on_start and on_stop methods
...
This commit also replaces old run method to new on_result
2022-09-26 01:22:54 +03:00
arcanis
e0b0c3caeb
add minimal install step to workflow
2022-09-17 14:52:08 +03:00
arcanis
61969dd682
make sqlite import consistent
2022-09-17 14:32:21 +03:00
arcanis
e441d93a56
Release 2.2.2
2022-09-17 04:05:06 +03:00
arcanis
664b6369bb
skip architecture list patching in case if any architecture is set
2022-09-17 04:04:28 +03:00
arcanis
4f6bd29ff4
Release 2.2.1
2022-09-14 04:49:08 +03:00
arcanis
f6d9ea480a
docs update
2022-09-14 04:48:11 +03:00
arcanis
08f62842ba
Release 2.2.0
2022-09-14 03:28:28 +03:00
arcanis
1912790ccc
Make optional dependencies trully optional ( #67 )
...
The issue appears when there is no boto, jinja and some other libraries
are not installed because the classes which use these libraries are
still being imported inside the package file. The fix removes those
imports from package root, because they should not be here, in fact,
content of report and upload packages must be imported only inside the
trigger class and only if they are actually required
This commit also adds setuptools as required dependency since it is used
for some parsers (previously it was provided dependency)
2022-09-11 01:44:06 +03:00
arcanis and GitHub
cf3c48ffeb
patch architecture list in runtime ( #66 )
2022-08-09 15:18:20 +03:00
arcanis
6633766cc3
frozen dataclasses
2022-07-26 14:40:28 +03:00
arcanis
f73d1eb424
reduce docker image size a bit
2022-07-18 11:42:26 +03:00
arcanis
87ab3683ad
Release 2.1.0
2022-07-02 15:42:39 +03:00
arcanis
9c2f73af8c
simplify tmpdir method
2022-06-28 19:11:38 +03:00
arcanis
31f551bdf2
review loggers once more
...
This commit makes loggers like java.util.logging with fully qualified
logger name which is created by LazyLogging trait
2022-06-28 11:00:45 +03:00
arcanis
cbbe2b01e4
fix case with package name which cannot be downloaded
...
(without special settings)
The issue appears if file or its version contains one of special URI
characters, e.g. +. Theu will be interpreted as query parameters by
(some) servers (e.g. S3 works in this way). In this commit we rename
archive to the one with safe name.
2022-06-27 18:53:48 +03:00
arcanis
cd361a483d
review loggers once more
...
This commit makes loggers like java.util.logging with fully qualified
logger name which is created by LazyLogging trait
2022-06-27 01:41:49 +03:00
arcanis
cee4fd4cce
bump web libraries
...
also encode strings for the views
2022-06-24 12:03:38 +03:00
arcanis
18daecaac7
review loggers
2022-06-21 11:48:42 +03:00
arcanis
03c298c762
replace if with while for telelgram reporting
2022-06-10 12:02:00 +03:00
arcanis
79d4a488a0
Release 2.0.0
2022-06-05 20:46:32 +03:00
arcanis
22847aac68
small docs update
2022-06-04 15:24:14 +03:00
arcanis
75b9a96798
do not pass timestamp to pretty_datetime functioon
2022-05-31 21:26:39 +03:00
arcanis
a0cfb7561d
rewrite api under single /api endpoint
2022-05-29 17:15:49 +03:00
arcanis
f4131b8cd7
add shell and version parser
2022-05-27 18:34:07 +03:00
arcanis
9f134e37b6
update readme
2022-05-22 16:00:24 +03:00
arcanis
07b7689701
do not bump timestamp on empty updates
2022-05-21 04:19:04 +03:00
arcanis and GitHub
47de715d7d
dynamic html load ( #63 )
...
* dynamic html load
* split by classes
2022-05-20 22:29:36 +03:00
arcanis
5674b7b388
add ability to run only speicifed triggers from command line
...
This commit also restores repo-report and repo-sync subcommands
2022-05-12 18:43:36 +03:00
arcanis
f6e57a411c
fix case when provided trigger path is directory
...
If trigger is directory and we have permissions to read it, the loaded
will try to load this from it and will fail with IsADirectoryError
2022-05-12 07:22:50 +03:00
arcanis
38e48b1571
add not about pacman database update
2022-05-11 04:30:24 +03:00
arcanis
d492c968ea
add contribution guide
2022-05-11 03:17:37 +03:00
arcanis
a11fd188a2
Release 2.0.0rc11
2022-05-10 06:03:33 +03:00
arcanis
2431d5de0e
fix bug with checking file
...
The bug appear when the file exists or doesn't, but we don't have
permissions to read it. This one must be treated as missed permission
2022-05-10 06:01:41 +03:00
arcanis
88f71b240d
Release 2.0.0rc10
2022-05-09 21:51:35 +03:00
arcanis
99874845b5
triggers implementation ( #62 )
2022-05-09 20:00:20 +03:00
arcanis
d98cfa3732
Release 2.0.0rc9
2022-05-08 03:58:53 +03:00
arcanis
b6db2a8035
fix error with missing sources
...
In case if package has local cache it will fail to load because no
remote source set. Particially this case can be observed during tree
load
2022-05-08 03:56:54 +03:00
arcanis
47c578ea08
Release 2.0.0rc8
2022-05-06 20:55:54 +03:00
arcanis
98910240dd
shorten public imports
2022-05-06 04:08:05 +03:00
arcanis
33e9fea47c
Docs update ( #61 )
...
* Improve sphinx documentation
* update faq formatting
* fix setup doc
* fix docs according to the generated htmls
2022-05-06 02:54:37 +03:00
arcanis
304690e0d0
correct archllinux wording in readme
2022-05-06 02:54:37 +03:00
arcanis
3d9fae5415
add __all__ attribute
2022-05-06 02:54:37 +03:00
arcanis
b7dca2d797
add note about ahriman to index page
2022-05-06 02:54:37 +03:00
arcanis and GitHub
b7debddaea
Complete official repository support ( #59 )
2022-05-03 00:49:32 +03:00
arcanis
1cfc751d21
rename classes in order to make documentation reference work
2022-04-18 05:30:02 +03:00
arcanis
6ebbb04504
readthedoc integration
2022-04-18 04:39:40 +03:00
arcanis
c9ee470ee2
move documentation to tox
2022-04-18 01:48:36 +03:00
arcanis
a2610504e5
apply data migration in the same transaction block with schema migration
2022-04-18 01:19:38 +03:00
arcanis
36b8b0f46a
fix target naming
2022-04-18 01:19:20 +03:00
arcanis and GitHub
d90f417cae
Docstring update ( #58 )
...
* migrate docstrings from reST to google format
* add raises note
Also change behaviour of the `from_option` method to fallback to
disabled instead of raising exception on unknown option
* fix part of warnings for sphinx
* make identation a bit more readable
* review fixes
* add verbose description for properties to make them parsed by sphinx extenstion
* add demo sphinx generator
2022-04-17 20:25:28 +03:00
arcanis
0db619136d
Release 2.0.0rc7
2022-04-11 00:48:08 +03:00
arcanis
208a9b920d
docs update
2022-04-11 00:46:46 +03:00
arcanis
cb63bc08ff
add backup and restore subcommands
2022-04-10 21:34:34 +03:00
arcanis
6551c8d983
merge restore to rebuild commannd
2022-04-10 01:51:12 +03:00
arcanis
a6c8d64053
Release 2.0.0rc6
2022-04-09 17:34:23 +03:00
arcanis
fd78f2b5e2
do not render failed packages in jinja ( #57 )
...
basic templates require package info which is unavailable if package
wasn't built
2022-04-09 17:31:13 +03:00
arcanis
900907cdaa
Release 2.0.0rc5
2022-04-08 04:42:05 +03:00
arcanis
5ff2f43506
change telegram default index to telegram-index
2022-04-08 04:32:34 +03:00
arcanis
dd521b49b5
force git run from the same dir to clone
2022-04-08 04:04:06 +03:00
arcanis
5b1f5a8473
fix users migration
2022-04-08 03:45:17 +03:00
arcanis
86af13f09e
add telegram integraion
2022-04-08 03:41:07 +03:00
arcanis
733c014229
Release 2.0.0rc4
2022-04-08 01:14:35 +03:00
arcanis
783c16b2ed
trim versions before dependency list calculation
...
When dependencies list contains same package with version it tries to
find packages which don't exists
2022-04-07 20:32:55 +03:00
arcanis
2536b8dc1f
add support of repository restoration
2022-04-07 04:49:07 +03:00
arcanis
e200ac9776
add support of officiall repositories api
2022-04-07 04:19:37 +03:00
arcanis
6946745153
fix descriptions
2022-04-06 01:48:03 +03:00
arcanis
6de75377c3
Release 2.0.0rc3
2022-04-04 02:40:17 +03:00
arcanis
a734b86e66
allow any tag for push
2022-04-04 02:39:56 +03:00
arcanis
74906d084a
Release 2.0.0rc2
2022-04-04 02:27:19 +03:00
arcanis
22d1d835af
change regex for sed
2022-04-04 02:26:42 +03:00
arcanis
b7cd83502a
Release 2.0.0-rc1
2022-04-04 02:18:31 +03:00
arcanis
2d2cd73010
better processing for subcommands
...
Old versions cached full output to memory and only after that printed it
into log. This behaviour causes issues in case if operation stucks and
you would need to find the step at which it does. New check_output
method uses Popen directly and iterates over stdout lines
Also changed behaviour from merging stderr into stdout to separate
stderr logging.
Any other behaviour of the function must be the same.
Also changed GPG.key_import method to disable local signing since it
seems it is useless (and may break process in case if there is no
private key)
2022-04-04 00:03:22 +03:00
arcanis
40b84b810d
docs update
2022-04-03 01:44:11 +03:00
arcanis
7188cfaf78
remove implicit user from docker
2022-04-01 18:39:24 +03:00
arcanis and GitHub
e909e4f570
add configurable exit codes to some commands ( #55 )
2022-04-01 18:30:11 +03:00
arcanis
06ec16ac77
create user in docker container
...
also fix user reading and add nocolor flag by default
2022-03-31 03:25:53 +03:00
arcanis
fed2f3aab8
configure docker to work with tags
2022-03-31 02:19:48 +03:00
arcanis
2bc2b63a8a
add help command
2022-03-31 02:18:39 +03:00
arcanis
0c5a90cd66
update license years
2022-03-31 01:49:31 +03:00
arcanis and GitHub
28cc38aaa5
port part of settings to database ( #54 )
2022-03-31 01:48:06 +03:00
arcanis
fb02e676af
migrate to tox
...
this also requires to move default configuration files to share/ahriman.
Thus the following features have been added
* default configuration is not stored in /usr/share/ahriman/settings
* package installed via PKGBUILD now copies files from /usr
* configuration class now fallbacks to default in /usr
2022-03-21 04:38:42 +03:00
arcanis
13121298f5
deprecate init/repo-init command
...
In current workflow you need to run setup to run init (because of
repository name), but you need to run init before setup (because of
repository tree rights).
New solution just add `Repo.init()` method call to setup subcommand
after config reload to make sure that repository name has been applied.
In addition chown method as well as setuid method for check_output have
been added.
2022-03-21 01:32:11 +03:00
arcanis
63e79ec57a
enable privileged mode for the docker
2022-03-20 04:05:43 +03:00
arcanis
b83bc5a732
fallback to AUR source in case of PermissionError exception
2022-03-20 03:46:56 +03:00
arcanis
8374590b62
add fallback for utf option
2022-03-20 03:16:33 +03:00
arcanis
4cc665f6ee
replace pspec with spec
2022-03-20 03:08:51 +03:00