Commit Graph
100 Commits
Author SHA1 Message Date
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
arcanis 04bbabe898 docs update 2021-10-15 04:55:46 +03:00
arcanis 4521c2adde disallow to create tree in case of unsafe run 2021-10-14 04:53:09 +03:00
arcanis 5c5e54228f use generic removal method 2021-10-14 04:08:21 +03:00
arcanis 6514924b2d change method spelling
in order to sort method correctly we are going to use the following
namiing schema:

{subject}_{action}_{details}

This schema still have some exceptions, e.g. single word methods, bool
methods (is_) and getters in case if they are singular (i.e. there is
no any other method with this subject)
2021-10-14 04:01:54 +03:00
arcanis 16aa977fa8 add test for every file 2021-10-14 03:34:12 +03:00
arcanis 6e377e7261 aggressive small case 2021-10-14 03:13:15 +03:00
arcanis 4502931c39 exactly one called with instead of last call check 2021-10-14 03:12:45 +03:00
arcanisandGitHub fcb167b1a3 github upload support (#41) 2021-10-14 02:30:13 +03:00
arcanisandGitHub 72b26603bf add ability to add manually stored packages (#40)
* add ability to add manually stored packages

* update tests

* handle manual packages in remove-unknown method

* live fixes

also rename branches to has_remotes method and change return type
2021-10-12 21:15:35 +03:00
arcanis ab8ca16981 improve scripts
move logic to separated shell scripts and also create shell script for
repository setup

Also force create directory according to systemd recommendations
2021-10-11 02:20:16 +03:00
arcanis 7c4f84fbc7 more verbose help messages 2021-10-07 01:56:22 +03:00
arcanis 3b6b2efcb1 patch control subcommands 2021-10-05 08:57:42 +03:00
arcanisandGitHub 9f99dd3ff2 patch support (#35) 2021-10-03 15:20:36 +03:00
arcanis bee97df87f do not write anything on httpexceptions in log 2021-10-03 02:05:28 +03:00
arcanis 6becd01803 replace no-log with quiet
Also behavior of the flag has been changed: now it disables logs at all
2021-10-03 01:59:33 +03:00
arcanis db195391e4 Release 1.4.1 2021-10-03 01:02:41 +03:00
arcanis 59f2992559 do not use set_defaults for architecture arguments
according to the source code defaults always updates the values
dictionary. This in this specific case it is impossible to override the
value it will be always empty list.

In order to handle it we are adding another property to the Handler
class which allows to run with None architecture list.

This particular set_defaults behaviour is still useful for other cases
when we have to run command without any specific architecture
2021-10-03 00:59:24 +03:00
arcanis 4f06647193 Release 1.4.0 2021-10-01 09:25:35 +03:00
arcanis 73a4cee257 add package request endpoint 2021-10-01 08:58:50 +03:00
arcanis 13d00c6f66 docs update 2021-09-26 14:39:35 +03:00
arcanis 3e032c3515 add index url 2021-09-26 14:29:42 +03:00
arcanis d73d5daad3 add debugtoolbar support 2021-09-26 12:31:12 +03:00
arcanis f55b44b391 set both value and innerText during search
current implementation just adds package name with the description which
is incorrect
2021-09-26 10:34:21 +03:00
arcanis 51b28baf40 add ability to specify package source explicitly during the addition 2021-09-26 09:55:14 +03:00
arcanis 24326f9753 define permissions in views directly 2021-09-25 17:03:46 +03:00
arcanis 36c763069d only set file rights if requested 2021-09-23 20:36:22 +03:00
arcanis c9a155bbc4 raise httpexception instead of returning it from a function 2021-09-19 14:28:24 +03:00
arcanis 182bde5e09 add manpage 2021-09-19 13:56:11 +03:00
arcanis 799572fccf Release 1.3.0 2021-09-18 06:28:52 +03:00
arcanis a7a32f0080 better reload 2021-09-17 19:15:53 +03:00
arcanis af3afecce8 update aioauth-client to newest version 2021-09-17 18:45:43 +03:00
arcanis 16bb1403a1 add ability to reload authentication module 2021-09-17 16:05:38 +03:00
arcanis 41731ca359 add ability to remove an user
also replace old user by new one before creation
2021-09-16 02:41:56 +03:00
arcanis e99c2b0c83 remove own implementations of getlist and getpath method in order to use
converters feature
2021-09-14 03:57:20 +03:00
arcanis 6294c0ba14 add ability to filter status response by package status 2021-09-13 23:27:36 +03:00
arcanis 2c74be31bd raise InvalidCommand exception in case if remove option supplied without
package
2021-09-13 22:38:38 +03:00
arcanis 0744ee53dc change spelling for distro name 2021-09-13 02:49:22 +03:00
arcanis 284fd759bf add target for architecture and also update it 2021-09-13 02:01:48 +03:00
arcanis 6f5b28c4f8 expiration on server side support (#33) 2021-09-13 01:18:04 +03:00
arcanis d211cc17c6 send data in json_responses in case of error instead of text 2021-09-12 22:41:02 +03:00
arcanis 117e69c906 return description from the search 2021-09-12 22:31:34 +03:00
arcanisandGitHub d19deb57e7 OAuth2 (#32)
* make auth method asyncs

* oauth2 demo support

* full coverage

* update docs
2021-09-12 21:41:38 +03:00
arcanis 1b29b5773d remove deprecated access status 2021-09-11 23:06:30 +03:00
arcanis 8e14e8d2cb add error description to modals 2021-09-11 23:05:51 +03:00
arcanis 875bfc0823 add static files support and cookie expiration settings 2021-09-11 16:34:43 +03:00
arcanis 7abdb48ac0 documentation update 2021-09-10 03:32:45 +03:00
arcanisandGitHub 98eb93c27a Add ability to trigger updates from the web (#31)
* add external process spawner and update test cases

* pass no_report to handlers

* provide service api endpoints

* do not spawn process for single architecture run

* pass no report to handlers

* make _call method of handlers public and also simplify process spawn

* move update under add

* implement actions from web page

* clear logging & improve l&f
2021-09-10 00:33:35 +03:00
arcanis 18de70154e add option to set user-password for service when updating its hash 2021-09-05 15:40:03 +03:00
arcanis 08e0237639 move api endpoints to status-api 2021-09-05 06:46:14 +03:00
arcanis 891c97b036 allow head for every get request 2021-09-05 06:41:50 +03:00
arcanis 55c3386812 add repository name to base tempalte 2021-09-05 06:15:24 +03:00