After adding package build-dependency_0.0.2, debian-package_0.0.1 can not build anymore, getting 'unresolvable' error:
nothing provides build-dependency = 0.0.1-1, (got version 0.0.2-1)
However, build-dependency_0.0.1 can be found and installed by apt:
~$ sudo apt install build-dependency=0.0.1-1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
bridge-utils ubuntu-fan
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
build-dependency
0 upgraded, 1 newly installed, 0 to remove and 210 not upgraded.
Need to get 2372 B of archives.
After this operation, 14.3 kB of additional disk space will be used.
Get:1 https://download.opensuse.org/repositories/home:/TLIAOatEB:/old-BD-version-resolving-issue/xUbuntu_20.04 ./ build-dependency 0.0.1-1 [2372 B]
Fetched 2372 B in 0s (9779 B/s)
Selecting previously unselected package build-dependency.
(Reading database ... 116793 files and directories currently installed.)
Preparing to unpack .../build-dependency_0.0.1-1_amd64.deb ...
Unpacking build-dependency (0.0.1-1) ...
Setting up build-dependency (0.0.1-1) ...
So my expection is, as build-dependency_0.0.1-1_amd64.deb can be installed by apt, it shall also be found by OBS build.
To be able to have multiple versions of a package in one OBS project is a very straight-forward idea for me and a very important approach for my company, for following reasons:
When upstream updates from 0.0.1 to 0.0.2, you can simply add one more OBS package debian-package_0.0.2, with OBS package debian-package_0.0.1 kept and thus the built deb file debian-package_0.0.1-1_amd64.deb kept.
Installation user needs only one OBS project repo registered in /etc/apt/sources.list to access all available versions of a package.
Build-dependency user can specify B-D version in debian/control to ensure traceability and reproducibility of his package. All B-D versions come from one OBS project, so he doesn't need to figure out for a certain B-D version which OBS project to use in his project Meta.
Package maintainer has easier life. If upstream 0.0.1 only supports Ubuntu20.04 and upstream 0.0.2 comes to only support Ubuntu22.04, he can simply add debian-package_0.0.2 and make it built only for repo xUbuntu22.04, while support for Ubuntu20.04 still maintained by debian-package_0.0.1-1_amd64.deb in repo xUbuntu22.04. All this in one OBS project, no need to create another OBS project just for Ubuntu22.04 support.
This issue is reproduced here https://build.opensuse.org/project/show/home:TLIAOatEB:old-BD-version-resolving-issue Steps to reproduce:
debian-package_0.0.1
has the build dependencybuild-dependency (= 0.0.1-1)
and was built successfully.build-dependency_0.0.2
,debian-package_0.0.1
can not build anymore, getting 'unresolvable' error:build-dependency_0.0.1
can be found and installed by apt:So my expection is, as
build-dependency_0.0.1-1_amd64.deb
can be installed by apt, it shall also be found by OBS build.To be able to have multiple versions of a package in one OBS project is a very straight-forward idea for me and a very important approach for my company, for following reasons:
debian-package_0.0.2
, with OBS packagedebian-package_0.0.1
kept and thus the built deb filedebian-package_0.0.1-1_amd64.deb
kept./etc/apt/sources.list
to access all available versions of a package.debian-package_0.0.2
and make it built only for repoxUbuntu22.04
, while support for Ubuntu20.04 still maintained bydebian-package_0.0.1-1_amd64.deb
in repoxUbuntu22.04
. All this in one OBS project, no need to create another OBS project just for Ubuntu22.04 support.