RE: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
-Original Message- From: Lynn Avants [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 07, 2004 3:13 AM To: [EMAIL PROTECTED] Subject: Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl) On Tuesday 06 July 2004 03:58 pm, Erich Titl wrote: [...] Some time ago I tried to use busybox ash instead of the installed one on Bering 1.2+. My goal was to get more space for possibly a more recent gclibc library and more modern package versions. I quickly found out that the ash syntax used in, for example, the backup routines did not work. I guess in order to be able to use different shells we should stick to an extreme low level of the possible tricks in the scripting _dialect_ so porting issues will pop up less frequently. This may sound like heresy in the ears of shell afficionados but will enhance the chance to use different interpreters. No idea how much work it would take to get up to level alone with busybox ash, let alone with another interpreter. David D rewrote Oxygen from the ground up in his last release to use BB-ash. The problem we basically face is the behavior of the glibc-2.0.7 Ash- (stripped) is not compatible with any other version of Ash known to mankind. This is the reason that David had to re-write init and other core files when he made the switch. That is likely another reason why we are still using the same binary that is so ancient. I don't know what the difference is, but everything else I've compiled has had syntax conflicts with one package or another (if it even boots correctly to begin with). IIRC, UClibc-team has made several corrections when they were first starting the project. I also seem to recall that they are using BB-Ash, so this is likely the best place to look at using a different (and compatible) shell. No, we are still using the latest available ASH because none of the others seem to work. BB-ash still has some problems with our scripts and we are currently working on Dash, although there are some other places where scripting seems also to be broken. It is really just a matter of choosing the 'right' shell and change everything accordingly. p.s. I ask in advance to be forgiven if i'm making any major mistake... Luis Correia Bering uClibc Team Member PGP Fingerprint: BC44 D7DA 5A17 F92A CA21 9ABE DFF0 3540 2322 21F6 Key Server: http://pgp.mit.edu --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel
Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
Charles At 17:37 06.07.2004 -0500, Charles Steinkuehler wrote: Erich Titl wrote: Charles At 23:43 06.07.2004, Charles Steinkuehler wrote: snip IIRC, busybox ash has several compile-time options to allow for smaller size (by omitting lesser-used features that the complex scripts in LEAF tend to rely on). Are you sure you had everything enabled when you built the busybox ash and it still didn't work with Bering? As sure as I can be, (which may not mean a lot.), but then why do we have a separate implementation of ash, sed, halt, klogd, reboot, syslogd, watchdog, wget. I believe busybox is part of initrd.lrp Historical issues, in part (busybox didn't include ash, set, etc. when LRP was initially created). There are also compatability issues (for instance, sed is really 'put to the test' in several scripts that are part of LEAF, and I'm not sure the BB version of sed would work properly). But then, this is busybox 0.60.5 /* vi: set sw=4 ts=4: */ // This file defines the feature set to be compiled into busybox. // When you turn things off here, they won't be compiled in at all. // This file is parsed by sed. You MUST use single line comments. // i.e., //#define BB_BLAH // // // BusyBox Applications //#define BB_ADJTIMEX //#define BB_AR #define BB_ASH OK, you're compiling ash... snip //#define BB_TEST ...but you're *NOT* compiling test, which (as it's alter-ego '[' ) is what processes those conditional commands you were having problems with: Uuummpp... will recompile and start at field one Thanks Erich THINK Püntenstrasse 39 8143 Stallikon mailto:[EMAIL PROTECTED] PGP Fingerprint: BC9A 25BC 3954 3BC8 C024 8D8A B7D4 FF9D 05B8 0A16 --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel
Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
Erich Titl wrote: Hi At 21:55 06.07.2004, Lynn Avants wrote: On Monday 05 July 2004 07:44 pm, Mike Noyes wrote: On Mon, 2004-07-05 at 16:14, Chad Carr wrote: I say we all take a look at it, stamp it with approval or disapproval, and move on to more pressing questions, like when to back up changes and how the hell to write a full-featured templating system in the 92k stripped down /bin/sh from Oxygen! Chad, Dash may help in this area. http://gondor.apana.org.au/~herbert/dash/ DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. DASH is not compilable for glibc-2.0.7. Some time ago I tried to use busybox ash instead of the installed one on Bering 1.2+. My goal was to get more space for possibly a more recent gclibc library and more modern package versions. I quickly found out that the ash syntax used in, for example, the backup routines did not work. I guess in order to be able to use different shells we should stick to an extreme low level of the possible tricks in the scripting _dialect_ so porting issues will pop up less frequently. This may sound like heresy in the ears of shell afficionados but will enhance the chance to use different interpreters. So which constructs do you propose that we do away with? -Tom -- Tom Eastep\ Nothing is foolproof to a sufficiently talented fool Shoreline, \ http://shorewall.net Washington USA \ [EMAIL PROTECTED] --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel
Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
Erich Titl wrote: Hi At 21:55 06.07.2004, Lynn Avants wrote: On Monday 05 July 2004 07:44 pm, Mike Noyes wrote: On Mon, 2004-07-05 at 16:14, Chad Carr wrote: I say we all take a look at it, stamp it with approval or disapproval, and move on to more pressing questions, like when to back up changes and how the hell to write a full-featured templating system in the 92k stripped down /bin/sh from Oxygen! Chad, Dash may help in this area. http://gondor.apana.org.au/~herbert/dash/ DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. DASH is not compilable for glibc-2.0.7. Some time ago I tried to use busybox ash instead of the installed one on Bering 1.2+. My goal was to get more space for possibly a more recent gclibc library and more modern package versions. I quickly found out that the ash syntax used in, for example, the backup routines did not work. I guess in order to be able to use different shells we should stick to an extreme low level of the possible tricks in the scripting _dialect_ so porting issues will pop up less frequently. This may sound like heresy in the ears of shell afficionados but will enhance the chance to use different interpreters. No idea how much work it would take to get up to level alone with busybox ash, let alone with another interpreter. My understanding is the busybox ash comes from the same source the ash used in LRP came from (although I think there are a few differences, such as command line history, that are implemented differently), and should work fine with LEAF. IIRC, busybox ash has several compile-time options to allow for smaller size (by omitting lesser-used features that the complex scripts in LEAF tend to rely on). Are you sure you had everything enabled when you built the busybox ash and it still didn't work with Bering? -- Charles Steinkuehler [EMAIL PROTECTED] --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel
Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
Tom At 23:29 06.07.2004, Tom Eastep wrote: Erich Titl wrote: ... Some time ago I tried to use busybox ash instead of the installed one on Bering 1.2+. My goal was to get more space for possibly a more recent gclibc library and more modern package versions. I quickly found out that the ash syntax used in, for example, the backup routines did not work. I guess in order to be able to use different shells we should stick to an extreme low level of the possible tricks in the scripting _dialect_ so porting issues will pop up less frequently. This may sound like heresy in the ears of shell afficionados but will enhance the chance to use different interpreters. So which constructs do you propose that we do away with? I believe I cannot put my fingers on one simple statement, definitely the bracket test ( if [ -x /tmp/foo ] ) syntax clashes with busybox ash, at least with the version I tested. This syntax is elegant and widely used though, so you can imagine the impact such a thing would have. Maybe someone else has more experience with other issues in the busybox shell? cheers Erich THINK Püntenstrasse 39 8143 Stallikon mailto:[EMAIL PROTECTED] PGP Fingerprint: BC9A 25BC 3954 3BC8 C024 8D8A B7D4 FF9D 05B8 0A16 --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel
Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
Charles At 23:43 06.07.2004, Charles Steinkuehler wrote: Erich Titl wrote: Hi At 21:55 06.07.2004, Lynn Avants wrote: On Monday 05 July 2004 07:44 pm, Mike Noyes wrote: On Mon, 2004-07-05 at 16:14, Chad Carr wrote: I say we all take a look at it, stamp it with approval or disapproval, and move on to more pressing questions, like when to back up changes and how the hell to write a full-featured templating system in the 92k stripped down /bin/sh from Oxygen! Chad, Dash may help in this area. http://gondor.apana.org.au/~herbert/dash/ DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. DASH is not compilable for glibc-2.0.7. Some time ago I tried to use busybox ash instead of the installed one on Bering 1.2+. My goal was to get more space for possibly a more recent gclibc library and more modern package versions. I quickly found out that the ash syntax used in, for example, the backup routines did not work. I guess in order to be able to use different shells we should stick to an extreme low level of the possible tricks in the scripting _dialect_ so porting issues will pop up less frequently. This may sound like heresy in the ears of shell afficionados but will enhance the chance to use different interpreters. No idea how much work it would take to get up to level alone with busybox ash, let alone with another interpreter. My understanding is the busybox ash comes from the same source the ash used in LRP came from (although I think there are a few differences, such as command line history, that are implemented differently), and should work fine with LEAF. IIRC, busybox ash has several compile-time options to allow for smaller size (by omitting lesser-used features that the complex scripts in LEAF tend to rely on). Are you sure you had everything enabled when you built the busybox ash and it still didn't work with Bering? As sure as I can be, (which may not mean a lot.), but then why do we have a separate implementation of ash, sed, halt, klogd, reboot, syslogd, watchdog, wget. I believe busybox is part of initrd.lrp But then, this is busybox 0.60.5 /* vi: set sw=4 ts=4: */ // This file defines the feature set to be compiled into busybox. // When you turn things off here, they won't be compiled in at all. // This file is parsed by sed. You MUST use single line comments. // i.e., //#define BB_BLAH // // // BusyBox Applications //#define BB_ADJTIMEX //#define BB_AR #define BB_ASH #define BB_BASENAME #define BB_CAT #define BB_CHGRP #define BB_CHMOD #define BB_CHOWN #define BB_CHROOT //#define BB_CHVT #define BB_CLEAR //#define BB_CMP #define BB_CP //#define BB_CPIO #define BB_CUT #define BB_DATE //#define BB_DC #define BB_DD //#define BB_DEALLOCVT #define BB_DF #define BB_DIRNAME #define BB_DMESG //#define BB_DOS2UNIX //#define BB_DPKG //#define BB_DPKG_DEB #define BB_DUTMP #define BB_DU //#define BB_DUMPKMAP #define BB_ECHO //#define BB_ENV //#define BB_EXPR //#define BB_FBSET //#define BB_FDFLUSH #define BB_FIND #define BB_FREE #define BB_FREERAMDISK //#define BB_FSCK_MINIX //#define BB_GETOPT #define BB_GREP #define BB_GUNZIP #define BB_GZIP #define BB_HALT #define BB_HEAD #define BB_HOSTID #define BB_HOSTNAME //#define BB_HUSH #define BB_ID //#define BB_IFCONFIG #define BB_INIT #define BB_INSMOD #define BB_KILL #define BB_KILLALL #define BB_KLOGD //#define BB_LASH //#define BB_LENGTH #define BB_LN //#define BB_LOADACM //#define BB_LOADFONT #define BB_LOADKMAP #define BB_LOGGER //#define BB_LOGNAME //#define BB_LOSETUP #define BB_LS #define BB_LSMOD #define BB_MAKEDEVS //#define BB_MD5SUM #define BB_MKDIR //#define BB_MKFIFO #define BB_MKFS_MINIX #define BB_MKNOD //#define BB_MKSWAP //#define BB_MKTEMP //#define BB_MODPROBE #define BB_MORE #define BB_MOUNT //#define BB_MSH //#define BB_MT #define BB_MV #define BB_NC #define BB_NSLOOKUP #define BB_PIDOF #define BB_PING #define BB_PIVOT_ROOT //#define BB_POWEROFF #define BB_PRINTF #define BB_PS #define BB_PWD #define BB_RDATE //#define BB_READLINK #define BB_REBOOT //#define BB_RENICE //#define BB_RESET #define BB_RM #define BB_RMDIR #define BB_RMMOD //#define BB_ROUTE //#define BB_RPM2CPIO #define BB_SED //#define BB_SETKEYCODES #define BB_SLEEP #define BB_SORT #define BB_STTY //#define BB_SWAPONOFF #define BB_SYNC #define BB_SYSLOGD #define BB_TAIL #define BB_TAR //#define BB_TEE //#define BB_TEST //#define BB_TELNET //#define BB_TFTP //#define BB_TIME #define BB_TOP #define BB_TOUCH #define BB_TR #define BB_TRACEROUTE #define BB_TRUE_FALSE #define BB_TTY //#define BB_UNIX2DOS //#define BB_UUENCODE //#define BB_UUDECODE #define BB_UMOUNT #define BB_UNIQ #define BB_UNAME #define BB_UPDATE #define BB_UPTIME //#define BB_USLEEP //#define BB_VI #define BB_WATCHDOG #define BB_WC #define BB_WGET #define BB_WHICH #define BB_WHOAMI #define BB_XARGS #define BB_YES // End of Applications List THINK Püntenstrasse 39 8143 Stallikon mailto:[EMAIL PROTECTED]
Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
Erich Titl wrote: Charles At 23:43 06.07.2004, Charles Steinkuehler wrote: snip IIRC, busybox ash has several compile-time options to allow for smaller size (by omitting lesser-used features that the complex scripts in LEAF tend to rely on). Are you sure you had everything enabled when you built the busybox ash and it still didn't work with Bering? As sure as I can be, (which may not mean a lot.), but then why do we have a separate implementation of ash, sed, halt, klogd, reboot, syslogd, watchdog, wget. I believe busybox is part of initrd.lrp Historical issues, in part (busybox didn't include ash, set, etc. when LRP was initially created). There are also compatability issues (for instance, sed is really 'put to the test' in several scripts that are part of LEAF, and I'm not sure the BB version of sed would work properly). But then, this is busybox 0.60.5 /* vi: set sw=4 ts=4: */ // This file defines the feature set to be compiled into busybox. // When you turn things off here, they won't be compiled in at all. // This file is parsed by sed. You MUST use single line comments. // i.e., //#define BB_BLAH // // // BusyBox Applications //#define BB_ADJTIMEX //#define BB_AR #define BB_ASH OK, you're compiling ash... snip //#define BB_TEST ...but you're *NOT* compiling test, which (as it's alter-ego '[' ) is what processes those conditional commands you were having problems with: definitely the bracket test ( if [ -x /tmp/foo ] ) syntax There should also be several ash options *OTHER* than the build switch you list above...I'm not sure where these would be in older busybox, but in the current CVS, it looks like they're in the shell directory as part of Config.in: http://www.busybox.net/cgi-bin/cvsweb/busybox/shell/Config.in?rev=1.16view=auto Note the recent addition of a 64-bit math support, which might be handy for LEAF... -- Charles Steinkuehler [EMAIL PROTECTED] --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel
Re: [--ot] [leaf-devel] leaf-tools overview (cdb, trig, tmpl)
On Tuesday 06 July 2004 03:58 pm, Erich Titl wrote: [...] Some time ago I tried to use busybox ash instead of the installed one on Bering 1.2+. My goal was to get more space for possibly a more recent gclibc library and more modern package versions. I quickly found out that the ash syntax used in, for example, the backup routines did not work. I guess in order to be able to use different shells we should stick to an extreme low level of the possible tricks in the scripting _dialect_ so porting issues will pop up less frequently. This may sound like heresy in the ears of shell afficionados but will enhance the chance to use different interpreters. No idea how much work it would take to get up to level alone with busybox ash, let alone with another interpreter. David D rewrote Oxygen from the ground up in his last release to use BB-ash. The problem we basically face is the behavior of the glibc-2.0.7 Ash- (stripped) is not compatible with any other version of Ash known to mankind. This is the reason that David had to re-write init and other core files when he made the switch. That is likely another reason why we are still using the same binary that is so ancient. I don't know what the difference is, but everything else I've compiled has had syntax conflicts with one package or another (if it even boots correctly to begin with). IIRC, UClibc-team has made several corrections when they were first starting the project. I also seem to recall that they are using BB-Ash, so this is likely the best place to look at using a different (and compatible) shell. -- ~Lynn Avants Linux Embedded Appliance Firewall Developer http://leaf.sourceforge.net http://guitarlynn.homelinux.org:81 --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel