kpcyrd / rebuilderd

Independent verification of binary packages - reproducible builds
GNU General Public License v3.0
352 stars 23 forks source link

Possibility to provide at archlinux packages as x86_64_v3 #107

Closed ptr1337 closed 1 year ago

ptr1337 commented 2 years ago

Hello,

First thanks for providing such a nice project.

I got a question, i saw youve implemented to provide different march's. But i dont understand the code so far. My goal is to provide a repo which rebuilds several arch packages.

But at the makepkg.conf needs to be set the CARCH="x86_64_v3". Also at the PKGBUILD's its needed to change the arch=(x86_64) to arch=(x86_64_v3). And of course the CFFLAGS and the CXXFLAGS needs to be changed to -v3.

For me its personally the correct way to provide optimized v3 packages. To use this packages the user need to change his pacman.conf to Architectures= x86_64 x86_64_v3, until arch got a solution to provide this natively with pacman, right now they are using uname -m which only gives the x86 architecture out.

I read the code so far but dont get a solution that the packages still synced and compiled with this march.

Regards.

kpcyrd commented 2 years ago

hi, thanks for asking!

To clarify, since the term "rebuild" is slightly overloaded, I'm assuming you already have a x86_64_v3 repository that you're trying to reproduce for reproducible builds. Using it to monitor and recompile a x86_64 repository into a x86_64_v3 repository is an interesting idea that might work, but it's outside of the scope of the projects involved.

Reproducing a x86_64_v3 repository works like this:

rebuildctl pkgs sync --print-json archlinux cachyos-v3 'https://mirror.cachyos.org/repo/$arch/$repo' --architecture x86_64_v3

Output:

``` [ { "name": "cachy-browser", "version": "94.0.2-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "cachy-browser", "version": "94.0.2-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/cachy-browser-94.0.2-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "firedragon", "version": "94.0.1-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "firedragon", "version": "94.0.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/firedragon-94.0.1-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "gamescope-git", "version": "3.9.5.r2.gdd45be8-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "gamescope-git", "version": "3.9.5.r2.gdd45be8-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/gamescope-git-3.9.5.r2.gdd45be8-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "kwaterfoxhelper", "version": "5.0.7-0", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "kwaterfoxhelper", "version": "5.0.7-0", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/kwaterfoxhelper-5.0.7-0-x86_64_v3.pkg.tar.zst" } ] }, { "name": "kwin-lowlatency", "version": "5.23.4-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "kwin-lowlatency", "version": "5.23.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/kwin-lowlatency-5.23.4-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "lib32-mesa-git", "version": "22.0.0_devel.147096.d80c7f3406b-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "lib32-mesa-git", "version": "22.0.0_devel.147096.d80c7f3406b-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/lib32-mesa-git-22.0.0_devel.147096.d80c7f3406b-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "librewolf", "version": "94.0-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "librewolf", "version": "94.0-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/librewolf-94.0-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-baby", "version": "5.15-2", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-baby", "version": "5.15-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-baby-5.15-2-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-baby-headers", "version": "5.15-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-baby-headers-5.15-2-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-baby-lto", "version": "5.15-2", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-baby-lto", "version": "5.15-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-baby-lto-5.15-2-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-baby-lto-headers", "version": "5.15-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-baby-lto-headers-5.15-2-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-bmq", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-bmq", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-bmq-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-bmq-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-bmq-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-bmq-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-bmq-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-bmq-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-bmq-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-bmq-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-lts", "version": "5.10.80-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-lts", "version": "5.10.80-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-lts-5.10.80-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-lts-headers", "version": "5.10.80-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-lts-headers-5.10.80-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-rc", "version": "5.16.1-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-rc", "version": "5.16.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rc-5.16.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-rc-headers", "version": "5.16.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rc-headers-5.16.1-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-rc-lto", "version": "5.15.rc6-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-rc-lto", "version": "5.15.rc6-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rc-lto-5.15.rc6-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-rc-lto-headers", "version": "5.15.rc6-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rc-lto-headers-5.15.rc6-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-rdb", "version": "5.15.4-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-rdb", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rdb-5.15.4-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-rdb-headers", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rdb-headers-5.15.4-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-rdb-lto", "version": "5.15.4-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-rdb-lto", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rdb-lto-5.15.4-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-rdb-lto-headers", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rdb-lto-headers-5.15.4-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-rt", "version": "5.15.4-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-rt", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rt-5.15.4-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-rt-headers", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rt-headers-5.15.4-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-cacule-rt-lto", "version": "5.15.4-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-cacule-rt-lto", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rt-lto-5.15.4-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-cacule-rt-lto-headers", "version": "5.15.4-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-cacule-rt-lto-headers-5.15.4-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-pds", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-pds", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-pds-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-pds-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-pds-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-pds-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-pds-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-pds-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-pds-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-pds-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-rc", "version": "5.16.1-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-rc", "version": "5.16.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-rc-5.16.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-rc-headers", "version": "5.16.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-rc-headers-5.16.1-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-rt-lto", "version": "5.15.6-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-rt-lto", "version": "5.15.6-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-rt-lto-5.15.6-1-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-rt-lto-headers", "version": "5.15.6-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-rt-lto-headers-5.15.6-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-tt", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-tt", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-tt-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-tt-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-tt-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cachyos-tt-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cachyos-tt-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-tt-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cachyos-tt-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cachyos-tt-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cacule", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cacule", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cacule-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cacule-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cacule-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cacule-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cacule-rdb", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cacule-rdb", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-rdb-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cacule-rdb-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-rdb-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-cacule-rdb-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-cacule-rdb-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-rdb-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-cacule-rdb-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-cacule-rdb-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-tt", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-tt", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-tt-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-tt-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-tt-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "linux-tt-lto", "version": "5.15.6-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "linux-tt-lto", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-tt-lto-5.15.6-3-x86_64_v3.pkg.tar.zst" }, { "name": "linux-tt-lto-headers", "version": "5.15.6-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/linux-tt-lto-headers-5.15.6-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "llvm-git", "version": "14.0.0_r405282.2f364f6f0d3a-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "llvm-git", "version": "14.0.0_r405282.2f364f6f0d3a-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/llvm-git-14.0.0_r405282.2f364f6f0d3a-1-x86_64_v3.pkg.tar.zst" }, { "name": "llvm-libs-git", "version": "14.0.0_r405282.2f364f6f0d3a-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/llvm-libs-git-14.0.0_r405282.2f364f6f0d3a-1-x86_64_v3.pkg.tar.zst" }, { "name": "llvm-ocaml-git", "version": "14.0.0_r405282.2f364f6f0d3a-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/llvm-ocaml-git-14.0.0_r405282.2f364f6f0d3a-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "mesa", "version": "21.3.1-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "libva-mesa-driver", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/libva-mesa-driver-21.3.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "mesa", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/mesa-21.3.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "mesa-vdpau", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/mesa-vdpau-21.3.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "opencl-mesa", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/opencl-mesa-21.3.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "vulkan-intel", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/vulkan-intel-21.3.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "vulkan-mesa-layers", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/vulkan-mesa-layers-21.3.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "vulkan-radeon", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/vulkan-radeon-21.3.1-1-x86_64_v3.pkg.tar.zst" }, { "name": "vulkan-swrast", "version": "21.3.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/vulkan-swrast-21.3.1-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "mesa-git", "version": "22.0.0_devel.147096.d80c7f3406b-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "mesa-git", "version": "22.0.0_devel.147096.d80c7f3406b-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/mesa-git-22.0.0_devel.147096.d80c7f3406b-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "paru", "version": "1.9.0-2", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64", "input_url": null, "artifacts": [ { "name": "paru", "version": "1.9.0-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/paru-1.9.0-2-x86_64.pkg.tar.zst" } ] }, { "name": "pipewire-full-git", "version": "0.3.39.r11.gd460c962-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64", "input_url": null, "artifacts": [ { "name": "gst-plugin-pipewire-full-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/gst-plugin-pipewire-full-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-alsa-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-alsa-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-docs-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-docs-git-0.3.39.r11.gd460c962-1-any.pkg.tar.zst" }, { "name": "pipewire-full-ffmpeg-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-ffmpeg-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-jack-client-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-jack-client-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-jack-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-jack-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-pulse-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-pulse-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-v4l2-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-v4l2-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-vulkan-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-vulkan-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" }, { "name": "pipewire-full-zeroconf-git", "version": "0.3.39.r11.gd460c962-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/pipewire-full-zeroconf-git-0.3.39.r11.gd460c962-1-x86_64.pkg.tar.zst" } ] }, { "name": "plymouth-git", "version": "0.9.5.r106.gbad6d41-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "plymouth-git", "version": "0.9.5.r106.gbad6d41-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/plymouth-git-0.9.5.r106.gbad6d41-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "proton", "version": "1:6.3.8-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "proton", "version": "1:6.3.8-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/proton-1:6.3.8-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "proton-experimental", "version": "1:6.3.20211124-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "proton-experimental", "version": "1:6.3.20211124-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/proton-experimental-1:6.3.20211124-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "proton-ge-custom", "version": "1:6.21.GE.2-2", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "proton-ge-custom", "version": "1:6.21.GE.2-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/proton-ge-custom-1:6.21.GE.2-2-x86_64_v3.pkg.tar.zst" } ] }, { "name": "proton-native", "version": "1:6.3.7-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "proton-native", "version": "1:6.3.7-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/proton-native-1:6.3.7-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "proton-tkg-git", "version": "6.19.r6.g688eeca0-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "proton-tkg-git", "version": "6.19.r6.g688eeca0-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/proton-tkg-git-6.19.r6.g688eeca0-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "protonmail-bridge", "version": "1.8.9-3", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "protonmail-bridge", "version": "1.8.9-3", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/protonmail-bridge-1.8.9-3-x86_64_v3.pkg.tar.zst" } ] }, { "name": "qt5-declarative", "version": "5.15.2+kde+r41-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "qt5-declarative", "version": "5.15.2+kde+r41-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/qt5-declarative-5.15.2+kde+r41-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "unbrave-git", "version": "r5047.3b9f52f5-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "unbrave-git", "version": "r5047.3b9f52f5-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/unbrave-git-r5047.3b9f52f5-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "ungoogled-chromium", "version": "96.0.4664.45-2", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "ungoogled-chromium", "version": "96.0.4664.45-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/ungoogled-chromium-96.0.4664.45-2-x86_64_v3.pkg.tar.zst" } ] }, { "name": "vlc-luajit", "version": "3.0.16-2", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "vlc-luajit", "version": "3.0.16-2", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/vlc-luajit-3.0.16-2-x86_64_v3.pkg.tar.zst" } ] }, { "name": "waterfox-g3-kpe", "version": "2.6-0", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "waterfox-g3-kpe", "version": "2.6-0", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/waterfox-g3-kpe-2.6-0-x86_64_v3.pkg.tar.zst" } ] }, { "name": "wine-ge-custom", "version": "6.21.GE.1-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "wine-ge-custom", "version": "6.21.GE.1-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/wine-ge-custom-6.21.GE.1-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "wine-tkg-staging-fsync-git", "version": "6.18.r6.g4d66e1bf-326", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "wine-tkg-staging-fsync-git", "version": "6.18.r6.g4d66e1bf-326", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/wine-tkg-staging-fsync-git-6.18.r6.g4d66e1bf-326-x86_64_v3.pkg.tar.zst" } ] }, { "name": "wine-wayland", "version": "6.19-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "wineland", "version": "6.19-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/wineland-6.19-1-x86_64_v3.pkg.tar.zst" }, { "name": "wine-wayland", "version": "6.19-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/wine-wayland-6.19-1-x86_64_v3.pkg.tar.zst" } ] }, { "name": "wrapland-kwinft", "version": "5.23.0-1", "distro": "archlinux", "suite": "cachyos-v3", "architecture": "x86_64_v3", "input_url": null, "artifacts": [ { "name": "wrapland-kwinft", "version": "5.23.0-1", "url": "https://mirror.cachyos.org/repo/x86_64_v3/cachyos-v3/wrapland-kwinft-5.23.0-1-x86_64_v3.pkg.tar.zst" } ] } ] ```

Removing --print-json would import the packages into rebuilderd instead of printing them to stdout. Inside of each package there's a .BUILDINFO containing something like this:

format = 2
pkgname = wrapland-kwinft
pkgbase = wrapland-kwinft
pkgver = 5.23.0-1
pkgarch = x86_64_v3
pkgbuild_sha256sum = a05862f88aad365a9ace9b024f06a83c763e2b9ff4f1da62b54f2a17d1d8524d
packager = CachyOS <admin@cachyos.org>
builddate = 1636460102
builddir = /tmp/pkg
startdir = /tmp/pkg
buildtool = makepkg
[...]

The 5th line is pkgarch = x86_64_v3, indicating that it needs to be built for this architecture to reproduce it.

The change to set pkgarch from the buildinfo file into makepkg.conf probably needs to be set here:

https://github.com/archlinux/archlinux-repro/blob/d4ffe5e022b46523b5dd6a833bcf2c1c78a01844/repro.in#L481-L490

and here:

https://github.com/archlinux/devtools/blob/412d032c265e2f5193e41cdad2e739b1501b9ca5/makerepropkg.in#L233-L241

Only archlinux-repro works with rebuilderd at the moment, but it only works with packages built from Arch Linux PKGBUILDs:

https://github.com/archlinux/archlinux-repro/blob/d4ffe5e022b46523b5dd6a833bcf2c1c78a01844/repro.in#L370-L381

Running this with a pkgbase that isn't in Arch Linux fails like this:

% asp checkout wrapland-kwinft 
error: unknown package: wrapland-kwinft

If there's a pkgbase with an identical name it would then attempt to find a revision with an identical pkgbuild_sha256sum, which would fail if the PKGBUILD was modified downstream.

You'd also need to run an archive for your downstream distro that:

1) has all current+old versions of all your packages (since they might be a build dependency for some of your packages) 2) redirects every 404 to https://archive.archlinux.org/packages/... so you don't need to mirror all of it

You can control the archive url like this (the .pkg.tar. at the end is intentional and not a bug):

% ARCH_ARCHIVE_CACHE='https://archive.example.com/packages' buildinfo -p wrapland-kwinft-5.23.0-1-x86_64_v3.pkg.tar.zst | head
https://archive.example.com/packages/a/acl/acl-2.3.1-1-x86_64.pkg.tar.
https://archive.example.com/packages/a/archlinux-keyring/archlinux-keyring-20211028-1-any.pkg.tar.
https://archive.example.com/packages/a/argon2/argon2-20190702-3-x86_64.pkg.tar.
https://archive.example.com/packages/a/attr/attr-2.5.1-1-x86_64.pkg.tar.
https://archive.example.com/packages/a/audit/audit-3.0.5-1-x86_64.pkg.tar.
https://archive.example.com/packages/a/autoconf/autoconf-2.71-1-any.pkg.tar.
https://archive.example.com/packages/a/automake/automake-1.16.5-1-any.pkg.tar.
https://archive.example.com/packages/a/avahi/avahi-0.8+22+gfd482a7-1-x86_64.pkg.tar.
https://archive.example.com/packages/b/base/base-2-2-any.pkg.tar.
https://archive.example.com/packages/b/bash/bash-5.1.008-1-x86_64.pkg.tar.

If you have a patched archlinux-repro that implements this I can help integrate it in rebuilderd later (there are possibly some minor changes in rebuilderd necessary since this hasn't been done before).

Thanks!

ptr1337 commented 2 years ago

Hey,

Thanks for your perfectly written comment!

The main goal is to provide only arch based packages with the -v3 arch since this would be the correct solution to provide the archlinux packages with optimized march, since I don’t like from other repo maintainers solution to provide the optimized packages without setting the correct architecture.

Also it would be a big extension for the arch based distro which I develop right now.

The aur packages are not needed to provide them automatically with rebuilderd.

I‘ll try to provide the needed patches.

Regards and thanks!

ptr1337 commented 2 years ago

Hey @kpcyrd,

thanks first for your latest commit. Mostly i know how to get it patched, The only thing which i don't get it really solved, how ill get the arch the upstream arch packages, change the to arch(x86_64_v3) in the PKGBUILD, If I change it, the .SRCINFO will be wrong and it wont build it. A solution could be just adding --skipchecksums to the makeflags which is not really the goal of it.

Changing the compile flags is not the problem, also chaing the CHOST.