I'm trying to package software for the Cardano blockchain using Launchpad, and so far I have been able to create a PPA with the required libsodium fork. This fork is required to build the Cardano node software, which was my next step - to build it and put it on the PPA as well. The problem is that in order to build the node software, the builder needs to use that PPA to be able to install the proper dependency.
Without it, I get build failures like this, where it fails to resolve the needed version:
The following packages have unmet dependencies:
sbuild-build-depends-cardano-node-dummy : Depends: libsodium-dev (= 1.0.17.1-0ubuntu1) but 1.0.18-1 is to be installed
E: Unable to correct problems, you have held broken packages.
I have tried making the PPA a depedency, but apparently you can't do that because the package is built as part of the same PPA, and it can't depend on itself. What do I do here?
Edit to clarify: I am trying to build a package in a PPA that depends on a package that comes from the same PPA.
The package
cardano-node
explicitly depends onlibsodium-dev (= 1.0.17.1-0ubuntu1)
which is in the PPA. However, version 1.0.18-1 is already available in the repositories, and the older version would not be installed.You have two options.
libsodium-dev
in thedebian/control
file.2:1.0.17.1-0
, and again remove the explicit version number from the debian/control file, so that the older version of libsodium-dev (now2:1.0.17.1-0
) would get a higher preference.