Update of /cvsroot/leaf/src/The_UnNamed_One/buildtool/tools
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15949/buildtool/tools

Added Files:
        Busybox-1.00-static.config README.itrace 
        analyse-lrp-package.pl buildall.sh busybox compileShell.sh 
        compileShellInit createimage.sh dpatch 
        fakeroot_0.4.4-9.2.tar.gz genpage.pl getdirname.pl 
        itrace-0.5c.patch itrace-0.5c.tar.gz make-patches.sh mfstool 
        mfstool-0.5-fixed.tgz packages.conf prepareimagefiles.sh 
        upx-2.02-i386_linux.tar.gz 
Log Message:
initial import


--- NEW FILE: packages.conf ---
<config>
        #packages_to_skip=initrd,initrd_ide,initrd_ide_cd
        
        no_help_text = No description available
        no_version_text = n/a
        
        # set to 1 if the numbering of packages should start at 1
        # for each section, set to 0 if there should be one running
        # counter for all packages
        reset_counter=1
        
        max_age_for_changelog=30
        
        page_head = <div class="buildtool-genpage">
        page_foot = </div>
        
        changelog_head <<EOF_CHANGELOG_HEAD
                <hr />
                <h4><a name="CHANGELOG">Changelog</a></h4>
                <table border="1" summary="changelog" cellspacing="0" 
cellpadding="5">
                <tr><td>Date</td><td>Package Name</td><td>Message</td></tr>
        EOF_CHANGELOG_HEAD
                
        changelog_foot <<EOF_CHANGELOG_FOOT
                </table>
        EOF_CHANGELOG_FOOT
        
        rename_warning = After downloading this package, you need to rename it 
to <tt>__NEW_PACKAGE_NAME__.lrp</tt>
        
        <keywords>
                keyword=Requires:
                keyword=Optional:
                keyword=Recommended:
                keyword=Suggested:
        </keywords>
        
        
        item_head <<EOF_ITEM_HEAD
                EOF_ITEM_HEAD
        
        item_link <<EOF_ITEM_LINK
                <dt id="__ANCHOR__">__PACKAGE_NUMBER__. <a 
href="__LINK__">__PACKAGE_NAME__.lrp [__SIZE__ k]</a></dt> 
                
                EOF_ITEM_LINK
        
        item_body <<EOF_ITEM_BODY
                <dd>
                <p>__HELP__</p><p>Version: __VERSION__</p>
                EOF_ITEM_BODY

        item_foot <<EOF_ITEM_FOOT
                </dd>
                EOF_ITEM_FOOT

        body_foot=</dl>

<package_template>
        version=0.9.20_testing
        source=../../../../bin/packages/uclibc-0.9/20/testing
        item_link <<EOF_ITEM_LINK
                 <dt id="__ANCHOR__">__PACKAGE_NUMBER__. <a 
href="__LINK__">__PACKAGE_NAME__.lrp [__SIZE__ k]</a> 
<strong>TESTING</strong></dt>
                EOF_ITEM_LINK
        
        link <<EOF_LINK
                
http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/20/testing/__PACKAGE_NAME__.lrp?rev=HEAD&amp;content-type=application/octet-stream
                EOF_LINK
        
        body_head <<EOF_HEAD
                <hr />
                <h4><a name="TESTING">Packages in testing</a></h4>

                <p>The following packages still need lots of testing before 
they can be moved to the regular package directory. </p>

                <p>If you use one of the packages, <strong>please</strong> 
provide feedback to the package developer, 
                even if it's just that the package works fine for you. </p>
                <p>Otherwise we have no way to distinguish between a package 
that simply isn't used by anybody, 
                a package that doesn't work and packages that work fine, and 
could be moved to the regular packages directory.</p>
                
                <p>List of packages:</p>
                <dl>
                EOF_HEAD

</package_template>

<package_template>
        version=0.9.20_contrib
        source=../../../../bin/packages/uclibc-0.9/20/contrib
        item_link <<EOF_ITEM_LINK
                 <dt id="__ANCHOR__">__PACKAGE_NUMBER__. <a 
href="__LINK__">__PACKAGE_NAME__.lrp [__SIZE__ k]</a> 
<strong>CONTRIB</strong></dt> 
                EOF_ITEM_LINK
        
        link <<EOF_LINK
                
http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/20/contrib/__PACKAGE_NAME__.lrp?rev=HEAD&amp;content-type=application/octet-stream
                EOF_LINK
        
        body_head <<EOF_HEAD
                <hr />
                <h4><a name="CONTRIB">Contributions - provided as-is</a></h4>

                <p>The following packages come from various sources - they are 
contributions by other LEAF users. 
                They are provided "as-is" - if there is a problem with one of 
these packages, please contact 
                the package maintainer directly, since the Bering uClibc team 
cannot provide support for these packages.</p>

                <p>Every LEAF developer may commit lrp packages for 
Bering-uClibc 2.x into this section 
                (located in /bin/packages/uclibc-0.9/20/contrib/ in our CVS 
repository). But before committing a package, please read the
                <a 
href="http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/20/contrib/README?rev=HEAD";>readme</a>
 
                first. If the rules described in that document are not 
followed, it is possible our script that automatically generates the 
                packages page will fail and skip your package.</p>
                
                <p>List of packages:</p>
                <dl>
                EOF_HEAD

</package_template>

<package_template>
        version=0.9.20
        source=../../../../bin/packages/uclibc-0.9/20


        link <<EOF_LINK
                
http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/20/__PACKAGE_NAME__.lrp?rev=HEAD&amp;content-type=application/octet-stream
                EOF_LINK

        body_head <<EOF_HEAD
                <h4>Table of contents</h4>
                <dl><dt><a href="#RELEASED">Released packages</a></dt>
                <dt><a href="#TESTING">Packages in testing</a></dt>
                <dt><a href="#CONTRIB">Packages contributed by LEAF 
users</a></dt>
                <dt><a href="#CHANGELOG">Package changelog</a></dt>
                </dl>
                <h4><a name="RELEASED">Released packages</a></h4>
                <p>In this section you can find a list of packages that are 
already
                converted to uClibc 0.9.20. These packages are mostly derived 
from the original
                LRP's, where the programs in those packages are upgraded from 
their
                latest sources (and patches) and rebuilt against 
uClibc-0.9.20.</p>
                <p><strong>Please note: These packages are only for 
Bering-uClibc versions 2.0 and above.</strong>
                </p>

                <p>List of packages:</p>
                <dl>
                EOF_HEAD

        <overrides>

                <root>
                        HELP=Core LEAF Bering-uClibc package
                        VERSION=2.4.2 uClibc-0.9.20
                </root>
 
                <initrd>
                        HELP=LEAF Bering-uClibc initial filesystem
                        VERSION=2.4.2 uClibc-0.9.20
                </initrd>

                <initrd_usb>
                        HELP=LEAF Bering-uClibc initial filesystem including 
USB drivers
                        VERSION=2.4.2 uClibc-0.9.20
                </initrd_usb>

                <initrd_ide>
                        HELP=LEAF Bering-uClibc initial filesystem including 
IDE drivers
                        VERSION=2.4.2 uClibc-0.9.20
                </initrd_ide>


                <initrd_ide_cd>
                        HELP=LEAF Bering-uClibc initial filesystem including 
IDE and (ATAPI-)CDROM drivers
                        VERSION=2.4.2 uClibc-0.9.20
                </initrd_ide_cd>                

                <etc>
                        HELP=LEAF Bering-uClibc config files
                        VERSION=2.4.2
                </etc>
                <libc207>
                        HELP=Although we do our best to convert most packages 
to uClibc, there are cases where the sources could not be built against uClibc 
(yet). It is also possible that we do not have the sources of a specific 
package or we simple don't know the existence of a package. To help those 
people who need such a package, the libc207.lrp and libc225.lrp compatibility 
packages were created. These packages contain the Glibc-2.0.7 respectively the 
Glibc-2.2.5 libraries and can be used to create a mixed environment of uClibc 
converted packages and packages that are not converted (yet). Because the 
compatibility packages are fairly big and wont't fit on the boot floppy, a 
CDROM/FLASH/DOM/Harddisk or second floppy is needed as medium. Only one of the 
compatibility packages is needed.
                </libc207>

                <libc225>
                        HELP=Although we do our best to convert most packages 
to uClibc, there are cases where the sources could not be built against uClibc 
(yet). It is also possible that we do not have the sources of a specific 
package or we simple don't know the existence of a package. To help those 
people who need such a package, the libc207.lrp and libc225.lrp compatibility 
packages were created. These packages contain the Glibc-2.0.7 respectively the 
Glibc-2.2.5 libraries and can be used to create a mixed environment of uClibc 
converted packages and packages that are not converted (yet). Because the 
compatibility packages are fairly big and wont't fit on the boot floppy, a 
CDROM/FLASH/DOM/Harddisk or second floppy is needed as medium. Only one of the 
compatibility packages is needed.
                </libc225>

                <log>
                        HELP << EOF_LOG_HELP
                        This package does not contain anything by default.
                        It 'owns' all of /var/log/&#x2a;, and can be used to 
save log-files
                        EOF_LOG_HELP
                </log>
                 
                <local>
                        HELP << EOF_LOCAL_HELP
                        This package does not contain anything by default.
                        It 'owns' all of /usr/local/&#x2a;, and any addon 
packages or custom
                        additions you place in /usr/local will become part of 
the local
                        package when it is backed up.
                        EOF_LOCAL_HELP
                </local>

        </overrides>
</package_template>


<!-- 
Bering uClibc 3.0 
******************************************************************
-->

<package_template>
        version=0.9.28_testing
        source=../../../../bin/packages/uclibc-0.9/28/testing
        item_link <<EOF_ITEM_LINK
                 <dt id="__ANCHOR__">__PACKAGE_NUMBER__. <a 
href="__LINK__">__PACKAGE_NAME__.lrp [__SIZE__ k]</a> 
<strong>TESTING</strong></dt>
                EOF_ITEM_LINK
        
        link <<EOF_LINK
                
http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/28/testing/__PACKAGE_NAME__.lrp?rev=HEAD&amp;content-type=application/octet-stream
                EOF_LINK
        
        body_head <<EOF_HEAD
                <hr />
                <h4><a name="TESTING">Packages in testing</a></h4>

                <p>The following packages still need lots of testing before 
they can be moved to the regular package directory. </p>

                <p>If you use one of the packages, <strong>please</strong> 
provide feedback to the package developer, 
                even if it's just that the package works fine for you. </p>
                <p>Otherwise we have no way to distinguish between a package 
that simply isn't used by anybody, 
                a package that doesn't work and packages that work fine, and 
could be moved to the regular packages directory.</p>
                
                <p>List of packages:</p>
                <dl>
                EOF_HEAD

</package_template>

<package_template>
        version=0.9.28_contrib
        source=../../../../bin/packages/uclibc-0.9/28/contrib
        item_link <<EOF_ITEM_LINK
                 <dt id="__ANCHOR__">__PACKAGE_NUMBER__. <a 
href="__LINK__">__PACKAGE_NAME__.lrp [__SIZE__ k]</a> 
<strong>CONTRIB</strong></dt> 
                EOF_ITEM_LINK
        
        link <<EOF_LINK
                
http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/28/contrib/__PACKAGE_NAME__.lrp?rev=HEAD&amp;content-type=application/octet-stream
                EOF_LINK
        
        body_head <<EOF_HEAD
                <hr />
                <h4><a name="CONTRIB">Contributions - provided as-is</a></h4>

                <p>The following packages come from various sources - they are 
contributions by other LEAF users. 
                They are provided "as-is" - if there is a problem with one of 
these packages, please contact 
                the package maintainer directly, since the Bering uClibc team 
cannot provide support for these packages.</p>

                <p>Every LEAF developer may commit lrp packages for 
Bering-uClibc 3.x into this section 
                (located in /bin/packages/uclibc-0.9/28/contrib/ in our CVS 
repository). But before committing a package, please read the
                <a 
href="http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/28/contrib/README?rev=HEAD";>readme</a>
 
                first. If the rules described in that document are not 
followed, it is possible our script that automatically generates the 
                packages page will fail and skip your package.</p>
                
                <p>List of packages:</p>
                <dl>
                EOF_HEAD

</package_template>

<package_template>
        version=0.9.28
        source=../../../../bin/packages/uclibc-0.9/28


        link <<EOF_LINK
                
http://leaf.cvs.sourceforge.net/&#x2a;checkout&#x2a;/leaf/bin/packages/uclibc-0.9/28/__PACKAGE_NAME__.lrp?rev=HEAD&amp;content-type=application/octet-stream
                EOF_LINK

        body_head <<EOF_HEAD
                <h4>Table of contents</h4>
                <dl><dt><a href="#RELEASED">Released packages</a></dt>
                <dt><a href="#TESTING">Packages in testing</a></dt>
                <dt><a href="#CONTRIB">Packages contributed by LEAF 
users</a></dt>
                <dt><a href="#CHANGELOG">Package changelog</a></dt>
                </dl>
                <h4><a name="RELEASED">Released packages</a></h4>
                <p>In this section you can find a list of packages that are 
already
                converted to uClibc 0.9.28. These packages are mostly derived 
from the original
                LRP's, where the programs in those packages are upgraded from 
their
                latest sources (and patches) and rebuilt against 
uClibc-0.9.28.</p>
                <p><strong>Please note: These packages are only for 
Bering-uClibc versions 3.0 and above.</strong>
                </p>

                <p>List of packages:</p>
                <dl>
                EOF_HEAD

        <overrides>

                <root>
                        HELP=Core LEAF Bering-uClibc package
                        VERSION=3.0.0 uClibc-0.9.28
                </root>
 
                <initrd>
                        HELP=LEAF Bering-uClibc initial filesystem
                        VERSION=3.0.0 uClibc-0.9.28
                </initrd>

                <initrd_usb>
                        HELP=LEAF Bering-uClibc initial filesystem including 
USB drivers
                        VERSION=3.0.0 uClibc-0.9.28
                </initrd_usb>

                <initrd_ide>
                        HELP=LEAF Bering-uClibc initial filesystem including 
IDE drivers
                        VERSION=3.0.0 uClibc-0.9.28
                </initrd_ide>


                <initrd_ide_cd>
                        HELP=LEAF Bering-uClibc initial filesystem including 
IDE and (ATAPI-)CDROM drivers
                        VERSION=3.0.0 uClibc-0.9.28
                </initrd_ide_cd>                

                <etc>
                        HELP=LEAF Bering-uClibc config files
                        VERSION=3.0.0
                </etc>
 
        </overrides>
</package_template>
</config>


--- NEW FILE: busybox ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: buildall.sh ---
#! /bin/sh
# $Id: buildall.sh,v 1.1 2008/03/01 16:24:31 hejl Exp $
#set -x
# call this from the 
#
# (c) 2005 Arne Bernin
# distributed under GPL 



############# change this if needed #####################
#EXPORTDIR=/home/arne/leaf/buildall
EXPORTDIR=/tmp

#########################################################
DATE=$(date "+%d.%m.%Y")
STARTDATE=$(date)
MYDIR=$EXPORTDIR/$DATE
HTMLFILE=$MYDIR/build.html
BTROOTDIR=.
BTBIN=$BTROOTDIR/buildtool.pl
BPBIN=$BTROOTDIR/buildpacket.pl
BTSOURCEDIR=$BTROOTDIR/source
BTLOGFILE="${BTROOTDIR}/log/buildtoollog"
EXITVALUE=0



print_usage() {
cat <<EOF 

This script builds all packages/sources defined in conf/source.cfg 
in the correct order of dependencies. You may adjust the ouput base
dir in the script (EXPORTDIR) at the beginning as you need it.
$0 generates a html report with links to the logfiles of the build
in an subdirectory of EXPORTDIR, it contains links to the logfiles
from the build.

EOF
}

call_buildtool() {
        $BTBIN $1 $2 1>&2
        ret=$?
        if [ $ret -eq 0 ] ; then
                echo -n "<font color=green>OK</font>"
        else
                echo -n "<font color=red>FAILED</font>"
                EXITVALUE=1
        fi              
}

call_buildpacket() {
        echo "-------------------------" >> $MYDIR/$name.build.txt 2>&1
        # check if it has a package definition in it:
        grep -q '<Package>' $BTSOURCEDIR/$1/buildtool.cfg 2>/dev/null
        if [ $? -eq 0 ] ; then
                echo "calling buildpacket for $1 " >> $BTLOGFILE 2>&1

                fakeroot $BPBIN --package=$1 --all >> $BTLOGFILE 2>&1
                ret=$?
                if [ $ret -eq 0 ] ; then
                        echo -n "<font color=green>OK</font>"
                else
                        echo -n "<font color=red>FAILED</font>"
                        EXITVALUE=1
                fi              

        else
                echo -n "<font color=blue>No Package</font>"

        fi
}

#
if [ "$1" = "-h" -o "$1" = "--help" ] ; then
        print_usage
        exit 0
fi

############################# start ##############################
# create our working dir
mkdir -p $MYDIR


PKGLIST=$($BTBIN pkglist | tr ',' ' ');
PKGSIZE=$(echo $PKGLIST | tr ' ' '\n' | wc -l)

# wipe the buildtool logfile
> $BTLOGFILE

echo "report (build.html) will be generated in $MYDIR"

# open our html report
cat <<EOF >$HTMLFILE
<HTML>
<HEAD>
<TITLE>build report for $DATE</TITLE>
</HEAD>
<BODY>
<H2>Number of total packages:$PKGSIZE</H2>
<p>
<TABLE cellpadding=10 border=1>
<tr>
<th>Package/Source</th><th>logfile</th><th>result<br>source</th><th>result<br>build</th><th>result<br>package</th>
</tr>
EOF


# main loop
for name in $PKGLIST; do
        echo "building $name"
        # clear logfile
        > $BTLOGFILE
        echo -n "<tr><td>$name</td><td><a 
href=$name.build.txt>$name.build.txt</a></td><td>" >> $HTMLFILE
        OLDEXITVALUE=$EXITVALUE
        EXITVALUE=0
        call_buildtool source $name >> $HTMLFILE
        echo  "</td><td>" >> $HTMLFILE

        if [ $EXITVALUE -eq 0 ] ; then
                call_buildtool build $name >> $HTMLFILE
                echo -n "</td><td>" >> $HTMLFILE
                
                if [ $EXITVALUE -eq 0 ] ; then  
                        call_buildpacket $name >> $HTMLFILE             
                        EXITVALUE=$OLDEXITVALUE 
                else
                        echo -n "<font color=red>FAILED</font>" >> $HTMLFILE
                        EXITVALUE=1
                fi
                        

        else
                echo -n "<font color=red>FAILED</font>" >> $HTMLFILE
                echo -n "</td><td>" >> $HTMLFILE
                echo -n "<font color=red>FAILED</font>" >> $HTMLFILE
                EXITVALUE=1
        fi
        echo "</td></tr>" >> $HTMLFILE          
        # copy lofile
        cp $BTLOGFILE $MYDIR/$name.build.txt

done

echo "</TABLE>" >> $HTMLFILE
echo "<h2>build started: $STARTDATE<p>build ended: $(date)" >>$HTMLFILE
echo "</BODY>" >>$HTMLFILE
echo "</HTML>" >>$HTMLFILE

# did anything fail ?
exit $EXITVALUE

--- NEW FILE: Busybox-1.00-static.config ---
#
# Automatically generated make config: don't edit
#
HAVE_DOT_CONFIG=y

#
# General Configuration
#
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
# CONFIG_FEATURE_VERBOSE_USAGE is not set
# CONFIG_FEATURE_INSTALLER is not set
# CONFIG_LOCALE_SUPPORT is not set
# CONFIG_FEATURE_DEVFS is not set
CONFIG_FEATURE_DEVPTS=y
# CONFIG_FEATURE_CLEAN_UP is not set
# CONFIG_FEATURE_SUID is not set
# CONFIG_SELINUX is not set

#
# Build Options
#
CONFIG_STATIC=y
# CONFIG_LFS is not set
# USING_CROSS_COMPILER is not set
EXTRA_CFLAGS_OPTIONS=""

#
# Installation Options
#
# CONFIG_INSTALL_NO_USR is not set
PREFIX="./_install"

#
# Archival Utilities
#
# CONFIG_AR is not set
# CONFIG_BUNZIP2 is not set
# CONFIG_CPIO is not set
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_GUNZIP is not set
# CONFIG_GZIP is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
# CONFIG_TAR is not set
# CONFIG_UNCOMPRESS is not set
# CONFIG_UNZIP is not set

#
# Coreutils
#
# CONFIG_BASENAME is not set
# CONFIG_CAL is not set
# CONFIG_CAT is not set
# CONFIG_CHGRP is not set
# CONFIG_CHMOD is not set
# CONFIG_CHOWN is not set
# CONFIG_CHROOT is not set
# CONFIG_CMP is not set
# CONFIG_CP is not set
# CONFIG_CUT is not set
# CONFIG_DATE is not set
# CONFIG_DD is not set
# CONFIG_DF is not set
# CONFIG_DIRNAME is not set
# CONFIG_DOS2UNIX is not set
# CONFIG_DU is not set
# CONFIG_ECHO is not set
# CONFIG_ENV is not set
# CONFIG_EXPR is not set
# CONFIG_FALSE is not set
# CONFIG_FOLD is not set
# CONFIG_HEAD is not set
# CONFIG_HOSTID is not set
# CONFIG_ID is not set
# CONFIG_INSTALL is not set
# CONFIG_LENGTH is not set
# CONFIG_LN is not set
# CONFIG_LOGNAME is not set
# CONFIG_LS is not set
# CONFIG_MD5SUM is not set
# CONFIG_MKDIR is not set
# CONFIG_MKFIFO is not set
# CONFIG_MKNOD is not set
# CONFIG_MV is not set
# CONFIG_OD is not set
# CONFIG_PRINTF is not set
# CONFIG_PWD is not set
# CONFIG_REALPATH is not set
# CONFIG_RM is not set
# CONFIG_RMDIR is not set
# CONFIG_SEQ is not set
# CONFIG_SHA1SUM is not set
# CONFIG_SLEEP is not set
# CONFIG_SORT is not set
# CONFIG_STTY is not set
# CONFIG_SYNC is not set
# CONFIG_TAIL is not set
# CONFIG_TEE is not set
# CONFIG_TEST is not set
# CONFIG_TOUCH is not set
# CONFIG_TR is not set
# CONFIG_TRUE is not set
# CONFIG_TTY is not set
# CONFIG_UNAME is not set
# CONFIG_UNIQ is not set
# CONFIG_USLEEP is not set
# CONFIG_UUDECODE is not set
# CONFIG_UUENCODE is not set
# CONFIG_WATCH is not set
# CONFIG_WC is not set
# CONFIG_WHO is not set
# CONFIG_WHOAMI is not set
# CONFIG_YES is not set

#
# Console Utilities
#
# CONFIG_CHVT is not set
# CONFIG_CLEAR is not set
# CONFIG_DEALLOCVT is not set
# CONFIG_DUMPKMAP is not set
# CONFIG_LOADFONT is not set
# CONFIG_LOADKMAP is not set
# CONFIG_OPENVT is not set
# CONFIG_RESET is not set
# CONFIG_SETKEYCODES is not set

#
# Debian Utilities
#
# CONFIG_MKTEMP is not set
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_READLINK is not set
# CONFIG_RUN_PARTS is not set
# CONFIG_START_STOP_DAEMON is not set
# CONFIG_WHICH is not set

#
# Editors
#
# CONFIG_AWK is not set
# CONFIG_PATCH is not set
# CONFIG_SED is not set
# CONFIG_VI is not set

#
# Finding Utilities
#
# CONFIG_FIND is not set
# CONFIG_GREP is not set
# CONFIG_XARGS is not set

#
# Init Utilities
#
# CONFIG_INIT is not set
# CONFIG_HALT is not set
# CONFIG_POWEROFF is not set
# CONFIG_REBOOT is not set
# CONFIG_MESG is not set

#
# Login/Password Management Utilities
#
# CONFIG_USE_BB_PWD_GRP is not set
# CONFIG_ADDGROUP is not set
# CONFIG_DELGROUP is not set
# CONFIG_ADDUSER is not set
# CONFIG_DELUSER is not set
# CONFIG_GETTY is not set
# CONFIG_LOGIN is not set
# CONFIG_PASSWD is not set
# CONFIG_SU is not set
# CONFIG_SULOGIN is not set
# CONFIG_VLOCK is not set

#
# Miscellaneous Utilities
#
# CONFIG_ADJTIMEX is not set
# CONFIG_CROND is not set
# CONFIG_CRONTAB is not set
# CONFIG_DC is not set
# CONFIG_DEVFSD is not set
# CONFIG_LAST is not set
# CONFIG_HDPARM is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_MT is not set
# CONFIG_RX is not set
# CONFIG_STRINGS is not set
# CONFIG_TIME is not set
# CONFIG_WATCHDOG is not set

#
# Linux Module Utilities
#
# CONFIG_INSMOD is not set
# CONFIG_LSMOD is not set
# CONFIG_MODPROBE is not set
# CONFIG_RMMOD is not set

#
# Networking Utilities
#
# CONFIG_FEATURE_IPV6 is not set
# CONFIG_ARPING is not set
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_HOSTNAME is not set
# CONFIG_HTTPD is not set
# CONFIG_IFCONFIG is not set
# CONFIG_IFUPDOWN is not set
# CONFIG_INETD is not set
# CONFIG_IP is not set
# CONFIG_IPCALC is not set
# CONFIG_IPADDR is not set
# CONFIG_IPLINK is not set
# CONFIG_IPROUTE is not set
# CONFIG_IPTUNNEL is not set
# CONFIG_NAMEIF is not set
# CONFIG_NC is not set
# CONFIG_NETSTAT is not set
# CONFIG_NSLOOKUP is not set
# CONFIG_PING is not set
# CONFIG_ROUTE is not set
# CONFIG_TELNET is not set
# CONFIG_TELNETD is not set
# CONFIG_TFTP is not set
# CONFIG_TRACEROUTE is not set
# CONFIG_VCONFIG is not set
# CONFIG_WGET is not set

#
# udhcp Server/Client
#
# CONFIG_UDHCPD is not set
# CONFIG_UDHCPC is not set

#
# Process Utilities
#
# CONFIG_FREE is not set
# CONFIG_KILL is not set
# CONFIG_PIDOF is not set
# CONFIG_PS is not set
# CONFIG_RENICE is not set
# CONFIG_TOP is not set
# CONFIG_UPTIME is not set
# CONFIG_SYSCTL is not set

#
# Another Bourne-like Shell
#
# CONFIG_FEATURE_SH_IS_ASH is not set
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_FEATURE_SH_IS_LASH is not set
# CONFIG_FEATURE_SH_IS_MSH is not set
CONFIG_FEATURE_SH_IS_NONE=y
# CONFIG_ASH is not set
# CONFIG_HUSH is not set
# CONFIG_LASH is not set
# CONFIG_MSH is not set

#
# System Logging Utilities
#
# CONFIG_SYSLOGD is not set
# CONFIG_LOGGER is not set

#
# Linux System Utilities
#
# CONFIG_DMESG is not set
# CONFIG_FBSET is not set
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
# CONFIG_FDISK is not set
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
CONFIG_MKFS_MINIX=y

#
# Minix filesystem support
#
# CONFIG_FEATURE_MINIX2 is not set
# CONFIG_GETOPT is not set
# CONFIG_HEXDUMP is not set
# CONFIG_HWCLOCK is not set
# CONFIG_LOSETUP is not set
# CONFIG_MKSWAP is not set
# CONFIG_MORE is not set
# CONFIG_PIVOT_ROOT is not set
# CONFIG_RDATE is not set
# CONFIG_SWAPONOFF is not set
# CONFIG_MOUNT is not set
# CONFIG_UMOUNT is not set

#
# Debugging Options
#
# CONFIG_DEBUG is not set

--- NEW FILE: getdirname.pl ---
#! /usr/bin/perl

sub usage() {
        print STDERR<<EOF;
        usage: $0 tarfile
EOF
exit(1);
}

sub help() {
        print <<EOF;
        $0 returns the dir name of the first
        entry of the given tgz file
EOF

        exit(0);
}

if ($#ARGV != 0) {
        usage();
}

help() if ($ARGV[0] eq "--help" or $ARGV[0] eq "-h");

my $filename=$ARGV[0];
#print STDERR "tyring to open $filename\n";
open DIRNAME, "tar tzf $filename | head -1 |" or die("unable to open tarfile 
$filename ");
        
my $line=<DIRNAME>;
        chop $line;
        

close DIRNAME;

die "unable to read dirs" if ($line eq "");

# else
if ($line =~ /^.*\/$/) {
        # ending with / , is a directory
        $line =~ s/^(.*)\/$/$1/;        
} else {
        $line =~ s/^(.*)\/[^\/]+$/$1/;  
}

if ($line =~ /^.\/(.*)$/) {
        $line =~ s/^.\/(.*)$/$1/;
} 

print $line . "\n";
exit(0);


--- NEW FILE: dpatch ---
#! /bin/sh
## dpatch.shpp                                  -*- shell-script -*-
##
## Main dpatch control code.

set -e

DPATCH_OPTION_FORCE=0
DPATCH_OPTION_STRICT=0
DPATCH_OPTION_CPP=0
DPATCH_OPTION_CHDIR=0
DPATCH_WORKDIR=./

SYSCONFDIR='/etc'

if [ -e ${SYSCONFDIR}/dpatch.conf ]; then
        . ${SYSCONFDIR}/dpatch.conf
fi

[...1349 lines suppressed...]
                exit $?
                ;;
        log-all)
                dpatch_args_check ${cmd_help} ${argc} 0 0
                dpatch_patchset_do ${cmd_mapped} 0 "$@"
                exit $?
                ;;
        log-up-to|log-until)
                dpatch_args_check ${cmd_help} ${argc} 1 1
                dpatch_patchset_do ${cmd_mapped} 0 "$@"
                exit $?
                ;;

        ## Catch-all
        *)
                dpatch_help
                exit 1
                ;;
esac


--- NEW FILE: README.itrace ---
To install itrace, do the following:
- unpack:
        tar xvzf itrace-0.5c.tar.gz
- apply the patch
        cd itrace-0.5c 
        patch -p1 < ../itrace-0.5c.patch
- configure and build
        ./configure && make
- install it as root:
        make install



--- NEW FILE: analyse-lrp-package.pl ---
#! /usr/bin/perl

# this script analysis a given lrp/leaf file and makes a file list
# out of it, and make a script that builds the proper owner/permission
# settings

#$Id: analyse-lrp-package.pl,v 1.1 2008/03/01 16:24:30 hejl Exp $

require POSIX;
require File::MMagic;
require Config::General;


my @filelist;
my @binfiles;

my %config = ( Default => { Permissions => { Files => 644,
                                             Directories => 0755 },
                            

my $MM = new File::MMagic();
if ($ENV{EDITOR} eq "") {
  $EDITOR = "/usr/bin/joe";
} else {
  $EDITOR = $ENV{EDITOR};
} 

sub usage () {
  print "$0 usage: <archivename>\n\n";
  print "This Program analyses a leaf package,\n";
  print "two files will be created, <archivename>.skel.tar.gz\n";
  print "and <archivename>.chperms.sh, which is a shell script\n";
  print "you can use to change permissions to the state they were\n";
  print "(if you are making the binaries new)";
  exit;
}

if ($#ARGV != 0) {
 usage();
}

sub makePermFileLine() {
  my $line = shift;
  my $permline = "";
  my $permline1 = "";
  my ($perms, $owner, $size, $date, $time, $name) = split(' ',$line, 6);
  # delete dir stuff:
  $type = substr($perms, 0 , 1);
    chop($name);
  if ($type ne 'l') { 
    $perms = substr($perms, 1,);
    $permstring = &makePerms($perms);
    $permline .= "chown " . &makeOwner($owner) . " \${PREFIX}\/". $name . "\n";
    $permline1 = "chmod ". $permstring . " \${PREFIX}\/". $name . "\n";
  } else {
    # is link
    $name =~ s/^(.+) -> .*$/$1/;
    $permline .= "chown " . &makeOwner($owner) . " \${PREFIX}\/". $name . "\n";
  }
  return   "\n# file: $name\n" . $permline . $permline1;
}

sub makePerms () {
  my $perms = shift;
  my $retval = "";
  if (length($perms) != 9) {
    die "string is buggy";
  }
  $retval .= &makePerm('u', substr($perms, 0, 3));
  $retval .= &makePerm('g', substr($perms, 3, 3));
  $retval .= &makePerm('o', substr($perms, 6, 3));
  # remove last ,
  chop ($retval);
  return $retval;
}

sub makeOwner () {
  my $owner = shift;
  $owner =~ s/\//\./;
  return $owner;
}

sub makePermFileHead () {
  my $name = shift || "noname";
  $head = "#! /bin/sh\n\n";
  $head .= "## file to correct chown/chmod for package " . $name . "\n";
  $head .= "# generated ". POSIX::strftime("%d.%m.%Y %H:%M", gmtime(time())) . 
"\n";
  $head .= "\n# set PREFIX here\n";
  $head .= "PREFIX=\"\"\n\n";
  $head .= "# use commandline to overwrite prefix\n";
  $head .= "\n if  [ \"x\$1\" != \"x\" ] ; then \n";
  $head .= "PREFIX=\$1\nfi\n";
  $head .= "\n\n# just to be sure \nif [ \"x\$PREFIX\" = \"x\" ] ; then\n";
  $head .= "echo no prexix set, this is DANGEROUS, exiting\n exit 1";
  $head .= "\nfi\n\n";
  return $head;
}

sub makePerm () {
  my $prefix = shift;
  my $perms = shift;
  my $retval = "";

#  print "perms2:$perms\n";
  foreach $perm (split('', $perms,)) { 
    if ($perm =~ /^-$/) {
      # continue
    } else {
      # else
      $retval .= $perm;
    }
  }
  if (length($retval) > 0) {
    $retval = $prefix . "=".$retval . ",";
  }
  return $retval;

}

sub unpackTar () {
  my $file = shift;
  my $tempdir = shift || "/tmp";
  # create tempdir
  system('mkdirhier', $tempdir);
  # unpack everything
  system('tar', '-C', $tempdir, '-xzf', $file);
}

sub makeBinaryFileList () {
  # makes a list of all binary files found in directory
  my $startdir = shift || die "startdir not set";
  my $tempdir = shift || $startdir;
  my @list = ();
  opendir(STARTDIR, $startdir) or die "cannot open dir $startdir";
  my @alledateien = grep !/^\.\.?$/, readdir STARTDIR;

  foreach my $datei (@alledateien) {
    my $fpdatei = $startdir . "/" . $datei;
#    print "-->$fpdatei\n";

    push(@filelist, $fpdatei);
    if (-d $fpdatei) {
      # recurse!
#      print "recurse!";
      &makeBinaryFileList($fpdatei, $tempdir);
    } elsif (! -l ) {
      # file, not link!
      # remove starting dir
      # print filetype
      # check if file is binary
      if (&fileIsBinary($fpdatei)) {
        my $rpdatei = $fpdatei;
        $rpdatei =~ s/^$tempdir\/// ;
        push(@binfiles, $rpdatei);
      }
    }
  }
  closedir(STARTDIR);

}

sub makeSkelTar () {
  my $tarfile = shift || die "no tar filename given";
  my $list = shift  || return;

  my @BINLIST = @{$list};
  my $packagename = $tarfile;
  $packagename =~ s/(.*)\.[a-zA-Z]+/$1/ ;

  my $skelname = $packagename . ".skel.tgz";
  # first copy
  if (system ('cp', '-f', $tarfile, $skelname) != 0) {
    die "copying failed";
  }
  # gunzip
  if (system ('gunzip' , '-f', $skelname) != 0) {
    die "gunzip failed";
  }
  # now remove the files (binfiles) from archive
  $skelname =~ s/(.*)\.tgz$/$1\.tar/;
#  print "skelname:$skelname";

  # make a chmod to be sure:
  if (system ('chmod u+w '. $skelname) != 0 ) { 
    die "chmod failed"; 
 } 

  foreach $name (@BINLIST) {
    print "deleting file entry:$name\n";
  }
  #
  if (system('tar', '--delete', '-vf', "./". $skelname, @BINLIST) != 0) {
    die "tar --delete failed";
  }

  if (system ('gzip' , '-f', $skelname) != 0) {
    die "gzip failed";
  }


}

sub fileIsBinary ()  {
  my $fullpath = shift || return 0;
  $type = $MM->checktype_filename($fullpath);
  if ($type =~ /^application/) {
#    print $fullpath . ":" . $type . "\n";
    return 1;
  } else {
    return 0;
  }
}


########################################################################
# test if we can open the file:
# now set archive name:

print "Analysing package, please wait\n";

$packagename = $ARGV[0];
$packagename =~ s/(.*)\.[a-zA-Z]+/$1/ ;

#print "name : $packagename\n";

open (TEST, $ARGV[0]) or die "cannot open file " . $ARGV[0];
close (TEST);
open(TAR, "tar -tvzf $ARGV[0] 2>/dev/null |") or die "open tar failed";

$chmodfile = "./" . $packagename . ".chperms.sh";
open (CHMODFILE, ">$chmodfile");


print CHMODFILE &makePermFileHead($ARGV[0]);
while ($line = <TAR>) {
#  print "$line";
  print CHMODFILE &makePermFileLine($line) ;
}
close(TAR);
close(CHMODFILE);

if (system("chmod", "755", $chmodfile) != 0) {
  die "chmod failed";
}

my $UNPACK_DIR = "/tmp/unpack";

system('rm', '-rf', $UNPACK_DIR);
&unpackTar($ARGV[0], $UNPACK_DIR);
&makeBinaryFileList($UNPACK_DIR);

$filelistfile = "./" . $packagename . ".bin-list";
open(FILELIST , ">$filelistfile");
#print "einträge: " . scalar(@filelist) . "\n";

print FILELIST "# The following file seem to be binary executable/libs and 
are\n# to be removed for the skel.tgz:\n# please edit this list, after saving 
the files in here will be removed\n# from the skel.tar!\n# Please do not change 
this lines!\n";

foreach $name (@binfiles) {
print FILELIST "$name\n";
}
close(FILELIST);

system($EDITOR, "$filelistfile");

open (BINLISTFILE, $filelistfile);

while (my $line = <BINLISTFILE>) {
  if ($line =~ /^\#/) {
    # oh yes it is a comment!
  } else {
    # normal line
    chop($line);
#    print "--" . $line . "--\n";
    push (@BINLIST, $line);
  }
}
&makeSkelTar($ARGV[0], [EMAIL PROTECTED]);

--- NEW FILE: compileShell.sh ---
# $Id: compileShell.sh,v 1.1 2008/03/01 16:24:31 hejl Exp $
# just a small hack to set up some environment vars when
# compiling things "by hand"

# check if we were called with an absolute path or a relative one
echo $0 | grep -q '^/.*'
if [ $? -eq 0 ]  ; then 
MYPATH=$0 
else
MYPATH=$(pwd)/$0
fi

export LANG=C

MYPATH1=$(dirname $MYPATH)
# cut of /./, and . at end and tools
MYPATH2=$(echo $MYPATH1 | sed -e 's/\/.\//\//g' | sed -e 's/\/\.$//' | sed -e 
's/tools$//')
# strip ending : /
MYPATH2=$(echo $MYPATH2 | sed -e 's/\/$//')
export BT_BUILDROOT=$MYPATH2
export MASTERINCLUDEFILE=$MYPATH2/make/MasterInclude.mk
export PATH=$MYPATH2/staging/usr/bin:$PATH

echo 
echo "This starts a new shell, you can leave this one with: exit" 
echo 
# exec shell
exec /bin/bash --init-file $MYPATH1/compileShellInit


--- NEW FILE: itrace-0.5c.tar.gz ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: make-patches.sh ---
#! /bin/sh
# a script to make patching easier
# (c) 2003 Arne Bernin,
# based on kernel-patches from Erik Andersen:
#
# (c) 2002 Erik Andersen <[EMAIL PROTECTED]>

# Set directories from arguments, or use defaults.
targetdir=${1-.}
patchdir=${2}
patchpattern=${3-*}

if [ ! -d "${targetdir}" ] ; then
    echo "Aborting.  '${targetdir}' is not a directory."
    exit 1
fi
if [ ! -d "${patchdir}" ] ; then
    echo "Aborting.  '${patchdir}' is not a directory."
    exit 1
fi
    
for i in ${patchdir}/${patchpattern} ; do 
    case "$i" in
        *.gz)
        type="gzip"; uncomp="gunzip -dc"; ;; 
        *.bz)
        type="bzip"; uncomp="bunzip -dc"; ;; 
        *.bz2)
        type="bzip2"; uncomp="bunzip2 -dc"; ;; 
        *.zip)
        type="zip"; uncomp="unzip -d"; ;; 
        *.Z)
        type="compress"; uncomp="uncompress -c"; ;; 
        *)
        type="plaintext"; uncomp="cat"; ;; 
    esac
    echo ""
    echo "Applying ${i} using ${type}: " 
    ${uncomp} ${i} | patch -p1 -E -d ${targetdir} 
    if [ $? != 0 ] ; then
        echo "Patch failed!  Please fix $i!"
        exit 1
    fi
done

# Check for rejects...
if [ "`find $targetdir/ '(' -name '*.rej' -o -name '.*.rej' ')' -print`" ] ; 
then
    echo "Aborting.  Reject files found."
    exit 1
fi

# Remove backup files
find $targetdir/ '(' -name '*.orig' -o -name '.*.orig' ')' -exec rm -f {} \;

--- NEW FILE: upx-2.02-i386_linux.tar.gz ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: prepareimagefiles.sh ---
#!/bin/sh

# small script to get the files for an image

# please change this script to reflect your
# sourceforge username

#################################################################################

MYNAME=CHANGEME

#################################################################################


if [ "$MYNAME" = "CHANGEME" ] ; then
        echo "please edit this script and change the username inside"
        echo "to your username at sf.net, this script also REQUIRES"
        echo "that you have an ssh key already installed on sf.net"
        exit 1
fi

if [ "$1" = "" -o "$2" = "" ] ; then
        echo "usage: $0 <kernel version> <path to destination package dir>"
        exit 1
fi

# create path if not exist

KVERSION=$1
DIR=$2

# exit on error!
set -e

mkdir -p $DIR 

cd $DIR

echo
echo "Beginning cvs checkout, please wait"
echo 

export CVS_RSH=ssh

# now start real work:
#################################################################################

# webconf
mkdir -p $DIR/webconf
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co bin/config/webconf
find  bin/config/webconf/*.lwp -maxdepth 1 -type f -exec mv {} . \;
rm -f haserl-i386-static.lwp
find  bin/config/webconf/muwiki.lrp -type f -maxdepth 1  -exec mv {} webconf \;
find  bin/config/webconf/showtraf.lrp -type f -maxdepth 1  -exec mv {} webconf 
\;

# modules
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/Bering-uClibc_modules_$KVERSION.tar.gz
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/log.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/keyboard.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/shorwall.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/local.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/config.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/libc207.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/libc225.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/qos-htb.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/uhotplug.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/6wall.lrp

# for weblet, which is not used anymore (2.3 and above)
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/webipv6.lrp
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/bering-uclibc/packages/webwlan.lrp


find bin/bering-uclibc/packages/ -type f -maxdepth 1 -exec mv {} . \;

# packages
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l bin/packages/uclibc-0.9/20/
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/packages/uclibc-0.9/20/testing
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/packages/uclibc-0.9/20/contrib
cvs -d :ext:[EMAIL PROTECTED]:/cvsroot/leaf co -l 
bin/packages/uclibc-0.9/20/$KVERSION

find bin/packages/uclibc-0.9/20/ -type f -maxdepth 1 -exec mv {} . \;
mkdir -p testing
mkdir -p contrib
find bin/packages/uclibc-0.9/20/testing -type f -maxdepth 1 -exec mv {} testing 
\;
find bin/packages/uclibc-0.9/20/contrib -type f -maxdepth 1 -exec mv {} contrib 
\;
if [ ! -d bin/packages/uclibc-0.9/20/$KVERSION ] ; then
        echo "bin/packages/uclibc-0.9/20/$KVERSION does not exist!"
        exit 1
fi
find bin/packages/uclibc-0.9/20/$KVERSION -type f -maxdepth 1 -exec mv {} . \;
# rename linux file
mv linux-$KVERSION.upx linux

# remove all tmp
rm -rf bin
rm -rf devel


--- NEW FILE: fakeroot_0.4.4-9.2.tar.gz ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: genpage.pl ---
#! /usr/bin/perl -w

use strict;
use warnings;
no warnings "recursion";

# INCLUDES
use Getopt::Long;
use Config::General;
use Data::Dumper;
use File::Spec;
use File::Path;
use File::Temp;
use Carp;
use Symbol;
use Time::Local;
use Text::Wrap;

my $tempDir;
[...1129 lines suppressed...]
                
                # calculate how much we have to indent the wrapped lines
                my $subsequentTab = sprintf($formatString, '','');
                
                # print a newline before a date, unless it's the first line
                print $hOutputFile "\n" if !($first || $date eq '');
                print $hOutputFile $date unless $date eq '';
                
                # print the wrapped message
                print $hOutputFile join("",wrap('', $subsequentTab, $line)) . 
"\n";
                $first=0;
        }
        close $hOutputFile;     
}

exit;

__END__



--- NEW FILE: mfstool ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: mfstool-0.5-fixed.tgz ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: createimage.sh ---
#! /bin/sh
#set -x
# script to create the bering-uclibc floppy image
# $Id: createimage.sh,v 1.1 2008/03/01 16:24:31 hejl Exp $
# (C) 2005 Arne Bernin
# this file is released under the GNU Public Licence (GPL) 
# Version 2 or later

#######################################################################################################################################################
# adjust to your needs:
# Note: you can use pathnames in here (relative is the best of course, set the 
package path according if
# you call this script... If the path contains a : the string after the : will 
be used as target filename,
# if you have a file initrd_ide_cd.lrp and want to name it initrd.lrp on the 
floppy image, use:
# initrd_ide_cd.lrp:initrd.lrp


#######################################################################################################################################################
export LANG=C

print_usage() {
        cat <<EOF
usage: $0 <fd|iso> <cvs-bin path> <release version> <kernel version>
$0 creates a ready to use Floppy (1680k) or iso Image.
Choose fd for floppy image, iso for iso. <cvs bin path>
is the path to your checked out bin directory from cvs 
(use prepareimagefiles.sh for getting them out of cvs).
<release version> is the bering-uclibc release, e.g. 2.3beta5.
kernel version is the kernel version you are using.
EOF

}

#### look at how we are called:
if [ "$1" = "" -o "$2" = "" -o "$3" = "" -o "$4" = "" ] ; then
        print_usage
        exit 1
fi
if [ "$1" != "fd" -a "$1" != "iso" ] ; then
        print_usage
        exit 1
fi


TYPE=$(echo $1 | tr [:lower:] [:upper:])

#################
DATE=$(date "+%B %Y")
VERSION=$3

#### get clear path(s):
# check if we were called with an absolute path or a relative one
echo $0 | grep -q '^/.*'
if [ $? -eq 0 ]  ; then 
MYPATH=$0
else
MYPATH=$(pwd)/$0
fi

export LANG=C

MYPATH1=$(dirname $MYPATH)
# cut of /./, and . at end and tools
MYPATH2=$(echo $MYPATH1 | sed -e 's/\/.\//\//g' | sed -e 's/\/\.$//' | sed -e 
's/tools$//')
# strip ending : /
BTROOT=$(echo $MYPATH2 | sed -e 's/\/$//')
IMGPATH=${BTROOT}/image
TMPDIR=$(mktemp -d -p /tmp CREATE_XXXXXX)
IMG=${TMPDIR}/floppy.img
TOOLSDIR=${BTROOT}/tools
FDDIR=${TOOLSDIR}/image/$1
FDBASEDIR=${TOOLSDIR}/image
if [ -f "$FDDIR/filelist" ] ; then
        . $FDDIR/filelist
else
        echo "$FDDIR/filelist is missing"
        exit 1
fi

echo "FILELIST=$FILELIST"

# set pkgdir
PKGDIR=$2

#if [ "$4" = "" ] ; then
#       # find latest version
#       
#
#fi
KVERSION=$4
# check directory
retval=0

# export mtoolsrc so it will be find:
export MTOOLSRC=${TOOLSDIR}/mtoolsrc 
# create mtoolsrc
echo drive a: file=\"$IMG\" exclusive > $MTOOLSRC
echo MTOOLS_NO_VFAT=1 >> $MTOOLSRC


echo "copying files to $TMPDIR"
# copy base files
find $PKGDIR -maxdepth 1 -type f -exec cp {} $TMPDIR \;
mkdir -p $TMPDIR/contrib
mkdir -p $TMPDIR/testing
find $PKGDIR/testing -maxdepth 1 -type f -exec cp {} $TMPDIR/testing \;
find $PKGDIR/contrib -maxdepth 1 -type f -exec cp {} $TMPDIR/contrib \;
find $PKGDIR/$KVERSION -maxdepth 1 -type f -exec cp {} $TMPDIR \;

echo "creating image"

set -e
# now create the image dir
mkdir -p $IMGPATH

# copy disk + unpack
echo $IMG
zcat $FDDIR/img*.bin.gz > $IMG

set +e
# copy all files
#filelist=$(eval echo "\$FILELIST$TYPE")
for name in ${FILELIST} ; do
        echo $name | grep -q ":"
        if [ $? -eq 0 ] ; then
                src=$(echo $name | cut -d ':' -f 1)
                dst=$(echo $name | cut -d ':' -f 2)
        else
                src=$name
                dst=""
        fi
        echo copying $src to diskimage
        tretval=0
        #if [ "$dst" != "" ] ; then
                        mcopy ${PKGDIR}/$src a:$dst
                        tretval=$?
        #fi
        if [ $tretval -ne 0 ] ; then
                retval=1
        fi
done

set -e
# now copy rest files
mcopy -o $FDDIR/leaf.cfg a:leaf.cfg
cp $FDDIR/leaf.cfg $TMPDIR
mcopy -o $FDDIR/syslinux.cfg a:syslinux.cfg
cp $FDDIR/syslinux.cfg $TMPDIR
mcopy -o $FDDIR/syslinux.ser a:syslinux.ser
cp $FDDIR/syslinux.ser $TMPDIR
mcopy -o $FDDIR/configdb.ser a:configdb.ser
cp $FDDIR/configdb.ser $TMPDIR


#
sed -e "s/{DATE}/$DATE/g" -e "s/{VERSION}/$VERSION/g" $FDBASEDIR/syslinux.dpy > 
$TMPDIR/syslinux.dpy
sed -e "s/{DATE}/$DATE/g" -e "s/{VERSION}/$VERSION/g" $FDBASEDIR/readme > 
$TMPDIR/readme
mcopy -o $TMPDIR/syslinux.dpy a:syslinux.dpy
mcopy -o $TMPDIR/readme a:readme


mdir a:
set +e

if [ $retval -ne 0 ] ; then
        echo "There have been errors while creating the floppy image!"
else
        echo "floppy image created without error"
        if [ "$TYPE" = "ISO" ] ; then
                set -e
                mv $IMG ${TMPDIR}/bootdisk.ima
                cp -R $PKGDIR/* $TMPDIR
#               mkdir -p $TMPDIR/lib/modules
#               (cd $TMPDIR/lib/modules ; tar xvzf 
../../Bering-uClibc_modules_$KVERSION.tar.gz ; rm 
../../Bering-uClibc_modules_$KVERSION.tar.gz )
#               rm $TMPDIR/lib/modules/$KVERSION/build
                (cd $TMPDIR; ln -s Bering-uClibc_modules_$KVERSION.tar.gz 
modules.tgz )
                
IMGNAME=$IMGPATH/Bering-uClibc_$VERSION'_'iso_bering-uclibc-iso.bin
#               (cd $TMPDIR ; mkisofs -v -b bootdisk.ima  -c boot.catalog -r -f 
-J -o $IMGNAME -m moddb.lrp .)
                (cd $TMPDIR ; mkisofs -v -b bootdisk.ima  -c boot.catalog -r -f 
-J -o $IMGNAME .)

                set +e
        else 
                set -e
                
IMGNAME=$IMGPATH/Bering-uClibc_$VERSION'_'img_bering-uclibc-1680.bin

                mv $IMG $IMGNAME
                set +e

        fi
        echo "$TYPE image moved to $IMGNAME"

fi

rm -rf $TMPDIR
exit $retval

--- NEW FILE: itrace-0.5c.patch ---
diff -uNr itrace-0.5c/config.h.in itrace-0.5c-new/config.h.in
--- itrace-0.5c/config.h.in     2002-07-16 13:35:59.000000000 +0200
+++ itrace-0.5c-new/config.h.in 2004-10-07 22:58:04.000000000 +0200
@@ -24,4 +24,5 @@
 
 #define TRACELOG_VAR "ITRACE_LOGFNAME"
 #define TRACELIST_VAR "ITRACE_LISTFNAME"
+#define TRACEEXCLUDE_VAR "ITRACE_EXCLUDE_DIR"
 
diff -uNr itrace-0.5c/itrace.c itrace-0.5c-new/itrace.c
--- itrace-0.5c/itrace.c        2002-07-16 09:43:21.000000000 +0200
+++ itrace-0.5c-new/itrace.c    2004-10-05 03:23:28.000000000 +0200
@@ -67,12 +67,13 @@
 #endif
   printf("   -l, --log      sets the log file name.\n");
   printf("   -L, --list     sets the list file name.\n\n");
+  printf("   -X, --exclude  don't include files in this dir in list 
file.\n\n");
 }
 
 int main(int argc, char **argv)
 {
   int c;
-  char *args[4], *list = NULL, *log = NULL;
+  char *args[4], *list = NULL, *log = NULL, *exclude = NULL;
 
   static struct option long_options[] = {
     {"help", 0, 0, 'h'},
@@ -80,13 +81,15 @@
     {"version", 0, 0, 'v'},
 #endif
     {"log", 1, 0, 'l'},
-    {"list", 1, 0, 'L'}
+    {"list", 1, 0, 'L'},
+    {"exclude", 1, 0, 'X'},
+    {0,0,0,0}
   };
 
   while (!NULL) {
     int option_index = 0;
 
-    c = getopt_long(argc, argv, "hl:L:", long_options, &option_index);
+    c = getopt_long(argc, argv, "hl:L:X:", long_options, &option_index);
     if (c == -1)
       break;
 
@@ -108,7 +111,9 @@
     case 'L':
       list = optarg;
       break;
-
+    case 'X':
+      exclude = optarg;
+      break;
     default:
     }
   }
@@ -134,6 +139,15 @@
     free(real_log);
   }
 
+  if(exclude != NULL) {
+    char *real_exclude = get_absolute_path(exclude);
+    setenv(TRACEEXCLUDE_VAR, real_exclude, 1);
+    fprintf(stderr, "itrace> exclude dir . . . : %s\n", real_exclude);
+    free(real_exclude);
+    
+  
+  }
+
   if (list != NULL) {
     char *real_list = get_absolute_path(list);
 
diff -uNr itrace-0.5c/libitcore.c itrace-0.5c-new/libitcore.c
--- itrace-0.5c/libitcore.c     2002-07-15 20:22:31.000000000 +0200
+++ itrace-0.5c-new/libitcore.c 2004-10-07 22:12:50.000000000 +0200
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
+#include <libgen.h>
 
 #include <fcntl.h>
 #include <dlfcn.h>
@@ -79,11 +80,19 @@
 void itrace_list(const char *path)
 {
   char *real;
+  char *exclude;
 
   if (getenv(TRACELIST_VAR) == NULL) return;
 
   real = get_absolute_path(path);
 
+  /* check if we do want to lock this: */
+  exclude = getenv(TRACEEXCLUDE_VAR);
+  if (exclude != NULL) {
+    if (strncmp(exclude, real, strlen(exclude)) == 0 ) 
+       return;
+  } 
+
   if (listf == NULL) itrace_list_open();
 
   fprintf(listf, "%s\n", real);
@@ -91,6 +100,45 @@
   free(real);
 }
 
+void itrace_link_list(const char *path)
+{
+  char *bname, *dname, *realpath, *dirc, *basec, *exclude;
+
+  if (getenv(TRACELIST_VAR) == NULL) return;
+
+  dirc = strdup(path);
+  basec = strdup(path);
+  dname = dirname(strdup(path));
+  bname = basename(strdup(path));
+  dname = get_absolute_path(dname);
+
+  realpath = (char *) malloc(strlen(dname) + strlen(bname) +1);
+
+  sprintf(realpath, "%s/%s",dname, bname);
+
+  free(dirc);
+  free(basec);
+
+
+  /* check if we do want to lock this: */
+  exclude = getenv(TRACEEXCLUDE_VAR);
+  if (exclude != NULL) {
+    if (strncmp(exclude, realpath, strlen(exclude)) == 0 ) 
+       return;
+  }
+
+
+  /* write to the file */
+  if (listf == NULL) itrace_list_open();
+
+
+
+  fprintf(listf, "%s\n", realpath);
+
+  
+  free(realpath);
+}
+
 void check_libc(void)
 {
   void *lib = NULL;
diff -uNr itrace-0.5c/libitrace.c itrace-0.5c-new/libitrace.c
--- itrace-0.5c/libitrace.c     2002-07-16 09:59:34.000000000 +0200
+++ itrace-0.5c-new/libitrace.c 2004-10-06 15:00:33.000000000 +0200
@@ -79,8 +79,12 @@
   ret = libc_open(pathname, flags, mode);
   va_end(ap);
 
+  itrace_log("open33(\"%s\", 0x%08x, %04o) = %i\n", pathname, flags, mode,
+              ret);
+
   if (check_path(pathname)) return ret;
 
+
   if ((flags & O_WRONLY) || (flags & O_RDWR) || (flags & O_CREAT)) {
     itrace_log("open(\"%s\", 0x%08x, %04o) = %i\n", pathname, flags, mode,
               ret);
@@ -144,7 +148,7 @@
 
   itrace_log("link(\"%s\", \"%s\") = %i\n", oldpath, newpath, ret);
   if (!ret)
-    itrace_list(newpath);
+    itrace_link_list(newpath);
 
   return ret;
 }
@@ -158,8 +162,7 @@
 
   itrace_log("symlink(\"%s\", \"%s\") = %i\n", oldpath, newpath, ret);
   if (!ret)
-    itrace_list(newpath);
-
+    itrace_link_list(newpath);
   return ret;
 }
 
diff -uNr itrace-0.5c/libitrace.h itrace-0.5c-new/libitrace.h
--- itrace-0.5c/libitrace.h     2002-05-08 23:08:54.000000000 +0200
+++ itrace-0.5c-new/libitrace.h 2004-10-05 03:07:19.000000000 +0200
@@ -48,7 +48,7 @@
 
 void itrace_log(const char *, ...);
 void itrace_list(const char *);
-
+void itrace_link_list(const char *);
 
 void check_libc(void);
 
diff -uNr itrace-0.5c/libitrace64.c itrace-0.5c-new/libitrace64.c
--- itrace-0.5c/libitrace64.c   2002-07-16 13:27:33.000000000 +0200
+++ itrace-0.5c-new/libitrace64.c       2004-10-07 22:14:38.000000000 +0200
@@ -46,7 +46,7 @@
   va_start(ap, flags);
   mode = va_arg(ap, mode_t);
   va_end(ap);
-
+    
   check_libc();
   ret = libc_open64(pathname, flags, mode);
 
diff -uNr itrace-0.5c/util.c itrace-0.5c-new/util.c
--- itrace-0.5c/util.c  2002-07-16 13:21:22.000000000 +0200
+++ itrace-0.5c-new/util.c      2004-10-06 15:14:20.000000000 +0200
@@ -39,19 +39,22 @@
 char *get_absolute_path(char *path)
 {
   char *real_path = NULL;
+  char *start_path = NULL;
   int path_len;
 
   path_len = strlen(path);
 
   real_path = malloc(MAXPATHLEN + path_len + 1);
+  start_path = malloc(MAXPATHLEN + path_len + 1);
   real_path[MAXPATHLEN + path_len] = real_path[0] = 0x00;
+  start_path[MAXPATHLEN + path_len] = start_path[0] = 0x00;
 
   if (path[0] != '/') {
-    getcwd(real_path, MAXPATHLEN);
-    strcat(real_path, "/");
+    getcwd(start_path, MAXPATHLEN);
+    strcat(start_path, "/");
   }
-  strcat(real_path, path);
-  realpath(real_path, real_path);
-
+  strcat(start_path, path);
+  realpath(start_path, real_path);
+  free(start_path);
   return real_path;
 }
diff -uNr itrace-0.5c/util.h itrace-0.5c-new/util.h
--- itrace-0.5c/util.h  2002-07-16 10:00:29.000000000 +0200
+++ itrace-0.5c-new/util.h      2004-10-05 03:07:19.000000000 +0200
@@ -22,5 +22,6 @@
 
 int check_path(const char *);
 char *get_absolute_path(const char *);
+char *strdup(const char *s);
 
 #endif

--- NEW FILE: compileShellInit ---
# $Id: compileShellInit,v 1.1 2008/03/01 16:24:31 hejl Exp $
# set some init stuff for compile shell
export PS1="\[\e[32;1m\]compileShell \[\e[0m\]\w>"
eval dircolors
alias ls='ls --color=auto'



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
leaf-cvs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/leaf-cvs-commits

Reply via email to