An Arch Linux custom repository manager
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
Arch Linux Custom Repository Manager
This program is intended to manage an Arch Linux custom repository hosted on a server accessible through rsync
(for example, on a VPS or a NAS with a /path/to/www folder served over the web by a web server).
It works by synchronizing the remote repository on the local machine using rsync, and then mainly uses repo-add to
manage this repository to finally synchronizing back to the remote server.
It requires to run on an Arch Linux distribution, and simply behaves as a wrapper around some common programs:
| Program | From package | Used for |
|---|---|---|
| uname | core/coreutils | Detecting the architecture of the local machine |
| rsync | extra/rsync | Synchronizing the repository |
| tar | core/tar | Reading inside the repository database |
| GnuPG | core/gnupg | Signing the packages and the repository |
| repo-add | core/pacman | Managing the packages in the repository |
[!NOTE] The CLI of this program is made with cleo, used by poetry.
Global options
| Option | Short | Required | Description |
|---|---|---|---|
host |
H |
yes | Specify the host on which the repository is hosted |
remote_root |
r |
yes | The path to the repository, on the remote host |
user |
u |
no | The remote user who owns the repository Defaults to the current local user |
repository |
d |
no | The name of the repository Defaults to the name of the directory |
[!IMPORTANT] Currently, some options are required by the CLI as it is the only way to pass information to the ACRM.
Commands
ls
List all the packages with their version in the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository ls
+------ repository ------+
| Package name | version |
+--------------+---------+
| acrm | 0.1.1-1 |
+--------------+---------+
add
Add a package to the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository add -k gpg@example.com acrm-0.1.1-1-x86_64.pgk.tar.zst
The -k key_identifier option allows to specify the gpg key used to sign the package and the repository.
If omitted, gpg will automatically choose a default one.
rm
Remove a package from the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository rm -k gpg@example.com acrm
dl
Download a package from the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository dl acrm
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file acrm-0.1.3.tar.gz.
File metadata
- Download URL: acrm-0.1.3.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c95943eaee88d7b974e989ab7824d473d6bc06bf953abce53ccef32ce71dc8c1
|
|
| MD5 |
17b6d97674041353ee5ec61b0f22de70
|
|
| BLAKE2b-256 |
a7499a7ce19433074933408a47d29e099f7270a38c661eae72630070e1e46e00
|
Provenance
The following attestation bundles were made for acrm-0.1.3.tar.gz:
Publisher:
release.yml on mistiru/acrm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
acrm-0.1.3.tar.gz -
Subject digest:
c95943eaee88d7b974e989ab7824d473d6bc06bf953abce53ccef32ce71dc8c1 - Sigstore transparency entry: 211942715
- Sigstore integration time:
-
Permalink:
mistiru/acrm@be33a5318777a013e555f7d57b18ad404527749b -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/mistiru
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@be33a5318777a013e555f7d57b18ad404527749b -
Trigger Event:
push
-
Statement type:
File details
Details for the file acrm-0.1.3-py3-none-any.whl.
File metadata
- Download URL: acrm-0.1.3-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b62cd753a27893c8059b628a7e3ecb33322b6cce6bb096080ca49411afd4c03e
|
|
| MD5 |
14dca41e8409eba24a536761cb52a1d7
|
|
| BLAKE2b-256 |
70bbbe6c71b7b9ba9013c69518cde8d87f6a7b1f64b954a21230d16ac6ac900c
|
Provenance
The following attestation bundles were made for acrm-0.1.3-py3-none-any.whl:
Publisher:
release.yml on mistiru/acrm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
acrm-0.1.3-py3-none-any.whl -
Subject digest:
b62cd753a27893c8059b628a7e3ecb33322b6cce6bb096080ca49411afd4c03e - Sigstore transparency entry: 211942720
- Sigstore integration time:
-
Permalink:
mistiru/acrm@be33a5318777a013e555f7d57b18ad404527749b -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/mistiru
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@be33a5318777a013e555f7d57b18ad404527749b -
Trigger Event:
push
-
Statement type: