Skip to content
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

Can not resolve build dependency of old version #935

Open
TLIAOatEB opened this issue May 31, 2023 · 0 comments
Open

Can not resolve build dependency of old version #935

TLIAOatEB opened this issue May 31, 2023 · 0 comments

Comments

@TLIAOatEB
Copy link

This issue is reproduced here https://build.opensuse.org/project/show/home:TLIAOatEB:old-BD-version-resolving-issue
Steps to reproduce:

  1. debian-package_0.0.1 has the build dependency build-dependency (= 0.0.1-1) and was built successfully.

Build-Depends: build-dependency (=0.0.1-1), debhelper (>=11~)

  1. 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)

  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:

  1. 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.
  2. Installation user needs only one OBS project repo registered in /etc/apt/sources.list to access all available versions of a package.
  3. 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.
  4. 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant