summaryrefslogtreecommitdiff
authorkergoth <kergoth>2002-02-21 23:41:37 (UTC)
committer kergoth <kergoth>2002-02-21 23:41:37 (UTC)
commita1f885544c3415f3bb89cadb8b17ab080090fe22 (patch) (side-by-side diff)
treea9a13d87005fe0973fac2759a602826ae62e240f
parent7fd3f2ce443a136079bb9230b90b31c8d172b16a (diff)
downloadopie-a1f885544c3415f3bb89cadb8b17ab080090fe22.zip
opie-a1f885544c3415f3bb89cadb8b17ab080090fe22.tar.gz
opie-a1f885544c3415f3bb89cadb8b17ab080090fe22.tar.bz2
Altered version_cvs datestamp handling, and added permissions squashing when it runs tar.
Diffstat (more/less context) (ignore whitespace changes)
-rwxr-xr-xmkipks9
1 files changed, 6 insertions, 3 deletions
diff --git a/mkipks b/mkipks
index d44f074..2a247ff 100755
--- a/mkipks
+++ b/mkipks
@@ -1,65 +1,66 @@
#!/bin/sh
QTE_VERSION=2.3.2
DEB_VERSION=2.0
# Have to do this here, since CVS can't store symlinks
mkdir -p etc/rc2.d
rm -f etc/rc2.d/S98qpe
ln -s ../init.d/qpe etc/rc2.d/S98qpe
VERSION_MAJ=$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h)
VERSION_MIN=$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h)
VERSION_PAT=$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$OPIEDIR/include/qpe/version.h)
SUB_VERSION=$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$OPIEDIR/include/qpe/version.h)
if grep -q 'QPE_VERSION .*snapshot' $OPIEDIR/include/qpe/version.h
then
- VERSION_CVS="_$(date +%Y%m%d)"
+ VERSION_CVS="$(date +%Y%m%d)"
+ SUB_VERSION=$VERSION_CVS
else
VERSION_CVS=""
fi
QPE_VERSION=$VERSION_MAJ.$VERSION_MIN.$VERSION_PAT
ARCH=arm
STRIP=arm-linux-strip
STRIP_FILES="*Advanced RISC Machines ARM*not stripped"
TDIR=/tmp/ipk$$
DATADIR=$TDIR/data
CTRLDIR=$TDIR/control
IMAGEDIR=
VERB=
LIST=
RPM=
while [ $# -ne 0 ]
do
case "$1" in
-v)
VERB=1
echo >&2 "Packaging for version $VERSION_MAJ.$VERSION_MIN.$VERSION_PAT$VERSION_CVS"
;; -l)
LIST=1
;; -i)
shift
IMAGEDIR=$1
DATADIR=$IMAGEDIR
mkdir -p $IMAGEDIR
;; -rpm)
if [ "$OPIEDIR" != "/opt/Qtopia" ]
then
echo >&2 '$OPIEDIR is not the standard /usr/Qtopia directory.'
sleep 1
#exit 1
fi
RPM=1
;; -arch)
shift
ARCH=$1
STRIP=
STRIP_FILES=
;; /*)
FILES="$FILES $1"
;; *)
@@ -156,66 +157,68 @@ do
echo >&2 "$0: $i: No such file: $ff"
ERROR=1
fi
done
done
fi
if [ -z "$ERROR" ]
then
if [ -n "$RPM" ]
then
SPEC=/tmp/mkipks-rpm-$$.spec
echo >$SPEC "Summary: $summary"
echo >>$SPEC "Name: $packagename"
echo >>$SPEC "Group: $section" ##########
echo >>$SPEC "License: $license"
echo >>$SPEC "Version: ${version%-*}"
echo >>$SPEC "Release: ${version#*-}"
echo >>$SPEC "%description"
sed -n -e '/^Description:/,$ p' $i | tail +2 >>$SPEC
echo >>$SPEC "%files"
echo >>$SPEC "%defattr(-,root,root)"
/bin/ls $RPMFILES >>$SPEC
rpm -bb --target $ARCH-unknown-linux $SPEC
# rm $SPEC
elif [ -z "$IMAGEDIR" ]
then
#size=$(du -h -s $DATADIR | sed -e 's/[ ].*//')
size=$(mkfs.jffs2 -r $DATADIR | wc -c)
echo "Package: $packagename" >$CTRLDIR/control
echo "Installed-Size: $size" >>$CTRLDIR/control
echo "Filename: ./$package.ipk" >>$CTRLDIR/control
echo "Version: $version" >>$CTRLDIR/control
echo "Depends: $depends" >>$CTRLDIR/control
egrep -v "^(Files|Version|Depends):" >>$CTRLDIR/control $i
echo "$DEB_VERSION" >$TDIR/debian-binary
base=${i%.control}
scripts="preinst postinst prerm postrm"
for pf in $scripts
do
if [ -x ${base}.$pf ]
then
cp ${base}.$pf $CTRLDIR/$pf
fi
done
if [ "$UID" = 0 ]
then
chown -R root.root $TDIR
+ else
+ echo "Warning: You are not root. Unable to squash permissions."
fi
- ( cd $CTRLDIR; tar cfz ../control.tar.gz ./*; )
- ( cd $DATADIR; tar cfz ../data.tar.gz ./*; )
+ ( cd $CTRLDIR; tar --owner root --group root cfz ../control.tar.gz ./*; )
+ ( cd $DATADIR; tar --owner root --group root cfz ../data.tar.gz ./*; )
( cd $TDIR; rm -rf control data; tar cf - ./debian-binary ./control.tar.gz ./data.tar.gz; ) | gzip >$RDIR/$package.ipk
RESULT=$package.ipk
if [ -n "$VERB" ]
then
echo >&2 "Built $RESULT ($size)"
fi
if [ -n "$LIST" ]
then
echo $RESULT
fi
fi
else
echo >&2 "Not building $package package"
fi
done