OBS not extracting source file for Ubuntu/Debian Distros

Hey guys,

I’m trying to build a package for Debian/Ubuntu, I have my dsc and source files uploaded, but when it’s building it fails with the following error:

error: unrecognized file for a v2.0 source package: source-pkg.tar.gz (or .xz, or .bz2)

I think I found the problem, the files are supposed to be named like this:

1.0 or 3.0 (native): package_version.tar.gz
1.0 (non-native):
    - pkg_ver.orig.tar.gz
    - pkg_debver.diff.gz
3.0 (quilt):
    - pkg_ver.orig.tar.gz: upstream source
    - pkg_debver.debian.tar.gz:

But I encounter another problem, after it passes that part I get this from OBS:

tail: cannot open 'debian/changelog' for reading: No such file or directory
dpkg-buildpackage: error: tail of debian/changelog gave error exit status 1

I thought OBS would create the files needed to build:

control
rules
copyright
changelog

Inside the debian folder, OBS doesn’t allow to create folders, you can only upload files.

Any explanation for that?

Thanks

1 Like

I created the debian.changelog, debian.rules and debian.control for my package, it solved that issue with the changelog, but it’s now saying:

error: cannot fstat file /usr/src/packages/SOURCES.DEB/mypkg_ver.tar.gz No such file or directory

I also tried with .tar.bz2 and .tar.xz

Can you show us the project name / spec file? I suspect the latter to be the culprit.

I checked letter by letter and number by number, the file is there, OBS is saying it’s not and I don’t know why, also, this is a private OBS project that I have in an appliance, so I cannot reveal name until I have it working and approved to be moved to the online OBS, so I’m going to use this:

Format: 3.0 (native)

Files:
debian.changelog
debian.control
debian.copyright
debian.rules
project_1.2.3.dsc
project_1.2.3.tar.gz

According to the debian packaging tutorial, 3.0 (native) format accepts .tar.gz files, no diff, no orig, just one and only one .tar.gz, but when building OBS gives me the .tar.gz file not found, and sometimes diff.tar.gz not found.

The weirdest part is that if there are more than one file (1 .tar.gz and 1 .tar.bz2) it says there are more than one tar file and it only needs one, but when there is only one it says not found.

Bumping this old thread since I found it while searching for a solution to a problem that looks just like this. I found, reading through the debtransformer source, that if one has both an .debian.tar.gz and debian.changelog or other debian.* file, that OBS 2.5 diffs the files and produces a .diff.tar.gz if there is a difference between what’s in the tarball and the files specified outside (in this case, I had added the changelog, but this would apply to a debian.rules or anything else, as far as I understand). For some reason, the actual dpkg-source was expecting this outputted file, but not finding it. I did not investigate further, and instead moved the debian.changelog into the tarball itself as a workaround, which, together with naming the tarballs with the correct version as specified above, solved the issue for me. Hope this helps someone.