/srv/irclogs.ubuntu.com/2004/12/11/#ubuntu-meeting.txt

=== pitti [~martin@195.227.105.180] has joined #ubuntu-meeting
=== pitti [~martin@195.227.105.180] has joined #ubuntu-meeting
=== pitti [~martin@195.227.105.180] has joined #ubuntu-meeting
=== pitti [~martin@195.227.105.180] has left #ubuntu-meeting []
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #ubuntu-meeting
=== Sensebend [~Sensebend@CPE0050f2c2257d-CM014480023927.cpe.net.cable.rogers.com] has joined #ubuntu-meeting
=== fabbione [~fabbione@port49.ds1-van.adsl.cybercity.dk] has joined #ubuntu-meeting
=== mvo_ [~Michael@ip181.135.1511I-CUD12K-01.ish.de] has joined #ubuntu-meeting
=== elmo [~james@83.216.141.215] has joined #ubuntu-meeting
=== doko [doko@dsl-082-082-064-230.arcor-ip.net] has joined #ubuntu-meeting
=== pitti [~martin@195.227.105.180] has joined #ubuntu-meeting
=== smurfix_ [~smurf@run.smurf.noris.de] has joined #ubuntu-meeting
=== Mithrandir [~tfheen@vawad.err.no] has joined #ubuntu-meeting
=== wartylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has joined #ubuntu-meeting
=== Topic for #ubuntu-meeting: Tuesday 30 November 2004 at 16:00 UTC: Technical Board meeting -- https://www.ubuntulinux.org/wiki/TechnicalBoardAgenda
=== Topic (#ubuntu-meeting): set by mdz at Tue Nov 23 17:37:38 2004
(pitti/#ubuntu-meeting) so I copied the ascii file to http://people.ubuntu.com/~pitti/langpacks.txt04:57
=== warthylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has joined #ubuntu-meeting
=== Topic for #ubuntu-meeting: Tuesday 30 November 2004 at 16:00 UTC: Technical Board meeting -- https://www.ubuntulinux.org/wiki/TechnicalBoardAgenda
=== Topic (#ubuntu-meeting): set by mdz at Tue Nov 23 17:37:38 2004
(smurfix_/#ubuntu-meeting) pitti: thx04:57
=== mdz [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #ubuntu-meeting
mdzmorning04:59
=== amu [~amu@195.71.9.198] has joined #ubuntu-meeting
(pitti/#ubuntu-meeting) Hi mdz 05:00
mdzpitti: your agenda item was masked by a markup error, I didn't see it until I tried to edit the page05:01
(pitti/#ubuntu-meeting) mdz: huh?05:01
(pitti/#ubuntu-meeting) mdz: it was fine for me05:01
mdzhttp://www.ubuntulinux.org/wiki/TechnicalBoardAgenda05:01
(smurfix_/#ubuntu-meeting) was OK here too05:01
(smurfix_/#ubuntu-meeting) s/here/for me/05:01
mdzelmo,fabbione,kamion,keybuk,lamont,mvo_,sabdfl05:02
(fabb1one/#ubuntu-meeting) mdz: i am here05:02
(fabb1one/#ubuntu-meeting) just a sec that the wartylog is desynced05:02
=== wartylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has left #ubuntu-meeting []
=== wartylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has joined #ubuntu-meeting
=== Topic for #ubuntu-meeting: Tuesday 30 November 2004 at 16:00 UTC: Technical Board meeting -- https://www.ubuntulinux.org/wiki/TechnicalBoardAgenda
=== Topic (#ubuntu-meeting): set by mdz at Tue Nov 23 17:37:38 2004
fabb1onetest05:03
fabb1oneok much better05:03
Keybukquite finished? ;o)05:03
=== fabb1one is now known as fabbione
sabdflhi all05:04
Keybukbtw, I'd just like to say, for the record, that Cadbury's are evil05:04
mdzok, we seem to have a quorum05:04
=== silbs [~sbsm0084@host217-37-231-28.in-addr.btopenworld.com] has joined #ubuntu-meeting
pittiKeybuk: what's Cadbury?05:04
elmolol05:04
Keybukpitti: they make chocolate05:05
elmopitti: chocolate manufacturer05:05
sabdflpitti: it's a backup weapon to the jellybean05:05
mdzthe only predetermined agenda item is: language packs05:05
=== pitti understands :-)
pittimdz: that was me, BTW05:05
=== Keybuk is going off to bomb Bourneville when this is over
Keybuk(and then feel ill)05:05
Keybuk:p05:05
mdzif I'm not mistaken, this is carried over from the last TB meeting :-)05:05
sabdflmdz: we had a long discussion during your break05:05
mdz...which I have only skimmed05:05
pittimdz: yes, I distilled the discussion to http://people.ubuntu.com/~pitti/langpacks.txt and to ubuntu-devel05:05
pittihowever, the discussion on the ml wasn't very active05:06
pittiso I would like to talk about it here05:06
sabdfli have a tech question for pitti05:06
pittiwe don't need to agree about every single detail05:06
=== pitti listens
sabdflif we set the default build process for packages so that english is installed by default by the package05:07
pittibut we should agree on the general architecture05:07
pittisabdfl: this is the default, btw05:07
sabdfland had a mechanism so that a local build could install it's own translations for specific locally required languages, overriding the lang pack05:07
sabdflwould this resolve the conflicts issue?05:07
sabdfllargely05:07
pittisabdfl: you mean if you locally rebuild the debs from the source package?05:08
sabdflIOW i imagine someone building the package locally would automatically get (a) english and (b) the languages that their Ubuntu langpacks are installed for05:08
sabdflyes05:08
sabdflwithout having to rebuild the langpack05:08
pittiit should be easy to confine the build to some languages, yes05:08
Keybukpackage would conflict with langpack in that situation, no?05:08
Kamionisn't it quite important that local builds = our builds by default?05:08
pittithis essentially means to delete all other languages from /usr/share/locale05:09
mdzKamion: yes05:09
fabbioneKamion: yes05:09
sabdflKamion: they would, in the sense that the deb would include english by default, as would ours05:09
pittibut this would have similar drawbacks as F505:09
Kamionsabdfl: I mean in all senses, i.e. same list of files05:09
mdzif we're going to do language packs, the language pack should become the central point for translation activity05:09
Kamionthat's really important for developers testing stuff05:09
pittiI really thought over this issue05:09
pittiIMHO putting the translations into proper debs leads to nothing but trouble05:10
sabdflagreed05:10
pittieither our archive size or our mirrors explode05:10
pittiand we become totally incompatible to the rest of the deb-world05:10
mdzpitti: what do you mean by proper debs?05:10
mdze.g., language packs?05:10
mdzI think there are certainly benefits05:11
pittimdz: putting the po files into a real deb (as in the F2 options)05:11
Kamionpitti: nod - the approach of grabbing stuff straight to /usr/share/locale/ is looking kind of appealing right now, considering all the alternatives05:11
pittimdz: vs. managing the po files (and other stuff) aside from debs05:11
mdzit allows us to safely update translations without touching the package itself05:11
sabdflF2-3:  we should expect upwards of 200-500 languages within a year05:11
pittiI still think that F4 is the sanest variant05:11
smurfix_pitti: that kills every otion but F4 (and F6 ;-) 05:11
pittiwith some ideas from F3-205:11
pittii. e. download new translations to e. g. /var/cache/locale05:12
mdzpitti: did you make some estimates for disk space requirements?05:12
sabdflKamion: you mean, taking /usr/share/local/ out of dpkg control, and managing it separately?05:12
pittiand provide this as an alternative gettext root05:12
Kamionsabdfl: with respect I find that hard to believe, considering 10+ years of free software translation work that have produced maybe 20 languages with plausible coverage05:12
mdz200-500 is quite a lot more than any package we currently ship05:12
pittimdz: the user would only download the languages and translations that he wants05:12
sabdflKamion, mdz: these are clear goals of ubuntu/rosetta05:12
pittimdz: so disk space is minimal, without any deb overhead05:13
Kamionsabdfl: I know, I'm just saying I find it hard to believe.05:13
pittimdz: and overhead of unwanted translations05:13
Mithrandirpitti: why would F2 include conflicts?  Replaces should be enough.05:13
mdzsabdfl: yes, I'm saying that we need data to know what that would really look like in terms of resources05:13
sabdflfair nuff, just so you understand that's why i'm pushing this so hard now05:13
pittiMithrandir: I think it's a bad idea to have a language pack replace a complete application deb05:13
Mithrandirpitti: Replaces: doesn't mean that.05:14
pittisabdfl: I do _not_ propose to change anything in /usr/share/locale, btw05:14
sabdflwhat about this?05:14
Kamionsabdfl: don't think /usr/share/locale/ should be taken out of dpkg's control; pitti's F4 suggests somewhere in /var05:14
pittisabdfl: I only want to have additional translatiosn in /var/cache/locale05:14
sabdflcould we update the ubuntu gettext to look in *two* locations? and take the newer?05:14
pittiKamion: yes05:14
sabdfllanguage packas would go in /usr/share/langpack/05:14
pittisabdfl: this should be easy for the majority of packages05:15
mdzgnome-panel has 70 locales totalling 4.2M05:15
pittisabdfl: however, we need to manually fix packages which link gettext statically05:15
=== Mithrandir thinks /usr/local/share/locale would be the right place, but that's a detail.
Kamionavoiding any location that is currently used produces the huge benefit that we do not become instantly incompatible with everyone05:15
sabdflthen the local build could go into a diff location05:15
KamionMithrandir: it's still distro-managed though05:15
smurfix_pitti: that makes sense anyway05:15
pittiMithrandir: I would favor /var; /usr might be r/o05:16
sabdflthe main thing being that the langpack would not put files anywhere a locally built deb would expect to be able to do05:16
pittiMy idea is to have a language pack which controls the downloading and installation05:16
Mithrandirpitti: depends on where the langpacks comes from -- if they are .debs, then /usr is r/o => you lose.05:16
mdzI like pitti's idea of treating the two pools of translations separately05:16
pittiMithrandir: as I said, I don't think it's a good idea to put updated translations in deb05:16
mdzbut it highlights a question about the overall process05:17
Mithrandirpitti: why not?05:17
mdzis our goal that these translations be passed upstream?05:17
sabdflmdz: yes, through rosetta05:17
pittiMithrandir: I explained in detail in my list05:17
Mithrandirpitti: how else are you going to make sure that cruft is removed?05:17
mdzif so, upstream inherits a lot of these problems05:17
pittiMithrandir: it's nothing but trouble05:17
pittiMithrandir: this must be handled by the download manager (i. e. the language pack)05:17
mdztheir source tarball grows, their default install size grows for source-based installs and for other packagers as well05:17
Kamionmdz: upstream don't really, Debian does though05:17
smurfix_mithrandir: either you have LOTS of debs or your update is a 99% no-op05:17
pittiMithrandir: it shouldn't be too hard to sort out cruft in gettext files05:17
Kamionmost upstreams don't seem to care about source tarball size :)05:18
smurfix_mithrandir: both is not nice05:18
sabdflbtw: bazaar 1.0 release in progress now05:18
Mithrandirpitti: I'm talking about cruft as in "handling languages which are no longer on the system".  You would be reinventing dpkg.05:18
Kamionhow about /usr/share/locale/extra/ or something?05:18
MithrandirKamion: do people care about installed-size?05:18
pittiMithrandir: maybe, but using dpkg is even worse...05:18
Kamionwould be nice to keep within FHS directories05:19
pittiMithrandir: deleting a language pack can just remove /var/cache/locale/<lang>05:19
smurfix_mithrandir: it's a somewhat different problem space05:19
pittiMithrandir: s/delete/purge/05:19
Kamionor at least get this standardised somehow, since it sounds as if everyone will run into death-by-language-bloat soon05:19
mdzMithrandir: if installed-size were not an issue, I think language packs would be a non-issue as well05:19
mdzwell, almost05:19
pittimdz: there are also troubles with mirrors and pacakge rebuilds05:20
mdzthere would still be the issue of .deb size05:20
pittimdz: installed-size of language packs is the least evil point05:20
Mithrandirmdz: I'm asking whether it's really an issue or whether we just have a bunch of whiners who can be ignored.  (To be harsh)05:20
mdzMithrandir: any whiners are hypothetical at this stage05:20
KamionMithrandir: CD size is pretty hard and fast05:20
mdzwe're extrapolating what would happen if the number of translations exploded05:20
smurfix_kamion: teaching dpkg to basically ignore some directories should be reasonably simple05:20
mdzsmurfix: that would only address installed-size, and not .deb size05:21
Kamionsmurfix_: that approach is pretty fragile and hard to reconfigure later though05:21
Kamionand, as mdz said05:21
pittismurfix: why you want to do that?05:21
sabdfleasy, Mithrandir05:21
Kamionsmurfix_: if somebody says "please can I have French translations now", you have to reinstall everything05:21
Mithrandirsabdfl: I didn't intend to stomp on any toes -- I was wondering if we were discussing a real problem or not. :)05:21
mdzwe are05:21
mdzthough we are trying to discuss it before we actually have it05:22
pittiCan we at least agree to drop the F2 options?05:22
sabdflin terms of where i would like ubuntu to be in two years time, which is much more widely translated than rhat, suse or debian, yes this will be a real issue05:22
pittii. e. extract translations during build into separate debs?05:22
smurfix_kamion: assuming that the files can't be downloaded from rosetta-or-whatever05:22
sabdflfine by me05:22
mdzwait05:23
mdzF2 are the only options which address the problem of .deb size05:23
mdzoh, also F505:23
sabdflour build process will have to be different05:23
pittimdz: ?05:23
Mithrandirmdz: F5 means the shipped debs are different from what you get from apt-get -b source $package, though.05:23
sabdflin that we will not include the translations in a default .deb build05:24
mdzMithrandir: yes05:24
mdzF5 has big problems in terms of package management05:24
mdzbut it does address the problem of .deb size05:24
Mithrandirpitti: F3, F4 doesn't shave any size off the shipped debs.05:24
pittimdz: the point is that _anything_ using debs created by us makes troble05:24
elmoF4 could be combined with a stripping05:24
Mithrandirpitti: which we want to do, in order not to hit the 650MB limit.05:24
mdzwe could do a slight modification of F5 which results in having the same .debs in the archive and on the CD05:24
elmoF4+strip down to English +whatever we can fit is by far the most sane option IMHO05:24
pittiMithrandir: yes, but _we_ have to create debs regularly05:25
mdzlocal builds break05:25
pittiMithrandir: as opposed to F4, when the _user_ decices when to download what05:25
Kamionsabdfl: I really think patching the source packages is the only correct way to modify the build process05:25
sabdflKamion: yes, i expect that05:25
pittiMithrandir: this simplifies both building and downloading a lot05:25
MithrandirKamion: I agree with you on that.05:25
Kamionsabdfl: ok, good, alleviates my major concern :)05:25
mdzsabdfl: based on our experience so far with merges, that would be a prohibitively large workload for our team05:25
elmomdz: okay, F4 +strip in binary and source05:26
pittiKamion: but I think if we can manage without patching source packages at all, this would be even better05:26
mdzpatching every source package is not an option for us05:26
smurfix_elmo: why both binary and source? Agreeing on either makes more sense imho05:26
mdzelmo: hmm05:27
Kamionmdz: the fact that a source package specifies what goes into its binary packages is an invariant; breaking that just for scheduling reasons is so wrong05:27
elmomdz: it's not every source, nly what's on the CD05:27
elmowe can't not patch what's on the CD if you want local builds to work, AFAICS05:27
Kamionif we're going to modify the build process then that change must be in Ubuntu05:27
Kamion(i.e. not buildds)05:27
mdzelmo: I think I like that very much05:27
elmosmurfix: eh?  the binary have to be modified to get the space down, the source has to be modified, if you want a local rebuild to procue an installable .deb05:27
smurfix_I'd prefer mangling the binaries when they arrive from the autobuilder.05:27
mdz(F4 + stripping)05:27
Kamionsmurfix_: so wrong, so wrong05:28
mdzthat avoids the conflict issues with local builds05:28
pittiAm I right that stripping and F4 are actually completely orthogonal?05:28
Kamionthink I agree with elmo here05:28
pittiso we can discuss that independently?05:29
Mithrandirmdz: and then leaving /var/cache/locales non-dpkg-managed?05:29
mdzpitti: yes05:29
mdzgood plan05:29
mdzwe can decide separately how to best remove translations from .debs, and how to provide the translations separately05:29
smurfix_elmo: why would a local rebuild create a conflict?05:29
mdzthe former is the difficult bit05:29
Keybukstripping how?05:30
mvo_I think the later is tricky too :)05:30
Kamionmdz: adding dh_striplocales (say) to debian/rules wouldn't be that bad, would it?05:30
Kamionif it's a one-liner ...05:30
Keybukat buildd-time, or in the source package?05:30
elmosmurfix: oh, okay, it wouldn't necessarily, but it wouldn create a different .deb, and there's a lot to be said for idempotency of builds05:30
MithrandirKamion: aka rm -rf debian/$packagename/usr/share/locale ? :)05:30
sabdflit should be a one-time one-liner05:30
pittimdz: stripping binary debs is easy, but stipping source packages? We have to change every orig.tar.gz...05:30
Kamionpitti: and then various upstream projects will accuse us of forking05:31
pittiKamion: how would that help to reduce the source package size?05:31
Kamion(c.f. openssh)05:31
KeybukKamion: the bit where it would go doesn't tend to change hugely -- though it'd trip on a major change to debian/rules and need manually fixing05:31
KamionKeybuk: yeah, but it should be mostly automergeable05:31
Keybuk9/10 times05:31
Keybukmaybe 99/100 too05:31
sabdflpitti: source package size is not the issue05:31
pittielmo: do you actuallly mean "strip the source package" or "strip during building the debs from the source package"?05:32
Kamionsabdfl: source CDs are a reality, various people want them05:32
elmopitti: latter05:32
pittisabdfl: ah, okay. I misunderstood05:32
pittielmo: okay, that's easier05:32
mdzKeybuk: is it feasible to detect the case where we _only_ made this change, and fast-track it?05:32
elmokamion: point them at > 650Mb ISOs, what do we care?05:32
sabdflKamion: they can be multi-cd sets05:32
Keybukmdz: yah05:32
sabdfldvd05:32
Kamionsabdfl: they're already 3 CDs05:32
Kamionsabdfl: turning them into 30 seems a bit non-trivial05:32
sabdfltrue :-)05:32
Kamion(3 CDs for hoary as it stands)05:32
elmoKamion: don't you like a challenge??05:32
Kamionelmo: depends how fast you want auckland's disk space used up05:33
mdzlast I heard, we weren't hurting for disk space05:33
Keybukmdz: wish we were based on darcs rather than arch now though :p  could have a "add dh_striplocales before dh_builddeb" change token :p05:33
sabdflok, girls, focus ;-)05:33
Kamionmdz: we will be if daily CD builds multiply by ten in size05:33
mdzKamion: I don't think we quite need _daily_ source CDs05:33
Kamionmdz: we already have them, 'cos building CDs daily is about the only sane way to make sure they keep working05:34
pittibefore we discuss the details, is there anybody who thinks that strip+separate download is _not_ the solution?05:34
sabdfli don't think we need to keep them around though05:34
mdzKamion: if it's only as a test, we can throw away the result if the space become sa problem05:34
mdzwhat sabdfl  said05:34
Kamionmdz: true05:34
Mithrandirpitti: I wish they are handled by dpkg, but it seems people disagree with that, so.05:34
mdzso, considering that we must remove translations from .debs in order to maintain the One True CD, I think we only have two options for the "remove translations from .debs" piece05:35
mdz(source or binary)05:35
pittiMithrandir: if you find a way to sanely handle translations in deb, tell it to us :-)05:35
sabdfl+1 source05:35
mdzsource is more correct in every way from a pure technical perspective05:35
pittiMithrandir: I would prefer proper debs from a cosmetic viewpoint too05:35
=== sivang [~sivang@80.179.93.130.forward.012.net.il] has joined #ubuntu-meeting
pittimdz: binary is easier, but source cleaner05:36
Kamionsource => change source package, binary => adjust binary package after build?05:36
mdzKamion: correct05:36
Mithrandirpitti: they are just a bunch of files.  Wrap them up in a deb; make a daily deb of all the files for a language if you so desire.05:36
Keybuksource++05:36
Kamiondefinitely +1 source inasmuch as I don't get a TB vote05:36
KeybukMithrandir: "Dear Mirrors, hello, here's SOME DEB"05:36
pittiMithrandir: either the mirrors or the number of debs would explode05:36
mdzhowever, source thrusts us into a situation of having modified several times as many packages as we currently do05:36
smurfix_hmm, if source, how do the stripped-off translations end up where people can download them?05:37
mdzso it is dependent on a greater level of merge automation05:37
MithrandirKeybuk: one per language; the biggest language on my system is french, that is about 8MB, compresses down to about 2.7MB.05:37
Keybukmdz: from 233 to "all of them" ?05:37
pittimdz: we can modify debhelper to do it automatically05:37
pittismurfix: but them into rosetta, I think05:37
mdzsome have claimed that we would only modify the packages on the CD05:37
KeybukMithrandir: 200 languages, every day, half a gigabyte to each mirror each day05:37
mdzwhich I think would be about 3x as many packages as we currently modify05:37
MithrandirKeybuk: only build if they have changed that day, then.05:38
KamionI think modifying dh_builddeb or something around that level in Ubuntu might be just about acceptable05:38
MithrandirKeybuk: I doubt we'll have changes to each language each day.05:38
Kamionalthough it's a bit worrying05:38
KeybukMithrandir: we upload source every day, leading to a language-pack change every day, for every language05:38
mdzKamion: except for non-debhelper packages05:38
mdzKamion: do you feel the same way about modifying dpkg-deb? ;-)05:38
Kamionmdz: yeah, pretty trivial number though05:38
Kamionmdz: I feel deep abhorrence for that idea; layering violation05:38
MithrandirKeybuk: I thought translations were to be handled completely in rosetta?05:38
mdzKamion: I agree, fwiw05:39
pittiMithrandir: but you will have a daily change in at least one package, which would trigger a rebuild of the whole langpack05:39
Kamiondebhelper is allowed to know about details of Debian policy as regards package layout; dpkg-deb is just an archiver05:39
=== Keybuk tightens the chastity belt on dpkg-deb, just in case mdz gets any more funny ideas :p
Mithrandirpitti: uhm, why would that be?05:39
Kamionso s/Debian/Ubuntu/ and it looks barely tolerable05:39
Kamionthe problem is that that would break rebuilds of Debian packages05:39
Kamionwhich would be a bad thing05:39
elmoWRT debhelper, why don't we just declare it build-essential for us, then we can dh_strip_locale to any package even if it doesn't use debhelper?05:39
pittiMithrandir: if you have one deb per language, it just is like this05:39
mdzKamion: how so?05:39
mdzI think all source-based solutions share that problem05:39
pittiMithrandir: if you have one deb per language per package, the number of debs explodes05:40
Kamionmdz: no they don't, modifying our source packages doesn't05:40
Kamioni.e. our source packages say what we want them to do05:40
mdzKamion: the source package modification doesn't make it into Debian05:40
mdzyou said rebuilds of Debian packages05:40
pittimdz: I wouldn't change dpkg-deb, only debhelper05:40
Kamionmdz: uh-huh, but people rebuild Debian packages on Ubuntu05:40
Mithrandirpitti: I'm talking about one deb per language.  And if we do get 200 languages, well, then we have half a gig extra data to push.05:40
Kamionmdz: e.g. backports05:40
elmoMithrandir: dude, please read the logs for the last meeting, we went over this TO DEATH05:41
Kamionif some maintainer script in a Debian package does stuff to /usr/share/locale (and I believe some of them do), there'd be hell to pay05:41
Keybukyeah, I think some people would panic if I uploaded dpkg with all the translations stripped out05:41
pittiMithrandir: you have to push half a gig for _every_ language every day05:41
Mithrandirelmo: ok05:41
KeybukI vote for dh_striplocales05:41
Keybukor dh_stripmessages05:41
pittiMithrandir: right now my /usr/share/locale is about 200 MB, but that will increase 05:41
Mithrandirpitti: /query?05:41
KamionKeybuk++05:41
mdzok05:41
pittiMithrandir: ?05:42
mdzso the broad solution of "modify the source package" seems to be favoured05:42
smurfix_kamion:not if we modify gettext and put the rosetta translations somewhere else05:42
mdzwithin that solution, we have some choices05:42
mdz- modify debian/rules05:42
mdz- modify a debhelper tool (and, if debhelper is not used by the package, debian/rules also)05:42
mdz- others?05:42
pittimdz: + modify rules05:42
Kamion- add a debhelper tool to simplify the modification of debian/rules05:43
fabbione- something that is absolutely shared by every package?05:43
pittimdz: least surprise05:43
mdzKamion: let's consider the debian/rules option under the assumption that we'll make the change trivial05:43
mdzby whatever means05:43
mdzfabbione: the only thing that falls into that category is dpkg-deb, and that's been declared evil05:44
fabbionemdz: aren't we? ;)05:44
mdzmodifying debian/rules is going to mean adding a build-dependency as well05:44
mdzin order to guarantee a consistent result05:45
Keybukmdz: or modifying build-essential05:45
=== Kamion could live without the build-dep for the purposes of expediency ...
mdzhmm, even to guarantee that it builds05:45
mdzmodifying debhelper lets us forego the build-dep05:45
Kamionupload debhelper, wait for elmo/lamont to install it in all chroots, upload everything else05:45
mdzif it's built with a debhelper that doesn't contain the change, they just don't get a stripped package05:45
elmomodify build-essential ..05:45
Kamionif we add a new debhelper program then the build will fail if it's missing05:46
Kamionwhich is good enough05:46
mdzhmmm05:46
mdzand then the user is left scratching their head over why the package doesn't build05:46
fabbionelamont will kill somebody just the amount of mails he will get :-)05:46
elmowe need to ensure that if a user does 'apt-get build-dep gnupg', and tries to build ubuntu's source, it'll work05:46
Kamionmdz: hoary'll ship with this modified debhelper presumably05:46
elmothe only way to guarantee that is to modify our build-essential05:46
mdzwe'd break building Ubuntu debs on Debian, unless our debhelper change goes upstream05:47
Kamionwe could even ask joeyh to include the tool in mainstream debhelper05:47
elmowe could (haha) || true it, or enclose it in a if [ -e ... ]  type test05:47
mdzI think he'd accept the dh_striplocales variety05:47
Kamionmdz: we've already broken building a lot of Ubuntu .debs on Debian mind you05:47
pittiKamion: essentially it would just throw away any po files, right?05:48
mdzperhaps not the dh_builddeb variety05:48
Kamionmdz: plenty of them require Ubuntu-specific build-deps05:48
mdzKamion: really?05:48
KamionI think dh_striplocales is more correct anyway05:48
Kamionmdz: sure, take GNOME05:48
mdzI thought there were quite few of those05:48
Kamionmdz: or our d-i05:48
mdzd-i, sure05:48
mdzKeybuk: didn't you have some numbers on how many packages don't use debhelper in warty/main?05:49
Kamionmight be worth ignoring all packages without translations05:49
haggaiI think you should try to find a solution that is upstreamable so that co-operative Debian maintainers can add the tool call to their source to reduce the debian->ubuntu diff05:49
mdz745/1022 I it looks like05:49
mdzKamion: I think the plan is to translate those, too :-)05:49
Keybukmdz: yeah, it came down about 30 don't05:49
sabdflwe have a hard limit at this stage on those which don't use gettext at all05:50
Kamionmdz: how about the ones without strings? :)05:50
mdz745/1022 have a build-dep on debhelper05:50
elmowow, that's less than I expected05:50
Keybukmdz: build-dep-indep too05:50
sabdflok, i think we have an emergin consensus05:50
mdzgrep-dctrl -FBuild-Depends,Build-Depends-Indep -nsPackage debhelper05:50
mdz74505:50
Keybukmdz: grep-dctrl in hoary is broken05:51
mdzoh, sweet05:51
Keybukgrep-dctrl -s Package -FBuild-Depends,Build-Depends-Indep05:51
Keybukdebhelper /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_hoary_main_source_Sources05:51
Keybuk| wc -l05:51
Keybuk95205:51
KeybukActually it catches over 90%, and of the remaining 98 packages only 2805:51
Keybukcontain translations anyway (using the "does it depend on gettext or05:51
Keybukpo-debconf" test).05:51
pittisabdfl: I think so too, since the guys are already talking about specific details05:51
Keybuk-- 05:51
pittisabdfl: but I think the general strategy works and is the sanest one05:51
mdzgiven some magic which saves us from the crushing merge workload, the preferred solution for stripping locales is a dh_striplocales one05:53
pittiagreed05:54
sabdflok, next!05:54
mdzcan we really take that for granted at this stage?05:54
mdzlanguage packs are a hoary goal05:55
mdzthis level of divergence almost requires that we can put most of these merges on full automatic mode05:55
mdzincluding the upload05:55
sabdflmdz: let's evaluate that after the first week of Mataro Sessions05:55
sabdflwe'll have a handle on hct at that point05:56
Keybukhct doesn't help any more than mom05:56
Keybuka little less, in fact, because it requires tla/baz to play nice05:56
elmoit's worth noting, that we're not running out of space yet either, so they may be a goal but they're not a 100% we can't ship without this05:56
sabdflyes05:56
mdzelmo: however, it is a high priority item on Mark's hoary list05:56
Keybukmom works by breaking apart, mutating and driving patch itself05:57
mdzwhich is fairly close to the same semantics05:57
Keybukwe don't get that power with arch05:57
Kamion(we have 55MB free on the powerpc CD, which is tightest)05:57
mdzKamion: and we need to get a ppc64 kernel image onto it :-/05:57
mdzKeybuk: yet :-P05:57
Kamionmdz: should be OK ...05:57
mdzthat'll eat about 15M05:58
mdzguestimating from the powerpc one05:58
Kamionmdz: depends which of powerpc/power3/power4 we need05:58
Kamion(can we bounty benh to fix the MMU crap that means we need those three? :-/)05:58
elmocan't we pay/beg/bribe/hold hostage someone to get rid of the stupid sub-arch split... doh05:59
mdzok, so regarding stripping locales, we're fairly settled on dh_striplocales, on the assumption that Keybuk can provide the level of support we need for the merges05:59
pittisabdfl: is there actually a "next" item on the list?05:59
mdzKamion: let's talk about that a bit later05:59
mdzKamion: doesn't sound unreasonable at first hearing06:00
mdzpitti: yes06:00
mdzthe second half is the approach for providing the translations in separate .debs06:00
mdzit sounds like we were moving in the following direction there:06:00
mdz- buildds collect the translations via dh_striplocales and drop them into a pool06:01
mdz- some automated process runs periodically and builds .debs from the pool06:01
elmodebs are crack for this06:01
mdz- the .debs contain translations in some directory which is not /usr/share/locale06:01
mdzoh?  was that decided at the last meeting?06:01
elmoI dunno, I'm just saying what I think06:01
mdzok, s/\.debs/language packs/ for now06:02
pittimdz: My idea is to have language-support-XX manage the download, install, and housekeeping06:02
pittimdz: but not stuffing the po files into a deb itself06:02
mvo_I think the problems reamins the same whatever format we use06:02
pittia reasonable compromise would be to build a deb on the fly on the user's machine06:02
mdzpitti: I think that introduces much more complexity than we want06:02
pittimdz: but if we push debs, we have all these problems06:03
mvo_if we don't use deb we need to have package manager like functionality in a language-pack-get tool06:03
pittimdz: assembling debs on the fly on user's hosts seems much more sane then06:03
Mithrandirpitti: I'm not too comfortable with that -- l-s-xx needs to be able to acquire, unpack, record what's installed and uninstall the files later.06:03
mdzpitti: I think that has the same problems06:03
pittimvo_: but only downloading, copying and cleaning 06:03
mdzthere is a lot of value in having a language pack blob which actually contains the translations06:03
pittiMithrandir: why record?06:03
mdzwhich can be placed on the CD, passed around by the user, etc.06:03
Mithrandirpitti: it needs to know what it has installed so it knows what it should update.06:04
pittimdz: but the whole point of all this is to avoid debs in the first place06:04
pittiat least debs we provide on our mirrors06:04
Mithrandirelmo: you think .deb files are insane because of the mirror load?06:04
mdzit is?06:04
Mithrandirelmo: or anything else too?06:04
elmoMithrandir: Packages files are useless for them and too large06:05
elmoand yes, I don't desperately want them in the pool proper06:05
pittiMithrandir: not only because of the mirror load, also because of the download redundancy06:05
pittiThe user should be able to download only the translations for packages he actually uses06:05
mdzelmo: don't desperately want, or desperately don't want?06:05
haggaicould new functionality for registering conffiles etc with dpkg (Keybuk?) be used to register new translations with the dpkg database?06:05
mdzpitti: what it sounds like you're describing is a .deb which can't be installed without access to <someplace>.ubuntu.com06:06
pittimdz: ?06:06
mvo_when will he download them? will he need to do a apt-get upgrade and a lang-pack upgrade?06:06
mdzpitti: <pitti> mdz: My idea is to have language-support-XX manage the download, install, and housekeeping06:06
pittimdz: l-s-XX would download the translations, create a deb and isntall it06:06
mdzpitti: correct06:06
Mithrandirmvo_: think install from cd, for instance.06:06
pittimdz: you need access to Rosetta, right06:06
elmomdz: depends what format the debs are, one per source or one per lang?06:06
mdzthat means that installing l-s-XX would require that the target system be able to talk to <someplace>.ubuntu.com06:06
elmomdz: the latter can  be over my dead or P45-ed body06:07
pittimdz: but you need that anyway to get _any_ update06:07
mdzwhich, in a wide variety of environments, just won't be true06:07
Keybukhaggai: doesn't work, conffiles still need a replaces:/--force-overwrite06:07
pittimdz: building the deb can happen on the client06:07
smurfix_mithrandir: so the files are on CD instead of being downloaded06:07
elmomdz: the former.. I'm pretty unhappy about too, but I'd need to look at proper stats to be sure06:07
mdzpitti: that isn't true, users have lots of ways of moving around .deb files06:07
mdzpitti: the user needs to be able to insert a CD and obtain a language pack that way06:07
pittimdz: they can build the deb on a place with net access06:07
haggaiKeybuk: I didn't mean that.  I meant, the ability to register a new file with the language-support deb06:08
pittimdz: they can as well just copy the po tree to their computer (with the help of l-s-xx)06:08
mdzpitti: this defeats the purpose of providing a plug-and-play language pack06:08
mdzwhat is the problem that we would hope to solve with such a solution?06:09
pittimdz: I still don't understand the problem06:09
mdzlarge downloads for people tracking the development branch?06:09
pittimdz: where the deb is built, or who does it makes no difference06:09
mdzpitti: the problem is that it's essentially an installer .deb, and installer .debs are inherently problematic06:09
pittimdz: we can put it onto a CD as well06:09
sabdflwe can accept a certain lag during the freeze06:09
Mithrandirmdz: large downloads for people who are running stable but want updated translations, I think.06:09
sabdflso, say, langpacks are updated weekly rather than daily06:09
mdzsabdfl: right06:10
mvo_sabdfl: sounds good too me06:10
sabdfli think elmo is right that there are benefits to avoiding the pool altogether for this06:10
mdzand we can provide a separate repository with daily updated language packs for those who really want them06:10
pittiguys, it is just insane to publish translation debs in regular intervals06:10
smurfix_why do we need .debs anyway?06:10
sabdflas is mithrandir in that it's a small step towards reinventing dpkg :-)06:10
mdzif the problem is that the .deb is too large, we break it up06:10
Mithrandir.. you know, dpkg started out as a perl script.  We could reinvent it in python.06:10
sabdflbut... fundamentally, a langmgr on an ubuntu desktop needs to keep track of the languages that desktop needs, and sync in the data06:10
pittilet the user choose which translations he want, at which intervals and give him an easy way to update his system with a "pull" strategy06:10
=== Mithrandir hides.
sabdflit might even use rsync!06:10
KamionMithrandir: actually it was a shell script before that ...06:11
Kamion(IIRC)06:11
mdzsabdfl: why does it need to do that?06:11
Keybukyou could always use the deb + delta idea ...06:11
pittimdz: what do you mean by installer deb?06:11
mdzsabdfl: the user selects their languages, and from that point forward it's a simple upgrade06:11
=== lamont_r [~lamont@dsl-140-203.dynamic-dsl.frii.net] has joined #ubuntu-meeting
mvo_Keybuk: +106:11
mdzpitti: a .deb which doesn't contain the data that it is meant to provide, but instead downloads it over the network (or requires that the user do so)06:12
pittimdz: with per-package debs or per-language?06:12
mdzKeybuk: not for hoary we can't06:12
sabdflmdz: you mean, if we have an ubuntu-xx langpack in the pool? elmo hates that idea, and he's bigger than me, and i happen to agree with him06:12
pittimdz: you can also install readymade translation debs06:12
mdzsabdfl: I'm going to go out on a limb and ask him to justify his hatred :-P06:12
mdzsabdfl: you, too, if you agree06:12
pittimdz: it should be _possible_ to assemble them on the fly, not required06:12
sabdflthe langpack debs will drive the mirrors crazy06:12
sabdflwe can publish the translations as an rsyncable tree06:13
Mithrandirsabdfl: if they're only updated when they need to, or weekly or something as well?06:13
mdzas I said06:13
mdzif the problem is that the .debs are too big06:13
mdzthen we break them up06:13
elmomdz: it's utter crack.  if you change one translation in one source package, this n hundred Mb unrsyncable (and not normally rsynce danyway) .deb changes06:13
sabdflthen dpkg/apt need to scale to more debs than they should have to06:13
Mithrandirmdz: then you get a huge amount of them.06:13
Kamionmdz: doesn't help, lots of them will generally change at once06:13
pittiARGH06:13
mdzdepends on how you break them up06:13
pittithis is the very same discussion we had last time06:13
Kamionmdz: either you have a source message which changes and lots of translations change, or you have a common translation of a frequently occurring string that changes06:14
Kamionmdz: you can't win either way06:14
elmopitti: yes, I know. let's petition sabdfl to not let mdz go on holiday and miss TB meetings ;-)06:14
pittipushing debs to mirrors is crack06:14
sabdflelmo: only if you promise not to go on holiday too ;-)06:14
smurfix_I agree with sabdfl. Just use rsync and ignore all files belonging to packages you don't have installed. Problem solved.06:14
pittismurfix: when using /var/cache/locale, we don't even have the possibility of hitting pacakge conflicts06:15
sabdflsmurfix_ it's easier than that, since the desktop install generally installs a solid well-defined set of packages06:15
sabdflwe only do this for those06:15
mdzI think you guys are optimising for the development branch case06:15
mdzwhen we need to optimise for the stable release case06:15
sabdflyes, understood06:15
mdzthese problems are non-issues for the stable release06:15
pittimdz: you cannot force users to download huge amounts of debs for small translation changes06:15
Mithrandirsabdfl: you'd need to ship something to rsync off on the cd, then.  That is a lot more work than shipping one more deb.06:16
pittimdz: s/cannot/it wouldn't be the best solution/06:16
sabdflbut i /really/ dislike the idea of switching something this big on only at release time, we discussed that last time06:16
elmomdz: dude, this is not "optimization", this is "having a mirror network vs. not"06:16
smurfix_pitti: exactly. local packages use /usr/share. So check there too, and pick the newer one.06:16
elmomdz: if we implemented this with even the number of languages/translations we have today, we'd have zero mirrors within a month06:16
elmohell, _I_ wouldn't mirror us over the GB LAN :-P06:16
sabdflelmo: i love how you tell the truth :-p06:17
smurfix_mithrandir: so park the rsync-master file tree onto the cd ..?06:17
mdzelmo: ok, I understand.  let's try to change our approach to adapt to that, rather than throwing it away06:17
Mithrandirsmurfix_: have you touched debian-cd?06:17
Kamionsmurfix_: er ... uh-huh.06:17
mdzI'll say again that this is strictly a development branch issue06:17
Mithrandirsmurfix_: doing that would be very icky and interesting.06:17
Mithrandirsmurfix_: I do not think Kamion would like you afterwards. :P06:17
pittimdz: so we need a system that is both able to install premade language debs, prepare these and also update directly from the network06:17
mdzand I do not think that we should sacrifice having the feature look the way it should in the final release06:17
Mithrandirmdz: I'm worried that elmo is so much against it, though..06:18
smurfix_kamion: On the language-pack CD of course. Maybe packaged inside a cpio tree if too many small files are too icky.06:18
Kamionsmurfix_: I think all this is highly premature06:19
Mithrandirsmurfix_: that sounds like you're reinventing rpm rather than dpkg, then.06:19
mdzMithrandir: the issues that elmo raises apply only to the development branch, and I think the use case is different enough that we may need to solve the problem in two slightly different ways06:19
Mithrandirmdz: mirrors mirror all, though06:19
Kamionsmurfix_: language pack CD structures aren't something we've even started to think about yet, and I'm not convinced that they're something we ought to be generating centrally anyway06:20
pittimdz: why, if stable users should be able to download their daily translation updates as well, it affects stable too06:20
mdzwe are not going to force a huge delta increase on mirrors06:20
Kamionbetter to give people an easy way to build an Ubuntu CD for their language06:20
elmomdz: dude, it's not just the development branch.  what about a security update that changes a translation?06:20
mdzthe sky is NOT falling06:20
mdzelmo: they don't06:20
elmobullshit06:20
elmoyou've uploaded new upstream versions before - it's rare, but it happens06:20
Kamionmdz: also security issues exist in translations; consider format string errors06:20
mdzif we have a clusterfuck like that, we put the changed translations into the security update .deb06:21
smurfix_Well, I'm brainstorming on "how could this work" rather than "how do we make .debs to make it work", so ...06:21
elmomdz: and what Replaces: the langpack?06:21
Kamionand if the langpack is a .deb we then run into the non-commutativity of Replaces:06:22
Kamion(muttermutterdpkgbugsmuttermutter)06:22
mdzelmo: uses a different path06:22
Mithrandirversioned conflicts with the broken version of the langpack. (Yes, it's broken, but it works-ish)06:22
elmomdz: and how do apps know which to use?06:22
KamionMithrandir: urgh06:22
KamionMithrandir: yay for removing langpacks while upgrading packages06:22
mdzelmo: they prefer the one provided by the package, if present (generally not)06:23
MithrandirKamion: doesn't apt/dpkg DTRT and upgrade?06:23
smurfix_... or the one timestamped newer.06:23
elmomdz: that technology exists for locales already?06:23
mdzelmo: if it doesn't, it seems completely trivial to implement06:23
KamionMithrandir: not if an updated langpack isn't available yet06:23
MithrandirKamion: then we have to make sure it's available.  (Yes, I know that's not trivial either)06:24
KeybukMithrandir: dpkg does not upgrade on << conflicts.06:24
MithrandirKeybuk: what about apt and dselect?06:24
mdzMithrandir: depends06:25
elmomdz: *shrug* ok then.  so how/when do you propose to transition to the stable model as part of the development process?06:25
mdzdepends on how we approach the development-branch model06:26
elmoI still think you're trying to fit a square into a round hole, 'cos the round hole is familiar and looks pretty, but that's probably just me06:26
pittierr, what is our "stable model"? and why it should be any different from the development one?06:26
mdzpitti: put yourself in end-user mode for a moment and consider the problem06:26
mdz"I want my Ubuntu to speak <language>"06:26
pittimdz: stable versions do not have any fewer updates than unstable ones06:26
elmooh, hang on06:26
elmomdz this doesn't work06:26
mdzwhat's "this"?06:27
elmomdz: one of the reasons for all this crack, is sabdfl's desire to have translation updates out of bound06:27
elmoi.e. in stable, still get translation updates06:27
pittimdz: apt-get install l-s-<language> with a net connection works06:27
elmoso there is no stable model06:27
pittimdz: if you don't have a net connection, make it easy to copy the files from another host which has06:27
pittimdz: but that is orthogonal to the particular solution anyway06:27
=== seb128 [~seb128@ANancy-151-1-32-96.w83-196.abo.wanadoo.fr] has joined #ubuntu-meeting
Mithrandirelmo: push updated translation-debs to warty-updates once a week?06:28
mdzpitti: "you must have Internet access in order to do that, otherwise use this manual process"?06:28
sabdflmdz: what elmo said. but not about the pretty familiar round hole06:28
mdzthat answer won't fly for a lot of deployments06:28
pittimdz: how do you want to download stuff without net?06:28
pittimdz: it doesn't matter if you download debs or po file tarballs06:28
pittimdz: "you" == the language pack which manages the stuff06:28
mdzsabdfl: what's the basis for updating stable with new translations, as opposed to doing the translations as part of the freeze process, as GNOME does?06:29
elmoMithrandir: that has the "mirror admins lynch you" problem all over again06:29
Mithrandirelmo: yes, that might be a slight problem.06:29
sabdflmdz: reality06:29
mdzpitti: there is a big difference between a packaging system which downloads packages, and a package which downloads .po files06:29
Mithrandirpitti: we end up having to reinvent dpkg to grab the translations off $MEDIA06:29
pittimdz: we can include the current language snapshots on the CD too if we want06:29
mdzpitti: you open yourself to a lot of site-specific problems06:30
mdzoutbound access policy, proxy authentication, ...06:30
pittimdz: but we can use debs to hold the actual updates06:30
mdzpitti: and have the package copy them from the CD when it's installed?06:30
mdzthen suddenly you need to implement this in apt06:31
pittimdz: the point is not to avoid debs, but to avoid building and pushing them to our servers regularly06:31
pittimdz: as I said, you can assemble the debs either on the fly or use premade ones06:31
Mithrandirwould having a separate repository for translations be complete crack?06:31
mdzif it's a problem for them to be pushed to the mirrors regularly, then may I make the bold suggestion that we, well, don't push them to the mirrors regularly?06:31
pittimdz: create them on the fly in rosetta?06:31
pittimdz: when an user wants to update his translations?06:32
elmomdz: or how about this for a bold suggestion: don't insist on sticking with a format that's so inflexible we can neither split them up, nor ship them in one big lump, and that way get to ship them as often as we want06:32
mdzpitti: what would the system look like which would decide whether to create a .deb or use an existing one?  which piece of the package management system would it inhabit?06:32
mdzwhat is the proposed alternative transport format?  a few million .po files?06:33
smurfix_mdz: million?06:33
pittimdz: ^ that is actually the most flexible one06:33
pittimdz: the user needs to download exactly the po files he needs, nothing else06:33
elmoper-source or per-binary package lumps of .po files is an alternative too06:33
pittimdz: but still, having deb as transport format is not a bad idea on itself06:33
mdzsmurfix: O(packages*languages)06:34
=== jdz_ [~jdz@69.49.156.181] has joined #ubuntu-meeting
mdzwhich is O(thousands*hundreds) at least06:34
pittimdz: the bad idea is not the deb format, but to include the debs into our normal archive structure06:34
mdzelmo: how exactly is a per-source or per-binary lump of .po files better or worse than per-source or per-binary .debs?06:34
pittimdz: re your first question: the deb would be recreated if the user presses "update language"06:34
pittimdz: of course with network access06:35
elmomdz: by definition, they wouldn't be in the pool or bloating the Packages files06:35
pittimdz: alternatively the user can install an updated deb from somewhere else06:35
mdzelmo: instead, they would be in a separate "pool" with its own index file and bloat that?06:35
smurfix_mdz: end users won't see that many files and mirrors can use more scalable distribution methods if necessary.06:35
elmomdz: if you use .debs, yes :P06:35
mdzelmo: or anything else06:36
pittimdz: if you download po files direcly, there is no need for index files at all06:36
mdzstoring the .po files individually doesn't scale at all06:36
pittimdz: why not?06:36
mdzaggregation is a must06:36
mdzpitti: how will you determine which ones to download?06:36
pittimdz: timestamps?06:36
mdzpitti: you will do thousands and thousands of HTTP HEAD requests?06:37
Keybuksorry guys, I'm going to have to bow out now06:37
mdzor download an index with every .po file in it?06:37
pittimdz: not necessarily06:37
Keybukhave to pack for both London, Mataro and Christmas-week tonight06:37
pittimdz: you can tell rosetta "give me all translations newer than date x"06:37
pittimdz: rosetta would give you a tarball-like answer06:37
pittimdz: the timestamps can be sent out by rosetta as well06:38
pittimdz: so we don't need to rely on clocks06:38
pittimdz: or peek on po files06:38
mvo_pitti: I'm not sure if this will not hit rosetta way too hard if a lot of users use our system06:38
pittimdz: we just store the last timestamp/index mark/whatever of the last update06:38
smurfix_if http head doesn't scale, then don't use it ... sounds simple. :-P06:38
pittimvo_: if users start to download translations daily, it doesn't matter if we hit rosetta or archive06:38
Mithrandirpitti: rosetta isn't mirrored.06:39
mdzsmurfix: the point is that we don't have a choice in whether to aggregate .po files into larger blobs06:39
mdzwhich seems to be the idea that everyone is attacking06:39
pittiMithrandir: then let's mirror it :-)06:39
elmomdz: no, what I'm saying is that putting these in .debs in the archive is not a sane solution, given the requirements06:39
pittimdz: but the aggregation would just be temporary as a download armor06:39
pittimdz: s/armor/transport format/06:40
Mithrandirelmo: do you think putting them somewhere which is not mirrored would be as bad?06:40
pittiMithrandir: if we don't have the bandwidth to support daily translation downloads, then there is no solution at all, I think06:40
Mithrandirif so, the language-pack tool could just be a small shell script which wraps apt similar to d-i's build process.06:41
mdzelmo: how do you propose that we provide them as a portable, CD-friendly, installable, removable chunk of data, then?06:41
pittisame transport format as for download, I think?06:41
Mithrandirpitti: putting plain files on CDs is painful, .debs are easy. :)06:41
pittiall translations later than 006:41
elmomdz: whatever you want dude, I'm not trying to impose a solution on you or pretend to be clever enough to have even close to a good one.  I'm just trying to tell you what is and isn't possible and/or sane from a archive/mirror perspective06:41
pittiMithrandir: so wrap it up in a deb for my sake06:42
mdzelmo: the message I'm getting is that we need something which provides .deb-like semantics without sending mirrors running away screaming06:42
mdzeven if we accept that we need a delta-update mechanism06:43
pittimdz: maybe we should think a bit about this particular problem before continuing06:43
mdzwe need an initial blob that we ship on CDs06:43
mdzpitti: aw, it hasn't even been two hours yet :-)06:43
smurfix_the transport blob on cd would just have a few files you don't want *shrug*06:43
pittimdz: the cd can wrap up rosetta's transport format into a deb06:44
mdzhow do we mirror translations, if not as .debs?06:44
pittimdz: we should rather mirror rosetta's database06:44
smurfix_mdz: a replicated datavase?06:44
KamionMithrandir: .debs not in the main archive are no easier than random files, TBH06:44
mdzsmurfix: say what?06:44
smurfix_database06:44
KamionMithrandir: at least not significantly06:45
MithrandirKamion: they are.06:45
mdzsmurfix: I understood that, but what do you mean?06:45
mdzsmurfix: "run a copy of this application"?06:45
MithrandirKamion: just duplicate the code to do security patches on the CD.06:45
KamionMithrandir: it's pretty trivial to get debian-cd to copy random files onto a CD06:45
KamionMithrandir: I know how to do it06:45
KamionMithrandir: the question is doing anything useful with them at the other end06:45
mdzanything which is not a flat file is not going to be mirrored to an extent even close to the current archive06:45
mdzlet's explore that a bit06:46
mdzso we have some random data on the CD06:46
mdzwell, not so random06:46
mdztranslation data06:46
mdzwhich we need to install on the system06:46
pittimdz: but with any aggregation you will loose the flexibility of individually updating po files06:46
Kamionmdz: I'm not necessarily saying it's a good idea, just that it's not impossible06:46
elmomdz: it doesn't necessarily need to be - the hit on translations is going to be an order of magnitude less than archive for some time tocome, and if we come up with something that doesn't involve databases, we will get mirrors for it in time06:47
Mithrandirpitti: yes, you will.  Some overhead is fine.06:47
pittimdz: the blob could be put into something similar to /var/cache/apt/archives, and l-s-XX could use that instead of downloading06:47
mdzelmo: something that doesn't involve databases == flat file, no/06:47
mdz?06:47
smurfix_mdz: it's one possible solution. Whether it's actually feasible for mirrors to run mysql-or-whatever is a different question, which I'm not qualified to answer.06:47
mdzpitti: so d-i would do this copying?06:47
elmomdz: no, I mean doesn't invovle replicating databases.. 06:47
pittimdz: it probably has06:47
pittimdz: similar to archive-copier06:48
mdzsmurfix: I can say, even in near-complete ignorance of the existing mirrors, that it is not feasible06:48
elmomdz: i.e. anything that can be mirrored via http, ftp and/or rsync06:48
pittimdz: if l-s-XX sees that something is already in the cache, it doesn't need to contact rosetta06:48
mdzelmo: agreed06:48
pittimdz: just an idea...06:48
mdzpitti: what about the case where I have installed the system, and then later want to install an additional language?06:48
pittimdz: without downloading?06:49
=== smurfix_ hides for a bit. real life calls :-/
mdzpitti: right, say I have an Ubuntu DVD which contains translations for many languages06:49
KamionI would like to avoid piling more and more stuff into d-i which we don't have an interface for changing in the real system06:49
pittimdz: same technology as with the initial install, I think, but we need an easy interface for that06:50
Kamiond-i should certainly take care of installing your primary language, but it's not going to solve the whole problem for you06:50
pittiKamion: in fact d-i shouldn't bother about these blobs at all06:50
pittiKamion: d-i should just install l-s-XX and be fine06:50
Kamionpitti: mkay06:50
pittithe lang packs should have the knowledge of getting their blobs06:51
Kamionpitti: but I think you'll find it needs to bother for net-less installs06:51
pittiKamion: at least this seems to be more consistent06:51
Kamionpitti: at least at the archive-copier level or similar06:51
pittiright06:51
mdzpitti: the language pack will not be able to get data from the CD06:51
pittinot?06:51
Kamionpitti: the CD's ejected06:51
mdzI would object to reimplementing apt-cdrom in the language pack06:51
pittimdz: me too06:51
pittimaybe archive-copier should be extended then06:52
pittiI don't have a very good solution without thinking about it for at least some hours06:52
mdzthe reason that I'm hesitant to give up on .debs entirely is that so many of these problems simply go away for .debs06:52
pittiit's all ad-hoc solutions06:52
pittimdz: then let's find a solution which uses debs as transport format06:52
mdzwe even have gnome-app-install as a nice interface for add/remove06:52
pittimdz: use debs as wrapper, but don't publish them onto our normal archive06:53
mdzI'm at a disadvantage, having missed the previous meeting06:53
mdzwas a consensus reached there that .debs really aren't the way to go?06:53
elmono06:53
pittimdz: well, at the previous meeting we argued about extracting po files during build and shipping the debs in our archive06:53
pittimdz: no06:53
mdzif we move away from .debs, we trade the delta-update problem for a bunch of other problems which aren't necessarily less06:53
pittimdz: wouldn't that be cured by allowing debs to be built on the fly?06:54
pittimdz: allowing, not requiring06:54
pittimdz: initial translations would be on the CD as normal debs06:54
mdzpitti: I'm not clear on exactly what the debs-on-the-fly solution would look like, can you describe it?06:54
pittibut upgrades would assemble a new deb based on existing and downloaded translations06:55
pittithis new deb is then installed normally as a new revision of the old one06:55
pittisomething along that line06:55
mdzwhat piece of software would be responsible for building the .debs?06:55
pittithe langpack, Isuppose06:55
mdzthe language pack deb?06:55
pittiit would depend on dpkg-dev06:55
pittiit should be relatively easy to pack together a bunch of po files with a boilerplate control directory06:56
=== Mithrandir gets gentoo-vibes from that.
mdzif you're thinking of invoking dpkg --install in postinst or something like that, I think there are solid technical reasons not to do that06:56
pittimdz: no, not necessarily in postinst06:57
Kamioncan't be done in postinsts06:57
mdzdefinitely can't be done now, and good reasons not to fix it06:57
pittimdz: of course we have to delay that somehow06:57
mdzpitti: dpkg post-hooks or some such?06:57
pittimdz: I don't know instantly06:57
pittimdz: but I feel that there surely is a sane solution for that06:57
pittimdz: btw, creating the deb is not done in the postinst06:58
pittimdz: it is done in sudo update-language-pack or so06:58
pittimdz: and this could install the deb06:58
mdzpitti: it seems to me that you end up solving most of the .deb delta update problem in the process06:58
mdzin which case we should just solve the .deb delta update problem and be done with it06:58
pittimdz: we just have to find a way to call update-lang-pack06:58
pittioutside of langpack postinst, that is06:59
pittibut we solve the mirror problem, the download redundancy and pretty much all other problems AFAICS06:59
pittiactually, when I think about it07:00
mdztrue, the ideal solution for .deb delta updates in apt wouldn't necessarily work for rsync mirrors07:00
pittithe translations don't need to be updated in sync with pacackage updates07:00
pittithe user could click onto a button "update translations" which would just call update-language-...07:00
pittiespecialyl in stable releases this is a fine thing07:01
pittisince you don't normally upgrade pacakges anyway07:01
mdzthis is similar to how the OAV signature stuff works, for example07:01
pitti(modulo security udpates)07:01
pittiProposal: I will think about it once more and post my result to the list07:02
mdzyes, we need to close this meeting07:02
pittiunless anybody has a great new idea07:02
mdzinterest is waning :-)07:02
pittiI'll sum up on the list07:02
mdzlet's give it some more thought and revisit in Mataro07:03
pittioh right, a BOF!07:03
MithrandirBOFs are good.07:03
mdzwe will have translators, etc. there as well07:03
pittiI will work out the current plan for Mataro07:03
pittimdz: right, I already saw the planned bof on the wiki07:03
mdzok07:04
mdzthanks, everyone07:04
mdzmeeting adjourned07:04
pittibyebye07:04
=== lamont_r [~lamont@dsl-140-203.dynamic-dsl.frii.net] has left #ubuntu-meeting ["Leaving"]
=== haggai [~halls@i-83-67-20-196.freedom2surf.net] has left #ubuntu-meeting []
=== pitti [~martin@195.227.105.180] has left #ubuntu-meeting []
=== amu [~amu@195.71.9.198] has left #ubuntu-meeting []
=== seb128 [~seb128@ANancy-151-1-32-96.w83-196.abo.wanadoo.fr] has left #ubuntu-meeting ["I]
=== fabbione [~fabbione@port49.ds1-van.adsl.cybercity.dk] has left #ubuntu-meeting []
=== silbs [~sbsm0084@host217-37-231-28.in-addr.btopenworld.com] has left #ubuntu-meeting []
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #ubuntu-meeting []
=== sivangAFK [~sivang@80.179.93.130.forward.012.net.il] has left #ubuntu-meeting ["Leaving"]
=== jdz_ [~jdz@69.49.156.181] has joined #ubuntu-meeting
=== mdz [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #ubuntu-meeting
=== sabdfl [~mark@host217-37-231-28.in-addr.btopenworld.com] has joined #ubuntu-meeting
=== Mithrandir [~tfheen@vawad.err.no] has joined #ubuntu-meeting
=== doko [doko@dsl-082-082-064-230.arcor-ip.net] has joined #ubuntu-meeting
=== elmo_away [~james@83.216.141.215] has joined #ubuntu-meeting
=== mjg59 [mjg59@cavan.codon.org.uk] has joined #ubuntu-meeting
=== sladen [~paul@starsky.19inch.net] has joined #ubuntu-meeting
=== smurfix [~smurf@smurfix.developer.debian] has joined #ubuntu-meeting
=== boglot [~logbot@mentors.workaround.org] has joined #ubuntu-meeting
=== KragenSitaker [~kragen@66-193-87-113.gen.twtelecom.net] has joined #ubuntu-meeting
=== reformed [~benl@junkybox.pacific.net.au] has joined #ubuntu-meeting
=== dieman [~dieman@3.14159265358979323846264338327950288419716939937510582097.org] has joined #ubuntu-meeting
=== Kamion [~cjwatson@host81-153-126-219.range81-153.btcentralplus.com] has joined #ubuntu-meeting
=== mako [mako@micha.hampshire.edu] has joined #ubuntu-meeting
=== asw [~Alexander@node-423a728a.bos.onnet.us.uu.net] has joined #ubuntu-meeting
=== rabidbt [~rabidbt@66.45.74.16] has joined #ubuntu-meeting

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