[csw-maintainers] Adding files from /usr/lib/64/ won't work

Dagobert Michelsen dam at opencsw.org
Mon Jul 1 22:43:32 CEST 2013


Hi Laurent,

Am 30.06.2013 um 17:15 schrieb Laurent Blume <laurent at opencsw.org>:
> I['m trying to make a packages adding a few symlinks in /usr/lib so that
> the NSS bits of SAmba can be used.
> I had hoped I could just present a fully ready experimental package for
> you people to look at, but I'm hitting a snag, and I can't seem to get
> around it:
> whatever I tried, the 64 bit part never gets added to the package.
> 
> Here's what's in the recipe (I've tried variants):
> 
> PKGFILES_CSWsamba-nss-system-links += /usr/lib/nss_winbind_csw.so.1
> PKGFILES_CSWsamba-nss-system-links += /usr/lib/nss_wins_csw.so.1
> PKGFILES_CSWsamba-nss-system-links += /usr/lib/amd64/nss_winbind_csw.so.1
> PKGFILES_CSWsamba-nss-system-links += /usr/lib/amd64/nss_wins_csw.so.1
> PKGFILES_CSWsamba-nss-system-links += /usr/lib/sparcv9/nss_winbind_csw.so.1
> PKGFILES_CSWsamba-nss-system-links += /usr/lib/sparcv9/nss_wins_csw.so.1
> 
> The symlinks have been recated:
> Jun 30 16:58 install-isa-pentium_pro/usr/lib/nss_winbind_csw.so.1 ->
> ../../opt/csw/lib/nss_winbind.so.1
> Jun 30 16:58 install-isa-pentium_pro/usr/lib/nss_wins_csw.so.1 ->
> ../../opt/csw/lib/nss_wins.so.1
> 
> install-isa-amd64/usr/lib/amd64:
> lrwxrwxrwx   1 laurent  staff         40 Jun 30 17:04
> nss_winbind_csw.so.1 -> ../../../opt/csw/lib/64/nss_winbind.so.1
> lrwxrwxrwx   1 laurent  staff         37 Jun 30 17:04 nss_wins_csw.so.1
> -> ../../../opt/csw/lib/64/nss_wins.so.1
> 
> But I only ever get the 32 bit ones in the prototype:
> d none /opt/csw/share/doc/samba_nss_system_links 0755 root bin
> f none /opt/csw/share/doc/samba_nss_system_links/license 0644 root bin
> d none /usr/lib 0755 root bin
> s none /usr/lib/nss_winbind_csw.so.1=../../opt/csw/lib/nss_winbind.so.1
> s none /usr/lib/nss_wins_csw.so.1=../../opt/csw/lib/nss_wins.so.1
> i checkpkg_override=checkpkg_override.CSWsamba-nss-system-links
> 
> Any idea what I'm missing there? It's quite annoying.


Sure :-) It goes like this:

- there are versions built for 32 and 64 bit built in different directories like
  work/<platform>/build-isa-<isa>
- these are then merged together to work/<platform>/pkgroot
- from there the files for the packages are picked

Please see also my "Advanced mGAR" talk at
  http://sourceforge.net/apps/trac/gar/wiki/Learning%20the%20details

Inspection shows that the files are already missing in pkgroot/, so the problem is
in the merge phase. The relevant definitions are beginning at
  http://sourceforge.net/apps/trac/gar/browser/csw/mgar/gar/v2/gar.mk#L772
Per default only stuff from bin/, sbin/, lib/ and libexec/ (all in /opt/csw)
is propagated for a 64 bit build, but not /usr/lib. If you also want /usr/lib
you need something like
  EXTRA_MERGE_DIRS_isa-extra += /usr/lib

I have not tested it, please give it a try, if it doesn't work I'll have a deeper
look, then please mail your directory on the buildfarm in your home directory.


Best regards

  -- Dago

-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896



More information about the maintainers mailing list