From patchwork Mon Aug 20 15:47:57 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: pango modules postinst issue Date: Mon, 20 Aug 2012 15:47:57 -0000 From: =?utf-8?q?Andreas_M=C3=BCller_=3Cschnitzeltony=40googlemail=2Ecom=3E?= X-Patchwork-Id: 34953 Message-Id: To: openembedded-core@lists.openembedded.org, openembedded-devel@lists.openembedded.org On Mon, Aug 20, 2012 at 4:20 PM, Andreas Müller wrote: > On Tue, Jul 31, 2012 at 5:01 PM, Andreas Müller > wrote: >> Hi, >> >> sorry fur disturbing again - but: >> >> When starting X on a maiden image I receive: >> >> No builtin or dynamically loaded modules were found. >> PangoFc will not work correctly. >> This probably means there was an error in the creation of: >> '/etc/pango/pango.modules' >> You should create this file by running: >> pango-querymodules > '/etc/pango/pango.modules' >> >> and have no fonts displayed. Followed the suggestion >> >> pango-querymodules > '/etc/pango/pango.modules' >> >> -> fonts are OK. >> >> I checked: Besides other pango modules my image contains >> pango-module-basic-x. In the postinst of this package I see >> >> #!/bin/sh >> if [ "x$D" != "x" ]; then >> exit 1 >> fi >> >> if ! [ -e $D/etc/pango ] ; then >> mkdir -p $D/etc/pango >> fi >> /usr/bin/pango-querymodules > /etc/pango/pango.modules >> >> This looks OK so far ( besides that I would not have the $D in second part ). >> >> Additionally log.do_rootfs says: >> >> Configuring pango-module-basic-x. >> pango-module-basic-x.postinst returned 1, marking as unpacked only, >> configuration required on target. >> >> Any idea what is happening here? >> > I investigated this and found oe-core commit > ffe93e2a099e4cadb1829dc12a58a6d7bef9a5a7 for opkg-collateral. Besides > changing the configuration location it changes > > -lists_dir ext /var/lib/ipkg > +lists_dir ext /var/lib/opkg > > The patch attached for meta-angstrom fixes the pango-postinst issue > but I am not quite sure if this is a good solution, because it > reinvents parts of opkg-collateral. Why does angstrom replace > opkg-collateral? Wouldn't it be a better solution to append > opkg-collateral with angstrom feeds packages? > Aargh - I did two things at the same time 1. patch attached in previous mail 2. $D${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts Now that I reverted 2. pango is again not properly prepared after first boot :( So it is not a matter of wrong configuration of opkg by meta-angstrom. Seems that writing output of 'opkg-cl configure' changes timing and thereby working around the bug. Suspicious: The systemd startup sequence log says: Starting Run pending postinsts... [ OK ] Mounted POSIXBluetooth: HIDP (Human Interface Emulation) ver 1.2 Message Queue File System. [ OK ] Mounted Debug File System. systemd-journald[66]: Fixed max_use=23.9M max_size=2.9M min_size=64.0K keep_free=11.9M systemd-udevd[64]: starting version 187 Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 [ OK ] Started udev Kernel Device Manager. [ OK ] Started Load Kernel Modules. Mounting FUSE Control File System... systemd-journald[66]: Reserving 5447 entries in hash table. [ OK ] Mounted FUSE Control File System. systemd-journald[66]: Vacuuming... [ OK ] Started udev Coldplug all Devices. EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ OK ] Started Remount Root and Kernel File Systems. [ OK ] Reached target Local File Systems (Pre). Mounting /tmp... Starting Load Random Seed... [ OK ] Mounted /tmp. and root@overo:~# journalctl | grep tmp Aug 20 16:59:33 overo S98run-postinsts[68]: * opkg_prep_intercepts: Failed to make temp dir /tmp/opkg-07xOYO/opkg-intercept-wfVgAQ: No such file or directory. Aug 20 16:59:33 overo S98run-postinsts[68]: * rm_r: Failed to open dir /tmp/opkg-07xOYO: No such file or directory. Aug 20 16:59:56 overo kernel[276]: devtmpfs: initialized Aug 20 16:59:59 overo kernel[276]: devtmpfs: mounted So my conclusion (for now): During postinst /tmp is required (by which package I don't know and guess it is out of interest). Unfortunately at that time /tmp is not yet mounted causing postinst to abort and leave packages undone: root@overo:~# opkg info pango-module* Package: pango-module-basic-fc Version: 1.30.0-r0 Depends: libffi5 (>= 3.0.10), libc6 (>= 2.15), libfreetype6 (>= 2.4.9), libstdc++6 (>= 4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede), libglib-2.0-0 (>= 2.32.4), pango, ) Provides: Status: install ok *unpacked* Architecture: armv7a-vfp-neon Installed-Time: 1345474265 Package: pango-module-basic-x Version: 1.30.0-r0 Depends: libx11-6 (>= 1.5.0), libxcb1 (>= 1.8.1), libffi5 (>= 3.0.10), libc6 (>= 2.15), libglib-2.0-0 (>= 2.32.4), pango, libxau6 (>= 1.0.7), libxdmcp6 (>= 1.1.1) Provides: Status: install ok *unpacked* Architecture: armv7a-vfp-neon Installed-Time: 1345474265 Support running postinst after /tmp is mounted is welcome... Andreas diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc index 5c7cad3..168e4b1 100644 --- a/meta/recipes-devtools/opkg/opkg.inc +++ b/meta/recipes-devtools/opkg/opkg.inc @@ -59,7 +59,7 @@ if [ "x$D" != "x" ]; then install -d $D${sysconfdir}/rcS.d # this happens at S98 where our good 'ole packages script used to run echo "#!/bin/sh -opkg-cl configure +opkg-cl configure > /var/log/opkg-configure.log rm -f /${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts " > $D${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts chmod 0755