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
reprepro cannot handle ddeb artifacts #186
Comments
Thanks, updated the issue body. |
We had a related discussion at: ros-infrastructure/bloom#32 where we decided to stick with the default behaviors for the OS. It would be great to keep the debug symbol package generation but find a way to not push it into the repos so that we can reenable it easily in the future when/if we upgrade/replace Definitely aptly would be great, but also is likely to be the most work and out of scope for a short term fix. I believe that there might even be a simpler approach for 3) which is to just remove references to the ddeb from the changes file. Then the importer won't know about them since it uses the changes file to import everything.
Adding a |
One thing that doesn't make sense to me yet. How is the ddeb file getting transferred to the reprepro host when this code here, paired with this template section (itself an invocation of this snippet). Shouldn't only the .deb and .changes file be moved? Is it possible that the sourceFiles logic is being treated as a regexp rather than a glob? |
Synthesizing my findings with @tfoote's the ddeb file isn't getting transferred and the error is triggered seemingly by its presence in the changes file. |
That definitely could be that we were reading the error wrong. It's failing because we aren't copying the file over not that it has an unsupported extension. So we should patch it to try uploading the ddebs too and see if reprepro is happy with that. And if that doesn't work we can go the other way and strip the ddeb references from the changes file. |
For posterity: we tried, same failure
|
Changes `Removing ddeb lines from changes fileworkaround ros-infrastructure/buildfarm_deployment#186 to `Removing ddeb lines from changes file workaround ros-infrastructure/buildfarm_deployment#186
Approximate approach 3 implemented in ros-infrastructure/reprepro-updater#55 hopefully there will be a 4 or 5 in the future. But closing this for now as that's a long term enhancment and this as a bug is resolved. |
Is there anything that makes a ddeb a ddeb other than the file extension? Can we rename it to a plain old deb modify the artifact data. As it stands now we'll have no debug packages for Melodic. |
I don't know of anything different besides the filename. But I would hope there's something different to justify the different name, but that's quite possibly wishful thinking. A deb is actually just a tarball anyway. |
The debian toolchain for artful and bionic has started producing ddeb files for ROS packages.
Here's one for cpp_common. The builds run fine until the import_package job is triggered which fails with
There's a circa 2013 reprepro bug with a patch and info but it doesn't appear that anything from that thread made it into reprepro. A grep of the codebase doesn't yield any mention of
ddeb
packages.There is a fork of reprepro at https://github.com/profitbricks/reprepro which last year introduced changes to support ddeb files on top of additional changes.
This is also tracked on Launchpad as LP#799899
Still to be pinned down is a description of the changes introduced into the debian toolchain in bionic. Currently we can observe these differences but don't have a way to account for all of them. There is this discussion about compatibility between debian and ubuntu dbgsym packaging.
Some resolution for this is quite urgent as we cannot proceed with Melodic preparations until this is resolved.
Ideas for potential resolutions
cc @tfoote as the resident reprepro expert and @clalancette as the melodic leader.
The text was updated successfully, but these errors were encountered: