Stephen,

> Yup, my fault - sorry.  I've filed
> 
> 6438236 cfgadm plugins for ac & sysctrl want to be reunited with their 
> drivers in usr/src
> 
> to track it.  I hope to have it ready by next week.

great, thanks.

Btw., I'm currently working on

6414822 don't try to build packages with closed components

again.  The initial patch I sent to Mike consisted of just omitting any
packages with closed components in an open build.  Right now, I'm almost
done splitting off closed components in several packages into their own
packages, as described at the start of this thread.  Btw., do I need to
file a new bug for this work (splitting off packages), or can this be
handled with the same CR?

While doing so, I noticed a couple of other problems:

When doing a nightly build without the -N flag and with -pz added, I get a
couple of errors which are partially due to the closed tar balls.  I've
filed

6439889 wrong directory permissions in closed tarballs

against consolidation/os-net-misc for those.

Inconsistencies between pkgdefs and proto area:

Unit   T File Name                      Reloc/Sym name       perm owner group 
inode lnk maj min package(s)
------------------------------------------------------------------------------------------------------------
filea: d etc/lp                         -                     775 -     -       
   0  1  -  -    SUNWpsr
fileb: d etc/lp                         -                     755 -     -     
101894  9  -  -    proto
    differ: perm 

and several more.  Those are due to the fact that the closed tar balls
deliver those directories with permissions that differ from what the
package files describe.  For the moment, I've manually fixed them (full
details in CR 6439889).  For those changes to take effect, I need to change
the toplevel Makefile in $SRC:

diff -r f7a1197187ee usr/src/Makefile
--- a/usr/src/Makefile  Mon May 29 13:01:03 2006 -0700
+++ b/usr/src/Makefile  Fri Jun 16 12:23:12 2006 +0200
@@ -125,7 +125,7 @@ closedbins: FRC $(ROOTDIRS)
                fi; \
                $(ECHO) "Copying closed binaries from $$ON_CLOSED_BINS"; \
                (cd $$ON_CLOSED_BINS/root_$(MACH); tar cf - .) | \
-                   (cd $(ROOT); tar xBf -); \
+                   (cd $(ROOT); tar xBpf -); \
        fi
 
 $(SUBDIRS) head ucbhead pkgdefs: FRC

otherwise the directory permissions get lost when transferring the closed
binaries to $ROOT.

In addition, if I rerun nightly -i after a successful build, a couple of
additional directories get their permissions wrong since they are
overwritten from the closed tar ball and not corrected by the build.

It would be great if you could fix those issues for the closed tar balls.

Even after those changes and with my patches to split off closed components
(which, btw, ignore those files that can be opened as mentioned upthread,
but are not yet in the open tree)

http://www.techfak.uni-bielefeld.de/~ro/opensolaris/webrev/closed-pkgs/webrev/

I still get several errors from protocmp:

If I leave all the package directories (either existing ones which only
contain closed files or new ones split off from packages with otherwise
open components) in usr/src/pkgdefs, protocmp complains e.g.

Files missing from the proto area:

T File Name                      Reloc/Sym name       perm owner group inode 
lnk maj min package(s)
------------------------------------------------------------------------------------------------------------
f usr/share/lib/smartcard/IFDCardTerminal.jar -                     644 -     - 
         0  1  -  -    SUNWocf

and many more files and directories missing from the closed tarball.  Since
protocmp only takes a directory argument, not a list of individual package
directories to check, it seems to be the right approach to move all those
directories to usr/closed/pkgdefs, which already seems to exist according
to nightly and checkproto.  But if I do so (or rather, move the affected
directories to subdirs of pkgdefs to simulate an open build), I get other
errors:

On sparc:

Files missing from packages:

T File Name                      Reloc/Sym name       perm owner group inode 
lnk maj min package(s)
------------------------------------------------------------------------------------------------------------
f kernel/crypto/sparcv9/dprov    -                     755 -     -     246202  
2  -  -    proto
f kernel/drv/dprov.conf          -                     644 -     -          0  
1  -  -    proto
f kernel/drv/sparcv9/dprov       -                     755 -     -     246202  
2  -  -    proto

SUNWcryptoint

Distributed in source; the only parts missing from SUNWcryptoint are
etc/certs/SUNWosnetSolaris and etc/crypto/certs/SUNWosnet.  Perhaps those
should go into their own packages?  Any suggestions for a name?

d usr/include/sys/ib/adapters/tavor -                     755 -     -     
101637  2  -  -    proto

SUNWtavorh (new)

distributed in closed tar ball, but should be removed

f usr/include/sys/scsi/adapters/ifpio.h -                     644 -     -       
   0  1  -  -    proto

SUNWifph (new)

Distributed in uts/sun/sys/scsi/adapters/ifpio.h, but only referenced in
uts/sun/sys/Makefile, should probably be moved to closed tree unless the
other headers in the new SUNWifph package can be opened, too.

f usr/kernel/drv/emul64.conf     -                     644 -     -          0  
1  -  -    proto
f usr/kernel/drv/pshot.conf      -                     644 -     -          0  
1  -  -    proto
f usr/kernel/drv/sparcv9/emul64  -                     755 -     -          0  
1  -  -    proto
f usr/kernel/drv/sparcv9/gen_drv -                     755 -     -          0  
1  -  -    proto
f usr/kernel/drv/sparcv9/pshot   -                     755 -     -          0  
1  -  -    proto
f usr/kernel/drv/sparcv9/tclient -                     755 -     -          0  
1  -  -    proto
f usr/kernel/drv/sparcv9/tphci   -                     755 -     -          0  
1  -  -    proto
f usr/kernel/drv/sparcv9/tvhci   -                     755 -     -          0  
1  -  -    proto
f usr/sbin/devctl                -                     555 -     -          0  
1  -  -    proto
f usr/sbin/emul64ioctl           -                     555 -     -          0  
1  -  -    proto

SUNWiotu

The only parts missing from SUNWiotu are pcitool and pcitool.1m.  Perhaps
those can be released or split off to their own package, since all the
drivers are present in source?

s usr/lib/libsmartcard.so        libsmartcard.so.1     777 -     -          0  
1  -  -    proto
f usr/lib/libsmartcard.so.1      -                     755 -     -          0  
1  -  -    proto
f usr/lib/llib-lsmartcard        -                     644 -     -          0  
1  -  -    proto
f usr/lib/llib-lsmartcard.ln     -                     644 -     -          0  
1  -  -    proto
s usr/lib/sparcv9/libsmartcard.so libsmartcard.so.1     777 -     -          0  
1  -  -    proto
f usr/lib/sparcv9/libsmartcard.so.1 -                     755 -     -          
0  1  -  -    proto
f usr/lib/sparcv9/llib-lsmartcard.ln -                     644 -     -          
0  1  -  -    proto
f usr/sbin/ocfserv               -                     555 -     -          0  
1  -  -    proto

SUNWocf

Distributed in closed tar ball, but should be removed: I couldn't find a
reference to -lsmartcard in the build logs.

s usr/platform/sun4u/lib/libwrsmconf.so 
../../../../platform/sun4u/lib/libwrsmconf.so.1  777 -     -          0  1  -  
-    proto
s usr/platform/sun4u/lib/libwrsmconf.so.1 
../../../../platform/sun4u/lib/libwrsmconf.so.1  777 -     -          0  1  -  
-    proto
f usr/platform/sun4u/lib/mdb/kvm/sparcv9/wrsm.so -                     555 -    
 -          0  1  -  -    proto
d usr/platform/sun4u/lib/rcm     -                     755 -     -     100985  
3  -  -    proto
d usr/platform/sun4u/lib/rcm/scripts -                     755 -     -     
100986  2  -  -    proto
f usr/platform/sun4u/lib/rcm/scripts/SUNW,wrsm_lastwci -                     
755 -     -          0  1  -  -    proto
d usr/platform/sun4u/lib/sparcv9 -                     755 -     -     100134  
2  -  -    proto
s usr/platform/sun4u/lib/sparcv9/libwrsmconf.so 
../../../../../platform/sun4u/lib/sparcv9/libwrsmconf.so.1  777 -     -         
 0  1  -  -    proto
s usr/platform/sun4u/lib/sparcv9/libwrsmconf.so.1 
../../../../../platform/sun4u/lib/sparcv9/libwrsmconf.so.1  777 -     -         
 0  1  -  -    proto
s usr/platform/sun4u/sbin/wrsmconf ../../../../platform/sun4u/sbin/wrsmconf  
777 -     -          0  1  -  -    proto
f usr/platform/sun4u/sbin/wrsmstat -                     755 -     -          0 
 1  -  -    proto

SUNWwrsu.u

It seems strange now that all of the wrs code can be distributed in source
form with the only exception of the wrsm and wrsmd kmdb modules.  Perhaps
this is an oversight which can be fixed?

d usr/share/javadoc              -                     755 -     -     101709  
2  -  -    proto

SUNWocfd

distributed in closed tar ball, but should be removed

f var/svc/manifest/network/rpc/ocfserv.xml -                     444 -     -    
      0  1  -  -    proto

SUNWocfr

distributed in closed tar ball, but should be removed

On x86 only (omitting files already listed on sparc):

Files missing from packages:

T File Name                      Reloc/Sym name       perm owner group inode 
lnk maj min package(s)
------------------------------------------------------------------------------------------------------------
f platform/i86pc/kernel/drv/amd64/memtest -                     755 -     -     
     0  1  -  -    proto
f platform/i86pc/kernel/drv/memtest -                     755 -     -          
0  1  -  -    proto
f platform/i86pc/kernel/drv/memtest.conf -                     644 -     -      
    0  1  -  -    proto
d usr/platform/i86pc/lib/mtst    -                     755 -     -     116451  
2  -  -    proto
f usr/platform/i86pc/lib/mtst/mtst_AuthenticAMD_15.so -                     755 
-     -          0  1  -  -    proto

distributed in closed tar ball

f usr/include/sys/memtest.h      -                     644 -     -          0  
1  -  -    proto

distributed in uts/intel/sys/memtest.h

SUNWonmtst.i

So from this package, only usr/bin/mtst is missing.  Either the files
should be removed from the closed tar ball and sources or mtst distributed
at least in binary form.  Splitting this package doesn't seem really
practical.

If we can get those issues resolved (and eventually filing new CRs if this
is deemed necessary) , I think I'm almost done removing the build noise in
an open build with packages built.  I hope the currently missing sources
that can be opened can be moved over to the open tree at the same time as
the patch above goes in.

        Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to