summaryrefslogtreecommitdiff
path: root/mkipks
authorkergoth <kergoth>2002-02-22 16:00:16 (UTC)
committer kergoth <kergoth>2002-02-22 16:00:16 (UTC)
commit8151e4416f5d39e03218d4c191da33aceedfcb5f (patch) (unidiff)
tree2a3146f90c79f3c79d54f1a77c467264f9c3ef99 /mkipks
parent64422505d5eddd98958984481f4c1b3d761c8e12 (diff)
downloadopie-8151e4416f5d39e03218d4c191da33aceedfcb5f.zip
opie-8151e4416f5d39e03218d4c191da33aceedfcb5f.tar.gz
opie-8151e4416f5d39e03218d4c191da33aceedfcb5f.tar.bz2
fixed tar command.
Diffstat (limited to 'mkipks') (more/less context) (ignore whitespace changes)
-rwxr-xr-xmkipks4
1 files changed, 2 insertions, 2 deletions
diff --git a/mkipks b/mkipks
index 2a247ff..572c8f1 100755
--- a/mkipks
+++ b/mkipks
@@ -16,209 +16,209 @@ if grep -q 'QPE_VERSION .*snapshot' $OPIEDIR/include/qpe/version.h
16then 16then
17 VERSION_CVS="$(date +%Y%m%d)" 17 VERSION_CVS="$(date +%Y%m%d)"
18 SUB_VERSION=$VERSION_CVS 18 SUB_VERSION=$VERSION_CVS
19else 19else
20 VERSION_CVS="" 20 VERSION_CVS=""
21fi 21fi
22 22
23QPE_VERSION=$VERSION_MAJ.$VERSION_MIN.$VERSION_PAT 23QPE_VERSION=$VERSION_MAJ.$VERSION_MIN.$VERSION_PAT
24 24
25ARCH=arm 25ARCH=arm
26STRIP=arm-linux-strip 26STRIP=arm-linux-strip
27STRIP_FILES="*Advanced RISC Machines ARM*not stripped" 27STRIP_FILES="*Advanced RISC Machines ARM*not stripped"
28 28
29TDIR=/tmp/ipk$$ 29TDIR=/tmp/ipk$$
30DATADIR=$TDIR/data 30DATADIR=$TDIR/data
31CTRLDIR=$TDIR/control 31CTRLDIR=$TDIR/control
32 32
33IMAGEDIR= 33IMAGEDIR=
34VERB= 34VERB=
35LIST= 35LIST=
36RPM= 36RPM=
37 37
38while [ $# -ne 0 ] 38while [ $# -ne 0 ]
39do 39do
40 case "$1" in 40 case "$1" in
41 -v) 41 -v)
42 VERB=1 42 VERB=1
43 echo >&2 "Packaging for version $VERSION_MAJ.$VERSION_MIN.$VERSION_PAT$VERSION_CVS" 43 echo >&2 "Packaging for version $VERSION_MAJ.$VERSION_MIN.$VERSION_PAT$VERSION_CVS"
44 ;; -l) 44 ;; -l)
45 LIST=1 45 LIST=1
46 ;; -i) 46 ;; -i)
47 shift 47 shift
48 IMAGEDIR=$1 48 IMAGEDIR=$1
49 DATADIR=$IMAGEDIR 49 DATADIR=$IMAGEDIR
50 mkdir -p $IMAGEDIR 50 mkdir -p $IMAGEDIR
51 ;; -rpm) 51 ;; -rpm)
52 if [ "$OPIEDIR" != "/opt/Qtopia" ] 52 if [ "$OPIEDIR" != "/opt/Qtopia" ]
53 then 53 then
54 echo >&2 '$OPIEDIR is not the standard /usr/Qtopia directory.' 54 echo >&2 '$OPIEDIR is not the standard /usr/Qtopia directory.'
55 sleep 1 55 sleep 1
56 #exit 1 56 #exit 1
57 fi 57 fi
58 RPM=1 58 RPM=1
59 ;; -arch) 59 ;; -arch)
60 shift 60 shift
61 ARCH=$1 61 ARCH=$1
62 STRIP= 62 STRIP=
63 STRIP_FILES= 63 STRIP_FILES=
64 ;; /*) 64 ;; /*)
65 FILES="$FILES $1" 65 FILES="$FILES $1"
66 ;; *) 66 ;; *)
67 FILES="$FILES $PWD/$1" 67 FILES="$FILES $PWD/$1"
68 esac 68 esac
69 shift 69 shift
70done 70done
71 71
72 72
73if [ -z "$FILES" ] 73if [ -z "$FILES" ]
74then 74then
75 FILES=`find $OPIEDIR -name "*.control" -print` 75 FILES=`find $OPIEDIR -name "*.control" -print`
76fi 76fi
77 77
78RDIR=$PWD 78RDIR=$PWD
79cd $OPIEDIR 79cd $OPIEDIR
80 80
81for i in $FILES 81for i in $FILES
82do 82do
83 rm -rf $TDIR 83 rm -rf $TDIR
84 84
85 mkdir -p $DATADIR 85 mkdir -p $DATADIR
86 mkdir -p $CTRLDIR 86 mkdir -p $CTRLDIR
87 87
88 packagename=${i##*/}; packagename=${packagename%.control} 88 packagename=${i##*/}; packagename=${packagename%.control}
89 version=$(eval echo '"'$(sed -n -e "s/^Version: *//p" $i)'"') 89 version=$(eval echo '"'$(sed -n -e "s/^Version: *//p" $i)'"')
90 depends=$(eval echo '"'$(sed -n -e "s/^Depends: *//p" $i)'"') 90 depends=$(eval echo '"'$(sed -n -e "s/^Depends: *//p" $i)'"')
91 files=$(eval echo $(sed -n -e "s/^Files://p" $i)) 91 files=$(eval echo $(sed -n -e "s/^Files://p" $i))
92 arch=$(eval echo $(sed -n -e "s/^Arch://p" $i)) 92 arch=$(eval echo $(sed -n -e "s/^Arch://p" $i))
93 section=$(sed -n -e "s/^Section: *//p" $i) 93 section=$(sed -n -e "s/^Section: *//p" $i)
94 license=$(sed -n -e "s/^License: *//p" $i) 94 license=$(sed -n -e "s/^License: *//p" $i)
95 summary=$(sed -n -e "s/^Description: *//p" $i) 95 summary=$(sed -n -e "s/^Description: *//p" $i)
96 package=${packagename}_${version}_$ARCH 96 package=${packagename}_${version}_$ARCH
97 ERROR= 97 ERROR=
98 if [ -z "$files" ] 98 if [ -z "$files" ]
99 then 99 then
100 mkdir -p $DATADIR/usr/share/doc/$packagename 100 mkdir -p $DATADIR/usr/share/doc/$packagename
101 else 101 else
102 for f in $files 102 for f in $files
103 do 103 do
104 if [ -d $f ] 104 if [ -d $f ]
105 then 105 then
106 ffiles=$(find $f -type f -o -type b -o -type c -o -type l) 106 ffiles=$(find $f -type f -o -type b -o -type c -o -type l)
107 else 107 else
108 ffiles=$f 108 ffiles=$f
109 fi 109 fi
110 for ff in $ffiles 110 for ff in $ffiles
111 do 111 do
112 case $ff in 112 case $ff in
113 */CVS/*) 113 */CVS/*)
114 continue 114 continue
115 ;;*~) 115 ;;*~)
116 continue 116 continue
117 ;;*.control) 117 ;;*.control)
118 continue 118 continue
119 ;; $QTDIR/*) 119 ;; $QTDIR/*)
120 BASE=$(dirname /usr/${ff#$QTDIR/}) 120 BASE=$(dirname /usr/${ff#$QTDIR/})
121 ;; etc/*.d/*) 121 ;; etc/*.d/*)
122 BASE=$(dirname /$ff) 122 BASE=$(dirname /$ff)
123 ;; ipaq/*) 123 ;; ipaq/*)
124 BASE=$(dirname ${ff#ipaq}) 124 BASE=$(dirname ${ff#ipaq})
125 ;; *) 125 ;; *)
126 # For SHARP ROM compatibility. Should change to Qtopia. 126 # For SHARP ROM compatibility. Should change to Qtopia.
127 BASE=/opt/QtPalmtop/$(dirname $ff) 127 BASE=/opt/QtPalmtop/$(dirname $ff)
128 esac 128 esac
129 129
130 if [ -f $ff -o -b $ff -o -c $ff ] 130 if [ -f $ff -o -b $ff -o -c $ff ]
131 then 131 then
132 D=$DATADIR$BASE 132 D=$DATADIR$BASE
133 if [ -x $ff -a -n "$STRIP" ] 133 if [ -x $ff -a -n "$STRIP" ]
134 then 134 then
135 case $(file $ff) in 135 case $(file $ff) in
136 $STRIP_FILES) 136 $STRIP_FILES)
137 $STRIP $ff 137 $STRIP $ff
138 ;; *) 138 ;; *)
139 esac 139 esac
140 fi 140 fi
141 if [ -n "$RPM" ] 141 if [ -n "$RPM" ]
142 then 142 then
143 case "$ff" in 143 case "$ff" in
144 /*) RPMFILES="$RPMFILES $ff" 144 /*) RPMFILES="$RPMFILES $ff"
145 ;; *) RPMFILES="$RPMFILES $OPIEDIR/$ff" 145 ;; *) RPMFILES="$RPMFILES $OPIEDIR/$ff"
146 esac 146 esac
147 else 147 else
148 mkdir -p $D 148 mkdir -p $D
149 if cp -a $ff $D 149 if cp -a $ff $D
150 then 150 then
151 true 151 true
152 else 152 else
153 ERROR=1 153 ERROR=1
154 fi 154 fi
155 fi 155 fi
156 else 156 else
157 echo >&2 "$0: $i: No such file: $ff" 157 echo >&2 "$0: $i: No such file: $ff"
158 ERROR=1 158 ERROR=1
159 fi 159 fi
160 done 160 done
161 done 161 done
162 fi 162 fi
163 if [ -z "$ERROR" ] 163 if [ -z "$ERROR" ]
164 then 164 then
165 if [ -n "$RPM" ] 165 if [ -n "$RPM" ]
166 then 166 then
167 SPEC=/tmp/mkipks-rpm-$$.spec 167 SPEC=/tmp/mkipks-rpm-$$.spec
168 echo >$SPEC "Summary: $summary" 168 echo >$SPEC "Summary: $summary"
169 echo >>$SPEC "Name: $packagename" 169 echo >>$SPEC "Name: $packagename"
170 echo >>$SPEC "Group: $section" ########## 170 echo >>$SPEC "Group: $section" ##########
171 echo >>$SPEC "License: $license" 171 echo >>$SPEC "License: $license"
172 echo >>$SPEC "Version: ${version%-*}" 172 echo >>$SPEC "Version: ${version%-*}"
173 echo >>$SPEC "Release: ${version#*-}" 173 echo >>$SPEC "Release: ${version#*-}"
174 174
175 echo >>$SPEC "%description" 175 echo >>$SPEC "%description"
176 sed -n -e '/^Description:/,$ p' $i | tail +2 >>$SPEC 176 sed -n -e '/^Description:/,$ p' $i | tail +2 >>$SPEC
177 echo >>$SPEC "%files" 177 echo >>$SPEC "%files"
178 echo >>$SPEC "%defattr(-,root,root)" 178 echo >>$SPEC "%defattr(-,root,root)"
179 /bin/ls $RPMFILES >>$SPEC 179 /bin/ls $RPMFILES >>$SPEC
180 rpm -bb --target $ARCH-unknown-linux $SPEC 180 rpm -bb --target $ARCH-unknown-linux $SPEC
181 # rm $SPEC 181 # rm $SPEC
182 elif [ -z "$IMAGEDIR" ] 182 elif [ -z "$IMAGEDIR" ]
183 then 183 then
184 #size=$(du -h -s $DATADIR | sed -e 's/[ ].*//') 184 #size=$(du -h -s $DATADIR | sed -e 's/[ ].*//')
185 size=$(mkfs.jffs2 -r $DATADIR | wc -c) 185 size=$(mkfs.jffs2 -r $DATADIR | wc -c)
186 echo "Package: $packagename" >$CTRLDIR/control 186 echo "Package: $packagename" >$CTRLDIR/control
187 echo "Installed-Size: $size" >>$CTRLDIR/control 187 echo "Installed-Size: $size" >>$CTRLDIR/control
188 echo "Filename: ./$package.ipk" >>$CTRLDIR/control 188 echo "Filename: ./$package.ipk" >>$CTRLDIR/control
189 echo "Version: $version" >>$CTRLDIR/control 189 echo "Version: $version" >>$CTRLDIR/control
190 echo "Depends: $depends" >>$CTRLDIR/control 190 echo "Depends: $depends" >>$CTRLDIR/control
191 egrep -v "^(Files|Version|Depends):" >>$CTRLDIR/control $i 191 egrep -v "^(Files|Version|Depends):" >>$CTRLDIR/control $i
192 echo "$DEB_VERSION" >$TDIR/debian-binary 192 echo "$DEB_VERSION" >$TDIR/debian-binary
193 base=${i%.control} 193 base=${i%.control}
194 scripts="preinst postinst prerm postrm" 194 scripts="preinst postinst prerm postrm"
195 for pf in $scripts 195 for pf in $scripts
196 do 196 do
197 if [ -x ${base}.$pf ] 197 if [ -x ${base}.$pf ]
198 then 198 then
199 cp ${base}.$pf $CTRLDIR/$pf 199 cp ${base}.$pf $CTRLDIR/$pf
200 fi 200 fi
201 done 201 done
202 if [ "$UID" = 0 ] 202 if [ "$UID" = 0 ]
203 then 203 then
204 chown -R root.root $TDIR 204 chown -R root.root $TDIR
205 else 205 else
206 echo "Warning: You are not root. Unable to squash permissions." 206 echo "Warning: You are not root. Unable to squash permissions."
207 fi 207 fi
208 ( cd $CTRLDIR; tar --owner root --group root cfz ../control.tar.gz ./*; ) 208 ( cd $CTRLDIR; tar --owner=root --group=root cfz ../control.tar.gz ./*; )
209 ( cd $DATADIR; tar --owner root --group root cfz ../data.tar.gz ./*; ) 209 ( cd $DATADIR; tar --owner=root --group=root cfz ../data.tar.gz ./*; )
210 ( cd $TDIR; rm -rf control data; tar cf - ./debian-binary ./control.tar.gz ./data.tar.gz; ) | gzip >$RDIR/$package.ipk 210 ( cd $TDIR; rm -rf control data; tar cf - ./debian-binary ./control.tar.gz ./data.tar.gz; ) | gzip >$RDIR/$package.ipk
211 RESULT=$package.ipk 211 RESULT=$package.ipk
212 if [ -n "$VERB" ] 212 if [ -n "$VERB" ]
213 then 213 then
214 echo >&2 "Built $RESULT ($size)" 214 echo >&2 "Built $RESULT ($size)"
215 fi 215 fi
216 if [ -n "$LIST" ] 216 if [ -n "$LIST" ]
217 then 217 then
218 echo $RESULT 218 echo $RESULT
219 fi 219 fi
220 fi 220 fi
221 else 221 else
222 echo >&2 "Not building $package package" 222 echo >&2 "Not building $package package"
223 fi 223 fi
224done 224done