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

Combine multiple mirrored repos into one #1267

Open
oseiberts11 opened this issue Apr 11, 2024 · 1 comment
Open

Combine multiple mirrored repos into one #1267

oseiberts11 opened this issue Apr 11, 2024 · 1 comment
Assignees

Comments

@oseiberts11
Copy link

I would like to create a single repository from multiple upstream repositories.

Detailed Description

We want to install packages that are published in various small repositories from all over the world. Many of these repos are fairly small and contain just one package. For ease of use, we want to combine all these repos into a single one, otherwise we have to configure long lists of mirror repos everywhere.

We also have several of these combined repos (testing, staging, stable, and for several Ubuntu versions), so any complexity in the solution is multiplied manyfold.

Context

We have to mirror all these repositories locally, since the machines where the packages get installed do not have Internet access.

Currently we use reprepo for this, but it has the problem that if one upstream repo is temporarily unavailable, it errors out and nothing gets updated.

Possible Implementation

I saw the tutorial https://www.aptly.info/tutorial/pull/ but that seems like a rather complicated way of doing things. It seems that one needs to take care of each upstream repo and mirror it locally, snapshot it after every update, and when combining these into the final result, create another snapshot with yet another new unique name.

For our purposes we can assume that the packages from the mirrors do not overlap or conflict, which probably makes implementation easier.

Maybe this is all already easily possible and I just overlooked it :)

Your Environment

@neolynx neolynx self-assigned this Apr 11, 2024
@neolynx
Copy link
Member

neolynx commented Apr 11, 2024

I think you could setup mirrors for all your external apt sources, and run mirror update regurarly to get lates packages. then if something was update, use the snapshot pull function to combine all packages in one snapshot, and publish it.

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