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

debian generators do not leverage existing orig.tar.gz files #32

Open
tfoote opened this issue Aug 29, 2019 · 3 comments
Open

debian generators do not leverage existing orig.tar.gz files #32

tfoote opened this issue Aug 29, 2019 · 3 comments

Comments

@tfoote
Copy link
Member

tfoote commented Aug 29, 2019

Every time you rerun the generator it regenerates the orig.tar.gz. This means that if you don't upload everything from the same build you will get conflicting files in the bootstrap repository which will fail on aptly export and requires manual clearing of the files from the aptly repository.

It would be valuable if we reused existing orig.tar.gz files that are local as a first step. And as a second step it would fetch the sources from the repository if they already exists. Otherwise it's basically impossible to do a debian increment.

@dirk-thomas
Copy link
Member

This means that if you don't upload everything from the same build ...

Can you clarify in which scenario this is the case.

@tfoote
Copy link
Member Author

tfoote commented Aug 29, 2019

I ran it without the upload argument for the deb3 command, checked on the outputs. Then copy and pasted the dput command to run the upload. Then I ran the pip build and ran it's upload. But I realized I'd failed to upload the deb and had only run the dsc upload command, but not the second deb command. So I went back to run the deb upload, which because it had cleared the artifacts during the pip build I had to rebuild the deb3. And that follow on upload imported, but then failed to publish due to the conflicting orig.tar.gz.

After that I tried to do debian increment releases, but every attempt to upload at that point failed, because aptly can no longer publish because it has references to both versions of the orig.tar.gz. This blocked all my follow on attempted releases, including trying a full patch version bump. It would have blocked any future release as well until I went in and cleared the conflicting packages from the aptly database.

Note that for the debian increment releases I even tried manually downloading the orig.tar.gz locally using apt-get source to see if it would reuse the tarball but it regenerated anyway.

@dirk-thomas
Copy link
Member

dirk-thomas commented Aug 29, 2019

I ran it without the upload argument for the deb3 command, checked on the outputs. Then copy and pasted the dput command to run the upload. Then I ran the pip build and ran it's upload. But I realized I'd failed to upload the deb and had only run the dsc upload command, but not the second deb command. So I went back to run the deb upload, which because it had cleared the artifacts during the pip build I had to rebuild the deb3. And that follow on upload imported, but then failed to publish due to the conflicting orig.tar.gz.

I am not sure it makes sense to spend effort to support this pretty awkward manual workflow.

Note that for the debian increment releases I even tried manually downloading the orig.tar.gz locally using apt-get source to see if it would reuse the tarball but it regenerated anyway.

That limitation seems to be similar to our other toolchains which can't regenerate the source package without a diff on a deb inc. We commonly work around it by just releasing new version instead of a deb inc in the rate case where we only change Debian specific metadata.

@dirk-thomas dirk-thomas added this to the untargeted milestone Jun 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants