6 #/run/... may be needed to add (pkg@run.cpio)
7 #_scripts/pkg.ver may be needed to add
36 [ "$PKG" = "gcc-tgt" ] && PKG
=gcc
37 [ "$PKG" = "glibc-tgt" ] && PKG
=glibc
40 DONTINSTALL
=" skeleton toolchain toolchain-external toolchain-external-custom initscripts jpeg busybox coreutils "
41 DONTINSTALL2
=" getent jpeg toolchain-external toolchain-external-custom "
44 echo "$DONTINSTALL2" |
grep -q " $PKG " && exit 0
46 DIRSCRIPT
=$
(cd $
(dirname "$0") && pwd -P)
51 DESTROOT
=output
/target
52 BUILDROOT
=output
/build
55 echo "###### PKG_SCRIPT $PKG $(cat $BUILDROOT/build-sysinit.log) $1 $2"
57 if [ "$1" = "start" ] && [ "$2" = "install-target" -o "$2" = "install-staging" ]; then
59 [ -e $BUILDROOT/inst_start.log
] && exit 0
60 touch $BUILDROOT/inst_start.log
62 rm -f _scripts
/$PKG.scr
66 for i
in $CREATEDIRS; do
69 ln -sf share
/doc
$DESTROOT/usr
/doc
70 ln -sf share
/man
$DESTROOT/usr
/man
71 ln -sf share
/info
$DESTROOT/usr
/info
72 ln -sf lib
$DESTROOT/usr
/lib64
73 ln -sf lib
$DESTROOT/lib64
75 [ -e _scripts
/$PKG.inst_start.sh
] && source _scripts
/$PKG.inst_start.sh
78 if [ "$1" = "end" ] && [ "$2" = "install-target" ]; then
79 source $BUILDROOT/.package_source
85 [ "$PKG" = "glibc" ] && NAME
="glibc"
86 [ "$PKG" = "gcc" ] && NAME
="gcc"
90 [ ! -e _scripts
/$PKG.
rev ] && echo 1 > _scripts
/$PKG.
rev
93 REV
=`cat _scripts/$PKG.rev`
94 [ -e _scripts
/$PKG.ver
] && VERSION
=`cat _scripts/$PKG.ver`
97 if [ -e $DESTROOT/var
/lock
]; then
98 mkdir
-p $DESTROOT/run
/lock
99 LSFILE
=`find $DESTROOT/var/lock -mindepth 1 -maxdepth 1 -print -quit`
100 [ ! -z "$LSFILE" ] && mv $DESTROOT/var
/lock
/* $DESTROOT/run
/lock
101 rmdir $DESTROOT/var
/lock
105 if [ -e $DESTROOT/run
]; then
106 mkdir
-p $DESTROOT/var
/run
107 LSFILE
=`find $DESTROOT/run -mindepth 1 -maxdepth 1 -print -quit`
108 [ ! -z "$LSFILE" ] && mv $DESTROOT/run
/* $DESTROOT/var
/run
113 if [ -e $DESTROOT/var
/run
]; then
114 echo "###### PKG_SCRIPT $PKG /var/run"
115 if ! rmdir $DESTROOT/var
/run
2> /dev
/null
; then
116 (ODIR
=`pwd`; cd $DESTROOT/var
/run
&& _mkcpio
$ODIR/_scripts
/$PKG@run.
cpio)
117 rm -rf $DESTROOT/var
/run
2> /dev
/null
118 if [ ! -e _scripts
/$PKG.inst_end.sh
]; then
119 echo 'rm -rf $DESTROOT/var/run 2> /dev/null' > _scripts
/$PKG.inst_end.sh
121 sh
/bin
/_add_linefeed.sh _scripts
/$PKG.inst_end.sh
122 ! grep -qFx 'rm -rf $DESTROOT/var/run 2> /dev/null' _scripts
/$PKG.inst_end.sh
&& \
123 echo 'rm -rf $DESTROOT/var/run 2> /dev/null' >> _scripts
/$PKG.inst_end.sh
129 if [ -e $DESTROOT/usr
/lib
/perl5
]; then
130 if [ -e _scripts
/perl.ver
]; then
131 PERL
=`cat _scripts/perl.ver`
132 rm -f $DESTROOT/usr
/lib
/perl
5/$PERL/x86_64-linux
/perllocal.pod
133 find $DESTROOT/usr
/lib
/perl
5/site_perl
/$PERL/x86_64-linux
/auto
-name ".packlist" -type f | \
134 xargs sed -i -n '/^\/usr\//p'
138 TEXINFO
=`find $DESTROOT/usr/share/info -name "*.info*" -print -quit`
139 if [ -n "$TEXINFO" ]; then
141 cd $DESTROOT/usr
/share
/info
142 TI_FILES
=`ls *.info*`
145 for i
in $TI_FILES; do
146 [ -z "$TI_VAR" ] && TI_VAR
="'$i'" || TI_VAR
="$TI_VAR '$i'"
150 echo "#INC#texinfo" >> _scripts
/$PKG.scr
151 echo "#VAR#filelist=($TI_VAR)" >> _scripts
/$PKG.scr
155 rm -f $DESTROOT/usr
/share
/info
/dir
156 rm -f $DESTROOT/tools
/share
/info
/dir
160 rm $DESTROOT/usr
/info
161 rm $DESTROOT/usr
/lib64
163 for i
in $CREATEDIRS; do
164 rmdir $DESTROOT/$i 2> /dev
/null
167 [ -e _scripts
/$PKG.inst_end.sh
] && source _scripts
/$PKG.inst_end.sh
170 mkdir
-p $DESTROOT/var
/lib
/instpkg
/local
171 mkdir
-p $DESTROOT/var
/lib
/instpkg
/local
/$PKG-$VERSION-$REV
172 mkdir
-p $DESTROOT/var
/lib
/instpkg
/local
/.
local
173 ln -sf ..
/$PKG-$VERSION-$REV $DESTROOT/var
/lib
/instpkg
/local
/.local
/$PKG
174 SIZE
=`du -sk $DESTROOT | grep -o "^[0-9]\+"`
175 echo -ne "NAME=$NAME\nVERSION=$VERSION\nREV=$REV\nDESC=\"\"\nSIZE=$SIZE\n" > $DESTROOT/var
/lib
/instpkg
/local
/$PKG-$VERSION-$REV/info
178 [ ! -e _scripts
/$PKG.deps
] && touch _scripts
/$PKG.deps
181 sort -u _scripts
/$PKG.deps
> $DESTROOT/var
/lib
/instpkg
/local
/$PKG-$VERSION-$REV/depends
182 cat $DESTROOT/var
/lib
/instpkg
/local
/$PKG-$VERSION-$REV/depends |
tr '\n' ' ' | \
183 sed 's% $%%' > $DESTROOT/var
/lib
/instpkg
/local
/$PKG-$VERSION-$REV/depend@
184 GRP
=`grep "package.*/$PKG/Config.in" package/_pkgs.group@@@@ | cut -d " " -f 1-2`
187 [ "$PKG" = "busybox" ] && GRP
="base system"
188 [ "$PKG" = "glibc" ] && GRP
="base development"
189 [ "$PKG" = "gcc" ] && GRP
="base development"
191 [ -z "$GRP" ] && GRP
="unknown other"
193 echo "$GRP" > $DESTROOT/var
/lib
/instpkg
/local
/$PKG-$VERSION-$REV/groups
196 F_PASSWD
="$BUILDROOT/tmp_passwd"
197 F_GROUP
="$BUILDROOT/tmp_group"
199 if [ -e _scripts
/$PKG.users
]; then
200 cat _scripts
/$PKG.users | \
201 while read username uid group gid passwd home shell groups comment
; do
202 if [ "$group" != "-" ]; then
203 GRPID
=`grep "^${group}:" "$F_GROUP" | cut -d : -f 3`
204 if [ -z "$GRPID" ]; then
205 echo "**Group not found: ${group}**"
207 if ! echo "$processed" |
grep -q "^${group}$"; then
208 if ! echo "$SKIPGROUP" |
grep -q " $group "; then
209 echo "#PRI#addgroup -g $GRPID $group 2> /dev/null" >> _scripts
/$PKG.scr
210 echo "#POR#delgroup $group 2> /dev/null" >> _scripts
/$PKG.scr
212 [ -z "$processed" ] && processed
="$group" || processed
=`echo -ne "$processed\n$group"`
216 if [ "$groups" != "-" ]; then
220 GRPID
=`grep "^${i}:" "$F_GROUP" | cut -d : -f 3`
221 if [ -z "$GRPID" ]; then
222 echo "**Group not found: ${i}**"
224 if ! echo "$processed" |
grep -q "^${i}$"; then
225 if ! echo "$SKIPGROUP" |
grep -q " $i "; then
226 echo "#PRI#addgroup -g $GRPID $i 2> /dev/null" >> _scripts
/$PKG.scr
227 echo "#POR#delgroup $i 2> /dev/null" >> _scripts
/$PKG.scr
229 [ -z "$processed" ] && processed
="$i" || processed
=`echo -ne "$processed\n$i"`
236 cat _scripts
/$PKG.users | \
237 while read username uid group gid passwd home shell groups comment
; do
238 [ "$shell" != "-" ] && SHELL
="-s $shell" || SHELL
=
239 [ "$home" != "-" ] && HHOME
="-h $home" || HHOME
=
240 [ "$group" != "-" ] && GROUP
="-G $group" || GROUP
=
241 [ "$comment" != "-" -a ! -z "$comment" ] && COMMENT
="-g '$comment'" || COMMENT
=
242 if [ "$username" != "-" ]; then
243 USRID
=`grep "^${username}:" "$F_PASSWD" | cut -d : -f 3`
244 if [ -z "$USRID" ]; then
245 echo "**User not found: ${username}**"
247 echo "#PRI#adduser $HHOME $COMMENT $GROUP $SHELL -D -H -u $USRID $username 2> /dev/null" >> _scripts
/$PKG.scr
248 echo "#POR#deluser $username 2> /dev/null" >> _scripts
/$PKG.scr
249 if [ "$groups" != "-" ]; then
253 echo "#PRI#adduser $username $i 2> /dev/null" >> _scripts
/$PKG.scr
254 echo "#POR#delgroup $username $i 2> /dev/null" >> _scripts
/$PKG.scr
263 if [ -e _scripts
/$PKG.scr
]; then
264 echo -n > _scripts
/$PKG.
install
265 if INC
=$
(grep "^#INC#" _scripts
/$PKG.scr
); then
269 INCVAL
=`echo "$i" | sed 's/^#INC#//'`
270 if [ -e _scripts
/scripts
/$INCVAL.scr
]; then
271 [ -z "$INCSCR" ] && INCSCR
="$INCVAL" || INCSCR
=`echo -ne "$INCSCR\n$INCVAL"`
277 grep "^#VAR#" _scripts
/scripts
/$i.scr |
sed 's/^#VAR#//' >> _scripts
/$PKG.
install
280 grep "^#VAR#" _scripts
/$PKG.scr |
sed 's/^#VAR#//' >> _scripts
/$PKG.
install
282 echo "post_install() {" >> _scripts
/$PKG.
install
284 grep "^#POI#" _scripts
/scripts
/$i.scr |
sed 's/^#POI#//' >> _scripts
/$PKG.
install
286 grep "^#POI#" _scripts
/$PKG.scr |
sed 's/^#POI#//' >> _scripts
/$PKG.
install
287 echo "}" >> _scripts
/$PKG.
install
289 echo "post_upgrade() {" >> _scripts
/$PKG.
install
291 grep "^#POU#" _scripts
/scripts
/$i.scr |
sed 's/^#POU#//' >> _scripts
/$PKG.
install
293 grep "^#POU#" _scripts
/$PKG.scr |
sed 's/^#POU#//' >> _scripts
/$PKG.
install
294 echo "}" >> _scripts
/$PKG.
install
296 echo "post_remove() {" >> _scripts
/$PKG.
install
298 grep "^#POR#" _scripts
/scripts
/$i.scr |
sed 's/^#POR#//' >> _scripts
/$PKG.
install
300 grep "^#POR#" _scripts
/$PKG.scr |
sed 's/^#POR#//' >> _scripts
/$PKG.
install
301 echo "}" >> _scripts
/$PKG.
install
303 echo "pre_install() {" >> _scripts
/$PKG.
install
305 grep "^#PRI#" _scripts
/scripts
/$i.scr |
sed 's/^#PRI#//' >> _scripts
/$PKG.
install
307 grep "^#PRI#" _scripts
/$PKG.scr |
sed 's/^#PRI#//' >> _scripts
/$PKG.
install
308 echo "}" >> _scripts
/$PKG.
install
310 echo "pre_upgrade() {" >> _scripts
/$PKG.
install
312 grep "^#PRU#" _scripts
/scripts
/$i.scr |
sed 's/^#PRU#//' >> _scripts
/$PKG.
install
314 grep "^#PRU#" _scripts
/$PKG.scr |
sed 's/^#PRU#//' >> _scripts
/$PKG.
install
315 echo "}" >> _scripts
/$PKG.
install
317 echo "pre_remove() {" >> _scripts
/$PKG.
install
319 grep "^#PRR#" _scripts
/scripts
/$i.scr |
sed 's/^#PRR#//' >> _scripts
/$PKG.
install
321 grep "^#PRR#" _scripts
/$PKG.scr |
sed 's/^#PRR#//' >> _scripts
/$PKG.
install
322 echo "}" >> _scripts
/$PKG.
install
326 grep "^#VAR#" _scripts
/$PKG.scr |
sed 's/^#VAR#//' >> _scripts
/$PKG.
install
328 echo "post_install() {" >> _scripts
/$PKG.
install
329 grep "^#POI#" _scripts
/$PKG.scr |
sed 's/^#POI#//' >> _scripts
/$PKG.
install
330 echo "}" >> _scripts
/$PKG.
install
332 echo "post_upgrade() {" >> _scripts
/$PKG.
install
333 grep "^#POU#" _scripts
/$PKG.scr |
sed 's/^#POU#//' >> _scripts
/$PKG.
install
334 echo "}" >> _scripts
/$PKG.
install
336 echo "post_remove() {" >> _scripts
/$PKG.
install
337 grep "^#POR#" _scripts
/$PKG.scr |
sed 's/^#POR#//' |
tac >> _scripts
/$PKG.
install
338 echo "}" >> _scripts
/$PKG.
install
340 echo "pre_install() {" >> _scripts
/$PKG.
install
341 grep "^#PRI#" _scripts
/$PKG.scr |
sed 's/^#PRI#//' >> _scripts
/$PKG.
install
342 echo "}" >> _scripts
/$PKG.
install
344 echo "pre_upgrade() {" >> _scripts
/$PKG.
install
345 grep "^#PRU#" _scripts
/$PKG.scr |
sed 's/^#PRU#//' >> _scripts
/$PKG.
install
346 echo "}" >> _scripts
/$PKG.
install
348 echo "pre_remove() {" >> _scripts
/$PKG.
install
349 grep "^#PRR#" _scripts
/$PKG.scr |
sed 's/^#PRR#//' |
tac >> _scripts
/$PKG.
install
350 echo "}" >> _scripts
/$PKG.
install
353 grep -A 1 -n "() {$" _scripts
/$PKG.
install |
grep "^[0-9]\+-}$" |
sed "s/-}$//" | \
355 sed -i "$(expr $num - $anum)d" _scripts
/$PKG.
install
356 sed -i "$(expr $num - 1 - $anum)d" _scripts
/$PKG.
install
357 anum
=$
(expr $anum + 2)
361 if [ -e _scripts
/${PKG}@run.
cpio ]; then
362 mkdir
-p $DESTROOT/etc
/rundir
363 cp -Rdp _scripts
/${PKG}@run.
cpio $DESTROOT/etc
/rundir
365 [ -d _scripts
/files
/$PKG/etc
] && cp -Rdp _scripts
/files
/$PKG/etc
$DESTROOT
369 (cd $DESTROOT; tar czf
$PKGDEST/$PKG-$VERSION-$REV.
tar.gz
*)
372 # echo "$DONTINSTALL" | grep -q " $PKG " || tar xzf $PKGDEST/$PKG-$VERSION-$REV.tar.gz -C /
376 rm -f $BUILDROOT/inst_start.log