Hi, On Sat, Jan 04, 2020 at 02:33:51PM +0100, John Paul Adrian Glaubitz wrote: > On 1/4/20 2:28 PM, Rene Engelhard wrote: > > That just means that BUILD_NOGUI_PACKAGES=n is set and the nogui part is > > not even tried. > > ppc64 is fast and has server uses, so should definitel get -nogui. > > That might be the case. But ppc64 is currently *not* in the list > of OOO_NOGUI_ARCH. Yet your rules file was executing parts of > the code as if it was in OOO_NOGUI_ARCH.
Yes, because BUILD_NOGUI_PACKAGES=y is set because of findstring vs. filter. There you *are* right, I didn't say anything else. > > I am not mistaken: > > > > No, this is just a workaround. The real fix would imho be to find out > > why .desktop is not present when it's tried to be removed.. > > What? I'm not sure why this would be a workaround. But that just disables -nogui there which is not what we want -> workaround. Non-workaround would be to fix OOO_NOGUI_ARCHS to have ppc64. > You didn't put ppc64 in the list of NOGUI architectures. Yes, because I didn't have it in radar when I did this. > That means the nogui code itself wasn't build. Erm, no. Not at the stage of the failure. The cause of build is as follows: 1 if BUILD_NOGUI_PACKAGES=y build LO with --disable-gui 1a save the built tree 2 build LO normally without --disable-gui ( 3 build the tests and run them, if enabled ) ( 4 build languages etc, only -A or -b case ) 5 make install 6 if BUILD_NOGUI_PACKAGES=y: a copy core to core-nogui etc b replace files in -core-nogui with the files built in 1 and saved in 1a and remove files present in -core but not in -core-nogui c remove lib*ui.so d remove .desktop d fails. And a build log clearly shows 1,1a,2,5 done. Though because ppc64el is not in the -core-nogui packages' arch list it's not copied: >From the build log: [...] # create no-GUI packages for p in report-builder-bin; do \ rm -rf debian/libreoffice-$p-nogui; \ cp -ra debian/libreoffice-$p debian/libreoffice-$p-nogui; \ for i in debian/libreoffice-$p-nogui/usr/lib/libreoffice/program/*; do \ if [ -e instdir-nogui/program/`basename $i` ]; then \ cp -v instdir-nogui/program/`basename $i` \ debian/libreoffice-$p-nogui/usr/lib/libreoffice/program; \ else \ rm -fv debian/libreoffice-$p-nogui/usr/lib/libreoffice/program/`basename $i`; \ fi; \ done; \ done 'instdir-nogui/program/librptlo.so' -> 'debian/libreoffice-report-builder-bin-nogui/usr/lib/libreoffice/program/librptlo.so' 'instdir-nogui/program/librptuilo.so' -> 'debian/libreoffice-report-builder-bin-nogui/usr/lib/libreoffice/program/librptuilo.so' 'instdir-nogui/program/librptxmllo.so' -> 'debian/libreoffice-report-builder-bin-nogui/usr/lib/libreoffice/program/librptxmllo.so' # remove lib*uilo.so in --nogui find debian/libreoffice-*-nogui/usr/lib/libreoffice/program/lib*uilo.so -exec rm {} \; # and (no UI, so not needed) not needed .desktop files find debian/libreoffice-*-nogui/usr/share/applications/*.desktop -exec rm {} \; find: ‘debian/libreoffice-*-nogui/usr/share/applications/*.desktop’: No such file or directory make: *** [debian/rules:2699: debian/stampdir/install-arch] Error 1 dpkg-buildpackage: error: fakeroot debian/rules binary-arch subprocess returned exit status 2 Note the loop missing -core, -writer, -calc etc which is the packages having a .desktop file, so the rm doesn't find anything and fails. > You want to use "filter" when looking for architectures, not "findstring" > which will match "ppc64" in "ppc64el". Maybe, yes. But in fact ppc64 should be added to OOO_NOGUI_ARCHS anyways, which is the real issue here. Regards, Rene