#!/bin/sh
#have already created a packages.txt, using 2-t2packagesdottxt.
#now read packages.txt and import raw split exe packages to puppy,
#and create puppy-devx from raw split exe and dev pkgs.

#####
#3b-t2split2pup has the first part disabled. only writes to devx!!!!
#####

. /etc/rc.d/PUPSTATE
CURRDIR="`pwd`"

#these variables must be edited manually...
PROFILEPATH="/mnt/hda6/t2-15oct07/t2-trunk/target/piglet"
TARGETPATH="/mnt/hda3/puppy-development"
SPLITPKGSPATH="${TARGETPATH}/t2packages-split"

if [ ! -d $SPLITPKGSPATH ];then
 echo "The path in which to create the split pkgs has to be set in script. Exiting."
 exit
fi

NLS_TARGETDIR="${SPLITPKGSPATH}/packages-nls"
DOC_TARGETDIR="${SPLITPKGSPATH}/packages-doc"
DEV_TARGETDIR="${SPLITPKGSPATH}/packages-dev"
EXE_TARGETDIR="${SPLITPKGSPATH}/packages-exe"

PACKAGESTXT="`cat ${TARGETPATH}/puppy-unleashed/packages.txt`"

EXELIST="`echo "$PACKAGESTXT" | cut -f 2 -d '"' | tr '\n' ' '`" #'geany

#rm -rf $TARGETPATH/puppy-unleashed/packages/*

#for ONEPKG in $EXELIST
#do
# #hack, need to do this one manually...
# [ "`echo "$ONEPKG" | grep '^qt4'`" != "" ] && continue
#
# echo "Copying $ONEPKG"
# cp -a -f $EXE_TARGETDIR/$ONEPKG $TARGETPATH/puppy-unleashed/packages/
# sync
#done

######
#now to create the devx module....
DEVXDIR="$TARGETPATH/puppy-devx"
#rm -rf $TARGETPATH/puppy-devx
#mkdir $TARGETPATH/puppy-devx

#list of packages that will go into the devx module only...
DEVXONLY=' autoconf automake bin86 binutils bison cmake compositeproto cvs damageproto dietlibc evieext fixesproto fontcacheproto fontsproto flex gcc gccmakedep gdb gettext groff imake inputproto intltool kbproto libcap linux-header m4 make man man-pages mkinitrd nasm panoramixproto patch patchutils perl perl-compress-zlib perl-digest-sha1 perl-extutils-depends perl-extutils-pkgconfig perl-html-parser perl-uri perl-xml-parser perl-xml-simple pkgconfig python randrproto recordproto renderproto resourceproto rman rsync scrnsaverproto strace subversion texinfo trapproto videoproto xcmiscproto xextproto xf86bigfontproto xf86dgaproto xf86miscproto xf86vidmodeproto xineramaproto xtrans xf86driproto glproto '
#...some of gcc copy manually to pet pkg.

#pkg names with version...
ALLEXEPKGS="`ls -1 $EXE_TARGETDIR`"
ALLDEVPKGS="`ls -1 $DEV_TARGETDIR`"
ALLPKGS="$ALLEXEPKGS
$ALLDEVPKGS"
ALLPKGS="`echo "$ALLPKGS" | sort -u`"
FULLDEVXONLY=" "

for PKGNAMEONLY in $DEVXONLY
do

 #find name with version number...
 APATTERN="^${PKGNAMEONLY}\\-"
 NEWPKGDIR="`echo "$ALLPKGS" | grep "$APATTERN"`"
 if [ "$NEWPKGDIR" = "" ];then
  echo "PKGNAMEONLY=$PKGNAMEONLY" >> /tmp/t2failed2findpkg
  continue
 fi
 if [ `echo "$NEWPKGDIR" | wc -l` -ne 1 ];then
  #maybe can narrow down selection...
  BPATTERN="^${PKGNAMEONLY}\\-[0-9]"
  NEWPKGDIR="`echo "$ALLPKGS" | grep "$BPATTERN"`"
  if [ `echo "$NEWPKGDIR" | wc -l` -ne 1 ];then
   echo  "PKGNAMEONLY=$PKGNAMEONLY" >> /tmp/t2multiplematch
   continue
  fi
 fi
 FULLDEVXONLY="${FULLDEVXONLY}${NEWPKGDIR} "
 
 echo "Copying $NEWPKGDIR to puppy-devx"

 [ -d $DEV_TARGETDIR/$NEWPKGDIR ] && cp -a  --remove-destination $DEV_TARGETDIR/$NEWPKGDIR/* $TARGETPATH/puppy-devx/
 sync
 [ -d $EXE_TARGETDIR/$NEWPKGDIR ] && cp -a  --remove-destination $EXE_TARGETDIR/$NEWPKGDIR/* $TARGETPATH/puppy-devx/
 sync

done

for NEWPKGDIR in $EXELIST
do

 #hack, need to do this one manually...
 [ "`echo "$NEWPKGDIR" | grep '^qt4'`" != "" ] && continue

 #check if already copied above...
 EPATTERN=" $NEWPKGDIR "
 [ "`echo "$FULLDEVXONLY" | grep "$EPATTERN"`" != "" ] && continue

 echo "Copying $NEWPKGDIR dev-component to puppy-devx"

 #copy dev component only...
 cp -a  --remove-destination $DEV_TARGETDIR/$NEWPKGDIR/* $TARGETPATH/puppy-devx/
 sync

done

echo "WARNING: qt4 pkg ignored, need to do it manually from the orignal"
echo "         T2 bin pkg, as possible errors creating split pkgs."
###END###
