**** BEGIN LOGGING AT Tue Jul 19 23:59:56 2005 Jul 20 04:13:47 [g2]: pong Jul 20 04:13:59 <[g2]> hey sunshine! Jul 20 04:14:09 :) Jul 20 04:14:22 <[g2]> libperl.so built fine Jul 20 04:14:22 NOTE: package perl-openslug-5.8.7: completed Jul 20 04:14:22 NOTE: build 200507192338: completed Jul 20 04:14:22 Build statistics: Jul 20 04:14:22 Attempted builds: 1 Jul 20 04:14:22 real 262m30.020s Jul 20 04:14:24 user 234m41.350s Jul 20 04:14:27 sys 23m37.630s Jul 20 04:14:36 with gcc_s, or without? Jul 20 04:14:43 <[g2]> without Jul 20 04:14:48 o.k.. Jul 20 04:15:12 mine just doesn't work without it Jul 20 04:15:15 <[g2]> it's interesting our environments are so close Jul 20 04:15:36 <[g2]> but we get slightly different results Jul 20 04:15:43 yes Jul 20 04:15:58 <[g2]> CONGRATS on the perl build! Jul 20 04:16:02 :) Jul 20 04:16:12 Im just ahout to put it somewhere Jul 20 04:16:26 and then clean a slug and test it Jul 20 04:18:24 dammit... something went wrong again.. so, no perl build, libperl.so didn't end up in the right place Jul 20 04:19:48 <[g2]> so a real question is which one do we want to build anyway ? Jul 20 04:20:16 <[g2]> we should have the option of building either, but we'll probably have a preferrence Jul 20 04:20:49 yep, probably yours, since it works with the least changes Jul 20 04:20:59 but.. I cannot understand why... Jul 20 04:21:06 oh.. hehe.. missed a line: mv ${D}/${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV} Jul 20 04:21:15 guess why I didnt get a libperl.so :-) Jul 20 04:21:39 <[g2]> heh :) Jul 20 04:21:55 ok, time for another 262m30.020s build Jul 20 04:22:16 <[g2]> just move the libperl.so Jul 20 04:22:41 yes, for testing, but I want completly working packages Jul 20 04:22:50 <[g2]> absolutely Jul 20 04:28:16 ahh, I have the reboot from util-linux or whatever.. Jul 20 04:28:20 hate* Jul 20 04:28:30 System going down IMMEDIATELY! Jul 20 04:28:30 ... for maintenance; bounce, bounce ... Jul 20 04:28:30 Sending SIGTERM to mortals... Jul 20 04:29:21 <[g2]> i *HATE* that too Jul 20 04:29:31 <[g2]> I was looking at fixing it yesterday Jul 20 04:29:50 "Thats not until tommrow, cant you wait until then?" Jul 20 04:43:04 Think I'm gonna go fiddle with the leds on the slug Jul 20 04:43:44 I'd like my slug to go blinking when the fs is fscked Jul 20 04:43:53 then stable when it's finished and mounted Jul 20 04:44:29 not quite sure how to handle usb hubs though Jul 20 04:47:54 Any bright ideas? Jul 20 04:51:31 no.. Jul 20 04:52:12 perl seems to work atleast, just need to figure out how to run the tests on an installed system Jul 20 04:52:22 ipkg list | grep ^perl | grep 5.8.7-r1 | cut -f1 -d" " | xargs -n 100 ipkg install Jul 20 04:55:34 Im a bit negative about the perl packaging in oe though... more than 850 packages... Jul 20 04:55:49 and no dependencies ... Jul 20 04:56:16 yup.. have fun figuring out what you need Jul 20 04:56:29 then ipkg list | grep ^perl | grep 5.8.7-r1 | cut -f1 -d" " | xargs -n 100 ipkg install is much easier Jul 20 05:00:46 457 of the 858 packages are unicore packages, and that sould really just be perl-module-unicore... Jul 20 05:01:13 But, can we package the openslug perl packages differently from OE? Jul 20 05:01:44 I can't see why not Jul 20 05:02:00 DaKa2: if you can figure out a way to do it, then I'm sure OE would use it. Jul 20 05:02:05 yeah Jul 20 05:02:51 ahh, I guessed that "if you" part would come sometime :-) Jul 20 05:04:25 it always does in this project :-) Jul 20 05:04:59 how would you like to see it packaged? every module in a package, and a perl, libperl and perl-dev? Jul 20 05:05:38 How does gentoo package it up? Jul 20 05:05:40 or perl, libperl, perl-dev, perl-modules-base, perl-modules-extra or something? Jul 20 05:05:57 that sounds rather nice Jul 20 05:06:13 as long as CPAN is in there, I guess most people will do fine Jul 20 05:06:29 no idea, debian has 1453 perl packages... Jul 20 05:06:34 omg Jul 20 05:06:47 lots of cpan modules :-) Jul 20 05:07:19 gentoo looks like it's got some 5-600 Jul 20 05:09:41 then there is the problem of what goes in perl-modules-base and perl-modules-extra Jul 20 05:10:00 maybe better to put every module in a package Jul 20 05:10:29 just get rid of the packages for submodules... Jul 20 05:12:51 actually, debian has a perl, perl-base, and perl-modules Jul 20 05:12:55 <[g2]> DaKa2, did you run "cpan" ? Jul 20 05:12:58 for the core modules Jul 20 05:13:18 [g2]: hm.. no.. Jul 20 05:13:52 how does cpan work? (Im a debian user, everything is already packaged) Jul 20 05:13:59 <[g2]> cpan Jul 20 05:14:27 <[g2]> then it tells you install Bundle::... Jul 20 05:14:27 oh, nice Jul 20 05:14:46 <[g2]> which install 3-6 things Jul 20 05:14:53 <[g2]> takes a few minutes Jul 20 05:14:57 Are you ready for manual configuration? [yes] Jul 20 05:15:42 ahh, I dont have a dev environ set up.. Jul 20 05:16:02 Warning: make not found in PATH Jul 20 05:17:31 <[g2]> just say no Jul 20 05:19:48 just have to set ip some dev sufff Jul 20 05:19:51 up* Jul 20 05:23:26 <[g2]> DaKa2, ... right.... I think I had to replace the actualy symlinks for gzip, tar to the full versions Jul 20 05:24:07 <[g2]> or maybe I missed the gzip dep Jul 20 05:24:38 dammit.. fixing busybox and the other conflicting packages really has to be done... Jul 20 05:25:37 <[g2]> nod.. Jul 20 05:25:47 <[g2]> I'm really of two minds Jul 20 05:25:54 what did #oe say? Jul 20 05:26:10 <[g2]> see modutils Jul 20 05:26:21 <[g2]> which does an override Jul 20 05:26:39 uhm... Jul 20 05:26:44 <[g2]> I think it's pretty straight forward when things on in different places Jul 20 05:27:07 <[g2]> but for conflicting files I don't think it work but I dunno Jul 20 05:31:21 <[g2]> hmm.... gzip probably needs to be added to the packages Jul 20 05:34:01 [g2], quick question to help me with those annoying 3-way merges: Jul 20 05:34:16 what modutils does should work, when the files are in the same place in the different packages Jul 20 05:34:29 was the openslug.conf file changed in the last day and if so, was DISTRO_VERSION changed to 2.4? Jul 20 05:35:00 <[g2]> yes Jul 20 05:35:03 but the packages that places stuff in different dirs needs to be solved, probably change one to place them same as the other Jul 20 05:35:12 ok. thanks. Jul 20 05:35:34 I still don't understand why I have to manually merge every freaking new files though. Jul 20 05:35:47 It's a very MONOTONE job! Jul 20 05:41:51 Debian puts everything in perl in the packages: perl and perl-modules Jul 20 05:43:08 <[g2]> DaKa2, gzip should probably be install before perl is configured Jul 20 05:43:43 <[g2]> otherwise it points to the busybox one Jul 20 05:44:12 ok.. Jul 20 05:44:23 rdepend = "gzip" Jul 20 05:44:30 <[g2]> heh Jul 20 05:45:15 RDEPENDS = "gzip" Jul 20 05:45:25 but.. it needs to be fixed with busybox Jul 20 05:45:50 but, perl doesnt need gzip, so.. RRECOMMENDS Jul 20 05:45:57 <[g2]> well I'm of two minds right now Jul 20 05:46:10 <[g2]> 1) make the ipkg install work to upgrade it Jul 20 05:46:40 <[g2]> 2) use the rootdelay option, put ext2/3 in the kernel and boot straight to the external device Jul 20 05:47:06 <[g2]> that's what Jacmet did with the debain on the NSLU2 Jul 20 05:47:11 <[g2]> Debian Jul 20 05:47:18 I saw that.. Jul 20 05:47:18 <[g2]> heh... Jul 20 05:47:33 <[g2]> look.... debane debane debane Jul 20 05:47:48 debra and ian Jul 20 05:47:53 <[g2]> nod Jul 20 05:48:17 <[g2]> it was probably is only girlfriend :) Jul 20 05:48:48 I could make a patch to busybox, but I dont know if that will cause problems with anything, busybox is used in images.. Jul 20 05:49:26 <[g2]> right the problem is busybox is needed for the jffs2 image with is space constrainted Jul 20 05:50:43 well, I think 1) is the best way to go, but I dont know Jul 20 05:51:07 how does busybox end up in the image? Jul 20 05:55:37 <[g2]> packages/meta/openslug-image Jul 20 05:56:37 what is 1) ? Jul 20 05:57:00 15 lines up Jul 20 05:57:18 <[g2]> rwhitby, 1) is ipkg install replacing the busybox installed tools Jul 20 05:57:43 <[g2]> with the full versions Jul 20 05:58:13 a third option is making a package that replaces all of busybox and conflicts with it Jul 20 05:58:49 <[g2]> well we can do the --force-overwrite now Jul 20 05:59:31 yes, but then you update busybox later and it overwrites back without you remembering you dont want it Jul 20 06:00:08 <[g2]> that's unlikely Jul 20 06:00:27 so the problem is update-alternatives want to change a single file, and busybox and the other package put the two files in different spots, right? Jul 20 06:00:51 that is one problem yes Jul 20 06:00:52 <[g2]> that's how DaKa2 sees it Jul 20 06:01:05 DaKa2: what's the other problem? Jul 20 06:01:16 <[g2]> I think update-alternates works with different files but not a conflict Jul 20 06:01:25 <[g2]> either way its the same issue Jul 20 06:01:34 <[g2]> the other part needs fixed Jul 20 06:01:35 I don't understand what you just said Jul 20 06:01:41 I dont know if it is a problem, but busybox it put in images, and if we rename files in it the image won't work, maybe Jul 20 06:01:56 I have to look at how the images is made Jul 20 06:02:17 image is made by installing ipks in a staging dir, then making an image out of that Jul 20 06:02:32 does preinst script get run? Jul 20 06:02:45 <[g2]> rwhitby, modutils uses update-alternatives Jul 20 06:03:02 yeah I know - so does busybox (for mount and umount) Jul 20 06:03:31 <[g2]> so is the first line the symlink and the second the file to be linked to ? Jul 20 06:03:49 update-alternatives is specifically designed to have a single pathname be symlinked to one of a number of alternative other pathnames based on a priority. Jul 20 06:04:16 as packages are installed, and a higher priority appears, then the symlink is changed Jul 20 06:05:02 does preinst scripts get run when the image is made from? Jul 20 06:05:20 <[g2]> ok.. so that assumes the packages names don't directly conflict Jul 20 06:05:48 no, you rename the files in do_install Jul 20 06:05:51 http://david.thg.se/saker/openslug/update-altervatives Jul 20 06:06:05 mv gzip gzip.busybox Jul 20 06:06:07 [g2]: you have to rename the files in each of the packages so that they have unique names, and then the symlink puts it back to the original name Jul 20 06:06:29 <[g2]> nod. Jul 20 06:06:41 DaKa2: dunno about the preinst. I think it does. Why do you want to know? The solution has to work both for image building and also normal pkg installs Jul 20 06:06:51 <[g2]> ln -s /usr/local/perl-5.8.6 /bin/perl Jul 20 06:07:01 <[g2]> or /usr/bin/perl Jul 20 06:07:20 rwhitby: yes, well, if it doesn't, the image gets files named ls.busybox and not ls, and that is a bit wrong Jul 20 06:07:37 DaKa2: can you give a real example so we can talk in real terms? What's the pathname and the two packages in question? Jul 20 06:08:13 DaKa2: it must work, cause we have busybox and ipkg in the image and they both use update-alternatives Jul 20 06:08:26 good, then that is solved, no problem Jul 20 06:08:49 then there are the packages with wrong paths in http://david.thg.se/saker/openslug/conflicting-files Jul 20 06:09:48 if we take cat, you could just rename them to cat.busybox and cat.coreutils in different paths and place the symlink in one, but in what, or in both? Jul 20 06:10:21 what happens if you symlink to /dev/null ? ;-) Jul 20 06:10:26 <[g2]> well cat should already be a symlink that can be renamed Jul 20 06:10:29 or fix coreutils, since it places things where no other distro does? Jul 20 06:10:52 what does the FHS say about those files? Jul 20 06:11:19 lets see Jul 20 06:11:31 they should be in /bin Jul 20 06:11:34 cat must be in /bin according to FHS 2.3 Jul 20 06:11:34 not /usr/bin Jul 20 06:11:49 ok, so we fix coreutils and add update-alternatives to it Jul 20 06:12:37 the only other thing is grep, busybox puts it in /bin, the package grep places it in /usr/bin Jul 20 06:13:15 same thing with inetutils ping Jul 20 06:13:22 and sed Jul 20 06:13:43 sed is in /bin in FHS Jul 20 06:13:47 no mention of grep Jul 20 06:14:04 ping is in /bin Jul 20 06:14:13 and tar should be in /bin too Jul 20 06:14:47 oh, we dont build inetutils anyway Jul 20 06:17:37 and grep should probably be in /bin too Jul 20 06:18:47 Are you following #oe ? Jul 20 06:19:07 ah, missed that, folowing now Jul 20 06:19:31 [22:47] rwhitby: So we patch coreutils and add update-alternatives for all the conflicting files. Is that appropriate? Jul 20 06:19:31 [22:47] pb_: rwhitby: yeah Jul 20 06:19:47 [22:49] pb_: rwhitby: having binaries drift around the filesystem is a bit unfortunate, but I think conforming to the FHS is a worthwhile enough justification. Jul 20 06:21:47 I'll put togehter a few patches for the involved packages, and I'll return later Jul 20 06:27:54 <[g2]> great Jul 20 06:28:15 DaKa2: is that all the approval we need? Is there anything else we need to do? Jul 20 06:29:02 I don't think so Jul 20 06:29:25 Well, my work here is done :-) Jul 20 06:31:32 <[g2]> DaKa2, I think it's just a simple config change to the busybox config file to move them to /bin Jul 20 06:33:16 [g2]: busybox is fine, its coreutils that si broken Jul 20 06:33:18 is* Jul 20 06:35:24 <[g2]> nod. Jul 20 06:35:39 <[g2]> is there a FHS script somewhere that checks compliance ? Jul 20 06:35:57 never seen one, but probably Jul 20 06:39:50 hm.. this is just a bit ugly: Jul 20 06:39:51 for i in usr/bin/[ usr/bin/ar usr/bin/awk usr/bin/basename usr/bin/bunzip2 usr/bin/bzcat usr/bin/clear usr/bin/cut usr/bin/dirname bin/dmesg usr/bin/du usr/bin/env usr/bin/expr sbin/fdisk usr/bin/head usr/bin/hexdump sbin/hwclock usr/bin/id usr/bin/logger usr/bin/logname sbin/losetup usr/bin/md5sum usr/bin/mkfifo sbin/mkswap bin/more usr/bin/od bin/pidof sbin/pivot_root usr/bin/printf usr/bin/readlink usr/bin/renice usr/bin/reset usr/bin/seq usr/bin/sort usr/ Jul 20 06:42:09 ahh dammit, different distros use different defconfigs Jul 20 06:50:22 [g2]: do you know if it is prossible to run the perl tests on an installed system? Jul 20 06:50:23 <[g2]> DaKa2, can't you just build coreutils with a config of --prefix= Jul 20 06:50:45 [g2]: no, because some things are supposed to be in /usr/bin, and some in /bin Jul 20 06:50:46 <[g2]> DaKa2, i'd guess so Jul 20 06:51:22 <[g2]> how many live in /usr/bin ? Jul 20 06:51:39 many, I think Jul 20 06:51:47 <[g2]> how many live in /bin ? Jul 20 06:51:56 http://david.thg.se/saker/openslug/conflicting-files, all coreutils in the first part Jul 20 06:52:00 many Jul 20 06:52:04 http://david.thg.se/saker/openslug/conflicting-files, all coreutils in the seccond part Jul 20 06:52:36 third* Jul 20 06:54:25 <[g2]> in the postinst you just moving the ones required to the FHS proper place right ? Jul 20 06:54:42 <[g2]> you're Jul 20 06:55:01 no, thats the busybox one, moving them from name name.busybox Jul 20 06:55:06 to* Jul 20 06:56:53 no, thats in do_install Jul 20 06:57:43 this is my first test: http://david.thg.se/saker/openslug/busybox_1.00.bb, just to see if the concept works Jul 20 06:58:08 <[g2]> 404 Jul 20 06:58:21 did you get the , Jul 20 06:58:23 ? Jul 20 06:58:34 just http://david.thg.se/saker/openslug/busybox_1.00.bb Jul 20 06:58:47 <[g2]> http://david.thg.se/saker/openslug/busybox_1.00.bb Jul 20 06:58:55 <[g2]> hmm... Jul 20 06:59:01 <[g2]> got a 404 on the first try Jul 20 06:59:14 but that fails.. because update-alternatives cannot fins stuff it needs Jul 20 06:59:17 find* Jul 20 07:00:02 because they are installed as head.busybox, and not head, so update-alternatives cannot symlink Jul 20 07:00:40 <[g2]> the busybox config automatically generates the install set Jul 20 07:00:54 <[g2]> there are several options there Jul 20 07:04:59 hm.. this is not going to work, I have to first symlink the things update-alternatives needs to /tmp/busybox-inst in the postinst, set path to there, and then run update-alternatives, but would oe consider that a "clean" solution? Jul 20 07:06:15 <[g2]> help me along for a second :) Jul 20 07:06:26 yes? Jul 20 07:06:28 <[g2]> oe_runmake 'PREFIX=${D}' install Jul 20 07:06:38 <[g2]> that runs the make install for busybox Jul 20 07:06:52 yes Jul 20 07:07:05 <[g2]> and all the symlinks get created there under the ${D} dir Jul 20 07:07:10 yes Jul 20 07:07:21 then what I do is: for i in usr/bin/[ usr/bin/ar usr/bin/awk usr/bin/basename usr/bin/bunzip2 usr/bin/bzcat usr/bin/clear usr/bin/cut usr/bin/dirname bin/dmesg usr/bin/du usr/bin/env usr/bin/expr sbin/fdisk usr/bin/head usr/bin/hexdump sbin/hwclock usr/bin/id usr/bin/logger usr/bin/logname sbin/losetup usr/bin/md5sum usr/bin/mkfifo sbin/mkswap bin/more usr/bin/od bin/pidof sbin/pivot_root usr/bin/printf usr/bin/readlink usr/bin/renice usr/bin/reset usr/bin/se Jul 20 07:07:34 <[g2]> time out for a second Jul 20 07:07:37 :) Jul 20 07:07:47 <[g2]> so I think we should Jul 20 07:08:15 <[g2]> 1) submit a patch to erik to have stuff a FHS option that busybox builds stuff in the FHS compliant place Jul 20 07:08:35 busybox does, coreutils doesn't Jul 20 07:08:45 <[g2]> heh.... Jul 20 07:08:49 <[g2]> ok... Jul 20 07:09:27 <[g2]> ok busybox already has the symlinks in the right spot then Jul 20 07:09:46 yes, and they need to be renamed to .busybox Jul 20 07:10:49 and later run update-alternatives on Jul 20 07:10:55 <[g2]> easy.. just find the busybox or /bin/busybox links Jul 20 07:11:02 yes Jul 20 07:11:41 that long line is just while testing, the correct thing is to find the actuall files Jul 20 07:12:11 <[g2]> hmmm which find ? Jul 20 07:12:18 <[g2]> bb find ? Jul 20 07:12:23 <[g2]> full find ? Jul 20 07:12:26 no.. Jul 20 07:12:28 somehow Jul 20 07:12:41 <[g2]> ls -l, sed .... Jul 20 07:13:06 like ls ${D}/usr/bin ${D}/bin | grep -v busybox Jul 20 07:13:30 <[g2]> ls -l ? Jul 20 07:13:37 why? Jul 20 07:13:45 we just want the names Jul 20 07:13:55 excep the busybox binary Jul 20 07:13:59 except* Jul 20 07:14:05 <[g2]> ok... you're in the busybox install Jul 20 07:14:40 <[g2]> that'll work Jul 20 07:15:17 except, I need to save that and place it in the postinst Jul 20 07:15:45 if I do stuff=`ls ${D}/usr/bin ${D}/bin | grep -v busybox` in do_install Jul 20 07:15:53 <[g2]> why can't you just run that in postinst Jul 20 07:15:59 can I use that as ${stuff} later Jul 20 07:17:20 hm.. well.. I could probably.. Jul 20 07:17:37 but that would be a long command Jul 20 07:18:30 ls /usr/bin /bin | grep busybox | cut -f1 -d"." | sed -e "s/^\///" Jul 20 07:18:33 ok, not that long Jul 20 07:18:45 but... Jul 20 07:19:17 do you think putting the stuff in /bin/busybox/ and /usr/bin/busybox would be wrong? FHS? Jul 20 07:19:26 instead of renaming Jul 20 07:19:47 that would be the only way to make it work, I think Jul 20 07:20:36 Requirements Jul 20 07:20:37 There must be no subdirectories in /bin. Jul 20 07:20:42 dammit Jul 20 07:20:55 I really need to do that Jul 20 07:21:24 <[g2]> as a crazy man I'd think you'd want to get the list and then just remove all the symlinks and to and update-alternative with the /bin/cat /bin/busybox right ? Jul 20 07:21:57 that would work, and great Jul 20 07:22:08 except you need all the symlinks somewhere to start with Jul 20 07:22:25 otherwise update-alternatives wont work Jul 20 07:22:59 I was thinking /bin/busybox/ and usr/bin/busybox, but the FHS doesn't like that Jul 20 07:23:39 <[g2]> I'm unclear since the symlinks are already there for busybox why the update-alternatives for the coreutils wouldn't just work (if to the right place) Jul 20 07:24:12 that would work, but not for busybox Jul 20 07:24:46 <[g2]> walk me through an example with cat Jul 20 07:24:58 well, busybox: Jul 20 07:25:10 do_install renames to cat.busybox Jul 20 07:25:14 <[g2]> has /bin/cat symlinked to /bin/busybox Jul 20 07:25:21 no Jul 20 07:25:30 <[g2]> I'm talking about currently Jul 20 07:25:35 ah, yes Jul 20 07:25:57 <[g2]> and coreutils install cat in /usr/bin/cat Jul 20 07:25:57 but we have to change that Jul 20 07:26:21 yes, we will change coreutils to use /bin/cat Jul 20 07:26:26 or, /bin/cat.coreutils Jul 20 07:27:04 and then update-alterantives --install /bin/cat cat /bin/cat.coreutils 50 Jul 20 07:27:12 in coreutils Jul 20 07:27:34 and in busybox: update-alterantives --install /bin/cat cat /bin/cat.busybox 10 Jul 20 07:27:39 or Jul 20 07:27:42 and in busybox: update-alterantives --install /bin/cat cat /bin/busybox 10 Jul 20 07:28:16 <[g2]> right... Jul 20 07:28:25 but, since busybox no longer ships with for example /bin/ln, update-alternatives fails Jul 20 07:28:36 <[g2]> with the second busybox one it's a simple loop for all the images Jul 20 07:28:36 because it cannon find ln Jul 20 07:29:05 ? Jul 20 07:30:03 <[g2]> I meant the second busybox command because we don't need to create a /bin/cat.busybox Jul 20 07:30:10 yes Jul 20 07:30:17 exactly Jul 20 07:30:22 <[g2]> now what about ln ? Jul 20 07:30:35 we dont have it :-) Jul 20 07:30:46 if we install busybox, it just places /bin/busybox Jul 20 07:31:03 then tries to run update-alternatives Jul 20 07:31:09 but that fails, because we have no ln Jul 20 07:31:22 so it cannot create the link to ln :-) Jul 20 07:31:40 therefor we need to ship all the links for busybox, but somewhere else Jul 20 07:31:52 maybe put them all in /usr/bin/busybox/ Jul 20 07:32:10 <[g2]> how is ln any different ? Jul 20 07:32:11 since the FHS forbids directories in /bin Jul 20 07:32:19 ln is an example Jul 20 07:32:35 but update-alternatives needs it Jul 20 07:32:45 and it cannot run in the postinst without it Jul 20 07:34:02 <[g2]> I'm missing which the ln update-alternatives would fail Jul 20 07:34:34 running update-alternatives in the postinst fails, because we have no /bin/ln Jul 20 07:34:59 <[g2]> currently we do Jul 20 07:35:06 because the link for /bin/ln will be created with update-alternatives Jul 20 07:35:09 no, we dont Jul 20 07:35:25 because it will be removed when reinstalling busybox Jul 20 07:36:02 <[g2]> I think it'll be there but anyway.... Jul 20 07:36:12 <[g2]> the update alteratives could test for ln Jul 20 07:36:13 it wont, Ive tested Jul 20 07:36:16 :-) Jul 20 07:36:36 <[g2]> what did you test your script ? Jul 20 07:36:59 the solution is probably to ship the busybox links somewhere, and put that in the path in the postinst Jul 20 07:37:22 Ive built that busybox.bb and tried to install it Jul 20 07:37:37 now I have nothing almost :-) Jul 20 07:37:51 ls Jul 20 07:37:52 -sh: ls: not found Jul 20 07:38:05 <[g2]> /bin/busybox ls Jul 20 07:38:15 yes, I know Jul 20 07:38:37 but that kindof proves that you wont have ln when the postinst runs Jul 20 07:39:11 <[g2]> /bin/busybox ls -l /bin/ln Jul 20 07:40:23 <[g2]> it's probably linked to /bin/ls.busybox which isn't there Jul 20 07:40:23 actually, what it fails on is /bin/head Jul 20 07:40:44 /usr/bin/head Jul 20 07:40:44 <[g2]> head ? Jul 20 07:40:59 yes, update-alternatives needs it Jul 20 07:41:23 to be able to link busybox to head Jul 20 07:42:19 so, the solution is probably to ship the busybox links somewhere, and put that in PATH in the postinst Jul 20 07:45:13 <[g2]> local olink=`head -n 1 $ad/$name` Jul 20 07:46:14 <[g2]> ok... so the dependencies of update-alternatives needs to be handled Jul 20 07:46:23 yes Jul 20 07:47:02 can you see any other solution than the one 5 lines up? Jul 20 07:47:35 <[g2]> OR update-alternative could be upldated to fully specify its tools like /bin/busybox head .... Jul 20 07:48:03 but that is no good, it should be able to work without busybox Jul 20 07:48:38 <[g2]> our problem is bootstrapping from flash to something else Jul 20 07:49:05 <[g2]> there are distro dependencies and assumptions made about the flash Jul 20 07:49:18 <[g2]> stuff that's needed to bootstrap the rest of the systems Jul 20 07:49:29 <[g2]> things like wget and tar and ipkg Jul 20 07:50:27 <[g2]> now we are simply throwing update-alternatives into the mix and figuring out a good way to manage its deps Jul 20 07:50:57 yes, but all those links will be there, after the install of busybox is done, same a without update-alternatives Jul 20 07:51:04 as* Jul 20 07:51:16 <[g2]> how about a check for all the tools required at the beginng and a mount of /initrd ? Jul 20 07:52:09 <[g2]> that's probably worse than /bin/busybox foo Jul 20 07:52:19 * [g2] just thinking aloud Jul 20 07:52:22 yes Jul 20 07:52:56 <[g2]> so... how about this Jul 20 07:53:13 the only good think I can think of is placing the symlinks in /usr/bin/busybox/ and adding that to the path in the postinst, so update-alternatioves finds its stuff Jul 20 07:54:04 <[g2]> right the deps for update-alternatives needs to be in the path of last resort Jul 20 07:54:14 yep Jul 20 07:54:27 and that way is really simple Jul 20 07:54:35 and it should work on all distros Jul 20 07:54:38 <[g2]> I'd post-install those in /usr/bootstrap Jul 20 07:54:44 <[g2]> "/bin Jul 20 07:54:52 <[g2]> in /usr/bootstrap/bin Jul 20 07:54:58 <[g2]> or something like that Jul 20 07:55:36 <[g2]> well it would be dependency for update-alternatives Jul 20 07:55:40 hm, why, why not /usr/bin/busybox? Jul 20 07:55:48 <[g2]> which there probably isn't one now Jul 20 07:56:14 * ingeba bemoans the fact that he can no longer use the bob_tm nick due to Gmail's user name restrictions :-( Jul 20 07:56:46 <[g2]> well it just happens that busybox probably provides all the programs Jul 20 07:57:37 <[g2]> the name /usr/bin/busybox with symlinks back to /bin/busybox does really describe that it's used specifically for supporting update-alternatives Jul 20 07:58:34 <[g2]> something like /usr/alternatives/bin might be more appropriate Jul 20 07:58:51 <[g2]> or /usr/bin/update-alternative/ Jul 20 07:58:57 <[g2]> or /usr/bin/update-alternatives/ Jul 20 07:59:32 <[g2]> the *real* question to me is do you put copy of the busybox there ? Jul 20 07:59:42 no.. Jul 20 07:59:53 just symlink to /bin Jul 20 08:00:04 <[g2]> /bin/busybox ? Jul 20 08:00:08 yes Jul 20 08:00:43 /usr/bin/bootstrap/cat -> /bin/busybox Jul 20 08:01:20 <[g2]> ok... so lets follow this though Jul 20 08:01:39 <[g2]> how do the deps between update-alternatives get worked out ? Jul 20 08:01:48 ? Jul 20 08:02:10 <[g2]> ok... busybox could clearly install the links in postinst right ? Jul 20 08:02:19 yes Jul 20 08:02:22 <[g2]> into /usr/bin/bootstrap foo Jul 20 08:02:31 yes Jul 20 08:02:40 and then remove them Jul 20 08:02:46 so we could just use /tmp Jul 20 08:03:23 <[g2]> your point about not changing update alternatives to just use /bin/busybox foo is you don't want to be tied to busybox Jul 20 08:03:34 yes Jul 20 08:03:56 and changing update-alternativs seems like the wrong solution to me Jul 20 08:04:19 messing with something there really is no problem im Jul 20 08:04:21 in* Jul 20 08:04:28 <[g2]> so that begs the question of how does the update-alternative requirement for that dependency get filled ? Jul 20 08:04:54 <[g2]> right you're saying it's just a path issue Jul 20 08:05:05 yes Jul 20 08:05:20 <[g2]> and I think that may be the most elegant solution Jul 20 08:05:58 <[g2]> but I'm saying there is currently a missing dependency with update-alternatives on those programs Jul 20 08:06:07 <[g2]> and I'm wondering how that gets filled Jul 20 08:06:32 in postinst: busybox ln averything that is needed into /tmp/something/ ; add /tmp/something to path ; run update-alternatives ; done Jul 20 08:06:36 hm.. Jul 20 08:07:18 Im not quite following you on that question Jul 20 08:07:44 <[g2]> let's say I'm building APEXSlug Jul 20 08:07:52 <[g2]> without any busybox Jul 20 08:08:24 <[g2]> where are the dependencies for all the programs required by update-alternatives getting filled ? Jul 20 08:08:29 yes, and with something else that includes everything you need Jul 20 08:08:44 every system has to have some commands Jul 20 08:08:45 <[g2]> that's the point Jul 20 08:08:52 yes? Jul 20 08:09:06 <[g2]> the dependencies are supposed to describe that order Jul 20 08:09:19 so? then that package that provides ln and head has to be installed Jul 20 08:09:42 and that is the job of the *-image.bb thing Jul 20 08:09:57 <[g2]> I'm saying the deps on what brings in update-alternatives is broken that's all Jul 20 08:10:41 no, because those programs HAVE to be on every system, before you can run anything else Jul 20 08:11:20 <[g2]> I'll have to take a closer look at task-bootstrap and image-bootstrap Jul 20 08:12:04 <[g2]> you may be right that basic stuff is just assumed to be there Jul 20 09:40:53 so.. this update-alternatives is going to take som thought, and work. atleast perl seems to work Jul 20 09:42:04 echo "src/gz oe-daka http://david.thg.se/saker/openslug/native/unstable" >> /etc/ipkg.conf && ipkg update && ipkg install perl Jul 20 13:46:03 [g2]: I think I have asked this already, but, do you know any way to test perl on an installed system Jul 20 13:46:23 <[g2]> hanjo you said your were running NFS v3 right as a client connecting to a FC server ? Jul 20 13:46:37 <[g2]> DaKa2, you did let me look Jul 20 13:47:41 <[g2]> DaKa2, I've run the native perl with libperl.so btw Jul 20 13:47:58 <[g2]> it actually loads the libperl.so as seen by lsof Jul 20 13:48:05 :) Jul 20 13:48:47 mine works, havn't tested cpan since I built gzip, but it should work Jul 20 13:49:08 <[g2]> you'll have to change the link iirc Jul 20 13:49:16 echo "src/gz oe-daka http://david.thg.se/saker/openslug/native/unstable" >> /etc/ipkg.conf && ipkg update && ipkg install perl Jul 20 13:49:21 that works out of the box Jul 20 13:49:56 everything already fixed, and packaging remade, but I dont think OE would like that packaging Jul 20 13:49:58 <[g2]> does that build the shared one ? Jul 20 13:50:01 yes Jul 20 13:50:05 and uses Jul 20 13:50:20 <[g2]> the static one is supposed to by like 15% faster Jul 20 13:50:27 I know Jul 20 13:50:40 <[g2]> that's what jacques says and there's some mention of it in the config file Jul 20 13:51:13 I was thinking about building two, and let the user choose, but right now its just the one using the shared lib Jul 20 13:51:25 <[g2]> a choice is nice :) Jul 20 13:51:28 and it works, thats the main thing Jul 20 13:51:46 <[g2]> both work and those are the main things :) Jul 20 13:52:06 <[g2]> so web boy... the static worked with apache 2.0 as a cgi Jul 20 13:52:17 <[g2]> I didn't try as a mod_perl or whatever Jul 20 13:52:27 <[g2]> do you know how that's usually done ? Jul 20 13:52:37 actually, no Jul 20 13:52:45 Im a debian user, I dont have to think about that... Jul 20 13:53:17 <[g2]> oh you mean you just take whatever crumbs they give you ? :) Jul 20 13:53:27 :) yes Jul 20 13:53:32 * [g2] couldn't resist Jul 20 13:53:35 and it works damned well Jul 20 13:54:04 <[g2]> so do you run many servers on the I-net ? Jul 20 13:54:43 well, on the I-net, one here, a few at work, a few for work at a hosting colo Jul 20 13:55:13 if you want the number of domains, thats probably 1800 or something Jul 20 13:55:31 every student gets a subdomain http://userid.thg.se :-) Jul 20 13:55:57 <[g2]> so they run as hosts withing the domains Jul 20 13:56:05 virtual hosts Jul 20 13:57:06 <[g2]> cool Jul 20 13:57:10 we have around 14 servers at work or so (all mine, MUAHAHAH), and 5 of them are running some kind of webserver Jul 20 14:00:17 mainly php, but one of my scripts on a server are perl (ldap in php cannot do multiple queries in one command), and one runs tomcat (but I havn't started coding anything for it) Jul 20 14:00:53 <[g2]> DaKa2's livin' on the edge.... Jul 20 14:01:01 :) Jul 20 14:01:08 <[g2]> php5 ? Jul 20 14:01:12 no.. Jul 20 14:01:17 Im going to, sometime Jul 20 14:01:32 <[g2]> just because 4 runs well no big hurry ? Jul 20 14:01:40 exactly Jul 20 14:02:28 and even if things are supoosed to run in php5, I have to test, and there are lots of sites to test Jul 20 14:02:46 we have lots of students running php Jul 20 14:11:46 <[g2]> DaKa2, does thttpd support CCS ? Jul 20 14:11:49 <[g2]> CSS Jul 20 14:12:02 css is client side, so, yes :-) Jul 20 14:12:25 <[g2]> ahh.. :) Jul 20 14:12:30 <[g2]> like javascript Jul 20 14:12:35 yes Jul 20 14:12:47 css == cascading style sheets Jul 20 14:13:05 <[g2]> so the web servers is supposed to check what the browser supports Jul 20 14:13:13 nope Jul 20 14:13:45 html is designed so anything the client doesnt know, it doesn't use Jul 20 14:14:06 <[g2]> just might look funny Jul 20 14:14:41 yes, because the html-page expects you to have support Jul 20 14:15:02 but thats the webdesigner and the users problem, not the server Jul 20 14:15:31 <[g2]> right I'm getting ready to launch my site Jul 20 14:15:47 <[g2]> and I'm wondering which combination of tools I should start with Jul 20 14:15:51 I hope you didn't make it in frontpage... Jul 20 14:16:22 <[g2]> I've got Apache 2, PHP5, Perl 5.8.7, thttpd, and mysql avialable Jul 20 14:16:31 <[g2]> but I'm thinking I'll start simple Jul 20 14:16:46 <[g2]> like maybe just thttpd Jul 20 14:16:57 <[g2]> or thttpd with a little perl or php5 Jul 20 14:17:00 plain html then Jul 20 14:17:56 <[g2]> Apache 2 with openssl ran quite well on the fatturbo Jul 20 14:18:26 you should probably write down what you want on the site, and then look if there are some nice CMS systems you could use Jul 20 14:18:48 <[g2]> I was running one Jul 20 14:19:03 <[g2]> DragonCMS iirc Jul 20 14:19:10 <[g2]> or DragonFlyCMS Jul 20 14:19:18 apache can be made to run with very little memory, you just have to compile and configure it correctly Jul 20 14:20:24 <[g2]> I think as long as I don't get too complicated with the scripts it'll easily be uplink limited assuming I only allow a couple dozen requests a second Jul 20 14:20:45 <[g2]> maybe 100 Jul 20 14:22:00 with just static files you could get that and more Jul 20 14:22:32 <[g2]> sure Jul 20 14:22:42 while (1) { wget http://g2.com/favicon.ico ; wget http://g2.com } Jul 20 14:22:49 whoops. Jul 20 14:23:02 :) Jul 20 14:23:25 <[g2]> blacklist nslu2-linux.org .... Jul 20 14:24:00 <[g2]> did I say that aloud ? Jul 20 14:24:17 ssh shutdownbot@g2.com do_foo Jul 20 14:25:35 <[g2]> which reminds me I was going to test the tranparent bridging and logging Jul 20 15:19:56 <[g2]> dyoung-zzzz, ssh only enabled for 5 minutes after port knocking :) Jul 20 15:20:38 <[g2]> s/5 minutes/60 seconds/ Jul 20 16:05:01 [g2]: I have a first beta of busybox with update-alternatives, it probably needs a bit of work for OE to like it.. http://david.thg.se/saker/openslug/busybox_1.00.bb Jul 20 16:05:21 then there is just updating all the other packages left Jul 20 16:06:53 oh, and that doesn't work... Jul 20 16:06:55 dammit Jul 20 16:07:12 <[g2]> what doesn't work ? Jul 20 16:07:43 that busybox, it works when making the image Jul 20 16:07:49 and the image works Jul 20 16:08:02 but when ipkg installing it it failes Jul 20 16:08:08 have to look at that Jul 20 16:09:34 <[g2]> isn't -type l a symlink ? Jul 20 16:09:39 yes Jul 20 16:11:06 ahh, dammit, I linked busybox wrong... Jul 20 16:11:15 <[g2]> I'm wondering why you need the grep -v ? Jul 20 16:11:49 You don't have to use update-alternatives - it's just a shell script. You can just install busybox (without the links) and run a custom post-install to create the links from the list of applets which busybox produces. The links only need to be created if they don't exist (since busybox always has lowest priority). For that matter I think this may be what busybox --install does anyway... Jul 20 16:11:49 because I dont want to get busybox or mount or umount in update-alternatives Jul 20 16:12:48 <[g2]> since they are not symlinks why would you get them ? Jul 20 16:13:07 jbowler-zzz: actually, util-linux's shutdown doesn't work, so there busybox has to be higher Jul 20 16:13:30 <[g2]> or util-linux's shutdown needs to be fixed Jul 20 16:13:32 If it doesn't work why is it in there? Jul 20 16:13:34 jbowler-zzz: and what if you remove for example util-linux, then the binaries in busybox should get linked in Jul 20 16:14:03 <[g2]> can we pass a config option for no shutdown or just nuke it in post_install Jul 20 16:14:07 jbowler-zzz: I have no idea... havn't looked that yet Jul 20 16:14:28 probably works for some other distro, maybe Jul 20 16:14:44 It doesn't really matter for shutdown - presumably it should have a higher priority. Jul 20 16:15:13 <[g2]> what doesn't matter for shutdown ? Jul 20 16:15:55 util-linux/shutdown has a bug, but that doesn't mean that busybox should be hacked to fix it... Jul 20 16:16:49 <[g2]> we are getting to the point of splitting hairs Jul 20 16:17:04 Hum... ALTERNATIVE_NAME = "cat" ALTERNATIVE_LINK = "/bin/cat" ALTERNATIVE_PATH="/bin/busybox" ALTERNATIVE_PRIORITY = "0" Jul 20 16:17:06 no, that means util-linux/shutdown should get a lower priority, or get fixed, or not get included, but that is not the only reason Jul 20 16:17:35 I haven't done an update-alternatives where there are multiple things. Jul 20 16:17:48 let me check mount... Jul 20 16:17:56 <[g2]> well that's what the priority is supposed to do Jul 20 16:18:01 jbowler-zzz: yes, I saw the update-alternatives.bbclass, but not many packages use them Jul 20 16:18:14 most just run things in the postinst and prerm Jul 20 16:18:20 * [g2] was looking at that earlier too Jul 20 16:19:02 Well, the class just runs the script - so if I can do it in the class I can do it with the script... Jul 20 16:20:05 Ok, it's like many other .bbclasses - it only supports one ;-) No problem though... Jul 20 16:20:10 oh, and [g2], busybox is a link, so find -type l gets that too, same with mount Jul 20 16:20:32 <[g2]> ahh.. ok Jul 20 16:21:37 This is really simple. For install (I only give three commands): Jul 20 16:21:41 update-alternatives --install /bin/cat cat /bin/busybox 0 Jul 20 16:21:41 update-alternatives --install /bin/ln cat /bin/busybox 0 Jul 20 16:21:41 update-alternatives --install /bin/ls cat /bin/busybox 0 Jul 20 16:21:45 For remove: Jul 20 16:21:51 update-alternatives --remove cat /bin/busybox Jul 20 16:21:51 update-alternatives --remove ln /bin/busybox Jul 20 16:21:51 update-alternatives --remove ls /bin/busybox Jul 20 16:22:15 yes, thats what I do, just a bit harder because the files has to be there already for update-alternatives to work Jul 20 16:22:25 or, some files Jul 20 16:22:42 Eh? The only file in /bin/busybox and it's there, because 'install' is in post_rm Jul 20 16:22:50 s/post_rm/post_inst/ Jul 20 16:23:13 and because different distros use different defconfig for busybox the generated thinsg are nto always the same Jul 20 16:23:16 What I'm saying is that exactly what I wrote is the correct post install. Jul 20 16:23:43 different distros: ... why is that a problem? The busybox build generates a file with the list of applets. Jul 20 16:24:09 Ok, the file contains the busybox idea of where the link should be, but if busybox really does follow FHS that is fine. Jul 20 16:24:57 I.e. it is a simple matter of reading that file and generating the correct postinst and postrm - just as update-alternatives.bbclass does. Jul 20 16:24:59 <[g2]> right and DaKa2 is making linux-utils/core-utils etc... FHS compliant Jul 20 16:25:08 when you are installing busybox, you dont have for example /bin/ln or /usr/bin/head, so update-alternatives are going to fail, thats why Im shiping all the links in the ipk, and add that to the path Jul 20 16:25:24 busybox folows the FHS, seem like it atleast Jul 20 16:25:38 update-alternatives requires /bin/ln not to exist! Jul 20 16:26:08 yes, when makingt that one, but it needs it since its a script calling ln to make the actuall link :-) Jul 20 16:26:09 That's the path/link it is creating... It expects the ipk not to install that (which busybox won't if you tell it not to). Jul 20 16:26:17 yes Jul 20 16:26:33 Sorry - I couldn't follow what you were saying above. Jul 20 16:26:54 What I'm asserting is that what I wrote will work in postrm. Jul 20 16:27:19 yes, it will Jul 20 16:27:58 The only change (apart from stopping the busybox build installing the links - which is a config option) is some horrible python to parse the file. Jul 20 16:28:44 yes, and someone else can do that if they want :-) Jul 20 16:29:05 Since the result of a busybox ipkg install is then identical to what it was before (just sym links to /bin/busybox) we can be fairly sure it won't break the other distros. Jul 20 16:29:58 The complexity is in the other packages, which have to install something with a new name (like mount.util-linux) - that might break something. Jul 20 16:30:21 yep :-( Jul 20 16:30:29 Ahhh... Those links are wrong. Jul 20 16:30:42 <[g2]> cat cat cat Jul 20 16:30:55 well, the ones in http://david.thg.se/saker/openslug/busybox_1.00.bb should work Jul 20 16:30:59 update-alternatives --install /bin/cat cat busybox 0 Jul 20 16:31:14 except they dont Jul 20 16:32:40 ah, dammit... Jul 20 16:33:00 yep: Jul 20 16:33:02 update-alternatives first line: #!/bin/sh :-) Jul 20 16:33:02 root@lochalsh:~# ls -l /bin/cat Jul 20 16:33:02 lrwxrwxrwx 1 root root 7 Jul 19 17:18 /bin/cat -> busybox Jul 20 16:33:15 So that script will have: Jul 20 16:33:29 lrwxrwxrwx 1 root root 7 Jul 19 17:18 /bin/cat -> /bin/busybox Jul 20 16:33:31 which is wrong. Jul 20 16:33:49 ahh, well, thats seasy to change.. Jul 20 16:34:06 I wonder if I could run update-altervatives with sh update-altervatives Jul 20 16:34:11 should work Jul 20 16:35:12 IMO it is wrong to fix a bug in util-linux inside busybox Jul 20 16:35:19 no, we are not Jul 20 16:35:52 the bug in util-linux will be fixed in util-linux, one way or the other Jul 20 16:36:30 just make util-linux install shutdown with a lower priority, or actually fix it Jul 20 16:36:59 I was actually looking at the 'mount' priority - is that something different? Jul 20 16:37:05 yes Jul 20 16:37:10 that was there before Jul 20 16:37:18 so I didn't want to change the prio Jul 20 16:37:43 I could just put everything at 50, and use something higher in the other packages Jul 20 16:38:48 That's probably better - then writers of other packages know that busybox is always '50' Jul 20 16:39:26 yes, when I think about it, that makes sense Jul 20 16:40:14 I think busybox doesn't follow FHS, rather it just puts all the links in one configurable directory. Jul 20 16:41:12 hm.. well, atleast everything the FHS thinks should be in /bin is in /bin in busybox Jul 20 16:41:41 Do all the configs install 'basename'? It's fairly non-standard. Jul 20 16:42:28 I have seen it in other .bb... Jul 20 16:43:01 Eh? It's part of busybox. Jul 20 16:43:19 ahh, well, used in other .bb-files Jul 20 16:43:28 I mean for your postinst to work everything in it has to be a part of busybox. Jul 20 16:43:42 or be on the system already Jul 20 16:43:48 You can't rely on anything being there except busybox and a couple of other things (like tinylogin). Jul 20 16:44:29 Ill check all the defconfigs for basename, but as I said, it is used in other .bb-files Jul 20 16:44:50 I still think it would be a lot easier, save file system space and be faster to not install any of the symlinks and just have update-alternatives make them. Jul 20 16:45:22 yes, but update-alternatives needs them, since its a script calling ln to make the links Jul 20 16:45:54 update-alteratives doesn't need them - why should it, it just creates symlinks to (/bin/)busybox Jul 20 16:46:12 look insise update-alternatives Jul 20 16:46:14 inside* Jul 20 16:46:28 it uses shell commands to do the dirty work Jul 20 16:46:34 commands that are not there yes Jul 20 16:46:35 yet* Jul 20 16:47:03 Ah, yes, I see, good point Jul 20 16:47:26 So the only way round that is to build busybox with the built-in-applet option... Jul 20 16:47:47 this was the only "does-not-take-100-years-for-me-to-do" way I could think of Jul 20 16:47:55 built-in-applet? Jul 20 16:48:15 The shell can be compiled so that 'ls' automagically invokes 'busybox' Jul 20 16:48:37 It defeats the aim though because then it is very difficult to have ls invoke anything other than busybox... Jul 20 16:48:45 hehe, exactly :-) Jul 20 16:48:51 I was just about to way that Jul 20 16:48:54 say* Jul 20 16:49:12 The other approach is to have update-alternatives invoked via a wrapper which sources it and prefixes some aliases Jul 20 16:49:48 ah, aliases, didn't think of that Jul 20 16:50:10 Or to actually rewrite update-alternatives in place in postinst - in the way I suggested above, just make the links if they aren't there... Jul 20 16:50:29 then there is just the pyton stuff to fill postinst and prerm with things Jul 20 16:53:19 That's only one way of doing it - install the file of applets in /etc/busybox.dat or whatever and read that in postinst (postrm is a bit of a pain - it should be prerm...) Jul 20 16:53:48 it is prerm Jul 20 16:53:51 busybox.links in the build directory Jul 20 16:54:59 cd .. Jul 20 16:55:04 wrong window Jul 20 16:55:14 hm.. where would be a good place to install that then? Jul 20 16:55:35 /etc can't be the right place? or is it? Jul 20 16:56:17 I think it has to be, because anything else is either for binaries or might get mounted elsewhere. Jul 20 16:56:37 boot time stuff must be in /etc, busybox is effectively boot time. Jul 20 16:57:16 busybox.links is slightly out of date as a result of OE splitting udhcpd and httpd into separate packages. Jul 20 16:57:24 ok.. Ill see what I can do.. Jul 20 16:57:37 I guess I have to | grep -v them.. Jul 20 17:00:38 while read link; do if test ! -h "$link"; then LN "$link"; fi; done And LN is something which does do_install from update-alternatives Jul 20 17:02:12 The problem is that the symbolic links busybox creates are always relative - see /usr/bin/basename - that's so they work on a mount. Jul 20 17:02:43 (And they have to work on a mount because of the things initrd sometimes does to implement a pivot_root boot). Jul 20 17:03:04 yep, I fixed that in my beta implementation, http://david.thg.se/saker/openslug/busybox_1.00.bb Jul 20 17:03:08 but.. Jul 20 17:03:20 Ill see what I can make from busybox.links Jul 20 17:03:58 Oh, OK - you know what's in there so don't have to do arbitrary path name munging. Jul 20 17:05:00 So that makes it easy because you can use a case - case "$link" in; /*/*/*) ../../bin/busybox; /bin/*) busybox; /*/*) ../bin/busybox; esac Jul 20 17:05:45 I like case because it's a shell built-in - no chance of it not being there. Jul 20 17:06:31 good idea Jul 20 17:08:29 It's possible to make busybox.links into a shell script too; { cat busybox-install.head; egrep -v '/(httpd|udhcpd)$' busybox.links; } >${destdir}/bin/busybox-install Jul 20 17:09:17 (trying to make the busybox.links into an inline document in the script) Jul 20 17:10:31 <[g2]> jbowler-zzz it's great that you share you talents with the community Jul 20 17:10:39 <[g2]> doh... your Jul 20 17:11:07 infinitely complicated shell scripts ? Jul 20 17:11:19 <[g2]> heh... Jul 20 17:11:29 <[g2]> you have a lot of really good insights Jul 20 17:11:37 <[g2]> honed from year of practice Jul 20 17:11:42 <[g2]> honed from years of practice Jul 20 17:12:36 <[g2]> uh oh... I scared him away Jul 20 17:12:47 <[g2]> heh Jul 20 17:13:10 either that or you woke me up Jul 20 17:13:40 <[g2]> no... you and rwhitby are machines that just pass the turing test Jul 20 17:14:10 how is your mother? Jul 20 17:14:17 oops, wrong program Jul 20 17:14:22 <[g2]> LOL Jul 20 17:14:42 <[g2]> "Dave I can't do that" Jul 20 17:15:34 btw, anyone feel like testing my possible working perl packages? Jul 20 17:16:36 <[g2]> you've tried it on another slug right ? Jul 20 17:17:18 echo "src/gz oe-daka http://david.thg.se/saker/openslug/native/unstable" > /etc/ipkg/oe-daka.conf && ipkg update && ipkg install perl Jul 20 17:17:21 yes Jul 20 17:17:34 but I didn't test it that much Jul 20 17:18:14 <[g2]> really I think we should work up the recipe for NAiL and he can put it in the feed for the users Jul 20 17:18:47 yes.. Jul 20 17:19:20 <[g2]> I think I can built perl from a script but not package it up Jul 20 17:19:35 my .bb is in http://david.thg.se/saker/openslug somewhere Jul 20 17:19:40 but lots fo hardcoded Jul 20 17:19:45 and a few things not good Jul 20 17:20:13 but it seems to work Jul 20 17:20:23 but it really needs some more testing Jul 20 17:27:23 <[g2]> bbl Jul 20 17:30:15 oh well, time to sleep, bbl **** ENDING LOGGING AT Wed Jul 20 23:59:56 2005