=== dasenjo [~dasenjo@] has left #ubuntu-devel []
(lamont_r/#ubuntu-devel) network move. back on in a bit.12:27
=== mirak [~mirak@AAubervilliers-152-1-4-133.w82-121.abo.wanadoo.fr] has joined #ubuntu-devel
=== nasdaq4088 [sdfsd@tkp-ip-nas-1-p224.telkom-ipnet.co.za] has joined #ubuntu-devel
nasdaq4088is there anyone here who has written visual basic applications?01:21
(sladen/#ubuntu-devel) nasdaq4088: have you tried #basic ?01:23
nasdaq4088your one fucking funny guy01:24
=== wasabi_ [~wasabi@c-24-1-67-127.client.comcast.net] has joined #ubuntu-devel
(sladen/#ubuntu-devel) the correct gramma would be "you're"01:26
(sladen/#ubuntu-devel) r01:26
=== _rene__ [~rene@dsl-082-082-060-135.arcor-ip.net] has joined #ubuntu-devel
=== _rene__ is now known as _rene_
=== robertj [~robertj@66-188-77-153.cpe.ga.charter.com] has joined #ubuntu-devel
=== jdz [~jdz@] has joined #ubuntu-devel
=== Riddell [jr@jriddell.kde] has joined #ubuntu-devel
=== herzi [~herzi@c200053.adsl.hansenet.de] has left #ubuntu-devel []
=== lamont_p [~upirc@netblock-66-159-225-126.dslextreme.com] has joined #ubuntu-devel
=== jvw [jeroen@233pc233.sshunet.nl] has joined #ubuntu-devel
=== bitserf [~ljb@222-152-4-93.jetstream.xtra.co.nz] has joined #ubuntu-devel
=== wasabi_ [~wasabi@c-24-1-67-127.client.comcast.net] has joined #ubuntu-devel
=== lamont_r [~lamont@c-24-6-169-124.client.comcast.net] has joined #ubuntu-devel
=== cenerentola [~cenerento@] has joined #ubuntu-devel
=== cenerentola [~cenerento@] has joined #ubuntu-devel
=== gicmo_ [~gicmo@pD9EE16F5.dip.t-dialin.net] has joined #ubuntu-devel
=== martink [~martin@pD9EB24D3.dip0.t-ipconnect.de] has joined #ubuntu-devel
=== Fwiffo [~user@] has joined #ubuntu-devel
=== daniels [~daniels@george.kkhotels.co.uk] has joined #ubuntu-devel
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #ubuntu-devel
=== cenerentola [~cenerento@] has joined #ubuntu-devel
=== Keybuk [scott@descent.netsplit.com] has joined #ubuntu-devel
=== daniels_ [~daniels@george.kkhotels.co.uk] has joined #ubuntu-devel
=== boglot [~logbot@mentors.workaround.org] has joined #ubuntu-devel
=== Fwiffo [~user@] has joined #ubuntu-devel
=== nmf [~nmf@adsl-b4-66-254.telepac.pt] has joined #ubuntu-devel
=== cenerentola [~cenerento@] has joined #ubuntu-devel
=== alerios [~alerios@] has joined #ubuntu-devel
=== Mitario [~michiel@sikkes.xs4all.nl] has joined #ubuntu-devel
=== ogra [~ogra@pD95F8E0B.dip.t-dialin.net] has joined #ubuntu-devel
ograelmo: are you around ?03:58
=== seb128 [~seb128@ANancy-151-1-8-117.w83-194.abo.wanadoo.fr] has joined #ubuntu-devel
KeybukA thought for all those doing merges ... http://www.lag.net/random/leisure-c.jpg04:03
lamont_rKeybuk: aint that the truth.04:04
lamont_rin a few minutes, I'll be heading home.  Which is to say, offline for a day or 2...04:05
lamont_rtime to get ready to leave.04:05
=== skyrider_univer [~skyrider@kid.stu.cn.ua] has joined #ubuntu-devel
=== lemsx1 [~lemsx1@p78-56.acedsl.com] has joined #ubuntu-devel
=== daniels [~daniels@george.kkhotels.co.uk] has joined #ubuntu-devel
=== pitti [~martin@] has joined #ubuntu-devel
=== mirak [~mirak@AAubervilliers-152-1-4-133.w82-121.abo.wanadoo.fr] has joined #ubuntu-devel
=== robertj_ [~robertj@66-188-77-153.cpe.ga.charter.com] has joined #ubuntu-devel
=== doko [doko@dsl-082-082-071-172.arcor-ip.net] has joined #ubuntu-devel
lamont_rright.  off to home.  later04:34
=== mirak [~mirak@AAubervilliers-152-1-4-133.w82-121.abo.wanadoo.fr] has joined #ubuntu-devel
=== cenerentola [~cenerento@] has joined #ubuntu-devel
=== mirak [~mirak@AAubervilliers-152-1-4-133.w82-121.abo.wanadoo.fr] has joined #ubuntu-devel
mirakhi 04:53
mirakI have all kde menu entries in dupes04:53
mirakhow can I fix that ?04:53
miraka full kde reinstall ?04:53
=== bitserf [~ljb@222-152-4-93.jetstream.xtra.co.nz] has joined #ubuntu-devel
mirakeven in the kde control center04:54
mirakevery menu is in double04:54
Riddellmirak: it may be because ubuntu has KDE libs 3.3 but KDE base 3.204:58
mirakah ?04:59
mirakah sorry wrong channel04:59
mirakI though I was in ~kde04:59
mirakI use ubuntu indeed, so thanks :)05:00
mirakRiddell: is there some command that rebuild the menu from de .desktop files ?05:01
Riddellmirak: kbuildsycocoa05:01
mirakRiddell: where is the orininal database so I could erase it ?05:06
(amu/#ubuntu-devel) mirak: link /usr/share/config /etc/kde3 05:10
(amu/#ubuntu-devel) it will solve the problem with your double menus05:10
mirakin fact the problem was a .back folder in /usr/share/applications05:10
mirakI don't remember if it's me who crated it05:11
mirakmaybe yes05:11
(amu/#ubuntu-devel) aaahh those "menus" ;) i thought to the window-menu's *g* 05:18
(amu/#ubuntu-devel) btw. someone build libs&base against xorg ?05:20
=== wasabi [~wasabi@c-24-1-67-127.client.comcast.net] has joined #ubuntu-devel
wasabiHas anybody considered using binary diffs for apt upgrades?05:25
=== sivang [~sivang@] has joined #ubuntu-devel
(Kamion/#ubuntu-devel) wasabi: there have been a number of discussions about it but it's a very hard problem; people don't generally upgrade from one version to the next in sequence, and they may not have the old packages around05:38
wasabiWell, I'd say in Warty they most likely do.05:38
wasabiBut yeah, I see your point.05:38
wasabiI'm wondering how much of a benefit it would have, for instance for openoffice.05:39
wasabiWhich is a 40mb .deb05:39
Keybukgiven the openoffice build process, it'd probably be a 40mb xdelta as well :-/05:41
wasabihow so?05:41
Keybukeverything slightly changes05:43
KeybukELF isn't great for deltaing at the best of times05:44
wasabiWell, the binaries aren't the biggest parts either05:45
Keybukno, I was just thinking, there's a huge amount of data in that .deb as well05:45
wasabixdelta doesn't do dir trees?05:45
Keybukwasabi: tar, tar, xdelta05:45
wasabihmm. yeah.05:46
wasabiSo, somebody is working on deb as .tar.gz support, I heard.05:46
wasabiTHat'd solve that.05:46
Keybuk"deb as .tar.gz" ?05:46
wasabiInstead of whatever format they are in now.05:46
Keybuka deb is a .tar.gz05:46
wasabieh? what'd I read then05:47
Keybuksomebody who'd found the crackpile, by the sounds of it :p05:47
wasabiahh, support for bzip205:47
wasabi Support for bzip2-compressed .debs05:48
wasabiCode in dpkg mainline 05:48
wasabiOops. sorry.05:48
Keybukthat would be me :)05:48
wasabiDidn't expect the lines.05:48
wasabioh. ;)05:48
(Mithrandir/#ubuntu-devel) wasabi: Keybuk is Scott James Remnant. :)05:48
wasabilooky there.05:48
Keybukcould be worse, trey got as far as arguing quite heavily with me about the deb format before someone pointed out that I'm the dpkg maintainer :o)05:49
(Mithrandir/#ubuntu-devel) Keybuk: it's fun, isn't it? :)05:50
Keybuknot sure whether bzip2 would help openoffice or not05:50
Keybukbzip2 generally performs better on plain text than gzip05:50
Keybukbut usually no better on binary, at a lot higher memory and CPU cost05:51
wasabiSo, what is a .deb?05:53
Keybukan ar file containing a text file and two tar files05:54
Keybukfirst tar file is all the meta-data, second are the contents05:54
wasabiHmm. Makes it hard to diff.05:54
Keybuk-rw-r--r--    1 scott    scott         40M 2004-11-20 16:51 data.tar.bz205:54
Keybuk-rw-r--r--    1 scott    scott         42M 2004-11-20 16:52 data.tar.gz05:54
wasabiAnd the contents tar file is gzipped?05:55
Keybukboth are gzipped05:55
Keybukno real saving in bzipping openoffice05:55
wasabiI'm trying to find the savings by diffing it05:55
Keybukwell, if you take openoffice.org-bin_1.1.2-2ubuntu6 -> openoffice.org-bin_1.1.2dfsg1-2ubuntu2 as a release upgrade ...05:56
Keybuk-rw-rw-r--    1 scott    scott         29M 2004-11-20 16:56 test.xdelta05:56
Keybukso it's not even half the size05:57
wasabidiffing the data.tar.gz I assume?05:57
Keybukuncompressed data.tar05:57
wasabiI did xserver-xorg, because I happened to have two versions of it, ubuntu1 and 205:58
wasabiOrignial's about 5.3 MB, diff is 348k05:58
KeybukI wouldn't generally expect a huge difference if it were just an ubuntu patch change05:58
Keybukthose are usually changes to things like the admin scripts05:58
Keybukbut in a release -> release situation, you're almost looking at one or more upstream version changes05:59
Keybukand then the benefit vanishes05:59
wasabiEven if it's a new version, similarities like images and stuff would make a big diff imo05:59
wasabiWell, there is always an option of only doing a diff if it matters.05:59
Keybukthere's more benefit for splitting those into a separate source package06:00
wasabiFor a dialup user, 5MB to 380k is a major diff06:00
Keybuksure, but dialup users probably won't be following the development cycle anyway06:00
Keybukand if they are, they won't be following fast enough to get every releas06:00
Keybukso it becomes impossible to have a set of deltas that they'll hit06:00
wasabiI'd be curious to actually stick a diff generator in katie or some such on a real archive and see what actually happens.06:02
Keybukwhat do you diff from/to ?06:02
wasabilast version to current version.06:02
Keybukit's very rare that anybody will get every single version06:02
Keybukthey're more likely to skip one or more06:03
wasabiSo they have 3 patches.06:03
wasabiif size of 3 patches < size of orignal package, delete patches.06:03
wasabierr, >06:03
Keybukthis also still assumes they have the original .deb on the drive, of course06:04
wasabiYes, it does.06:04
Keybukwhich isn't unreasonable, as APT does tend to keep them around until they're out-dated06:05
wasabiI see a little check in apt: if current version on drive, search for patch from current version.06:05
wasabirepeat until there are no more patches.06:05
wasabibeyond that it's up to the archive scripts to determine if a patch is appropiate or not, and if not, it doesn't make one.06:06
Keybukif you've got some time, it'd certainly be interesting to see it implemented06:07
KeybukI don't know whether the cost of generating the deltas would be huge or not06:08
wasabiHere's a good example.06:08
wasabiEvolution 2.0 to evo 2.1 in hoary06:08
wasabipatch is 3.8M06:08
wasabii dont know if that's worth it. =/06:08
wasabiit is < 1/206:08
Keybukhow big is the evolution binary?06:08
Keybukthere's also a worry about doubling the amount of mirror space the archive takes06:09
Keybukif we're talking about Debian, which would benefit hugely from patching06:09
wasabiWell, im talking only about Ubuntu at this point. ;)06:09
Keybukbasically taking a 120GB archive and turning it into a 240GB archive :p06:10
wasabiLaying out the file names in the archive would be interesting too06:10
wasabiNot sure how to go about that.06:10
Keybukhow do you mean?06:10
wasabi /pool/b/blah/blah_oldversion.diff?06:10
wasabiOr add it to the Package file somehow?06:11
Keybukyou'd need a version index for each package, to make sure you could *get* all of the deltas06:11
wasabithere's nothing saying what version that patch patches too.06:11
wasabiWhich doesn't matter.06:11
wasabiBut, it is a bit annoying06:12
Keybukotherwise you could miss an important one, because a mirror ran out of disk, or hadn't sync'd it yet06:12
Keybuksorry, that second $source should be $binary obviously, duh :p06:13
wasabiHmm. Apt takes the file in the archive. Takes the version on it.06:13
wasabiSay it's 1.0.006:13
wasabiFinds 1.0.0_i386.debdelta06:13
wasabiwhich always upgrades to the "next" version.06:13
wasabiDon't know what the next version is.06:13
wasabiPerhaps .debdelta itself becomes an ar, with a control file.06:13
KeybukI'd do it the other way around, the version indicates the version you get -- because that's what you expect from FTP sites that supply patches06:14
wasabiYeah, but then you'd need to do version calcs to find the next version from the current.06:14
wasabiOr you'd need to ls the directory.06:14
Keybukcan't ls an http directory06:14
daniels.listing :P06:14
Keybukyou could do a GNU-style06:14
KeybukFile: libtool-1.5.8-1.5.10.diff.gz  89 KB  19/09/04  14:00:0006:15
KeybukFile: libtool-1.5.8-1.5.10.diff.gz.sig 1 KB 19/09/04 14:00:0006:15
KeybukFile: libtool-1.5.8-1.5.10.xdelta 24 KB 19/09/04 13:59:0006:15
KeybukFile: libtool-1.5.8-1.5.10.xdelta.sig 1 KB 19/09/04 13:59:0006:15
KeybukFile: libtool-1.5.8.tar.gz 2620 KB 07/08/04 13:57:0006:15
KeybukFile: libtool-1.5.8.tar.gz.sig 1 KB 07/08/04 13:57:0006:15
wasabiThere is nothing recording the progression from version 1.0.0 to 1.0.1 to 1.1.006:15
KeybukFile: 06:15
wasabiSo which file do you grab?06:15
wasabiYou don't know waht the new is.06:15
Keybukthough you'd still need to unpack the debdelta to make sure it wasn't lying about it's filenames (neither dpkg nor apt trust them, currently)06:16
Keybukso again, you're back to putting the information in the Packages file06:16
Keybukthen the Packages churn bites06:16
wasabiUser currently has lintool_1.5.806:16
wasabiIt is upgrading to 1.5.10 ultimatly06:16
wasabithere is also a 1.5.9 patch06:16
Keybukin fact, you'd need the Packages file information *anyway* to make sure you were getting a delta that applies to your branch06:17
Keybukotherwise you could accidentally pick up a delta specific to testing or experimental06:17
wasabidoesn't solve my dilema though06:18
Keybukso it now takes you06:18
Keybuka) three times as long to download the Packages file06:18
Keybukb) maybe half the time to download the packages themselves06:18
Keybukc) a small eon to apply all the deltas to put together the new .deb and install it06:18
wasabi3 times as long?06:18
wasabiwon't argue with c.06:19
Keybukwasabi: assuming 3-4 deltas per binary, with md5sum, size, previous and next version info -- roughly triples the size of the Packages file06:19
wasabiHmm. I wouldn't say triple!06:20
wasabiJust 2 additional lines to each Package: stanze06:20
Keybuk  md5sum size previous next filename06:20
Keybuk  md5sum size previous next filename06:20
Keybuk  md5sum size previous next filename06:20
Keybukassuming you keep the similar format to the Files: line06:20
wasabiDelta-Next: md5sum size filename?06:20
wasabiYou're format is more righter. ;)06:21
wasabiDeltas:\  md5sum size fromversion filename06:21
Keybukyou can only have one entry per binary, and one occurance of each field06:21
wasabiI might say that instead.06:21
wasabiAnd apt grabs the target version and finds a path to it's current version through the fromversions.06:22
Keybukyeah, you could work out if it were possible at Packages time, and download the appropriate things then06:22
wasabiThat opens up some interseting optimization ideas that nobdoyw ould probably use.06:22
wasabiHave multiple patches to get you from various versions to the current.06:23
wasabiProgressive or not.06:23
wasabiOr not. You could have one delta from warty to hoary06:23
wasabiand another between h oary versions, for large packages only.06:23
Keybukindeed, it allows for big-jump upgrade deltas if they're smaller06:24
=== mirak [~mirak@AAubervilliers-152-1-4-133.w82-121.abo.wanadoo.fr] has joined #ubuntu-devel
Keybukit'd be interesting to find out where it becomes cheaper to just download the new deb than to patch up the old one06:29
wasabiI've never popped open the apt source code.06:30
wasabiIt C?06:30
gicmo_I think C++06:30
gicmo_ahh damn I am slow06:30
wasabiOh, so it06:30
wasabis probably all OO06:30
=== wasabi guessing he'll find a acquireVersionOrSomething function.
Keybukit's a harder problem than the "is it faster to download uncompressed than compressed and decompress it" because you've actually got to decompress the original deb, then download and decompress each delta, then apply them06:31
KeybukI guess you should recompress it again, so you can use it next time without throwing it away06:31
wasabiYou would just be acquiring the cache/apt/archives files differently.06:32
wasabiAnd the same methodology to clear that folder would be in effect.06:32
wasabiWhatever it is.06:32
KeybukI'd finger-in-the-air that there's a cut off point around half the download time of the original deb06:32
wasabiI'd say if you're on dialup, any time saved is a blessing.06:33
danielsi'd agree with wasabi06:33
wasabiBut, it would just have to be balanced based on archive size06:33
Keybuksure, but you don't want to shoot the people who can pull 100Mbps from the archive :p06:33
Keybukinstead of a 2s download, they get 2m of patching06:33
wasabiOh sure.06:33
wasabiTHere would be options.06:34
wasabiI don't know how those options would be determined automatically.06:34
wasabibut there would be options. ;)06:34
Keybukremember how long it took to download the Packages file, and its size to determine archive speed -- then use the delta sizes and deb sizes in the Packages file to calculate whether there's a benefit in getting the deltas instead06:35
wasabiYeah. THe sizes are listed. Take all the possible paths, find the shortest one by size.06:36
wasabiwhere direct upgrades are a possible path06:36
wasabiI wonder what the average patching time is06:36
KeybukAPT's C++ is pretty readable06:37
Keybukit's more of a "struct and some functions that use it" kind of OO06:37
wasabiOh actually.06:37
wasabiMy evolution measurement was way off.06:37
Keybukrather than a Java/Smalltalk nut's crack06:37
wasabiIt's 28M to 3M06:38
wasabiThat's massive.06:38
wasabiAhh. I see. 28M is the data.tar, 9MB is the data.tar.gz.06:38
=== eruin [~eruin@213-145-179-140.dd.nextgentel.com] has joined #ubuntu-devel
wasabithe patch is 3.8M, so it isn't that good.06:39
wasabiAre the entries in the data.tar sorted?06:39
Keybukexecutables are a bitch to delta, because the compiler will insist on moving damned functions around in memory :p06:40
=== eruin [~eruin@213-145-179-140.dd.nextgentel.com] has joined #ubuntu-devel
Keybukwasabi: not generally06:40
wasabiThat might help massively06:40
KeybukI think xdelta copes with that though06:40
Keybukit's designed to diff tar files, after all06:40
Keybuk  if (!(c1= m_fork())) {06:42
Keybuk    m_dup2(p1[0] ,0); close(p1[0] ); close(p1[1] );06:42
Keybuk    m_dup2(p2[1] ,1); close(p2[0] ); close(p2[1] );06:42
Keybuk    if (chdir(directory)) ohshite(_("failed to chdir to `%.255s'"),directory);06:42
Keybuk    execlp(TAR,"tar","-cf", "-", "-T", "-", "--null", "--no-recursion", (char*)0);06:42
Keybuk    ohshite(_("failed to exec tar -cf"));06:42
Keybuk  }06:42
danielsheh, ohsite()06:43
danielser, ohshite()06:43
Keybuk    execlp(FIND,"find",".","-path","./" BUILDCONTROLDIR,"-prune","-o","-print0",06:43
Keybukand that to give the file list06:43
Keybukso there's no sorting, other than it moves symlinks to the end for shits and giggles06:43
Keybukdaniels: ohshit() is an exception, ohshite() is an exception which errno is useful for :p06:45
danielsheh :)06:45
wasabiThis could also be made efficient... threaded.06:45
eruinI like your style ;)06:45
wasabiSay you have 4 patches to reach a new version.06:45
Keybukheh, that's iwj-C, not mine!06:46
wasabiIT could be applying the first while it downloads the 2nd06:46
=== BradB [~bradb@modemcable202.193-131-66.mc.videotron.ca] has joined #ubuntu-devel
Keybukdaniels: ya know, I've never noticed before, but that's doing a longjmp inside a child process06:47
Keybukso it's the child that bungees into error handling, instead of the parent06:47
(Mithrandir/#ubuntu-devel) Keybuk: it's dpkg, what do you expect?06:48
Keybukand I'm only noticing, because I've hit the same bug in Python -- where you end up handling the exception in the child which carries on its merry way while the parent is waiting for it to finish06:48
danielsKeybuk: heh!  that's part of dpkg, is it?06:48
danielserk, ww06:48
Keybukthis explains at least three open bugs on dpkg :p06:48
(pasc/#ubuntu-devel) but since daniel posted it here... if someone have some comments on how the indices look on that page, I'd be interested to know ;-)06:50
(pasc/#ubuntu-devel) to know what people think that is. I still haven't modified the actual message views, but that will come later06:50
wasabiI just typed up all the stuff we talked about in the wiki06:54
wasabihit submit, and it didn't work. =( and Epiphany lost it06:54
wasabiand then the wiki went *beep beep beep* and my page was gone. +906:59
eruinwhy oh why does openoffice.org supply a so-called "installer" archive that just contains rpms07:04
=== Kyaneos [~Kyaneos@80-29-41-238.adsl.nuria.telefonica-data.net] has joined #ubuntu-devel
=== __randy__ [~randy@sclab-25-433.sclab.clarkson.edu] has joined #ubuntu-devel
=== seb128_ [~seb128@ANancy-151-1-8-184.w83-194.abo.wanadoo.fr] has joined #ubuntu-devel
=== Fwiffo_ [~user@] has joined #ubuntu-devel
=== zul [~chuck@zul.developer.gentoo] has joined #ubuntu-devel
=== Fwiffo__ [~user@] has joined #ubuntu-devel
=== ChrisH [~chaas@gw.workaround.org] has joined #ubuntu-devel
wasabiKeybuk, https://www.ubuntulinux.org/wiki/APTPackageDeltas   I have no experience hacking in dpkg or apt, so im looking around now. Maybe i'll come up with something.07:33
=== steve2 [~steve@static24-72-72-185.regina.accesscomm.ca] has joined #ubuntu-devel
Keybukwasabi: has some major vanishing-off-the-right-hand-side issues07:41
wasabiplain text.07:41
wasabii dont' know any of the listed wiki languages.07:41
Keybuksome newlines at 70-column would be great :p07:42
wasabiI'd just assume figure out MoinMoin or something.07:42
Keybukthere's no scrollbar, it just cuts07:42
wasabii have scrollbar07:42
Keybukhmm, I just have a vertical one07:42
wasabiscroll down?07:43
Keybukthere's a scroll page in the *page*07:43
Keybukgee, that's useful07:43
Keybukso I scroll down, scroll right, then scroll up to find I've scrolled to far07:43
KeybukI swear07:43
Keybukif I ever meet the designer of this new wiki, there will be words07:43
Keybukand then there will be death07:43
wasabiit's pretty slow too.07:43
Keybukit's a total chocolate teapot07:44
Keybukit might fit with everything else in the chocolate store07:44
Keybukbut you can't make tea in it.07:44
ograKeybuk: who is responsible for the old wiki still being online ?07:44
Keybukogra: no idea, someone who I shall be friends with, I suspect.  is it?07:44
ograthere is no pointer to the new one.....07:45
danielsi swear, twiki is better than zwiki07:45
=== Keybuk sobs for moin
KeybukI like moin07:45
Keybukyou can *gasp* use it07:45
Keybukso, I can either make my font size too small to read07:45
danielsKeybuk: font size> in bugzilla?07:46
Keybukor I can select and drag right slowly until it scrolls how far I want07:46
danielsoh, right07:46
=== x4m [~max@166.158-200-80.adsl.skynet.be] has joined #ubuntu-devel
Keybukwasabi: hmm, your text seems to only allow for single deltas07:47
Keybuk"from this source version to the new version"07:47
wasabiyou can have multiple lines listed.07:48
Keybukso there's no way to download three or four consecutive deltas and put them together ?07:48
wasabiJust didn't make a note of it07:48
wasabiOh, sure, you just have to trace through all the Packages entries07:48
Keybukour archive churn is really too fast to expect people to only be taking one version jump07:48
wasabiokay, I can get 1.0.1 to 1.0.207:48
Keybukthere's only one Packages entry for a given Package07:48
wasabihow how can I get 1.0.1 from 1.0.007:48
wasabiis there?07:48
Keybukbecause there's only one version of that Package in the archive07:49
wasabiI thought there were multiple with different versions07:49
Keybuk:-o no!  what would be the point?  APT would just pick the latest one07:49
wasabiWell... ;)07:49
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #ubuntu-devel
wasabiJust FYI!07:49
Keybukthere can be different versions in different Packages files07:49
wasabiThat's unfortunate. THe way I imagined it would be pretty slick07:49
Keybukbut you certainly can't have more than one in the same file ... it breaks an assumption07:49
Keybukyou'd need to keep the .debs around as well07:50
Keybukand then your archive gets biiig and faaat07:50
wasabiyeah, old .deb's are kept around.07:50
wasabiTo an extent.07:50
Keybukand people who mirror you say "fuck dial-up"07:50
wasabiI have two versions of xorg for instance.07:50
=== Fwiffo__ [~user@] has joined #ubuntu-devel
wasabiWell. Then I just add two versions into the Delta's section07:51
wasabino biggy, just not as cool as I thought it was. ;)07:51
Keybukand then you work out it's cheaper to send dial-up users free CDs than expect them to download an update07:51
Keybukbecause the hardware and bandwidth upgrade to support all that extra weight costs more than shipping half a million CDs07:51
=== sivang joins Keybuk sobbing on moin.
wasabiProbably makes the code easier anyways.07:53
Keybukwasabi: also don't use ".debdiff", there's already a tool called that07:53
Keybuk.debpatch or .debdelta is fine though07:53
wasabioh. That was your example. ;)07:53
Keybukno, I used .debdelta :p07:53
wasabidamn. foiled again.07:54
Keybukmention the patches are against the uncompressed control.tar.gz and data.tar{,.gz,.bz2,.Z,*}07:54
wasabiOh here's another question.07:54
wasabithe data.tar.gz, is there a standard compression level?07:55
Keybuk-z9 by default07:55
wasabiCan that be altered by the packager?07:55
Keybukif they like07:55
wasabiIf so, it makes generating exact copies hard.07:55
Keybukdeb-deb -z307:55
wasabiSince the repackaging has to know what it should be.07:55
wasabiOr the checksums don't match07:55
Keybukyeah, you're going to need some "DON'T LOOK AT THAT CHECKSUM" fiddling anyway :p07:56
wasabiHmm. Was hoping there was some way around that. ;)07:56
Keybukwell, gzip is theoretically deterministic07:56
Keybukso if you put the .deb back together it should match the md5sum of the deb you would've downloaded anyway07:56
wasabiExcept `ar' stores dates.07:57
Keybukbut, as you say, you'd need to take into account the -z and -Z flags used when putting together the .deb07:57
wasabior does it. i dunno.07:57
Keybukyeah it does07:58
wasabiwell the entire thing falls apart then.07:58
wasabiunless i ignore checksums, which I really dont want to do07:58
wasabiEh, actually. If the checksums of the .debdeltas are stored in the Packages file, it's not a security issue.07:59
Keybukhmm, why not?07:59
wasabiWell, my concern was that if a bad .deb is generated from this process, then you'd have to skip checksums... and by skipping checksums there would be a way for a evil archive to sneak something in.08:00
wasabiBut if the Packages file hsa the sums of hte .debdeltas, then there's no way to sneak anything in.08:00
Keybukyeah ther eis08:00
Keybukyou craft a Packages and set of xdeltas to attack a known version of a .deb08:01
Keybukbut the checksum would still match, I guess *shrug*08:01
KeybukI'm not sure whether APT re-checks the checksums of things in its cache before installing or not08:02
wasabiSomebody (maybe you!) is working on signing apt I think.08:02
Keybukthat was Progeny08:02
Keybukmdz maintains Debian's APT, and has a branch that includes that stuff08:03
wasabiWell, it's no more a vuln than it is currently.08:03
Keybukyou could compromise someone's machine, replacing something in /var/cache/apt/archives with something malicious08:03
wasabiYou could do that now.08:03
wasabiIf you've done that, you mine as well just hack the machine while you were in it.08:04
KeybukI don't think you can with Secure-APT08:04
Keybukit verifies the Packages file and the Packages when it installs them08:04
Keybuknot just when it downloads them08:04
Keybuk(I think)08:04
wasabiI think the secure apt idea is just to verify downloads.08:04
wasabiI think it's just a matter of signing Packages.gz08:04
Keybuklargely, yeah08:04
wasabi/var/cache/apt is root owned. If somebody is in that, they have owned the system already.08:04
wasabiI think ignoring checksums of assembled .deb's is pretty decent.08:07
wasabiNo longer worried about it08:07
wasabiSo I guess some of this has to be in Dpkg, and some of it in Apt.08:08
wasabiDpkg needs all the proper stuff to take a .deb and a .debdelta and produce a new .deb08:08
wasabiANd apt needs to handle the resolution of all that and pass it to dpkg.08:08
=== RubenV [~lambda1@83-134-126-137.Leuven.GoPlus.FastDSL.tiscali.be] has joined #ubuntu-devel
RubenVHi, i'm trying to build a .deb08:14
=== Fwiffo__ [~user@] has joined #ubuntu-devel
RubenVhowever, when issuing dpkg-buildpackage -rfakeroot08:14
RubenVi get a permission denied error08:14
RubenV fakeroot debian/rules clean08:14
RubenV/usr/bin/fakeroot: line 150: debian/rules: Permission denied08:14
danielschmod +x debian/rules08:15
danielseither that, or use debuild08:15
RubenVoh, forgot08:15
RubenVlet's see if this get's me further08:15
Keybukwasabi: I'd just make it a companion tool, rather than changing dpkg08:18
Keybukdpkg-delta and dpkg-patch for example08:18
Keybukanyway, I'm going to go and satisfy my mass-entertainment needs by watching Simon Cowell be hilariously mean to people08:21
=== robtaylor_ [~robtaylor@dsl-217-155-139-146.zen.co.uk] has joined #ubuntu-devel
RubenVdoesn't dpkg-buildpackage call autoconf automatically?08:21
KeybukRubenV: no.08:21
RubenV(never done this before)08:21
robtaylor_mjg59: alive?#08:21
Keybuknot unless the package's debian/rules calls autoconf08:21
Keybukwhich is a silly thing to do anyway08:21
wasabidpkg-buildpackage does nothing except try to reach the proper targets in debian/rules.08:21
Keybukif you ever need to run autoconf on source you downloaded (rather than got from CVS) you need to hurt someone08:22
RubenVit's a cvs checkout08:22
RubenVautoconf gives me horrible errors though08:22
=== hazmat [~hazmat@register.rice.edu] has joined #ubuntu-devel
Keybukautoreconf -i08:22
=== seb128 [~seb128@ANancy-151-1-26-109.w83-194.abo.wanadoo.fr] has joined #ubuntu-devel
RubenVsomething is horribly wrong with this source tree :)08:25
wasabihmm. this leaves off the possibility of using patches to rename packages. ;)08:48
=== jdz_ [~jdz@] has joined #ubuntu-devel
wasabiSo I wrote a script to generate a .debdelta from two .debs09:07
wasabiEven small packages are getting significant savings.09:07
RubenVwasabi: i was thinking about the same thing a couple of days ago09:09
RubenVwhile I was slurping OO.o over a slow line09:09
wasabithink about it there.09:09
RubenVthere should be a way to delta pkgs :)09:09
wasabiyeah. working on that.09:09
RubenVgreat idea09:09
RubenVAlso a Packages.bz2 delta could be usefull09:10
RubenVone/day or so09:10
wasabithat would be hard to keep track of09:10
wasabisince Packages does not have any sort of version indicator.09:11
=== cenerentola [~cenerento@] has joined #ubuntu-devel
(haggai/#ubuntu-devel) eruin: were you looking for binaries of openoffice 1.9.x ?09:32
=== pitti [~martin@] has joined #ubuntu-devel
=== Fwiffo__ [~user@] has joined #ubuntu-devel
(smurfix/#ubuntu-devel) wasabi: you could use the md5sum of the Packages file as the "version number".09:44
=== trinity [~trinity@] has joined #ubuntu-devel
=== phlax [~trinity@] has joined #ubuntu-devel
phlaxhi there - trying to use ldap auth - when I add ldap to nssswitch i can no longer get rootly powers - anyone got any ideas?10:01
=== mxpxpod [~bryan@mxpxpod.user] has joined #ubuntu-devel
mxpxpodchrisa: ping10:18
=== ggi [~ggi@ggi.base.supporter.pdpc] has joined #ubuntu-devel
ggiIs the association of every sort of text file with OpenOffice.org intentional?10:37
=== Kyaneos [~Kyaneos@80-29-41-238.adsl.nuria.telefonica-data.net] has joined #ubuntu-devel
Keybukwasabi: you can't technically rename a package anyway, so that's not exactly a problem :p10:47
wasabiI've got two scripts writte10:47
wasabidpkg-gendelta, and dpkg-delta10:48
wasabione creates a delta given two packages, the other takes an original package and a .debdelta and produces the new package.10:48
wasabiBoth work.10:48
wasabijust bash scripts though. :010:48
Keybukheh, all the best things are :p10:49
wasabiSO in theory it works.10:50
wasabiTHe dpkg part at least. ;)10:50
wasabiAnd it produces a valid .deb that installs. Yay.10:51
wasabiepiphany goes from 2.8MB to 774k.10:52
wasabithat's a pretty big savings.10:52
=== mxpxpod [~bryan@mxpxpod.user] has joined #ubuntu-devel
wasabimozilla-firefox goes from 9.0M to 216k10:53
wasabijust this one little -4 ubuntu change10:53
sivangwasabi : have you used python to do this?10:54
sivangwasabi : ah nice, could you send me the scripts?10:55
sivangwasabi : darn, my firewall probably blocking this..strange, I added the IRC helper module to netfilter..10:57
wasabiactually i probably can't sand that.10:57
wasabiheh forgot where i was10:57
sivangwasabi : mail would be also fine :)10:57
=== ggi [~ggi@ggi.base.supporter.pdpc] has left #ubuntu-devel ["Off]
sivangwasabi : sivanSpamfreeaTworkaround.org 10:58
sivangwasabi : thanks. so you basically compute the difference and download only the remaining parts?10:59
wasabioh no.11:00
wasabithese are just two examples.11:00
mxpxpodis there a guide out there on how to make a ubuntu kernel image?11:00
wasabiof how feasibly it would be to do.11:00
wasabiit is not in any way shape or form functional.11:00
wasabiheck I just did it in 20 minutes.11:00
sivangwasabi : k, thanks anyways.11:01
mxpxpodbecause I'd like to make a 2.6.9 image with benh's sleep patch applied, plus the wlan-ng patches from ubuntu11:01
=== seb128 [~seb128@ANancy-151-1-26-109.w83-194.abo.wanadoo.fr] has joined #ubuntu-devel
wasabiThis has me thinking weither a new extension should be used or not... maybe these "patches" could just be ".debs" that require the previous version to be installed.11:02
wasabiheck, or just installed. And just distribute changed files.11:03
=== wasabi ponder.
eruinhaggai, ooh, yes11:03
eruinhaggai, sorry for the slow reply on ooo 1.9 debs ;)11:03
wasabiKeybuk, new thought process. What if these "patches" were .deb files. Exactly like normal .deb files. The difference being that the data.tar.gz only contains changed files, and they contain a control field that says they are an update to another package.11:05
wasabiNo delta's required.11:05
wasabiInternal dpkg mods...11:05
wasabito extract the new files in / and then run the scripts on control.tar.gz11:05
KeybukSUN-like you mean?11:21
KeybukSUN patches are distributed as package files that just contain the replacement files11:22
wasabiI'm spelunking in dpkg code now figuring out how to do that. It really sounds easy.11:22
Keybukor, in some cases, just the deltas with a class to apply them rather than copy over the top11:22
Keybuktwo problems11:22
wasabi(file in control listing them)11:22
Keybukbasically it'd be a package that only had changed files, with a magic control field to tell dpkg not to delete anything not in the new package11:23
wasabiwhat's hte other one?11:23
wasabiI'll have to think thorugh how hte info files will be altered.11:24
wasabimoves are fine.11:24
wasabidoesn't matter. just gets redownloaded.11:24
Keybukyou can pretty much just stick an 'if (! a_patch_package)' round a large block of process_archive11:24
wasabiThat's what im thinking.11:25
wasabiTHere will have to be a few mods into the management of the db.11:25
wasabiIn order to alter the info file, by adding the new additions to it11:25
Keybukit does that anyway11:25
Keybukif you look at process_archive, it adds the new files first11:25
Keybukand then goes through the list to see whether it needs to delete anything11:25
wasabiHow does it tell if it needs to delete anything? If it doesn't exist in the archive?11:26
Keybukyeah :)  just sets a flag on the file list entry as it unpacks the file11:26
wasabiWe only want it deleting stuff that exists in a composite of hte old and new archives.11:26
Keybukthen iterates the file list to see if there are any entries without flags11:26
wasabidoes not exist that is11:26
wasabiWill have a different naming convention on the .deb though.11:27
wasabior, maybe something else11:27
Keybukprocessarc.c  line 586-662 (roughly)11:27
wasabiOkay, so that can stay as it is, but the list it operates on can be altered11:29
Keybukthe list it operates on is just the old file list11:29
Keybukyou just need some way of copying stuff from the old file list to the new one before that11:29
wasabiHmm. So what the unlink?11:30
Keybukyou'd need to cope with an empty data.tar.gz too11:30
Keybuksometimes uploads are just control-file changes11:30
wasabiwell, that should handle itself.11:31
Keybukwould be nice if you could build one of those without trying too :p11:31
Keybukwasabi: ever tried to make an empty tar.gz ? :p11:31
mxpxpodis there a kernel team for ubuntu?11:31
wasabiit would simply be like an upgrade that installed nothing.11:31
wasabiOh. Heh.11:31
wasabiSuspose you can't do that?11:31
Keybukdescent scott% tar czf foo.tar.gz11:31
Keybuktar: Cowardly refusing to create an empty archive11:31
wasabiCould have something like a first ignored file in it all the time11:31
wasabi.DEBIAN or something.11:32
Keybukjust stick ./ in it11:32
wasabiahh you can do that?11:32
wasabiThat's silly in a way.11:32
Keybukdescent scott% tar --no-recursion -czf foo.tar.gz ./11:32
Keybukdescent scott% tar tzf foo.tar.gz11:32
wasabihow big is it?11:32
Keybuk111 bytes11:32
wasabiworkable, silly, but workable.11:32
wasabiSo this seems pretty easy actually.11:33
wasabiJust a few ifs really.11:33
wasabiAll the hard stuff is really up to apt.11:34
Keybukyeah, it's some neuro-surgery on dpkg to make it understand that it doesn't need to remove the old files11:34
Keybukyou'd need the patch-deb filenames to be pretty obvious, to make sure people don't download them by accident unless they want them11:34
sivangwasabi : wow, you're gonna make it not delete the old file, and just add them the binary delta?11:35
wasabino real need for delta at all11:35
wasabithat I see anyways.11:35
wasabiIf you have a 1.0.0 to 1.0.5 .deb patch.11:36
sivangwasabi : ah, just pull out the changed dependencies?11:36
wasabiYou can upgrade 1.0.1 to 1.0.5 using the same file.11:36
wasabiSo, the archive scripts can really optimize good upgrade paths.11:36
Keybukwasabi: only if the same files were changed in each version between that11:37
wasabiKeybuk, a 1.0.0 to 1.0.5 patch would contain all the mods between 1.0.0 and 1.0.511:37
Keybukoh, sorry11:37
Keybukyeah, that'd work11:37
wasabiIf 1.0.0 to 1.0.5 cover 20 versions, but ends up being like one file changed 20 times, it'd be one very small patch.11:37
wasabithe archive scripts could do some optimization on that.11:37
Keybukthis wouldn't work too well for mostly-binary packages though11:38
Keybukthe resulting debs would be the same as the non-patch debs11:38
wasabiTHe deltas don't work well for those either though.11:38
wasabiAnd in that case, the archive scripts can just not make them.11:38
wasabiIf there is no savings.11:38
Keybukit's a pity that every upload is a rebuild11:39
Keybukwhich means every upload there is a slight change to every binary :-/11:39
wasabiWell, that can, and probably should, be solved in other ways.11:39
wasabiWhy would gcc turn the same thing into a different thing two times?11:40
Keybukbecause it's non-deterministic11:40
wasabii fail to see how a compiler can be non-deterministic unless it has a random number generator in it. :011:40
mxpxpodmjg59: ping11:40
Keybukmemory offsets and whatnot11:40
wasabior encodes times into it11:40
wasabiwasabi@kyoto:~ $ gcc test.c11:42
wasabiwasabi@kyoto:~ $ md5sum a.out11:42
wasabi7e7fb7d522a047d438aa60b4a4918553  a.out11:42
wasabiwasabi@kyoto:~ $ rm a.out11:42
wasabiwasabi@kyoto:~ $ gcc test.c11:42
wasabiwasabi@kyoto:~ $ md5sum a.out11:42
wasabi7e7fb7d522a047d438aa60b4a4918553  a.out11:42
Keybukdo it on a different machine ?11:42
Keybukdescent scott% md5sum main-only11:43
Keybuk11d9ad98f23a24f04f3365e280b3aa63  main-only11:43
Keybuksyndicate scott% md5sum main-only11:43
Keybuk79e1a52f4e49295c11bcd29680b4661b  main-only11:43
wasabiahh well.11:43
Keybukand that's the simplest example there is :p11:45
wasabinot a super big deal. I supose down the road some optimization can be made there, to do some sorta more complicated diff on binaries to see if they really are different.11:46
wasabibut that's probably not a good idea.11:46
wasabiwould screw md5sum's in the packages all to hell11:46
Keybukheh, you wanna write it? ;)11:46
Keybukbut then I guess binaries are rarely the *major* component of any package11:46
wasabiI'm gonna try to understand this dpkg code and see what I can do.11:46
wasabicontrol/md5sums in the new package lists every file.11:49
wasabiand it would in the upgrade package too11:49
wasabiYeah, it's just a few k.11:50
wasabiAnother optimization would be to include file deltas in the new data.tar.gz... instead of including /usr/share/blah/whatever.svg, it would include /usr/share/blah/whatever.svg.patch, and make a not in one of hte control files that this is a patch to that file.11:51
wasabiThat can also be done later without any trouble.11:51
Keybukcontrol/md5sums isn't mandatory11:55
Keybukdpkg itself doesn't have one, for example11:55
wasabiWell, if a openoffice upgrade is distributed with 1 file moded, all billion files would be listed.11:56
wasabiwhich I think is okay11:56
wasabigzipped it's nothing.11:56
Keybuktricky, because dpkg doesn't touch md5sums at all11:56
wasabiyeah, but it has to be present. I dont think any diffs or antyhing are going to be done on control.tar.gz11:56
Keybukdoesn't have to be present11:56
Keybukit's not part of the deb format11:56
wasabii know, im just sayin. ;)11:56
=== mxpxpod [~bryan@mxpxpod.user] has joined #ubuntu-devel
mxpxpodhow do you guys make your kernels?11:57
Keybukchangelogs are the killer11:57
Keybukmxpxpod: kernel-package11:57
mxpxpodKeybuk: do you use vanilla kernels?11:57
Keybukmxpxpod: yes.11:57
mxpxpodKeybuk: what if I want a patch that ubuntu applies... like the wlan stuff11:58
(tseng/#ubuntu-devel) apt-get linux-source11:58
(tseng/#ubuntu-devel) -
(tseng/#ubuntu-devel) gives you the patched tree11:59
mxpxpodtseng: right... I'd like to compile a 2.6.9 tree11:59
Keybukmxpxpod: linux-patch-debian-

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