realtime-neil | How do I download a package and all of its dependencies if the package in question `Depends:` on a `libfoobar (<< 1.2.3)` and there are multiple `libfoobar` package versions in the available repositories? | 20:38 |
---|---|---|
realtime-neil | `germinate` can't do this because "the newest version of each source package across all archives will win" (https://manpages.debian.org/buster/germinate/germinate.1.en.html) | 20:40 |
CarlFK | realtime-neil: it sounds like you are saying germinate ignores version requirements? | 20:44 |
realtime-neil | it does indeed | 20:44 |
CarlFK | sounds like a bug - do you have a simple example? | 20:46 |
realtime-neil | CarlFK: it probably wouldn't take me too much to create one ... is (are) the maintainer(s) responsive ? | 20:46 |
CarlFK | no clue, but 1/2 of this is to make sure things are as you think they are. | 20:47 |
realtime-neil | CarlFK: how does one even write a test unit that checks the germinate-ability of itself? | 21:02 |
CarlFK | realtime-neil: "unit test" sounds automated. manually call it with one package that has a version requirement, look at the results, show that it ignores it. | 21:11 |
CarlFK | ideally a package with only one dependency, but that might get tedious to find | 21:12 |
realtime-neil | I'm trying to create the package with the version requirement along with the script that exposes the bug | 21:12 |
CarlFK | I would use a package that is already in the main repo | 21:23 |
realtime-neil | CarlFK: got any suggestions? I can't find anything with an uncomplicated `Depends:` stanza that also has a `(<< )` version association | 22:48 |
CarlFK | realtime-neil: go with a complicated one. I think it will be easy enough to show: it should have downloaded X, but it didn't. | 22:58 |
CarlFK | the less extra things to deal with the better, but something solid is better than nothing, and also better than something built by hand that might introduce its own problems | 23:00 |
realtime-neil | CarlFK: okay, I'm using this https://paste.ubuntu.com/p/f98gzMSj2J/ | 23:12 |
realtime-neil | and when I `./germinate-this.sh ansible`, I expect to see some kind of version specifier in the `standard.depends` ... but there's literally no version information at all | 23:13 |
realtime-neil | Am I assuming too much from `germinate`? I thought it was supposed to generate files that told you what to apt-get download? | 23:14 |
CarlFK | do any of ansible s deps have version requirements? | 23:21 |
realtime-neil | Yes: `Depends: python-cryptography, python-jinja2, python-paramiko, python-pkg-resources, python-yaml, python:any (<< 2.8), python:any (>= 2.7.5-5~), python-crypto, python-httplib2, python-netaddr` | 23:22 |
CarlFK | oh... does germinate only give you lists of package names, not download the package? | 23:31 |
realtime-neil | yes, that's correct | 23:31 |
CarlFK | hmm | 23:31 |
realtime-neil | and (I'm discovering) it only respects package names and not package versions | 23:32 |
realtime-neil | I think I need some kind of tool that will `apt-get depends --recurse ...` _and_ give me the versions of every package in the traversal | 23:33 |
realtime-neil | Or maybe a `apt install` simulator that attempts to solve the dependency graph and spits a `package=version` list when it finds a solution? | 23:35 |
CarlFK | looking at /usr/lib/python3/dist-packages/germinate/germinator.py At this point, we only copy the parts of this seed that were filled in by planting; | 23:36 |
CarlFK | planting is cute | 23:36 |
CarlFK | # Does this seed still look the same as the one it was copied from | 23:40 |
CarlFK | # after we've finished planting it? | 23:40 |
CarlFK | given it doesn't output any version info, and sounds like you need it... hmm... | 23:41 |
CarlFK | if apt_pkg.version_compare(last_ver, ver) >= 0: | 23:43 |
realtime-neil | huh | 23:44 |
realtime-neil | welp | 23:44 |
CarlFK | ok, I was hoping "newest version of each package" refereed to "same version number, different dates" | 23:44 |
realtime-neil | looks like I'm using the wrong tool | 23:44 |
CarlFK | or this tool needs a new feature ;) | 23:44 |
CarlFK | I am a little surprised it is the way it is, and seems pretty intentional, not a oversite | 23:45 |
realtime-neil | CarlFK: I'm not crazy, right? I mean, this would be needed to correctly resolve any situation more complicated than "just give me the latest of everything you can see" | 23:47 |
realtime-neil | this == "the proposed feature we're discussing" | 23:48 |
CarlFK | I don't think you are crazy | 23:48 |
CarlFK | cjwatson: yoo-hoo... ^^^ | 23:49 |
realtime-neil | :D | 23:52 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!