[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

suse open build service - debian builds


After seeing the failed builds on both debian and ubuntu caused by dpkg-source -b on a quilt build, and in between building and testing my latest recipes, I decided to re-investigate native debian builds on osb.

When I first read this (a while ago) I delivered a 3.16.6 build to Paolo in the for of:
  • gambas3_3.19.6.tar.xz
  • gambas3_3.19.6.dsc
This because that is what was stated at https://en.opensuse.org/openSUSE:Build_Service_Debian_builds

"For packages that ship `debian/` subdirectory in upstream source (known as native packages).
  • The pristine tarball
  • A .dsc file

If `debian/` subdirectory is provided by packager (non-native package).

  • The pristine tarball
  • A diff or a .debian.tar.xz file
  • A .dsc file"

From a debian packaging point of view this makes sense to me because:
  • when creating a native source package you use source with recipe (debian folder) in source tree
  • the Debian tool doing this dpkg-source -b created above tar.xz and .dsc with checksums and all in .dsc according to how debian wants it
From an osb point of view it should work the debian way because:
  • they use dpkg-buildpackage to create the packages (just like I do but automated), so exactly the same rules apply
  • they say exactly what they need for native and dpkg-source -b creates exactly that
  • It says "Since the .dsc file contains checksums and a signature of those files, tools can verify the files have not been tampered with. ", well mine have these checksums refefring to proper tar.xz archive being source + recipe
  • They (osb) themselves state "Such a source package can be created on Debian systems using tools such as `dpkg-buildpackage -S` or `dpkg-source -b` as described in the Debian documentation. "


And after reading https://en.opensuse.org/openSUSE:Build_Service_Debian_builds many times over and looking at their example images of .dsc, I am convinced that the test I once wanted to run will work.
I delivered a native build in form of source archive with recipe included and ..dsc file as stated above.

Paolo changed that to quilt and extracted debian folder from source tar.xz to a debian.tar.gz (as rper requirement for quilt builds on osb).
The checksums where removed and some changes took place in files referred to, to make it work for multiple debian version.

But there are clear signs that native build can be done because the say so a their site.

What I think is needed for debian osb builds in gambas3-package-config is:
  • make recipe for different debian's/ubuntu's (as you do now)
  • create ateporay build directory for debian
  • wget "https://gitlab.com/gambas/gambas/-/archive/master/gambas-master.tar.gz" and unpack into build directory
  • In a loop do following
    • copy debian folder for debain12 into unpacked source archive
    • run dpkg-source -b .../BuildDirectory/UnpackedSource -> it will do the work for you
    • remove debian folder from source and go to the next distro (debian11, ubuntu20.04 etc..)

Your result could look like attached image.

Example.png

The versions are retrieved from changelog in recipe (so make sure they and timestamps are correct before dpkg-dource -b is run).
By adding ~debian11 etc, they can all be in same build folder and .dsc files will refer to proper tar.xz.
Add an empty gambas.dsc and upload the whole to osb and test if it will build a native package.
Be aware that a - is NOT allowed in a native versioning , only for quilt versions.

My recipes work on all versions as seen in image above.
I use this manner because I simply unpack the tar.xz (with source and recipe in there) on my vm's and simply can start the building. I don't even use the .dsc, but give osb what osb wants.

I have done a merge request and will and another small modification.
I hope you will include it in your next ,osb build and try something else for a change
Some testing doesn't harm and we will learn some more.

So, as soon as you have done you magic and a .osb will be there I will do a compare with my current recipes.


Sent with Proton Mail secure email.

Follow-Ups:
Re: suse open build service - debian buildsgbWilly <gbWilly@xxxxxxxxxxxxxx>