summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-01-26 19:46:41 (UTC)
committer kergoth <kergoth>2003-01-26 19:46:41 (UTC)
commitf389dd4e3d5ceacb15b5c0b751a618d7586d6c31 (patch) (side-by-side diff)
tree4409bbfaee1f3467ccebef0d1ebbd20ba949bad0
parentfcc5341e8eaef9586cb7fd2b40a22198de0d196d (diff)
downloadopie-f389dd4e3d5ceacb15b5c0b751a618d7586d6c31.zip
opie-f389dd4e3d5ceacb15b5c0b751a618d7586d6c31.tar.gz
opie-f389dd4e3d5ceacb15b5c0b751a618d7586d6c31.tar.bz2
Rather hackish, but necessary, bits. mkipks now parses the qglobal header from $QTDIR to obtain both the base qt version and the full version string, thereby letting me use ipkg depends to Depends: libqt2-emb (>= 2.3.4-beta4).
Diffstat (more/less context) (show whitespace changes)
-rwxr-xr-xmkipks20
-rw-r--r--qt/libqt2-emb-fonts.control2
-rw-r--r--qt/libqt2-emb.control2
3 files changed, 20 insertions, 4 deletions
diff --git a/mkipks b/mkipks
index d4e4b38..3fbf160 100755
--- a/mkipks
+++ b/mkipks
@@ -1,242 +1,258 @@
#!/bin/sh
-[ -z "$QTE_VERSION" ] && QTE_VERSION=2.3.4
-[ -z "$QTE_BASEVERSION" ] && QTE_BASEVERSION=2.3.4
+if [ -z "$QTE_BASEVERSION" ]
+then
+ if [ -e $QTDIR/include/qglobal.h ]
+ then
+ QTE_BASEVERSION=`cat $QTDIR/include/qglobal.h|grep '^#define QT_VERSION'|grep -v STR|sed -e 's,#define QT_VERSION\t*,,;' -e 's,.*\([0-9]\)\([0-9]\)\([0-9]\).*,\1.\2.\3,;'`
+ else
+ QTE_BASEVERSION=2.3.4
+ fi
+fi
+if [ -z "$QTE_VERSION" ]
+then
+ if [ -e $QTDIR/include/qglobal.h ]
+ then
+ QTE_VERSION=`cat $QTDIR/include/qglobal.h|grep '^#define QT_VERSION_STR'|sed -e 's,#define QT_VERSION_STR\t*,,;' -e 's,.*"\([^"]*\)".*,\1,;'`
+ else
+ QTE_VERSION=2.3.4
+ fi
+fi
[ -z "$QTE_REVISION" ] && QTE_REVISION=3
DEB_VERSION=2.0
# Have to do this here, since CVS can't store symlinks
mkdir -p $OPIEDIR/etc/rcS.d
ln -sf ../init.d/bootsplash $OPIEDIR/etc/rcS.d/S01bootsplash
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
[ -z "$VERSION_CVS" ] && 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="*ARM*not stripped"
TDIR=/tmp/ipk$$
DATADIR=$TDIR
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
;; -classic)
classicopts=-c
;; -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"
;; *)
FILES="$FILES $PWD/$1"
esac
shift
done
if [ -z "$FILES" ]
then
FILES=`find $OPIEDIR -name "*.control" -print`
fi
RDIR=$PWD
ORIGDIR=`pwd`
cd $OPIEDIR
for i in $FILES
do
rm -rf $TDIR
mkdir -p $DATADIR
mkdir -p $CTRLDIR
packagename=${i##*/}; packagename=${packagename%.control}
version=$(eval echo '"'$(sed -n -e "s/^Version: *//p" $i)'"')
depends=$(eval echo '"'$(sed -n -e "s/^Depends: *//p" $i)'"')
files=$(eval echo $(sed -n -e "s/^Files://p" $i))
arch=$(eval echo $(sed -n -e "s/^Arch://p" $i))
section=$(sed -n -e "s/^Section: *//p" $i)
provides=$(sed -n -e "s/^Provides: *//p" $i)
conflicts=$(sed -n -e "s/^Conflicts: *//p" $i)
license=$(sed -n -e "s/^License: *//p" $i)
summary=$(sed -n -e "s/^Description: *//p" $i)
package=${packagename}_${version}_$ARCH
ERROR=
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)
;; root/*)
BASE=$(dirname ${ff#root})
;; lib/*)
BASE=$(dirname /opt/QtPalmtop/$ff)
;; $OPIEDIR/lib/*)
BASE=$(dirname /opt/QtPalmtop/${ff#$OPIEDIR/})
;; *)
# 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 "$classicopts" ] && echo "$DEB_VERSION" >$TDIR/debian-binary
base=${i%.control}
scripts="preinst postinst prerm postrm"
for pf in $scripts
do
if [ -e ${base}.$pf ]
then
cp ${base}.$pf $CTRLDIR/$pf
chmod 755 $CTRLDIR/$pf
fi
done
cd $ORIGDIR; $OPIEDIR/scripts/ipkg-build $classicopts -o root -g root $TDIR; cd $OPIEDIR;
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
diff --git a/qt/libqt2-emb-fonts.control b/qt/libqt2-emb-fonts.control
index f4b9260..8c0d98a 100644
--- a/qt/libqt2-emb-fonts.control
+++ b/qt/libqt2-emb-fonts.control
@@ -1,9 +1,9 @@
Files: $QTDIR/lib/fonts/helvetica_*_{50,50i,75,75i}.* $QTDIR/lib/fonts/helvetica_*_t*5* $QTDIR/lib/fonts/fixed_*_50.* $QTDIR/lib/fonts/fixed_*_t*5* $QTDIR/lib/fonts/micro_*{50,50_t15,50_t5}.* $QTDIR/lib/fonts/smallsmooth_*{50,50_t15,50_t5}.* $QTDIR/lib/fonts/smoothtimes_{170,100}_{50,50_t15,50_t5}.* $QTDIR/lib/fonts/fontdir $QTDIR/lib/fonts/helvetica_*t10* $QTDIR/lib/fonts/fixed_*t10* $QTDIR/lib/fonts/micro_*t10* $QTDIR/lib/fonts/smallsmooth_*t10* $QTDIR/lib/fonts/smoothtimes_{170,100}_50*t10*
Priority: required
Section: opie/system
Maintainer: Opie Team <opie@handhelds.org>
Architecture: arm
Depends: libqt2-emb
Replaces: qt-embedded-rotation
-Version: $QTE_VERSION-$QTE_REVISION.1
+Version: $QTE_VERSION-$QTE_REVISION
Description: Qt/Embedded fonts - 0,90,180,270 rotation
diff --git a/qt/libqt2-emb.control b/qt/libqt2-emb.control
index 450450d..2f9d822 100644
--- a/qt/libqt2-emb.control
+++ b/qt/libqt2-emb.control
@@ -1,12 +1,12 @@
Files: $QTDIR/lib/libqte.so.$QTE_BASEVERSION $QTDIR/lib/libqte.so.2.3 $QTDIR/lib/libqte.so.2
Priority: required
Section: opie/system
Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QTE_VERSION-$QTE_REVISION.1
+Version: $QTE_VERSION-$QTE_REVISION
Depends: libjpeg62, libpng3, zlib1g
Provides: qt-embedded
Replaces: qt-embedded
Description: Qt/Embedded environment
A complete windowing system and GUI toolkit for handhelds.
See "QPE" for applications.