Commit Graph
100 Commits
Author SHA1 Message Date
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
arcanisandGitHub 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
arcanisandGitHub 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
arcanisandGitHub 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
arcanisandGitHub 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
arcanis 57f25c309a add console printer
also add python-requests as explicit dependency and escape symbols in
repository name for badges in default tempate
2022-03-20 02:31:50 +03:00
arcanis d33844e7b2 ALLOW_AUTO_ARCHITECTURE_RUN flag for unsafe commands 2022-03-19 03:08:45 +03:00
arcanis e9886efaa2 docker hub integration 2022-03-14 00:08:21 +03:00
arcanisandGitHub 61efbb71a2 add docker support (#52)
* add docker support

* make shellcheck happy
2022-03-13 23:43:25 +03:00
arcanis 9f4acacada strict test checks 2022-03-04 02:04:52 +03:00
arcanis 026f74121a set success status on up to date packages 2022-02-06 06:22:58 +03:00
arcanis e414616bbd Release 1.8.0 2022-02-06 05:45:50 +03:00
arcanis 60a2e25b9a update for new aiohttp api 2022-02-06 04:05:33 +03:00
arcanisandGitHub 683abca9e5 use own aur wrapper (#49) 2022-02-06 03:44:57 +03:00
arcanis 5a3770b739 Release 1.7.0 2021-12-26 02:01:09 +03:00
arcanis 52cd9a0ea9 make mypy happy 2021-12-26 01:58:55 +03:00
arcanis bfca7e41ab handle dependencies recursively 2021-12-22 19:35:09 +03:00
arcanisandGitHub 603c5449a8 initial implementation of the local git clones (#48) 2021-12-22 15:56:24 +03:00
arcanis 5aac3db2d5 do not read aur_url from settings, use repository property instead 2021-11-15 11:27:41 +03:00
arcanis 3c5bcbd172 Release 1.6.4 2021-11-10 21:29:45 +03:00
arcanisandGitHub 042638d40e handle packages which have been removed from the repository (#45)
* handle packages which have been removed from the repository

* manually remove packages which have been removed from the base
2021-11-10 01:37:25 +03:00
arcanis e6adb333b2 Release 1.6.3 2021-11-04 21:32:27 +03:00
arcanis fa4244d21e take python laziness into account 2021-11-04 21:30:34 +03:00
arcanis 91de1c2b8a Release 1.6.2 2021-10-28 03:20:52 +03:00
arcanis 32a4a82603 improve configuration extension
* Allow spaces in lists. This feature has been done in the way as shell
  interprets arguments by using quotation marks
* Clear current content on reload
2021-10-28 03:19:50 +03:00
arcanis e8a10c1bb5 add nginx configuration to the faq 2021-10-27 03:35:33 +03:00
arcanis d480eb7bc3 Release 1.6.1 2021-10-27 03:16:53 +03:00
arcanis 8b0f9bfd78 update license headers 2021-10-27 03:14:39 +03:00
arcanis a2639f8dbb add update printer which will print current version if any 2021-10-27 03:11:43 +03:00
arcanis 65ba590ace use PackageSource enum for Package.load method
When using add function it sill tries to load data with invalid source
2021-10-27 02:49:23 +03:00
arcanis fcb130e226 Release 1.6.0 2021-10-27 01:59:36 +03:00
arcanis ae99fe4535 drop no-quiet option and change tree_create message error to warn 2021-10-27 01:57:54 +03:00
arcanis ec23e3f912 remove help sample from readme because it changes faster than om able to maintain it 2021-10-26 04:53:45 +03:00
arcanis d3ea81d234 unify aur.search method
due to specific of the AUR API in order to reduce the code we are using
own wrapper and work with it instead of direct library calls
2021-10-26 04:49:55 +03:00
arcanis 09b0f2914d Add ability to show more info in search and status subcommands
This feature also introduces the followiing changes
* aur-search command now works as expected with multiterms
* printer classes for managing of data print
* --sort-by argument for aur-search subcommand instead of using package
  name
* --quiet argument now has also --no-quite option
* if --quite is supplied, the log level will be set to warn instead of
  critical to be able to see error messages
* pretty_datetime function now also supports datetime objects
* BuildStatus is now pure dataclass
2021-10-26 04:27:36 +03:00
arcanis 7351e20104 always update environnment before any action 2021-10-24 04:14:57 +03:00
arcanis dfd87c502f split application class into traits 2021-10-23 13:44:57 +03:00
arcanis 0b9ab09879 add patches to clean command 2021-10-20 03:22:16 +03:00
arcanis 47c54f0b40 add ability to download package from external links (e.g. HTTP) 2021-10-20 03:09:58 +03:00
arcanis a2f2fa0354 add ability to read argument list from file 2021-10-20 02:15:59 +03:00
arcanis 4d68080c05 logger improvements
* remove build log since it has no usages actually (replaced by root
  logger)
* decrease boto3 log levels to INFO by default to reduce noice
2021-10-20 02:12:49 +03:00
arcanis eb16ef12f3 always return json in responses 2021-10-20 02:12:39 +03:00
arcanis e10e362dae Release 1.5.0 2021-10-18 03:48:24 +03:00
arcanis e59fdd1ccc minor architecture description update 2021-10-18 03:35:39 +03:00
arcanis 22d92e3b4e add repo-status-update subcommand 2021-10-17 06:38:49 +03:00
arcanis 56b77a84a6 allow to use multiple upload and report targets with the same name
In this feature target option must allways point to section name instead
of type. Type will be read from type option. In case if type option is
not presented it will try to check if section with architecture exists
(e.g. target = email, section = email:x86_64); if it does, the correct
section name and type will be used. Otherwise it will check if the
specified section exists; if it does, seection name and type will be
returned.
2021-10-17 06:06:08 +03:00
arcanis a5a99ec0b8 split github upload into generic http method and github specific
We might use some features from the http upload for another parser
2021-10-15 23:36:26 +03:00