Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/malvineous/archlinux-pacman-repo
Scripts to generate a software repository to be used with the Arch Linux "pacman" package manager, hosted on AWS S3 or another web server
https://github.com/malvineous/archlinux-pacman-repo
archlinux pacman s3-website
Last synced: 5 days ago
JSON representation
Scripts to generate a software repository to be used with the Arch Linux "pacman" package manager, hosted on AWS S3 or another web server
- Host: GitHub
- URL: https://github.com/malvineous/archlinux-pacman-repo
- Owner: Malvineous
- Created: 2019-05-05T00:52:44.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-04T05:21:57.000Z (about 2 years ago)
- Last Synced: 2024-12-03T17:53:56.553Z (2 months ago)
- Topics: archlinux, pacman, s3-website
- Language: Makefile
- Homepage:
- Size: 3.91 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This is a quick way to set up an Arch Linux Pacman repository, hosted on Amazon
S3 or an equivalent service. It can also be easily modified to use SSH/SCP to
upload files to a more traditional web server, or a local machine.It allows you to run your own repository, so that you can use `pacman` to
install your own packages, and have them easily upgraded when you publish
updates.### Use ###
1. Inside the `public` folder, create one subdirectory for each repo you wish
to establish.
2. Inside this folder, create another one for each architecture you wish to
support, e.g. `i686`, `x86_64`, etc.
3. Copy `Makefile.config.sample` to `Makefile.config` and update as required.
4. Build your packages as normal, and put the output `.xz` files into the
relevant repo's architecture folder from step 2 (see below for an example).
5. Run `make` to construct the repo's database and upload it.
6. As packages are updated, copy them in as per steps 4 and 5. You can delete
the old `.xz` files if you wish, or leave them around for a while in case
anyone is looking for older versions if they need to downgrade.### Example ###
If uploading to `s3://example.com/hello/` and the repo defined in
`Makefile.config` is called `myrepo`, then anyone wishing to use the repo will
need to add this to `/etc/pacman.conf`:[myrepo]
SigLevel = Optional TrustAll
Server = http://example.com/hello/$repo/$arch/Run `pacman -Sy` to read in the new repo, after which you can install any
packages from it with the usual `pacman -S packagename`.#### Example folder structure ####
Once you have created the relevant folders, the tree should look similar to
this:./Makefile
./Makefile.config
./README.md
./public/
./public/myrepo/
./public/myrepo/x86_64/
./public/myrepo/x86_64/mypackage-1.0-1-x86_64.pkg.tar.xz
./public/myrepo/i686/
./public/myrepo/i686/mypackage-1.0-1-i686.pkg.tar.xz