summaryrefslogtreecommitdiff
path: root/mkipks
Side-by-side diff
Diffstat (limited to 'mkipks') (more/less context) (ignore whitespace changes)
-rwxr-xr-xmkipks30
1 files changed, 28 insertions, 2 deletions
diff --git a/mkipks b/mkipks
index 78498f8..29db5c0 100755
--- a/mkipks
+++ b/mkipks
@@ -56,8 +56,10 @@ do
shift
IMAGEDIR=$1
DATADIR=$IMAGEDIR
mkdir -p $IMAGEDIR
+ ;; -classic)
+ CLASSIC=1
;; -rpm)
if [ "$OPIEDIR" != "/opt/Qtopia" ]
then
echo >&2 '$OPIEDIR is not the standard /usr/Qtopia directory.'
@@ -77,8 +79,13 @@ do
esac
shift
done
+if [ -n "$CLASSIC" ]
+then
+ DATADIR=$TDIR/data
+ CTRLDIR=$TDIR/control
+fi
if [ -z "$FILES" ]
then
FILES=`find $OPIEDIR -name "*.control" -print`
@@ -199,18 +206,22 @@ do
echo "Package: $packagename" >$CTRLDIR/control
if [ ! -z "$size" ]; then
echo "Installed-Size: $size" >>$CTRLDIR/control
else
+ if [ -z "$SIZEWARNED" ]
+ then
echo "Warning, no mkfs.jffs2 found, unable to set Installed-Size."
+ SIZEWARNED=1
+ fi
fi
echo "Architecture: $ARCH" >>$CTRLDIR/control
echo "Filename: ./$package.ipk" >>$CTRLDIR/control
echo "Version: $version" >>$CTRLDIR/control
[ ! -z "$depends" ] && echo "Depends: $depends" >>$CTRLDIR/control
[ ! -z "$provides" ] && echo "Provides: $provides" >>$CTRLDIR/control
[ ! -z "$conflicts" ] && echo "Conflicts: $conflicts" >>$CTRLDIR/control
egrep -v "^(Files|Version|Depends|Provides|Conflicts|Architecture):" >>$CTRLDIR/control $i
-# echo "$DEB_VERSION" >$TDIR/debian-binary
+ [ -n "$CLASSIC" ] && echo "$DEB_VERSION" >$TDIR/debian-binary
base=${i%.control}
scripts="preinst postinst prerm postrm"
for pf in $scripts
do
@@ -218,9 +229,24 @@ do
then
cp ${base}.$pf $CTRLDIR/$pf
fi
done
- $OPIEDIR/scripts/ipkg-build -o root -g root $TDIR
+ if [ -z "$CLASSIC" ]
+ then
+ $OPIEDIR/scripts/ipkg-build -o root -g root $TDIR
+ else
+ if [ "`id -u`" != "0" ]
+ then
+ if [ -z "$ROOTWARNED" ]
+ then
+ echo Warning. You are not root. Please become root or use fakeroot.
+ ROOTWARNED=1
+ fi
+ fi
+ ( cd $DATADIR && tar -czf $TDIR/data.tar.gz * )
+ ( cd $CTRLDIR && tar -czf $TDIR/control.tar.gz * )
+ ( cd $TDIR && tar -czf $OPIEDIR/$package.ipk ./control.tar.gz ./data.tar.gz ./debian-binary )
+ fi
RESULT=$package.ipk
if [ -n "$VERB" ]
then
echo >&2 "Built $RESULT ($size)"