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

adding new component to published repo #1242

Open
TimoSairiala opened this issue Jan 18, 2024 · 1 comment
Open

adding new component to published repo #1242

TimoSairiala opened this issue Jan 18, 2024 · 1 comment

Comments

@TimoSairiala
Copy link

I have a local repo which I have published already. But I have to add deb packages with another component name to this same published repo. Is there any way to publish it again with new component name included without dropping the already published repo?

Detailed Description

What I do is I have one published repo:

aptly repo create -distribution=my_test -component=main test-adding-component
aptly repo add test-adding-component humble/main/amd64
aptly publish repo -architectures="amd64" test-adding-component

=> so far so good
now I have to add more packages with another component name

aptly repo create -distribution=my_test -component=added-component test-adding-component-custom
aptly repo add test-adding-component-custom humble/test_add/amd64/
aptly publish repo -architectures="amd64" -component=, test-adding-component test-adding-component-custom

This last publishing gives an error because this is already published:
ERROR: prefix/distribution already used by another published repo: ./my_test [amd64] publishes {main: [test-adding-component]}

Context

I am running aptly on nas with big amount of deb packages and what ever I do it takes ages. If I run aptly publish drop it also means that repo is not accessible for a while. It is possible I am just doing something wrong or misunderstood instructions, maybe I should be running it another way?

Possible Implementation

maybe some sort of republish or force parameter would do the trick or possibly there already exists something?

@alamaral
Copy link

I had exactly the same problem, until a minute ago. To drop the publish you need
to find the distribution and prefix from he aptly publish list command:

root@foobar:/var/aptly# aptly publish list
Published repositories:

  • stuff/jammy [amd64] publishes {main: [stuff-jammy-main]: Production 22.04 build stuff software}, {staging: [stuff-jammy-staging]: Staging 22.04 build}, {test: [stuff-jammy-test]: Test 22.04 build stuff software}

The distribution here is jammy and the prefix is stuff, so to drop the publish the command is:

aptly publish drop jammy stuff.

While this works just find for unpublishing the repo so you can add a new component to it,
you LOSE EVERYTHING THAT YOU HAD PUT INTO THE EXISTING REPO...

Yup. You're screwed big time...

I believe that this is a MAJOR flaw in aptly. You should be able to either add a new component
to a published repo, or somehow unpublish the repo without destroying it in the process.

It has been suggested to me to use snapshots, but my repo changes constantly because we use
gitlab CI/CD and every single checkin to gitlab builds a package that ends up in aptly. Plus I
reluctantly inherited what I've got, and don't want to change how this works.

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