summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-08-30 12:38:14 (UTC)
committer harlekin <harlekin>2002-08-30 12:38:14 (UTC)
commit81946d699779a30dc09b3ecc8cf5998bae19b343 (patch) (unidiff)
treeca1b12a09a18eb65ff4e761e8ca55648ac073b42
parent56640f56c2c0a5191a47927d48dea1e7df98c985 (diff)
downloadopie-81946d699779a30dc09b3ecc8cf5998bae19b343.zip
opie-81946d699779a30dc09b3ecc8cf5998bae19b343.tar.gz
opie-81946d699779a30dc09b3ecc8cf5998bae19b343.tar.bz2
think first, then commit .-)
Diffstat (more/less context) (ignore whitespace changes)
-rwxr-xr-xmkipks2
1 files changed, 1 insertions, 1 deletions
diff --git a/mkipks b/mkipks
index 8c865d3..78498f8 100755
--- a/mkipks
+++ b/mkipks
@@ -1,238 +1,238 @@
1#!/bin/sh 1#!/bin/sh
2 2
3QTE_VERSION=2.3.3 3QTE_VERSION=2.3.3
4DEB_VERSION=2.0 4DEB_VERSION=2.0
5 5
6# Have to do this here, since CVS can't store symlinks 6# Have to do this here, since CVS can't store symlinks
7mkdir -p etc/rc2.d 7mkdir -p etc/rc2.d
8rm -f etc/rc2.d/S98opie 8rm -f etc/rc2.d/S98opie
9ln -s ../init.d/opie etc/rc2.d/S98opie 9ln -s ../init.d/opie etc/rc2.d/S98opie
10 10
11mkdir -p etc/rcS.d 11mkdir -p etc/rcS.d
12rm -f etc/rcS.d/S01bootsplash 12rm -f etc/rcS.d/S01bootsplash
13ln -s ../init.d/opie etc/rcS.d/S01bootsplash 13ln -s ../init.d/bootsplash etc/rcS.d/S01bootsplash
14 14
15rm -f ipaq/etc/rc2.d/S96opieatd 15rm -f ipaq/etc/rc2.d/S96opieatd
16ln -s ../init.d/opieatd ipaq/etc/rc2.d/S96opieatd 16ln -s ../init.d/opieatd ipaq/etc/rc2.d/S96opieatd
17 17
18 18
19 19
20VERSION_MAJ=$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h) 20VERSION_MAJ=$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h)
21VERSION_MIN=$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h) 21VERSION_MIN=$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h)
22VERSION_PAT=$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$OPIEDIR/include/qpe/version.h) 22VERSION_PAT=$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$OPIEDIR/include/qpe/version.h)
23SUB_VERSION=$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$OPIEDIR/include/qpe/version.h) 23SUB_VERSION=$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$OPIEDIR/include/qpe/version.h)
24if grep -q 'QPE_VERSION .*snapshot' $OPIEDIR/include/qpe/version.h 24if grep -q 'QPE_VERSION .*snapshot' $OPIEDIR/include/qpe/version.h
25then 25then
26 VERSION_CVS="$(date +%Y%m%d)" 26 VERSION_CVS="$(date +%Y%m%d)"
27 SUB_VERSION=$VERSION_CVS 27 SUB_VERSION=$VERSION_CVS
28else 28else
29 VERSION_CVS="" 29 VERSION_CVS=""
30fi 30fi
31 31
32QPE_VERSION=$VERSION_MAJ.$VERSION_MIN.$VERSION_PAT 32QPE_VERSION=$VERSION_MAJ.$VERSION_MIN.$VERSION_PAT
33 33
34ARCH=arm 34ARCH=arm
35STRIP=arm-linux-strip 35STRIP=arm-linux-strip
36STRIP_FILES="*ARM*not stripped" 36STRIP_FILES="*ARM*not stripped"
37 37
38TDIR=/tmp/ipk$$ 38TDIR=/tmp/ipk$$
39DATADIR=$TDIR 39DATADIR=$TDIR
40CTRLDIR=$TDIR/CONTROL 40CTRLDIR=$TDIR/CONTROL
41 41
42IMAGEDIR= 42IMAGEDIR=
43VERB= 43VERB=
44LIST= 44LIST=
45RPM= 45RPM=
46 46
47while [ $# -ne 0 ] 47while [ $# -ne 0 ]
48do 48do
49 case "$1" in 49 case "$1" in
50 -v) 50 -v)
51 VERB=1 51 VERB=1
52 echo >&2 "Packaging for version $VERSION_MAJ.$VERSION_MIN.$VERSION_PAT$VERSION_CVS" 52 echo >&2 "Packaging for version $VERSION_MAJ.$VERSION_MIN.$VERSION_PAT$VERSION_CVS"
53 ;; -l) 53 ;; -l)
54 LIST=1 54 LIST=1
55 ;; -i) 55 ;; -i)
56 shift 56 shift
57 IMAGEDIR=$1 57 IMAGEDIR=$1
58 DATADIR=$IMAGEDIR 58 DATADIR=$IMAGEDIR
59 mkdir -p $IMAGEDIR 59 mkdir -p $IMAGEDIR
60 ;; -rpm) 60 ;; -rpm)
61 if [ "$OPIEDIR" != "/opt/Qtopia" ] 61 if [ "$OPIEDIR" != "/opt/Qtopia" ]
62 then 62 then
63 echo >&2 '$OPIEDIR is not the standard /usr/Qtopia directory.' 63 echo >&2 '$OPIEDIR is not the standard /usr/Qtopia directory.'
64 sleep 1 64 sleep 1
65 #exit 1 65 #exit 1
66 fi 66 fi
67 RPM=1 67 RPM=1
68 ;; -arch) 68 ;; -arch)
69 shift 69 shift
70 ARCH=$1 70 ARCH=$1
71 STRIP= 71 STRIP=
72 STRIP_FILES= 72 STRIP_FILES=
73 ;; /*) 73 ;; /*)
74 FILES="$FILES $1" 74 FILES="$FILES $1"
75 ;; *) 75 ;; *)
76 FILES="$FILES $PWD/$1" 76 FILES="$FILES $PWD/$1"
77 esac 77 esac
78 shift 78 shift
79done 79done
80 80
81 81
82if [ -z "$FILES" ] 82if [ -z "$FILES" ]
83then 83then
84 FILES=`find $OPIEDIR -name "*.control" -print` 84 FILES=`find $OPIEDIR -name "*.control" -print`
85fi 85fi
86 86
87RDIR=$PWD 87RDIR=$PWD
88cd $OPIEDIR 88cd $OPIEDIR
89 89
90for i in $FILES 90for i in $FILES
91do 91do
92 rm -rf $TDIR 92 rm -rf $TDIR
93 93
94 mkdir -p $DATADIR 94 mkdir -p $DATADIR
95 mkdir -p $CTRLDIR 95 mkdir -p $CTRLDIR
96 96
97 packagename=${i##*/}; packagename=${packagename%.control} 97 packagename=${i##*/}; packagename=${packagename%.control}
98 version=$(eval echo '"'$(sed -n -e "s/^Version: *//p" $i)'"') 98 version=$(eval echo '"'$(sed -n -e "s/^Version: *//p" $i)'"')
99 depends=$(eval echo '"'$(sed -n -e "s/^Depends: *//p" $i)'"') 99 depends=$(eval echo '"'$(sed -n -e "s/^Depends: *//p" $i)'"')
100 files=$(eval echo $(sed -n -e "s/^Files://p" $i)) 100 files=$(eval echo $(sed -n -e "s/^Files://p" $i))
101 arch=$(eval echo $(sed -n -e "s/^Arch://p" $i)) 101 arch=$(eval echo $(sed -n -e "s/^Arch://p" $i))
102 section=$(sed -n -e "s/^Section: *//p" $i) 102 section=$(sed -n -e "s/^Section: *//p" $i)
103 provides=$(sed -n -e "s/^Provides: *//p" $i) 103 provides=$(sed -n -e "s/^Provides: *//p" $i)
104 conflicts=$(sed -n -e "s/^Conflicts: *//p" $i) 104 conflicts=$(sed -n -e "s/^Conflicts: *//p" $i)
105 license=$(sed -n -e "s/^License: *//p" $i) 105 license=$(sed -n -e "s/^License: *//p" $i)
106 summary=$(sed -n -e "s/^Description: *//p" $i) 106 summary=$(sed -n -e "s/^Description: *//p" $i)
107 package=${packagename}_${version}_$ARCH 107 package=${packagename}_${version}_$ARCH
108 ERROR= 108 ERROR=
109 if [ -z "$files" ] 109 if [ -z "$files" ]
110 then 110 then
111 mkdir -p $DATADIR/usr/share/doc/$packagename 111 mkdir -p $DATADIR/usr/share/doc/$packagename
112 else 112 else
113 for f in $files 113 for f in $files
114 do 114 do
115 if [ -d $f ] 115 if [ -d $f ]
116 then 116 then
117 ffiles=$(find $f -type f -o -type b -o -type c -o -type l) 117 ffiles=$(find $f -type f -o -type b -o -type c -o -type l)
118 else 118 else
119 ffiles=$f 119 ffiles=$f
120 fi 120 fi
121 for ff in $ffiles 121 for ff in $ffiles
122 do 122 do
123 case $ff in 123 case $ff in
124 */CVS/*) 124 */CVS/*)
125 continue 125 continue
126 ;;*~) 126 ;;*~)
127 continue 127 continue
128 ;;*.control) 128 ;;*.control)
129 continue 129 continue
130 ;; $QTDIR/*) 130 ;; $QTDIR/*)
131 BASE=$(dirname /opt/QtPalmtop/${ff#$QTDIR/}) 131 BASE=$(dirname /opt/QtPalmtop/${ff#$QTDIR/})
132 ;; etc/*.d/*) 132 ;; etc/*.d/*)
133 BASE=$(dirname /$ff) 133 BASE=$(dirname /$ff)
134 ;; ipaq/*) 134 ;; ipaq/*)
135 BASE=$(dirname ${ff#ipaq}) 135 BASE=$(dirname ${ff#ipaq})
136 ;; *) 136 ;; *)
137 # For SHARP ROM compatibility. Should change to Qtopia. 137 # For SHARP ROM compatibility. Should change to Qtopia.
138 BASE=/opt/QtPalmtop/$(dirname $ff) 138 BASE=/opt/QtPalmtop/$(dirname $ff)
139 esac 139 esac
140 140
141 if [ -f $ff -o -b $ff -o -c $ff ] 141 if [ -f $ff -o -b $ff -o -c $ff ]
142 then 142 then
143 D=$DATADIR$BASE 143 D=$DATADIR$BASE
144 if [ -x $ff -a -n "$STRIP" ] 144 if [ -x $ff -a -n "$STRIP" ]
145 then 145 then
146 case $(file $ff) in 146 case $(file $ff) in
147 $STRIP_FILES) 147 $STRIP_FILES)
148 $STRIP $ff 148 $STRIP $ff
149 ;; *) 149 ;; *)
150 esac 150 esac
151 fi 151 fi
152 if [ -n "$RPM" ] 152 if [ -n "$RPM" ]
153 then 153 then
154 case "$ff" in 154 case "$ff" in
155 /*) RPMFILES="$RPMFILES $ff" 155 /*) RPMFILES="$RPMFILES $ff"
156 ;; *) RPMFILES="$RPMFILES $OPIEDIR/$ff" 156 ;; *) RPMFILES="$RPMFILES $OPIEDIR/$ff"
157 esac 157 esac
158 else 158 else
159 mkdir -p $D 159 mkdir -p $D
160 if cp -a $ff $D 160 if cp -a $ff $D
161 then 161 then
162 true 162 true
163 else 163 else
164 ERROR=1 164 ERROR=1
165 fi 165 fi
166 fi 166 fi
167 else 167 else
168 echo >&2 "$0: $i: No such file: $ff" 168 echo >&2 "$0: $i: No such file: $ff"
169 ERROR=1 169 ERROR=1
170 fi 170 fi
171 done 171 done
172 done 172 done
173 fi 173 fi
174 if [ -z "$ERROR" ] 174 if [ -z "$ERROR" ]
175 then 175 then
176 if [ -n "$RPM" ] 176 if [ -n "$RPM" ]
177 then 177 then
178 SPEC=/tmp/mkipks-rpm-$$.spec 178 SPEC=/tmp/mkipks-rpm-$$.spec
179 echo >$SPEC "Summary: $summary" 179 echo >$SPEC "Summary: $summary"
180 echo >>$SPEC "Name: $packagename" 180 echo >>$SPEC "Name: $packagename"
181 echo >>$SPEC "Group: $section" ########## 181 echo >>$SPEC "Group: $section" ##########
182 echo >>$SPEC "License: $license" 182 echo >>$SPEC "License: $license"
183 echo >>$SPEC "Version: ${version%-*}" 183 echo >>$SPEC "Version: ${version%-*}"
184 echo >>$SPEC "Release: ${version#*-}" 184 echo >>$SPEC "Release: ${version#*-}"
185 185
186 echo >>$SPEC "%description" 186 echo >>$SPEC "%description"
187 sed -n -e '/^Description:/,$ p' $i | tail +2 >>$SPEC 187 sed -n -e '/^Description:/,$ p' $i | tail +2 >>$SPEC
188 echo >>$SPEC "%files" 188 echo >>$SPEC "%files"
189 echo >>$SPEC "%defattr(-,root,root)" 189 echo >>$SPEC "%defattr(-,root,root)"
190 /bin/ls $RPMFILES >>$SPEC 190 /bin/ls $RPMFILES >>$SPEC
191 rpm -bb --target $ARCH-unknown-linux $SPEC 191 rpm -bb --target $ARCH-unknown-linux $SPEC
192 # rm $SPEC 192 # rm $SPEC
193 elif [ -z "$IMAGEDIR" ] 193 elif [ -z "$IMAGEDIR" ]
194 then 194 then
195 #size=$(du -h -s $DATADIR | sed -e 's/[ ].*//') 195 #size=$(du -h -s $DATADIR | sed -e 's/[ ].*//')
196 if (which mkfs.jffs2 >/dev/null 2>&1); then 196 if (which mkfs.jffs2 >/dev/null 2>&1); then
197 size=$(mkfs.jffs2 -r $DATADIR | wc -c) 197 size=$(mkfs.jffs2 -r $DATADIR | wc -c)
198 fi 198 fi
199 echo "Package: $packagename" >$CTRLDIR/control 199 echo "Package: $packagename" >$CTRLDIR/control
200 if [ ! -z "$size" ]; then 200 if [ ! -z "$size" ]; then
201 echo "Installed-Size: $size" >>$CTRLDIR/control 201 echo "Installed-Size: $size" >>$CTRLDIR/control
202 else 202 else
203 echo "Warning, no mkfs.jffs2 found, unable to set Installed-Size." 203 echo "Warning, no mkfs.jffs2 found, unable to set Installed-Size."
204 fi 204 fi
205 echo "Architecture: $ARCH" >>$CTRLDIR/control 205 echo "Architecture: $ARCH" >>$CTRLDIR/control
206 echo "Filename: ./$package.ipk" >>$CTRLDIR/control 206 echo "Filename: ./$package.ipk" >>$CTRLDIR/control
207 echo "Version: $version" >>$CTRLDIR/control 207 echo "Version: $version" >>$CTRLDIR/control
208 [ ! -z "$depends" ] && echo "Depends: $depends" >>$CTRLDIR/control 208 [ ! -z "$depends" ] && echo "Depends: $depends" >>$CTRLDIR/control
209 [ ! -z "$provides" ] && echo "Provides: $provides" >>$CTRLDIR/control 209 [ ! -z "$provides" ] && echo "Provides: $provides" >>$CTRLDIR/control
210 [ ! -z "$conflicts" ] && echo "Conflicts: $conflicts" >>$CTRLDIR/control 210 [ ! -z "$conflicts" ] && echo "Conflicts: $conflicts" >>$CTRLDIR/control
211 egrep -v "^(Files|Version|Depends|Provides|Conflicts|Architecture):" >>$CTRLDIR/control $i 211 egrep -v "^(Files|Version|Depends|Provides|Conflicts|Architecture):" >>$CTRLDIR/control $i
212 # echo "$DEB_VERSION" >$TDIR/debian-binary 212 # echo "$DEB_VERSION" >$TDIR/debian-binary
213 base=${i%.control} 213 base=${i%.control}
214 scripts="preinst postinst prerm postrm" 214 scripts="preinst postinst prerm postrm"
215 for pf in $scripts 215 for pf in $scripts
216 do 216 do
217 if [ -x ${base}.$pf ] 217 if [ -x ${base}.$pf ]
218 then 218 then
219 cp ${base}.$pf $CTRLDIR/$pf 219 cp ${base}.$pf $CTRLDIR/$pf
220 fi 220 fi
221 done 221 done
222 $OPIEDIR/scripts/ipkg-build -o root -g root $TDIR 222 $OPIEDIR/scripts/ipkg-build -o root -g root $TDIR
223 RESULT=$package.ipk 223 RESULT=$package.ipk
224 if [ -n "$VERB" ] 224 if [ -n "$VERB" ]
225 then 225 then
226 echo >&2 "Built $RESULT ($size)" 226 echo >&2 "Built $RESULT ($size)"
227 fi 227 fi
228 if [ -n "$LIST" ] 228 if [ -n "$LIST" ]
229 then 229 then
230 echo $RESULT 230 echo $RESULT
231 fi 231 fi
232 fi 232 fi
233 else 233 else
234 echo >&2 "Not building $package package" 234 echo >&2 "Not building $package package"
235 fi 235 fi
236done 236done
237# clean up 237# clean up
238rm -rf $TDIR 238rm -rf $TDIR