/srv/irclogs.ubuntu.com/2016/08/13/#ubuntu-devel.txt

tdaitxslangasek, is there something I can run in a command line that will tell me how a given "Depends:" field will be resolved by apt? I can always build a dummy package and see how it goes, but I suspect there should be a smarter way to go about it00:44
xnoxtdaitx, there isn't...01:43
xnoxand apt & aptitude do things differently.01:44
=== Guest21717 is now known as karstensrage
xnoxtdaitx, what is the magic Depends stanza you are trying to use?01:44
tdaitxxnox, k, thanks... yeah, I think I remember something about apt/aptitude behaving differently (do you have pointers on that? it would be good to know exactly how they differ)01:45
xnoxtdaitx, just try things out. But even for a simple field, things can be resolved differently in an overall / upgrade transaction.01:45
tdaitxxnox, it's a simple one, I just want to make sure I won't be misleading users on a bug report01:45
xnoxtdaitx, so what are you trying to test =) what's your stanza?01:46
xnoxwhich bug?01:46
tdaitxxnox, just some combinations of javaX-runtime and openjdk-X-jre01:46
tdaitxxnox, lp: #158411801:46
ubottuLaunchpad bug 1584118 in openjdk-9 (Ubuntu) "16.04 incorrectly installs openjdk-9 to satisfy java8-runtime dependency" [Undecided,Incomplete] https://launchpad.net/bugs/158411801:46
xnoxmultiarch / virtual packages / other fields / alternates resolutions / other installed packages / priorities / pinning -> all have funny corner cases.01:47
=== juliank is now known as Guest11883
=== juliank_ is now known as juliank
xnoxtdaitx, look at this -01:50
xnoxhttp://paste.ubuntu.com/23050611/01:50
xnoxif someone depends on "java-runtime-headless" in a package Depends, an arbitrary one can be selected including opnjdk-9-jre-headless01:51
xnoxditto "java-runtime"01:51
xnoxditto java8-runtime.01:52
tdaitxxnox, I assumed there was a "right" order for that selection01:52
tdaitxlike, comparing the available versions01:52
xnoxin the metadata, these days one can do versioned provides.01:53
xnoxbut the metadata on e.g. openjdk-9-jre has version-less provides01:53
xnoxwhich defaults to the package version itself01:53
xnoxand thus openjdk 9 has the highest version.01:53
jbichaxnox: I'm not sure that versioned provides work though01:53
xnoxjbicha, it works when there is a versioned depends on a virtual package01:54
jbichaok01:54
tdaitxxnox, "these days" -> do you recall when that started being supported?01:57
xnoxtdaitx, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733001:59
ubottuDebian bug 7330 in dpkg "dpkg: support versioned Provides" [Wishlist,Fixed]01:59
xnoxtdaitx, but what worries me is the actual bug report of brekage in java902:00
xnox"We are not compatible with Java 9 because there is a change in02:00
xnox   command line argument order and the JVM fails to start."02:00
xnox--> is there one that is compatible and is correct across 8 & 9?02:00
xnoxwas that intentional to use jdk9 as jdk8 provider by default?02:00
tdaitxxnox, I don't know what their particular problem is because they didn't provide examples for that02:01
tdaitxxnox, yes, openjdk 9 was supposed to be released somewhere around xenial/yakkety release, but then it got postponed02:02
xnoxis it still intentional for jdk9 to provide jdk8 in xenial then?02:02
xnoxmaybe that provides should be dropped?02:03
xnoxtheir depends is wrong as well.02:03
tdaitxyep, I have been thinking about this for a while02:03
xnoximho they should be doing "Depends: java8-runtime (<< 9~)"02:04
xnoxbut that needs to be tested first.02:04
tdaitxI'm not sure openjdk-9 should be marked as providing a jdk8, given that we don't even have an official openjdk-9 and - worse - it is badly broken right now02:04
xnoxyeah, those that need/want openjdk-9 can have it.02:04
xnoxbut i don't think it should be forced on others.02:05
xnoxhowever, I am not a release / sru team to judge a revert of jdk8 from being provided 9 back to 8.02:05
xnoxinfinity, slangasek ^02:05
tdaitxxnox, and doko should be involved as well02:05
tdaitxxnox, unfortunately it seems that "Depends: java8-runtime (<< 9~)" does not work as expected... installing a dummy package with that dependency and then trying apt-get -f install get's the package removed02:07
tdaitxI was trying a few combinations before, unfortunately versioning it does not help02:07
xnoxbtw, tdaitx did you know about http://eric.lubow.org/2010/system-administration/creating-dummy-packages-on-debian/ for quickly building fake packages?02:08
xnoxtdaitx, =(02:08
tdaitxhmm, no, I didn't02:08
tdaitxI have a package called "dumb" that I use for those tests, just debuild it and then install on a chroot/lcx instance for tests02:09
tdaitxI keep that skeleton around just for those cases02:09
tdaitxbut equivs seems much better02:10
xnoxbut then |apt-ftparchive packages ."02:10
xnoxshould be run as well, and add a "source" to a directory with fake packages too.02:11
xnoxbeacause "apt-get install" is one thing and "dpkg -i & apt-get install -f" are two different beasts =)02:11
tdaitxhmm02:11
xnoxargh02:16
xnoxUpdating from such a repository can't be done securely, and is therefore disabled by default.02:16
tdaitxxnox, you probably know this, but just use "deb [trusted=yes] file:///"02:24
xnoxah [trusted=yes] -> did not know that trick =)02:24
* xnox quickly signed the repository and imported the key02:24
tdaitxso asking for a version on "Depends:" only works when the control file has a "Provides:" that is versioned as well, otherwise unversioned "Provides:" are ignored... thus right now "Depends: java8-runtime (<< 9~)" will not work because no openjdk package versions its "Provides: java8-runtime" field02:33
tdaitxaccording to the debian bug #733002:33
ubottuDebian bug 7330 in dpkg "dpkg: support versioned Provides" [Wishlist,Fixed] http://bugs.debian.org/733002:33
=== JanC_ is now known as JanC
infinityxnox: The versioned dep would only work if it was a versioned provides, which it isn't.04:56
infinityxnox: And dropping the provides entirely also won't work because the version in the release pocket will still have it.04:56
infinitytdaitx: ^04:56
infinitytdaitx: The only fix is a real package called java8-runtime, as real packages always take precedence over virtuals if you have none installed.04:57
tdaitxinfinity, updating openjdk-9 and removing the provides wouldn't fix it, is that what you mean?04:58
infinitytdaitx: Right.04:58
infinitytdaitx: Since the version in the release pocket will always be there, and will always have the provides.04:58
infinitytdaitx: (In xenial, that is)04:59
tdaitxoh, sure04:59
infinitytdaitx: Removing it would absolutely fix yakkety.04:59
tdaitxthat makes sense04:59
tdaitxgot it04:59
dokojuliank, thanks for finally tracking that down10:02
juliankdoko: David did all the work, I'm just the messenger :D11:10
=== JanC_ is now known as JanC
=== mnepton is now known as mneptok
=== JanC_ is now known as JanC

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!