Fixed
Created: Jan 27, 2017
Updated: Dec 3, 2018
Resolved Date: Mar 25, 2017
Found In Version: 8.0.0.13
Fix Version: 8.0.0.16
Severity: Standard
Applicable for: Wind River Linux 8
Component/s: Userspace
We use smart to install quagga package.
During the install process, smart runs flock --w command via useradd and groupadd commands to create zebra.service file.
flock command was failing while installing quagga. glibc-small uses busybox version of flock which does not support --w option (see d by useradd and groupadd commands to create zebra.service file.)
So you will get this error :
---
Created symlink from /etc/systemd/system/multi-user.target.wants/isisd.service t o /lib/systemd/system/isisd.service.
Failed to restart isisd.service: Unit zebra.service failed to load: No such file or directory.
error: %post(quagga-isisd-0.99.24.1-r0.0.ppc603e) scriptlet failed, exit status 6
Output from quagga-0.99.24.1-r0.0@ppc603e:
Running groupadd commands...
NOTE: quagga: Performing groupadd with [ --system quagga ]
flock: invalid option -- 'w'
BusyBox v1.23.2 (2016-12-23 12:35:49 EST) multi-call binary.
Usage: flock [-sxun] FD|{FILE [-c] PROG ARGS}
ERROR: quagga: groupadd command did not succeed.
error: %pre(quagga-0.99.24.1-r0.0.ppc603e) scriptlet failed, exit status 1
error: install: %pre scriptlet failed (2), skipping quagga-0.99.24.1-r0.0.ppc6 03e
7:Installing quagga-ripd ######################################## [ 88%]
Output from quagga-ripd-0.99.24.1-r0.0@ppc603e:
Created symlink from /etc/systemd/system/multi-user.target.wants/ripd.service to /lib/systemd/system/ripd.service.
Failed to restart ripd.service: Unit zebra.service failed to load: No such file or directory.
error: %post(quagga-ripd-0.99.24.1-r0.0.ppc603e) scriptlet failed, exit status 6
---
It works correctly when using flock from util-linux (need to add the package as it is not included with glibc-small)
add util-linux package in glibc-small.
1. create platform project with glibc-small root FS :
configure --enable-reconfig --enable-board=intel-x86-64 --enable-kernel=standard --enable-rootfs=glibc-small --enable-build=production --enable-jobs=8 --enable-parallel-pkgbuilds=8 --with-template=feature/package-management --with-rcpl-version=0013
2. build project and deploy it on the target
3. add quagga to the project and build
make -C build quagga.addpkg
make
At this point, quagga is built in the project but it is not deployed on the target
4. setup smart
On the host side :
$ cd bitbake_build/tmp/deploy/rpm
$ ls
all core2_64 lib32_x86 qemux86_64
Using an editor, create package-feeds file (see attached my example)
start the server
$ python -m SimpleHTTPServer 8080
On the target side :
$ smart channel -y --add http://host_IP_address:8080/package-feeds
$ smart update
$ smart install quagga