[aur-general] Custom arch repository
Hi everyone, I'm looking for any description on how arch linux repository should be organized. I've found way to publish built packages to github pages, but it's absolutely not enough to just put them somewhere. It looks like repository should have some predefined structure, maybe index files and so on. Any ideas on where I can find them? -- Regrads, Paul
On Thu, 15 Aug 2019 at 00:01, asm0dey via aur-general <aur-general@archlinux.org> wrote:
Hi everyone,
I'm looking for any description on how arch linux repository should be organized. I've found way to publish built packages to github pages, but it's absolutely not enough to just put them somewhere. It looks like repository should have some predefined structure, maybe index files and so on. Any ideas on where I can find them?
-- Regrads, Paul
`man repo-add` is a good place to start.
On 8/14/19 10:01 AM, asm0dey via aur-general wrote:
Hi everyone,
I'm looking for any description on how arch linux repository should be organized. I've found way to publish built packages to github pages, but it's absolutely not enough to just put them somewhere. It looks like repository should have some predefined structure, maybe index files and so on. Any ideas on where I can find them?
https://wiki.archlinux.org/index.php/Unofficial_user_repositories
If you want to create your own custom repository, follow pacman/Tips and tricks#Custom local repository.
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Custom_local_rep... describes how to generate the repository, with the note that the only requirements are for one or more *.pkg.tar* files in the same directory as a *.db file which contains the database itself. If you want an HTML index, you can generate your own or rely on webserver software to do so automatically, but it would be entirely for the interactive viewing pleasure of the user. -- Eli Schwartz Bug Wrangler and Trusted User
On 14.08.19 16:01, asm0dey via aur-general wrote:
I've found way to publish built packages to github pages, but it's absolutely not enough to just put them somewhere. It looks like repository should have some predefined structure, maybe index files and so on. Any ideas on where I can find them?
If you have a lot of packages and want to simplify your work a bit, then you could use a tool I've written to create some of my repositories: https://github.com/M-Reimer/repo-make You can manage your PKGBUILD structure in whatever way you like in a GIT repo (or locally but I prefer to have them on GIT): https://github.com/VDR4Arch/vdr4arch The repo-make controlling is done with just one file in this repo: https://github.com/VDR4Arch/vdr4arch/blob/master/repo-make.conf The whole list is then auto-built without any user interaction and results in a working repository. This means also that dependencies are auto-installed to the system repo-make runs on, so you absolutely should have a dedicated virtual machine for this. For vdr4arch we have a build server which uses repo-make in an Arch docker container. It autobuilds the packages whenever something on the GIT server changes. Manuel
Oh my, it looks very ineresting! Currently I manage all my packages manually so potentially it can simplify my work a lot. Currently I'm experimenting with Travis and binary build caches cause kodi needs a lot of time to compile from scratch and I'm also using container to build, so I mount ccache directory inside docker ☺ -- Regrads, Pasha On Wed, 2019-08-14 at 19:11 +0200, Manuel Reimer wrote:
On 14.08.19 16:01, asm0dey via aur-general wrote:
I've found way to publish built packages to github pages, but it's absolutely not enough to just put them somewhere. It looks like repository should have some predefined structure, maybe index files and so on. Any ideas on where I can find them?
If you have a lot of packages and want to simplify your work a bit, then you could use a tool I've written to create some of my repositories:
https://github.com/M-Reimer/repo-make
You can manage your PKGBUILD structure in whatever way you like in a GIT repo (or locally but I prefer to have them on GIT):
https://github.com/VDR4Arch/vdr4arch
The repo-make controlling is done with just one file in this repo:
https://github.com/VDR4Arch/vdr4arch/blob/master/repo-make.conf
The whole list is then auto-built without any user interaction and results in a working repository. This means also that dependencies are auto-installed to the system repo-make runs on, so you absolutely should have a dedicated virtual machine for this.
For vdr4arch we have a build server which uses repo-make in an Arch docker container. It autobuilds the packages whenever something on the GIT server changes.
Manuel
Hi everyone, So I have the repo built (BTW, Travis CI is able to upload files to pages by itself) here: https://github.com/asm0dey/arch-kodi-devel-builder/tree/gh-pages/x86_64 It's built with `repo-add` command and looks correct to me. Next question to everybody: how will pacman detect database without directory listing? -- Regrads, Pasha On Wed, 2019-08-14 at 10:09 -0400, Eli Schwartz via aur-general wrote:
On 8/14/19 10:01 AM, asm0dey via aur-general wrote:
Hi everyone,
I'm looking for any description on how arch linux repository should be organized. I've found way to publish built packages to github pages, but it's absolutely not enough to just put them somewhere. It looks like repository should have some predefined structure, maybe index files and so on. Any ideas on where I can find them?
https://wiki.archlinux.org/index.php/Unofficial_user_repositories
If you want to create your own custom repository, follow pacman/Tips
and tricks#Custom local repository.
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Custom_local_rep...
describes how to generate the repository, with the note that the only requirements are for one or more *.pkg.tar* files in the same directory as a *.db file which contains the database itself.
If you want an HTML index, you can generate your own or rely on webserver software to do so automatically, but it would be entirely for the interactive viewing pleasure of the user.
On 8/16/19 11:42 AM, pavel.finkelshtein@gmail.com wrote:
Hi everyone,
So I have the repo built (BTW, Travis CI is able to upload files to pages by itself) here: https://github.com/asm0dey/arch-kodi-devel-builder/tree/gh-pages/x86_64
It's built with `repo-add` command and looks correct to me. Next question to everybody: how will pacman detect database without directory listing?
$ curl -s https://asm0dey.github.io/arch-kodi-devel-builder/x86_64/repo.db | bsdtar -tf - kodi-bin-devel-18.4rc1pre20-1/ kodi-bin-devel-18.4rc1pre20-1/desc kodi-dev-devel-18.4rc1pre20-1/ kodi-dev-devel-18.4rc1pre20-1/desc kodi-devel-18.4rc1pre20-1/ kodi-devel-18.4rc1pre20-1/desc kodi-eventclients-devel-18.4rc1pre20-1/ kodi-eventclients-devel-18.4rc1pre20-1/desc kodi-gbm-devel-18.4rc1pre20-1/ kodi-gbm-devel-18.4rc1pre20-1/desc kodi-tools-texturepacker-devel-18.4rc1pre20-1/ kodi-tools-texturepacker-devel-18.4rc1pre20-1/desc kodi-wayland-devel-18.4rc1pre20-1/ kodi-wayland-devel-18.4rc1pre20-1/desc So the pacman.conf setting would be: [repo] Server = https://asm0dey.github.io/arch-kodi-devel-builder/$arch I advise using a more descriptive name for the repository instead of "repo.db". Aside for that, pacman only cares about being told the name of the .db, and then it downloads that directly (by concatenating the Server directive, a "/", the repository name, and ".db"), getting all other information by using a database parser, not via regular expressions on an HTML file. As I said on Wednesday:
If you want an HTML index, you can generate your own or rely on webserver software to do so automatically, but it would be entirely for the interactive viewing pleasure of the user.
-- Eli Schwartz Bug Wrangler and Trusted User
larbs.xyz This simply had turned me into N3RD-SPR33 for quite some time now ())^_^) ( ͡° ͜ʖ ͡°) With all due Respect, D.Gladnishky Sent with ProtonMail Secure Email. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, August 14, 2019 5:03 PM, Daurnimator <quae@daurnimator.com> wrote:
On Thu, 15 Aug 2019 at 00:01, asm0dey via aur-general aur-general@archlinux.org wrote:
Hi everyone, I'm looking for any description on how arch linux repository should be organized. I've found way to publish built packages to github pages, but it's absolutely not enough to just put them somewhere. It looks like repository should have some predefined structure, maybe index files and so on. Any ideas on where I can find them? -- Regrads, Paul
`man repo-add` is a good place to start.
Yeeah, I managed to do it: https://wiki.archlinux.org/index.php/Unofficial_user_repositories#kodi-devel... I think it makes sense to notice somewhere in wiki that db file should be named after name of repository (which absolutely makes sense but is not obvious at all when you have some experience with another distributions of linux). Thanks everybody for help and for getting this real. Also if somebody in the future somebody will want to set up repository with github and travis — he can look at my repository at https://github.com/asm0dey/kodi-devel-prebuilt as source ofinspiration. -- Regrads, Pasha On Fri, 2019-08-16 at 13:29 -0400, Eli Schwartz via aur-general wrote:
On 8/16/19 11:42 AM, pavel.finkelshtein@gmail.com wrote:
Hi everyone,
So I have the repo built (BTW, Travis CI is able to upload files to pages by itself) here: https://github.com/asm0dey/arch-kodi-devel-builder/tree/gh-pages/x86_64
It's built with `repo-add` command and looks correct to me. Next question to everybody: how will pacman detect database without directory listing?
$ curl -s https://asm0dey.github.io/arch-kodi-devel-builder/x86_64/repo.db | bsdtar -tf - kodi-bin-devel-18.4rc1pre20-1/ kodi-bin-devel-18.4rc1pre20-1/desc kodi-dev-devel-18.4rc1pre20-1/ kodi-dev-devel-18.4rc1pre20-1/desc kodi-devel-18.4rc1pre20-1/ kodi-devel-18.4rc1pre20-1/desc kodi-eventclients-devel-18.4rc1pre20-1/ kodi-eventclients-devel-18.4rc1pre20-1/desc kodi-gbm-devel-18.4rc1pre20-1/ kodi-gbm-devel-18.4rc1pre20-1/desc kodi-tools-texturepacker-devel-18.4rc1pre20-1/ kodi-tools-texturepacker-devel-18.4rc1pre20-1/desc kodi-wayland-devel-18.4rc1pre20-1/ kodi-wayland-devel-18.4rc1pre20-1/desc
So the pacman.conf setting would be:
[repo] Server = https://asm0dey.github.io/arch-kodi-devel-builder/$arch
I advise using a more descriptive name for the repository instead of "repo.db".
Aside for that, pacman only cares about being told the name of the .db, and then it downloads that directly (by concatenating the Server directive, a "/", the repository name, and ".db"), getting all other information by using a database parser, not via regular expressions on an HTML file.
As I said on Wednesday:
If you want an HTML index, you can generate your own or rely on webserver software to do so automatically, but it would be entirely for the interactive viewing pleasure of the user.
participants (5)
-
D.Gladnishky
-
Daurnimator
-
Eli Schwartz
-
Manuel Reimer
-
pavel.finkelshtein@gmail.com