Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possibility to provide at archlinux packages as x86_64_v3 #107

Closed
ptr1337 opened this issue Dec 8, 2021 · 3 comments
Closed

Possibility to provide at archlinux packages as x86_64_v3 #107

ptr1337 opened this issue Dec 8, 2021 · 3 comments

Comments

@ptr1337
Copy link

ptr1337 commented Dec 8, 2021

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
Copy link
Owner

kpcyrd commented Dec 8, 2021

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
Copy link
Author

ptr1337 commented Dec 8, 2021

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
Copy link
Author

ptr1337 commented Dec 8, 2021

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.

@ptr1337 ptr1337 closed this as completed Oct 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants