[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Needing branches for releases ?



[Public]


Some topics for our meet up this week.

Tl;DR

I hope I am wrong, but there don't seem to be any branches so how are releases supported ?

I POC-ed a different way to setup the ROCm repos that may help with branching and release.

Could Debian repos have Ubuntu branches ?

 

Details

 

I have personal project that uses containers to collect ROCm build and use in linux distributions.  It grew out of upstream ROCm issue tracking asking for a container to reproduce problems. Ex/ failure to build gfx1201 on 6.4.0 · Issue #2060 · ROCm/hipBLASLt

 

rocm-distro-containers/README.txt at main · trixirt/rocm-distro-containers

 

Here are some top of tree or rolling releases

Debian rocm-distro-containers/debian/experimental/rocm-smi-lib/Dockerfile at main · trixirt/rocm-distro-containers

ArchLinux rocm-distro-containers/archlinux/rocm-smi-lib/Dockerfile at main · trixirt/rocm-distro-containers

Fedora rawhide rocm-distro-containers/fedora/rawhide/rocm-smi/Dockerfile at main · trixirt/rocm-distro-containers

OpenSUSE tumbleweed rocm-distro-containers/opensuse/tumbleweed/rocm-smi/Dockerfile at main · trixirt/rocm-distro-containers

 

And a couple releases

Fedora 41 rocm-distro-containers/fedora/f41/rocm-smi/Dockerfile at main · trixirt/rocm-distro-containers

Fedora 42 rocm-distro-containers/fedora/f42/rocm-smi/Dockerfile at main · trixirt/rocm-distro-containers

 

I wanted to also do the Debian releases: stable, unstable, testing but could not figure out how.  I hope  I am wrong but it looks like this is not possible.  In the fedora project when a new release happens a branch is automatically cut from rawhide.  Ex/ the Fedora 42 container has this line

 

RUN git clone -b f42 https://src.fedoraproject.org/rpms/rocm-smi.git

 

With f42 being the automatically cut branch.

I was expecting AMD Yes! ROCm Team / rocm-smi-lib · GitLab and others to have stable, unstable and testing branches. Most only have master,upstream and pristine-tar branches.

 

Without the branches basic maintenance on the releases, like CVE or bug fixes cannot be done.

Did I miss something, is this a real problem ?

 

Assuming it was a real problem, I played around with gbp to see how hard it would be to create and maintain branches.  Doing just the next import was a good deal of manual effort.  What I don’t believe works is going backwards easily.  So I looked around for another way and because I was looking at the rocm-llvm compiler, I looked at the main clang toolchain here pkg-llvm / llvm-toolchain · GitLab a bare Debian dir and some scripting to fetch the upstream.

 

The ROCm upstream tarballs have a very regular format and do not have to be manually fetched.  So I made a POC project that looks like the llvm-toolchain project.  Tom Rix / Rocm Smi · GitLab .  The magic is this line, I stole from llvm, that parses the changelog debian/do_fetch.sh · master · Tom Rix / Rocm Smi · GitLab to wget the proper upstream tarball and does some swizzling on the directory name to repack it into the correct format.  The scripts do these things Build scripts (9b0bedc4) · Commits · Tom Rix / Rocm Smi · GitLab

 

Updates can be as robotic as updating the changelog. Update to 6.4.1 (ad760bdf) · Commits · Tom Rix / Rocm Smi · GitLab

 

Here is an example of how it could be used on some Ubuntu branches.

24.04 rocm-distro-containers/ubuntu/24.04/rocm-smi/Dockerfile at main · trixirt/rocm-distro-containers

25.04 rocm-distro-containers/ubuntu/25.04/rocm-smi/Dockerfile at main · trixirt/rocm-distro-containers

 

I picked Ubuntu because I think it would be best if Debian repositories could also contain what is needed for Ubuntu. Ubuntu would need many more branches and have different behaviors depending on which is or is not a LTS.  I think it would benefit collaboration but would take a good deal of time and effort.

 

Tom

 

 


Reply to: