TexasInstruments / ti-debpkgs

Apt repository for Texas Instruments

Home Page:https://texasinstruments.github.io/ti-debpkgs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Organize repository directory structure

glneo opened this issue · comments

We will want more than one release/distro version hosted here, so having all the packages on the top level will cause issues. It is not clear what version of Debian these packages belong to either. To solve this most repos use a structure with control files under a distro specific dists/<dist_name> directory. And all the packages under a pool// dir with some sub sorting.

Some examples:

Debian: http://ftp.debian.org/debian/
Ubuntu: http://archive.ubuntu.com/ubuntu/

This would also work with apt better, letting one not have their apt line:

deb https://texasinstruments.github.io/ti-debpkgs ./

rather:

deb https://texasinstruments.github.io/ti-debpkgs bookworm main

Hey @glneo,

I was working on this along with some other non-debian stuff so the delayed response. I've got a working prototype using reprepro at https://github.com/sskartheekadivi/ti-debpkgs/.

I've validated it on bookworm arm64, jammy amd64 and it works well. Please feel free to try it out and let me know if you see any issues.

FYI, I've looked at other options like aptly but couldn't figure out how to make it work with github pages. And also reprepro looks pretty straight forward to both setup and maintain.

Thanks @sskartheekadivi , looks much better now.

Could you also share the scripts you used to generate these? I've been using aptly for a prototype of the same, but I've been using a regular server for hosting these packages so did not run into the github pages issue.

I'm assuming we will need a modification to https://github.com/TexasInstruments/debian-repos to add distro version specific debian/ directories. Another thing I've been experimenting with is making our process look more like how the upstream Debian folks work, as in keeping branches for the different Debian versions. This will make it easier for our downstream users who may be more familiar with that flow, vs our custom scripting to clone and modify the project repos.

It also helps with the more complex projects that we fork, such as Mesa. In that case we have our Mesa modifications [0] and we merge them with the Debian version specific modifications [1], the result should be tracked somewhere for folks to then be downstream to us with any additional changes.

Our binary package generating automation would live outside waiting for changes to the debian/changelog file, just like Debian does. We can barrow much more of their processes and automation that way.

[0] https://gitlab.freedesktop.org/StaticRocket/mesa/-/commits/powervr/kirkstone/22.3.5
[1] https://salsa.debian.org/xorg-team/lib/mesa/-/tree/debian-bookworm

Could you also share the scripts you used to generate these?
You mean the PPA or the deb packages?

I currently do not have any scripts to do the PPA setup. I just followed https://wiki.debian.org/DebianRepository/SetupWithReprepro.

Making our Debian process similar to that of upstream Debian folks is needed. We are working towards it.

We completely moved from the older PPA structure to the restructured one.

Closing this issue.