+*) 2004-07-26
+
+- fixed sendmail, added patch
+- fixed xdirectfb + changed prefix to /opt
+- fixed dhcp documentation related bug
+- fixed Create-Binary script to use right package dir names
+- implemented runtime dependency check (final)
+
 *) 2004-07-25
 
 - implemented runtime dependency checks for each build, still dev!
 
--- /dev/null
+--- ./sendmail/Makefile.m4.orig        2004-07-26 12:35:05.000000000 +0200
++++ ./sendmail/Makefile.m4     2004-07-26 12:38:16.000000000 +0200
+@@ -53,7 +53,6 @@
+       @echo "You must have setup a new user ${MSPQOWN} and a new group ${GBINGRP}"
+       @echo "as explained in sendmail/SECURITY."
+       mkdir -p ${DESTDIR}${MSPQ}
+-      chown ${MSPQOWN} ${DESTDIR}${MSPQ}
+       chgrp ${GBINGRP} ${DESTDIR}${MSPQ}
+       chmod 0770 ${DESTDIR}${MSPQ}
+ 
+@@ -89,7 +88,7 @@
+       ${INSTALL} -c -o ${SBINOWN} -g ${UBINGRP} -m ifdef(`confSTMODE', `confSTMODE', `0600') statistics ${DESTDIR}${STPATH}
+ 
+ install-submit-st: statistics ${DESTDIR}${MSPQ}
+-      ${INSTALL} -c -o ${MSPQOWN} -g ${GBINGRP} -m ifdef(`confSTMODE', `confSTMODE', `0600') statistics ${DESTDIR}${MSPQ}/${MSPSTFILE}
++      ${INSTALL} -c -g ${GBINGRP} -m ifdef(`confSTMODE', `confSTMODE', `0600') statistics ${DESTDIR}${MSPQ}/${MSPSTFILE}
+ 
+ divert(0)
+ bldPRODUCT_END
 
        chmod 1777 /tmp
        chmod 1777 /var/mail
        mkdir -p /var/spool/mqueue
+       chown smmsp /var/spool/clientmqueue
+       [ -f /var/spool/clientmqueue/sm-client.st ] && \
+               chown smmsp /var/spool/clientmqueue/sm-client.st
                }
 
 uninstall_block()      {
 
        echo "applying xdirectfb patch ..."
        cd ../xc &&
        patch -Nfp0 < ../${srcdir}/xc-directfb.diff &&
-       patch -Nfp1 < ../${srcdir}/xc-transparency-extension.diff
 
        echo "copying over files ..."
        cp -a ../${srcdir}/programs/Xserver/hw/directfb \
-               programs/Xserver/hw/ &&
-       cp -a ../${srcdir}/config/cf/* config/cf/ &&
+               programs/Xserver/hw/
+       cp -a ../${srcdir}/programs/Xserver/GL/directfb \
+               programs/Xserver/GL/
+       cp -a ../${srcdir}/lib/GL/directfb lib/GL/
+       cp -a ../${srcdir}/config/cf/* config/cf/
 
-       echo "not patching host.def - we build this in $prefix/local ..."
+       echo "patching host.def - prefix /opt/xdirectfb ..."
+       sed "s%/usr/local/X11R6%$root/opt/xdirectfb%g" config/cf/host.def > t~
+       mv t~ config/cf/host.def
+
+       echo "building rootless xserver now ..."
        make World && make install
                }
 
        
        # documentation and config files
        rm -rf $docdir && mkdir -p $docdir
-       cp -v doc/* client/dhclient.conf server/dhcpd.conf $docdir
+       cp -v doc/[!j]* client/dhclient.conf server/dhcpd.conf $docdir
                }
 
        # build/runtime dependencies (just libs >= stage 3, 
        # default is 'hardcoded')
        # still in development !!
-       if [ "$hdw_status" -ge "2" ] ; then
+       if [ "$hdw_status" -ge "3" ] ; then
                # build deps
                rm -f $root/var/adm/deps/build/$package
                echo -n "calculating build dependencies ... "
                for dep in $alldeps; do
                        echo "$dep" >> $root/var/adm/deps/build/$package
                done
+               touch $root/var/adm/deps/build/$package
                echo "done"
                # runtime deps
                rm -f $root/var/adm/deps/run/$package
                for binary in `grep 'bin\/' \
                                $root/var/adm/flists/${package}${append} | \
                                awk '{ print $2 }'`; do
-                       for rdep in `ldd $root/$binary | awk '{ print $3 }' | \
-                                       sed 's$/$$'i | grep -v stage | \
-                                       awk -F: '{ print $2 }'`; do
-                               add=1
-                               for cmp in $alldeps; do
-                                       [ "$cmp" = "rdep" ] && add=0
+                       for rdep in `ldd $root/$binary 2>&1 | \
+                                       awk '{ print $3 }' | \
+                                       sed 's$/$$' | grep -v 'dynamic' | \
+                                       grep -v '^ldd'`; do
+                               for rpkg in `grep $rdep -r \
+                                               $root/var/adm/flists | \
+                                               grep -v $s1_prefix | \
+                                               awk -F: '{ print $2 }'`; do
+                                       add=1
+                                       for cmp in $alldeps; do
+                                               [ "$cmp" = "$rpkg" ] && add=0
+                                       done
+                                       [ "$add" = "1" ] && \
+                                               alldeps="$rpkg $alldeps"
                                done
-                               [ "$add" = "1" ] && alldeps="$rdep $alldeps"
                        done
                done
                for library in `grep 'lib\/.*.so.*' \
                                $root/var/adm/flists/${package}${append} | \
                                awk '{ print $2 }'`; do
-                       for rdep in `ldd $root/$binary | awk '{ print $3 }' | \
-                                       sed 's$/$$'i | grep -v stage | \
-                                       awk -F: '{ print $2 }'`; do
-                               add=1
-                               for cmp in $alldeps; do
-                                       [ "$cmp" = "rdep" ] && add=0
+                       for rdep in `ldd $root/$library 2>&1 | \
+                                       awk '{ print $3 }' | \
+                                       sed 's$/$$' | grep -v 'dynamic' | \
+                                       grep -v '^ldd'`; do
+                               for rpkg in `grep $rdep -r \
+                                               $root/var/adm/flists | \
+                                               grep -v $s1_prefix | \
+                                               awk -F: '{ print $2 }'`; do
+                                       add=1
+                                       for cmp in $alldeps; do
+                                               [ "$cmp" = "$rpkg" ] && add=0
+                                       done
+                                       [ "$add" = "1" ] && \
+                                               alldeps="$rpkg $alldeps"
                                done
-                               [ "$add" = "1" ] && alldeps="$rdep $alldeps"
                        done
                done
                for dep in $alldeps; do
                        echo "$dep" >> $root/var/adm/deps/run/$package
                done
+               touch $root/var/adm/deps/run/$package
                echo "done"
        fi
        
 
                                if [ "$hdw_make_package" = "1" -a \
                                     "$hdw_status" -ge "2" ] ; then
                                        echo -n "creating binary package ..."
+                                       if [ -d binaries/*/$package ] ; then
+                                               echo -n " (deleting old first)"
+                                               rm -rf binaries/*/$package
+                                       fi
                                        ./scripts/Create-Binary \
                                                -package $package-$pr \
                                                -tar-name $package \
 
 else
        bin_dir=${hdw_arch}-generic
 fi
+pkg_dir=`echo $package | sed 's%-[0-9]%%'`
 mkdir -p binaries/$bin_dir
 
 # single package
 if [  "$package" != "all" ] ; then
-if [ -d ./binaries/$bin_dir/${package} ] ; then
+if [ -d ./binaries/$bin_dir/${pkg_dir} ] ; then
        echo "$package binary already exists, skipped"
-       echo "(remove ./binaries/$bin_dir/$package to recreate it)"
+       echo "(remove ./binaries/$bin_dir/${pkg_dir} to recreate it)"
        exit 0
 else
        # does it exist?
                exit 0
        else
                echo "creating binary tarball of $package"
-               mkdir -p $hdw_home_dir/binaries/$bin_dir/$package &&
+               mkdir -p $hdw_home_dir/binaries/$bin_dir/${pkg_dir} &&
                cd $hdw_build_dir &&
                # which files do we need?
                fl_file="var/adm/flists/$package"
                cat $fl_file | awk '{ print $2 }' | \
                tar --no-recursion --use-compress-program=bzip2 \
-               -cf $hdw_home_dir/binaries/$bin_dir/$package/$tar_name.tar.bz2 \
+               -cf $hdw_home_dir/binaries/$bin_dir/${pkg_dir}/$tar_name.tar.bz2 \
                -T -
                cp $hdw_build_dir/var/adm/flists/$package \
-                       $hdw_home_dir/binaries/$bin_dir/$package
+                       $hdw_home_dir/binaries/$bin_dir/${pkg_dir}
                cd $hdw_home_dir
                echo "done"
        fi