-rwxr-xr-x | scripts/GeneratePackageMake | 8 | ||||
-rwxr-xr-x | scripts/mkipkg | 10 | ||||
-rwxr-xr-x | scripts/tothreaded | 4 |
3 files changed, 13 insertions, 9 deletions
diff --git a/scripts/GeneratePackageMake b/scripts/GeneratePackageMake index 099d3e8..9d692a9 100755 --- a/scripts/GeneratePackageMake +++ b/scripts/GeneratePackageMake @@ -6,68 +6,68 @@ do BNAME=${i##*/} BNAME=${BNAME/.control/} echo "cdir: ${CDIR}" echo "bname: ${BNAME}" grep -e "Package:" -e "Files:" ./${i} done > /tmp/ALL # # makefile header # cat << MAKEFILEHEADER # # generate -mt.control file from regular control # arg 1 : path to control file to convert # define GenerateMTControl @echo "Generating -mt control file for \$(basename \$<)" @\$(OPIEDIR)/scripts/tothreaded \$< \$(OPIEDIR)/AllThreadedPackages endef # # package one control file # arg 1 : directory from OPIEROOT where control file resides # arg 2 : control file basename without -mt (no .control) # arg 3 : control file basename with -mt if needed # arg 4 : package name (value specified by Package: ...) # define DoPackage -@echo \"Building ipk of \$(4)\" -@( \$(ForSubst) ) > \$(TOPDIR)/scripts/subst -@( \$(ForFileSubst) ) > \$(TOPDIR)/scripts/Filesubst -@( cd \$(OPIEDIR); \\ +echo \"Building ipk of \$(4)\" +( \$(ForSubst) ) > \$(TOPDIR)/scripts/subst +( \$(ForFileSubst) ) > \$(TOPDIR)/scripts/Filesubst +( cd \$(OPIEDIR); \\ \$(OPIEDIR)/scripts/mkipkg \\ --subst=\$(OPIEDIR)/scripts/subst \\ --filesubst=\$(OPIEDIR)/scripts/filesubst \\ --control=\$(OPIEDIR)/\$(1)/\$(3).control \\ --prerm=\$(OPIEDIR)/\$(1)/\$(2).prerm \\ --preinst=\$(OPIEDIR)/\$(1)/\$(2).preinst \\ --postrm=\$(OPIEDIR)/\$(1)/\$(2).postrm \\ --postinst=\$(OPIEDIR)/\$(1)/\$(2).postinst \\ --strip=\$(STRIP) \$(OPIEDIR); \\ rm -f \$(OPIEDIR)/Packages/\$(4)_*.ipk; \\ mv *.ipk \$(OPIEDIR)/Packages; \\ touch \$(OPIEDIR)/Packages/\$(4) \\ ) || true endef # # prepared for generating the substfile for every build # define ForSubst echo 's,\\\$\$QPE_VERSION,\$(QPE_VERSION),g'; \\ echo 's,\\\$\$OPIE_VERSION,\$(OPIE_VERSION),g'; \\ echo 's,\\\$\$QTE_VERSION,\$(QTE_VERSION),g'; \\ echo 's,\\\$\$QTE_REVISION,\$(QTE_REVISION),g'; \\ echo 's,\\\$\$SUB_VERSION,\$(SUB_VERSION),g'; \\ echo 's,\\\$\$EXTRAVERSION,\$(EXTRAVERSION),g'; \\ echo 's,\\\$\$QTE_BASEVERSION,\$(QTE_BASEVERSION),g' endef define ForFileSubst echo 's,\\\$\$OPIEDIR/root/,/,g'; \\ echo 's,\$(OPIEDIR)/root/,/,g'; \\ diff --git a/scripts/mkipkg b/scripts/mkipkg index a336371..2f020f4 100755 --- a/scripts/mkipkg +++ b/scripts/mkipkg @@ -215,97 +215,101 @@ createFileList() local realFileList= local missing=0 for file in $_fileList; do local containedInList=0 for i in "${excludeMaskArray[@]}"; do if [[ $file == $i ]]; then containedInList=1 break; fi done if [ $containedInList = 0 ]; then if ! [ -e $file -o -L $file ]; then echo "$self: $file not found" missing=1 fi realFileList=$file" $realFileList" fi done _popd if [ $missing = 1 ]; then return 1 fi setVar $2 "$realFileList" } stripFile() { - if [ -f $1 -a -x $1 ]; then - $strip --strip-all $1 + if [ ! -h $1 -a -f $1 -a -x $1 ]; then + $strip -p --strip-all $1 fi } substFile() { local oldfile=$1 if [ ! -e $2 ]; then return 1; fi if [ -e $oldfile -o -L $oldfile ]; then newfile=`echo $oldfile|sed -f $2|sed -e's,^/,,g'` olddir=`dirname $oldfile` base=`basename $oldfile` newdir=`dirname $newfile` # echo >&2 moving $oldfile to $newfile if [ "$newdir" = "$olddir" ]; then return 0 fi mkdir -p $newdir mv $olddir/$base $newfile rmdir -p $olddir 2>/dev/null fi } stripFiles() { for f in $1; do - stripFile ./$f + # do not strip links + if [ ! -h ./$f ] + then + stripFile ./$f + fi done } substFiles() { for f in $1; do substFile ./$f done } substAndStripFiles() { for f in $1; do stripFile ./$f substFile ./$f $2 done } installScript() { if [ -n "$1" -a -f "$1" ]; then destfile=`basename $1` filetype=`echo $destfile|cut -d. -f2` if [ -n "$filetype" ]; then destfile=$filetype; fi if [ -n "$subst" ]; then sed -f $subst < $1 > $ctrldir/$destfile else cat $1 > $ctrldir/$destfile fi chmod +x $ctrldir/$destfile fi } diff --git a/scripts/tothreaded b/scripts/tothreaded index 31ed31e..f916ad8 100755 --- a/scripts/tothreaded +++ b/scripts/tothreaded @@ -1,66 +1,66 @@ #!/bin/sh # PURPOSE : # # this script converts a non-threaded control file to a threaded one # by extending appropriate names with -mt as extension # # eg abc.control becoms abc-mt.control # # # make sure that the depends expression has enough spaces # expression can contian : , ( ) || && # tokenize() { sed "s/,/ & /g" | sed "s/)/ & /g" | sed "s/(/ & /g" | sed "s/|/ & /g" | sed "s/&/ & /g" } # # function converts package name to threaded equivalend IF the # package file HAS a threaded version # findthreadedequiv() { local isin i for i in $* do isin=`grep "^$i\$" "$ALLTHREADEDPKGSFILE"` if [ -z "$isin" ] then # no threaded package - echo -n "$i " + echo -n "$i" else # threaded package - echo -n "${isin}-mt " + echo -n "${isin}-mt" fi done echo } # # signature of binary files # currently obsolete # # ISBINARY="*ELF*LSB*" usage() { echo "Usage : tothreaded <controlfile> <ALLPackages file>" exit 2 } . scripts/SpecialMTFiles # # get the name of the controlfile to check for threading # if [ -z "$1" ] then usage fi controlfile=$1 shift case $controlfile in *-mt.control) #already threaded echo $controlfile |