Debug packages from Ubuntu Bionic and newer can't be uploaded
Ticket moved to GitHub: "pulp/pulp_deb/384":https://github.com/pulp/pulp_deb/issues/384
From Ubuntu Bionic onward, Canonical has patched debuild to change the suffix for debug ($package-dbgsym_$version) package from .deb to .ddeb.
When attempting to upload packages with this suffix, the tasks has the following error:
File "/home/lieter/.virtualenvs/pulp3-devel/lib/python3.8/site-packages/rq/worker.py", line 886, in perform_job rv = job.perform() File "/home/lieter/.virtualenvs/pulp3-devel/lib/python3.8/site-packages/rq/job.py", line 664, in perform self._result = self._execute() File "/home/lieter/.virtualenvs/pulp3-devel/lib/python3.8/site-packages/rq/job.py", line 670, in _execute return self.func(*self.args, **self.kwargs) File "/home/lieter/src/Pulp/pulpcore/pulpcore/app/tasks/base.py", line 40, in general_create serializer.is_valid(raise_exception=True) File "/home/lieter/.virtualenvs/pulp3-devel/lib/python3.8/site-packages/rest_framework/serializers.py", line 243, in is_valid raise ValidationError(self.errors)
This is because the plugin (rightfully) assumes that all packages are called .deb (or .udeb for installer packages). I believe adding a 'DebugPackage` model that inherits from Package (changing only SUFFIX) would be a good addition to pulp_deb.
The workaround here would be to upload the .ddeb with a relatve_path ending with .deb, but I don't know if Ubuntu's apt/dpkg would like that (afaik, it accepts it).