[14:05] <kkeithley> question about ppa dependencies:  one of my ppas (https://launchpad.net/~nfs-ganesha/+archive/ubuntu/nfs-ganesha-2.8) has a dependency on https://launchpad.net/~nfs-ganesha/+archive/ubuntu/libntirpc-1.8
[14:07] <kkeithley> and my control file has Build-Depends: on libntirpc-dev from that ppa.  If the Build-Depends is libntirpc-dev (>= 1.8.1) then it finds it (seen in the build.log) but installs libntirpc-dev_3.0 from the base repos.
[14:08] <kkeithley> And if the Build-Depends is libntirpc-dev (= 1.8.1) it someone doesn't see it.
[14:08] <kkeithley> s/someone/somehow/
[14:09] <kkeithley> how can I get it to ignore the newer libntirpc* bits from the base repos and use the one from my ppa?
[14:09] <kkeithley> thanks
[14:11] <kkeithley> This is for groovy mainly and focal too.
[14:12] <cjwatson> kkeithley: It's not about the dependency being newer in the base archive; it's that (= 1.8.1) isn't the correct way to spell that constraint
[14:12] <cjwatson> kkeithley: (= 1.8.1) means that the version has to be *exactly* equal to "1.8.1", and e.g. "1.8.1-1ubuntu1~groovy1" isn't
[14:13] <kkeithley> ah, okay. :-/
[14:13] <cjwatson> kkeithley: Perhaps you want something like libntirpc-dev (>= 1.8.1), libntirpc-dev (<< 1.8.2) or similar
[14:14] <kkeithley> I'll give that a try. thanks
[14:14] <cjwatson> (Does libntirpc 3.0 not work then?  I've only used nfs-ganesha on bionic really)
[14:15] <kkeithley> there are api/abi changes between 1.8.x and 3.x
[14:15] <cjwatson> But in fact in https://launchpad.net/~nfs-ganesha-charmers/+archive/ubuntu/backports/+packages we specifically had to backport 3.0
[14:15] <cjwatson> Which is with nfs-ganesha 2.7.4, but that's older than what you're using
[14:17] <cjwatson> (I'm a bit busy today, but we should probably talk at some point.  We use nfs-ganesha in the infrastructure for git.launchpad.net.)
[14:17] <kkeithley> not sure I follow.  ganesha 2.7.x should use libntirpc 1.7.x.    ganesha-2.8.x should use libntirpc 1.8.x, and ganesha 3.x should use libntirpc 3.x
[14:17] <kkeithley> happy to chat when you have time
[14:18] <cjwatson> Oh, I know, that PPA is confusing because I had intended to finish the backport of ganesha 3.x but I stopped part-way through for reasons.  Sorry for the red herring there
[14:19] <cjwatson> So you may actually want more like libntirpc-dev (>= 1.8.1), libntirpc-dev (<< 3.0) or similar, depending on what the true upper bound is
[14:19] <kkeithley> okay
[14:28] <kkeithley> so, even with that change, the build.log says: sbuild-build-depends-nfs-ganesha-dummy : Depends: libntirpc-dev (< 1.8.2) but 3.2-2ubuntu1 is to be installed
[14:28] <kkeithley> E: Unable to correct problems, you have held broken packages.
[14:30] <cjwatson> Hmm, this may be an apt limitation
[14:31] <cjwatson> (Launchpad only has a limited amount of control here)
[14:32] <cjwatson> It's possible that the only way around it is to rename the libntirpc-dev and libntirpc1 packages for series that have newer versions in baseline Ubuntu
[14:33] <kkeithley> okay
[14:33] <cjwatson> Which is a pain, sorry
[14:34] <cjwatson> (Well, that isn't entirely true, in theory Launchpad could use pinning to control things more precisely, but that isn't something we do at all at the moment and (a) it's not clear how it would be specified, (b) it wouldn't automatically make things work for users of that PPA who would probably end up with a similar problem)
[14:34] <kkeithley> np. If the base has a newer version then I don't actually know why someone would want to run the older version.  I was building them mainly for foolish consistency.
[14:36] <cjwatson> Looks like focal has 3.0.3, groovy 3.2