summaryrefslogtreecommitdiff
path: root/mkipks
Side-by-side diff
Diffstat (limited to 'mkipks') (more/less context) (show whitespace changes)
-rwxr-xr-xmkipks2
1 files changed, 2 insertions, 0 deletions
diff --git a/mkipks b/mkipks
index 29db5c0..b813e83 100755
--- a/mkipks
+++ b/mkipks
@@ -116,149 +116,151 @@ do
if [ -z "$files" ]
then
mkdir -p $DATADIR/usr/share/doc/$packagename
else
for f in $files
do
if [ -d $f ]
then
ffiles=$(find $f -type f -o -type b -o -type c -o -type l)
else
ffiles=$f
fi
for ff in $ffiles
do
case $ff in
*/CVS/*)
continue
;; *~)
continue
;; *.control)
continue
;; $QTDIR/*)
BASE=$(dirname /opt/QtPalmtop/${ff#$QTDIR/})
;; etc/*.d/*)
BASE=$(dirname /$ff)
;; ipaq/*)
BASE=$(dirname ${ff#ipaq})
;; *)
# For SHARP ROM compatibility. Should change to Qtopia.
BASE=/opt/QtPalmtop/$(dirname $ff)
esac
if [ -f $ff -o -b $ff -o -c $ff ]
then
D=$DATADIR$BASE
if [ -x $ff -a -n "$STRIP" ]
then
case $(file $ff) in
$STRIP_FILES)
$STRIP $ff
;; *)
esac
fi
if [ -n "$RPM" ]
then
case "$ff" in
/*) RPMFILES="$RPMFILES $ff"
;; *) RPMFILES="$RPMFILES $OPIEDIR/$ff"
esac
else
mkdir -p $D
if cp -a $ff $D
then
true
else
ERROR=1
fi
fi
else
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/[ ].*//')
if (which mkfs.jffs2 >/dev/null 2>&1); then
size=$(mkfs.jffs2 -r $DATADIR | wc -c)
fi
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
[ -n "$CLASSIC" ] && 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 [ -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
+ else
+ chown -R root.root $TDIR/*
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)"
fi
if [ -n "$LIST" ]
then
echo $RESULT
fi
fi
else
echo >&2 "Not building $package package"
fi
done
# clean up
rm -rf $TDIR