summaryrefslogtreecommitdiff
path: root/mkipks
Unidiff
Diffstat (limited to 'mkipks') (more/less context) (ignore whitespace changes)
-rwxr-xr-xmkipks35
1 files changed, 18 insertions, 17 deletions
diff --git a/mkipks b/mkipks
index 21b903c..26c72b9 100755
--- a/mkipks
+++ b/mkipks
@@ -27,14 +27,14 @@ QPE_VERSION=$VERSION_MAJ.$VERSION_MIN.$VERSION_PAT
27 27
28ARCH=arm 28ARCH=arm
29STRIP=arm-linux-strip 29STRIP=arm-linux-strip
30STRIP_FILES="*ARM*not stripped" 30STRIP_FILES="*ARM*not stripped"
31 31
32TDIR=/tmp/ipk$$ 32TDIR=/tmp/ipk$$
33DATADIR=$TDIR/data 33DATADIR=$TDIR
34CTRLDIR=$TDIR/control 34CTRLDIR=$TDIR/CONTROL
35 35
36IMAGEDIR= 36IMAGEDIR=
37VERB= 37VERB=
38LIST= 38LIST=
39RPM= 39RPM=
40 40
@@ -184,40 +184,39 @@ do
184 /bin/ls $RPMFILES >>$SPEC 184 /bin/ls $RPMFILES >>$SPEC
185 rpm -bb --target $ARCH-unknown-linux $SPEC 185 rpm -bb --target $ARCH-unknown-linux $SPEC
186 # rm $SPEC 186 # rm $SPEC
187 elif [ -z "$IMAGEDIR" ] 187 elif [ -z "$IMAGEDIR" ]
188 then 188 then
189 #size=$(du -h -s $DATADIR | sed -e 's/[ ].*//') 189 #size=$(du -h -s $DATADIR | sed -e 's/[ ].*//')
190 size=$(mkfs.jffs2 -r $DATADIR | wc -c) 190 if (which mkfs.jffs2 >/dev/null 2>&1); then
191 size=$(mkfs.jffs2 -r $DATADIR | wc -c)
192 fi
191 echo "Package: $packagename" >$CTRLDIR/control 193 echo "Package: $packagename" >$CTRLDIR/control
194 if [ ! -z "$size" ]; then
192 echo "Installed-Size: $size" >>$CTRLDIR/control 195 echo "Installed-Size: $size" >>$CTRLDIR/control
196 else
197 echo "Warning, no mkfs.jffs2 found, unable to set Installed-Size."
198 fi
199 echo "Architecture: $ARCH" >>$CTRLDIR/control
193 echo "Filename: ./$package.ipk" >>$CTRLDIR/control 200 echo "Filename: ./$package.ipk" >>$CTRLDIR/control
194 echo "Version: $version" >>$CTRLDIR/control 201 echo "Version: $version" >>$CTRLDIR/control
195 echo "Depends: $depends" >>$CTRLDIR/control 202 [ ! -z "$depends" ] && echo "Depends: $depends" >>$CTRLDIR/control
196 echo "Provides: $provides" >>$CTRLDIR/control 203 [ ! -z "$provides" ] && echo "Provides: $provides" >>$CTRLDIR/control
197 echo "Conflicts: $conflicts" >>$CTRLDIR/control 204 [ ! -z "$conflicts" ] && echo "Conflicts: $conflicts" >>$CTRLDIR/control
198 egrep -v "^(Files|Version|Depends|Provides|Conflicts):" >>$CTRLDIR/control $i 205 egrep -v "^(Files|Version|Depends|Provides|Conflicts|Architecture):" >>$CTRLDIR/control $i
199 echo "$DEB_VERSION" >$TDIR/debian-binary 206 # echo "$DEB_VERSION" >$TDIR/debian-binary
200 base=${i%.control} 207 base=${i%.control}
201 scripts="preinst postinst prerm postrm" 208 scripts="preinst postinst prerm postrm"
202 for pf in $scripts 209 for pf in $scripts
203 do 210 do
204 if [ -x ${base}.$pf ] 211 if [ -x ${base}.$pf ]
205 then 212 then
206 cp ${base}.$pf $CTRLDIR/$pf 213 cp ${base}.$pf $CTRLDIR/$pf
207 fi 214 fi
208 done 215 done
209 if [ "$UID" = 0 ] 216 $OPIEDIR/scripts/ipkg-build -o root -g root $TDIR
210 then
211 chown -R root.root $TDIR
212 else
213 echo "Warning: You are not root. Unable to squash permissions."
214 fi
215 ( cd $CTRLDIR; tar cfz ../control.tar.gz ./*; )
216 ( cd $DATADIR; tar cfz ../data.tar.gz ./*; )
217 ( cd $TDIR; rm -rf control data; tar cf - ./debian-binary ./control.tar.gz ./data.tar.gz; ) | gzip >$RDIR/$package.ipk
218 RESULT=$package.ipk 217 RESULT=$package.ipk
219 if [ -n "$VERB" ] 218 if [ -n "$VERB" ]
220 then 219 then
221 echo >&2 "Built $RESULT ($size)" 220 echo >&2 "Built $RESULT ($size)"
222 fi 221 fi
223 if [ -n "$LIST" ] 222 if [ -n "$LIST" ]
@@ -226,6 +225,8 @@ do
226 fi 225 fi
227 fi 226 fi
228 else 227 else
229 echo >&2 "Not building $package package" 228 echo >&2 "Not building $package package"
230 fi 229 fi
231done 230done
231# clean up
232rm -rf $TDIR