/srv/irclogs.ubuntu.com/2016/06/26/#ubuntu-devel.txt

Unit193infinity: Looking forward to the American election too, eh?00:08
=== bipul_ is now known as bipul
tewardfor my own reference, if I update a package in the repositories that another relies on, and the package that relies on mine depends on it, how would a rebuild be issued, or what would be the most sensible way to approach that?  Hypothetically.01:26
infinityteward: Why would a rebuild be necessary?01:27
infinityteward: Are you talking an SONAME bump in a library, or similar?01:27
infinityteward: Anyhow, if there's a library transition in play, you do something like "pull-lp-source foo && cd foo-* && dch -R", enter a changelog entry like "Rebuild for the libbar transition.", and upload.01:29
infinityteward: But first, I'm curious about specifics, rather than hypotheticals.  We don't rebuild rdeps unless there's a reason.01:30
tewardinfinity: with regards to https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2016-June/016654.html, https://lists.ubuntu.com/archives/ubuntu-server/2016-June/007360.html, and https://lists.ubuntu.com/archives/ubuntu-server/2016-June/007361.html01:30
tewardinfinity: basically, it's on the discusison list - if there is a package with a .so dynamic module built against 1.10.1 and we release 1.10.2 for bugfix/security reasons, a package with the .so dynamic module would need a rebuild01:31
tewardreading up on the thread may make the reasoning more clear?01:32
tewardmore or less to try and understand weird edge cases01:32
tewardgranted, i've not yet merged in Debian's dynamic module handling yet, which might be a pre-req01:33
tewardrbasak: fyi ^01:33
infinityteward: Having the server ABI tied to version is madness.01:33
tewardI told nginx upstream their dynamic modules approach doesn't work well in downstreams01:34
infinityteward: But, if we're stuck with that for now, then any rdeps in the archive would need a rebuild on upgrade, yes.  And they better have proper dependencies based on some nginx-signature-12345 provides or something.01:35
tewardgot a reply "Yeah we know, we'll work on it but it's not a short-term goal"01:35
infinityteward: It's not hard to fix.  All they need is an ABI tracker that bumps signature if and only if the ABI breaks.  Which means some rebuilds, but not on every version.01:35
infinity(This is basically the PHP approach)01:35
infinityteward: Anyhow, does nginx actually have rdeps in the archive right now?01:36
tewardinfinity: for now, no.  come next LTS, probably.01:36
tewardor sooner, if people start putting things into Debian for third-party modules01:36
infinitySo, let's solve this properly before then.  For both Debian and Ubuntu.01:36
infinityModules need to have a specific exported ABI to depend on, so they don't have to depend on nginx (>> foo), nginx (<< bar) | nginx-foo (<< foo) ...01:37
infinityYou can see how that gets ugly quickly.01:37
tewardindeed01:37
tewardI think this is something that should be deferred until nginx can fix things?01:37
tewardbecause the way they've got things done, at least AIUI, there's no ABI-based handling01:37
infinityYou can fake one.01:38
tewardinfinity: guidance on that would be appreciated01:38
infinityRemind me when it's not... Today.01:38
tewardworks for me :)01:38
* teward looks back at the nagios page saying all his Ubuntu Server VMs are down, and figures he should probably fix them instead of worrying about nginx :P01:39
teward(at least for right now)01:39
infinityteward: As for upstream, they need to track ABI, but what they do with that information is another question.  They *could* export an ABI define somewhere, that people could test against.  Or, they could go the sane route, and promise ABI stability in a major.minor (or even just major) series.01:40
infinityteward: The latter would be much better, but it means checking for ABI breaks in upstream commits and blocking them or backing them out of people oops.01:41
infinitys/of people/if people/01:41
tewardinfinity: I think ABI breakage is more prone in mainline (1.9.x as an example) than 1.10.x which basically doesn't change once released01:41
infinityWell, "basically doesn't change" isn't a promise. ;)01:41
tewardexcept for bug fixes, and I think that nginx is smart enough to make notices about it01:41
tewardwell, with dynamic modules being a 'new' thing with 1.9.x, 1.10.x, I think they'd put "This may break third party dynamic modules" over the lists i'm on01:42
tewardand that'd prompt the need to poke rebuilds or 'fake' an ABI change01:43
infinityNot if the ABI signature checked at load time is based on the version, they won't. :P01:43
* teward yawns01:43
infinityCause, in their mind, they break modules regardless.01:43
tewardinfinity: I get what you're saying, i'm basically dead here.01:43
infinityAnyhow.  Another time.01:43
tewardum, clarify "they"01:43
tewardthere's nginx upstream, Google PageSpeed upstream, and us :p01:43
infinityThey, upstream.  They're not going to inform you if a change may break modules, because their "ABI" breaks on every version change anyway.01:44
teward(there's two upstreams)01:44
infinitynginx upstream. :P01:44
teward:P01:44
tewardwell01:44
tewardi have an evil painful workflow that I currently do for a few home-grown packages which depend on others01:44
tewardbasically a shell script that builds one, pulls in for the build env on a separate package, and tests.01:45
tewardbut eh01:45
infinityWe can talk more later.  I have a hot date with a shawarma.01:45
tewardcould potentially adapt, but CBA to bother now01:45
tewardheheheh, enjoy infinity01:45
tewardi'm going to go find coffee...01:45
tewardand fix my servers... (I think the hypervisor powercycled...)01:45
=== rww is now known as rwd
=== elbrus_ is now known as elbrus
=== rwd is now known as ezri
=== robert_ancell is now known as robertancell
=== robertancell is now known as robert_ancell
=== robert_ancell is now known as robertancell
=== robertancell is now known as robert_ancell
=== {8 is now known as robot
=== JanC is now known as Guest5182
=== JanC_ is now known as JanC

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