More fixes to faciliate importing WOS images, creating custom pkgs
authorBart Smaalders <Bart.Smaalders@Sun.COM>
Thu, 04 Oct 2007 11:29:14 -0700
changeset 130 7b9081182c8a
parent 129 58bdd06762aa
child 131 fc9305846bc8
More fixes to faciliate importing WOS images, creating custom pkgs from existing sv4r ones. src/util/distro-import/SUNWfixes.pkginfo src/util/distro-import/SUNWfixes.prototype svr4 pkg info for temp package used to import config file fixes into repo src/util/distro-import/common/SUNWsmf_repo add a package to install a repo if there's not one already; make it suitable for either zones or global images src/util/distro-import/slim_install.toc cluster for slim install cd src/util/distro-import/Makefile better build targets make it easier to modify files in packages prior to importation. renamed SUNWcsdreplace to generic SUNWfixes src/util/distro-import/common/SUNWcsd import fixed files needed from SUNWfixes package src/util/distro-import/i386/SUNWcakr add etc/zfs/zpool.cache to ramdisk src/util/distro-import/solaris.py simplify chattr path changes fixes, permit multiple files w/ same path to exist in single package. fix chattr to work on file imports as well as pkg.
src/util/distro-import/Makefile
src/util/distro-import/SUNWcsdreplace.pkginfo
src/util/distro-import/SUNWcsdreplace.prototype
src/util/distro-import/SUNWfixes.pkginfo
src/util/distro-import/SUNWfixes.prototype
src/util/distro-import/common/SUNWcsd
src/util/distro-import/common/SUNWsmf_repo
src/util/distro-import/i386/SUNWcakr
src/util/distro-import/slim_install.toc
src/util/distro-import/solaris.py
--- a/src/util/distro-import/Makefile	Wed Oct 03 13:09:13 2007 -0700
+++ b/src/util/distro-import/Makefile	Thu Oct 04 11:29:14 2007 -0700
@@ -28,29 +28,47 @@
 # replace as needed with a local solaris install image
 WOS_PATH=/net/netinstall.sfbay/export/nv/x/74/Solaris_11/Product
 
-TMPPKGS=SUNWcsdreplace
+TMPPKGS=SUNWfixes
+
+FIXFILES= \
+	etc/name_to_major \
+	etc/driver_aliases \
+	boot/solaris/filelist.ramdisk \
+	etc/svc/global_repo.db \
+	etc/svc/nonglobal_repo.db
 
 default:	$(TMPPKGS) cluster.import
 
-cluster.import:	$(WOS_PATH)/.clustertoc
+cluster.import:	$(WOS_PATH)/.clustertoc Makefile slim_install.toc
 	./clustertoc2import.py $(WOS_PATH)/.clustertoc | egrep -v 'SUNWjds-registration|SUNWdttsr|SUNWdttsu' > $@
+	./clustertoc2import.py ./slim_install.toc >> $@
 
-etc/driver_aliases: etc $(WOS_PATH)/SUNWcsd/pkgmap
+proto/etc/driver_aliases: proto
 	./get_file_from_pkg.py $(WOS_PATH)/SUNWcsd etc/driver_aliases | \
-	./driver_names.py `find common i386 -type f` > etc/driver_aliases
+	./driver_names.py `find common i386 -type f` > $@
+
+proto/etc/name_to_major:	proto
+	./get_file_from_pkg.py $(WOS_PATH)/SUNWcsd etc/name_to_major | \
+	./driver_names.py `find common i386 -type f` > $@
 
-etc/name_to_major:	etc $(WOS_PATH)/SUNWcsd/pkgmap
-	./get_file_from_pkg.py $(WOS_PATH)/SUNWcsd etc/name_to_major | \
-	./driver_names.py `find common i386 -type f` > etc/name_to_major
+proto/boot/solaris/filelist.ramdisk:	proto
+	(./get_file_from_pkg.py $(WOS_PATH)/SUNWcakr.i boot/solaris/filelist.ramdisk; \
+	echo etc/zfs/zpool.cache) > $@
+
+proto/etc/svc/global_repo.db:	proto
+	./get_file_from_pkg.py $(WOS_PATH)/SUNWcsr lib/svc/seed/global.db > $@
 
-etc:
-	mkdir etc
+proto/etc/svc/nonglobal_repo.db:	proto
+	./get_file_from_pkg.py $(WOS_PATH)/SUNWcsr lib/svc/seed/nonglobal.db > $@
 
-SUNWcsdreplace: etc/name_to_major etc/driver_aliases
+proto:	Makefile
+	mkdir -p proto/etc/svc
+	mkdir -p proto/boot/solaris
 
+SUNWfixes: $(FIXFILES:%=proto/%)
 
 %:	%.prototype
-	pkgmk -r `pwd` -f [email protected] -d `pwd` -o
+	pkgmk -b ./proto -r . -f [email protected] -d `pwd` -o
 
 
 import:	cluster.import $(TMPPKGS)
--- a/src/util/distro-import/SUNWcsdreplace.pkginfo	Wed Oct 03 13:09:13 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-PKG=SUNWcsdreplace
-NAME=hack
-ARCH=i386
-VERSION=1.0
-CATEGORY=system
-BASEDIR=/
--- a/src/util/distro-import/SUNWcsdreplace.prototype	Wed Oct 03 13:09:13 2007 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-i pkginfo=SUNWcsdreplace.pkginfo
-f none etc/driver_aliases 0644 root sys
-f none etc/name_to_major 0644 root sys
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/util/distro-import/SUNWfixes.pkginfo	Thu Oct 04 11:29:14 2007 -0700
@@ -0,0 +1,7 @@
+PKG=SUNWfixes
+NAME=hack
+ARCH=i386
+VERSION=1.0
+CATEGORY=system
+DESC=file updates for new packaging system
+BASEDIR=/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/util/distro-import/SUNWfixes.prototype	Thu Oct 04 11:29:14 2007 -0700
@@ -0,0 +1,6 @@
+i pkginfo=SUNWfixes.pkginfo
+f none etc/driver_aliases 0644 root sys
+f none etc/name_to_major 0644 root sys
+f none boot/solaris/filelist.ramdisk 0644 root sys
+f none etc/svc/global_repo.db 0600 root sys
+f none etc/svc/nonglobal_repo.db 0600 root sys
--- a/src/util/distro-import/common/SUNWcsd	Wed Oct 03 13:09:13 2007 -0700
+++ b/src/util/distro-import/common/SUNWcsd	Thu Oct 04 11:29:14 2007 -0700
@@ -2,5 +2,8 @@
 import SUNWcsd
 drop etc/name_to_major
 drop etc/driver_aliases
-import ./SUNWcsdreplace
+from ./SUNWfixes import
+etc/name_to_major
+etc/driver_aliases
+end import
 end package
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/util/distro-import/common/SUNWsmf_repo	Thu Oct 04 11:29:14 2007 -0700
@@ -0,0 +1,8 @@
+package SUNWsmf_repo
+from ./SUNWfixes import
+etc/svc/global_repo.db
+etc/svc/nonglobal_repo.db
+end import
+chattr etc/svc/global_repo.db path=etc/svc/repository.db opensolaris.zone=global preserve=true
+chattr etc/svc/nonglobal_repo.db path=etc/svc/repository.db opensolaris.zone=nonglobal preserve=true
+end package
--- a/src/util/distro-import/i386/SUNWcakr	Wed Oct 03 13:09:13 2007 -0700
+++ b/src/util/distro-import/i386/SUNWcakr	Thu Oct 04 11:29:14 2007 -0700
@@ -1,3 +1,7 @@
 package SUNWcakr
 import SUNWcakr.i
+drop boot/solaris/filelist.ramdisk
+from ./SUNWfixes import
+boot/solaris/filelist.ramdisk
+end import
 end package
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/util/distro-import/slim_install.toc	Thu Oct 04 11:29:14 2007 -0700
@@ -0,0 +1,544 @@
+METACLUSTER=slim_install
+NAME=slim install cluster
+DESC=slim install cluster
+VENDOR=OpenSolaris
+DEFAULT=y
+VERSION=0.1
+SUNW_CSRMEMBER=BRCMbnx
+SUNW_CSRMEMBER=CADP160
+SUNW_CSRMEMBER=HPFC
+SUNW_CSRMEMBER=SK98sol
+SUNW_CSRMEMBER=SKfp
+SUNW_CSRMEMBER=SUNWPython
+SUNW_CSRMEMBER=SUNWPython-extra
+SUNW_CSRMEMBER=SUNWTiff
+SUNW_CSRMEMBER=SUNWaac
+SUNW_CSRMEMBER=SUNWad810
+SUNW_CSRMEMBER=SUNWadixp
+SUNW_CSRMEMBER=SUNWadmap
+SUNW_CSRMEMBER=SUNWadmc
+SUNW_CSRMEMBER=SUNWadmlib-sysid
+SUNW_CSRMEMBER=SUNWadmr
+SUNW_CSRMEMBER=SUNWadp
+SUNW_CSRMEMBER=SUNWadpu320
+SUNW_CSRMEMBER=SUNWahci
+SUNW_CSRMEMBER=SUNWamd8111s
+SUNW_CSRMEMBER=SUNWamr
+SUNW_CSRMEMBER=SUNWatfsr
+SUNW_CSRMEMBER=SUNWatfsu
+SUNW_CSRMEMBER=SUNWatheros
+SUNW_CSRMEMBER=SUNWauda
+SUNW_CSRMEMBER=SUNWaudd
+SUNW_CSRMEMBER=SUNWaudiohd
+SUNW_CSRMEMBER=SUNWbash
+SUNW_CSRMEMBER=SUNWbge
+SUNW_CSRMEMBER=SUNWbip
+SUNW_CSRMEMBER=SUNWbipr
+SUNW_CSRMEMBER=SUNWbrltty
+SUNW_CSRMEMBER=SUNWbrltty-root
+SUNW_CSRMEMBER=SUNWbzip
+SUNW_CSRMEMBER=SUNWcadp
+SUNW_CSRMEMBER=SUNWcakr
+SUNW_CSRMEMBER=SUNWcar
+SUNW_CSRMEMBER=SUNWced
+SUNW_CSRMEMBER=SUNWcfcl
+SUNW_CSRMEMBER=SUNWcfclr
+SUNW_CSRMEMBER=SUNWcfpl
+SUNW_CSRMEMBER=SUNWcfplr
+SUNW_CSRMEMBER=SUNWchxge
+SUNW_CSRMEMBER=SUNWckr
+SUNW_CSRMEMBER=SUNWcnetr
+SUNW_CSRMEMBER=SUNWcpp
+SUNW_CSRMEMBER=SUNWcqhpc
+SUNW_CSRMEMBER=SUNWcsd
+SUNW_CSRMEMBER=SUNWcsl
+SUNW_CSRMEMBER=SUNWcslr
+SUNW_CSRMEMBER=SUNWcsr
+SUNW_CSRMEMBER=SUNWcsu
+SUNW_CSRMEMBER=SUNWdbus
+SUNW_CSRMEMBER=SUNWdbus-bindings
+SUNW_CSRMEMBER=SUNWdbus-root
+SUNW_CSRMEMBER=SUNWdtrc
+SUNW_CSRMEMBER=SUNWdtrp
+SUNW_CSRMEMBER=SUNWesu
+SUNW_CSRMEMBER=SUNWfchba
+SUNW_CSRMEMBER=SUNWfchbar
+SUNW_CSRMEMBER=SUNWfcip
+SUNW_CSRMEMBER=SUNWfcmdb
+SUNW_CSRMEMBER=SUNWfcp
+SUNW_CSRMEMBER=SUNWfcprt
+SUNW_CSRMEMBER=SUNWfcsm
+SUNW_CSRMEMBER=SUNWfctl
+SUNW_CSRMEMBER=SUNWfirefox
+SUNW_CSRMEMBER=SUNWfirefox-root
+SUNW_CSRMEMBER=SUNWflac
+SUNW_CSRMEMBER=SUNWflexruntime
+SUNW_CSRMEMBER=SUNWfmd
+SUNW_CSRMEMBER=SUNWfmdr
+SUNW_CSRMEMBER=SUNWftpr
+SUNW_CSRMEMBER=SUNWftpu
+SUNW_CSRMEMBER=SUNWgccruntime
+SUNW_CSRMEMBER=SUNWgksu
+SUNW_CSRMEMBER=SUNWgksu-root
+SUNW_CSRMEMBER=SUNWgnome-a11y-base-libs
+SUNW_CSRMEMBER=SUNWgnome-a11y-dasher
+SUNW_CSRMEMBER=SUNWgnome-a11y-dasher-root
+SUNW_CSRMEMBER=SUNWgnome-a11y-gok
+SUNW_CSRMEMBER=SUNWgnome-a11y-gok-root
+SUNW_CSRMEMBER=SUNWgnome-a11y-libs
+SUNW_CSRMEMBER=SUNWgnome-a11y-reader
+SUNW_CSRMEMBER=SUNWgnome-a11y-speech
+SUNW_CSRMEMBER=SUNWgnome-applets
+SUNW_CSRMEMBER=SUNWgnome-archive-mgr
+SUNW_CSRMEMBER=SUNWgnome-archive-mgr-root
+SUNW_CSRMEMBER=SUNWgnome-audio
+SUNW_CSRMEMBER=SUNWgnome-audio-root
+SUNW_CSRMEMBER=SUNWgnome-base-libs
+SUNW_CSRMEMBER=SUNWgnome-base-libs-root
+SUNW_CSRMEMBER=SUNWgnome-calculator
+SUNW_CSRMEMBER=SUNWgnome-calculator-root
+SUNW_CSRMEMBER=SUNWgnome-camera
+SUNW_CSRMEMBER=SUNWgnome-cd
+SUNW_CSRMEMBER=SUNWgnome-cd-burner
+SUNW_CSRMEMBER=SUNWgnome-cd-burner-root
+SUNW_CSRMEMBER=SUNWgnome-cd-root
+SUNW_CSRMEMBER=SUNWgnome-character-map
+SUNW_CSRMEMBER=SUNWgnome-component
+SUNW_CSRMEMBER=SUNWgnome-component-root
+SUNW_CSRMEMBER=SUNWgnome-config
+SUNW_CSRMEMBER=SUNWgnome-config-editor
+SUNW_CSRMEMBER=SUNWgnome-config-editor-root
+SUNW_CSRMEMBER=SUNWgnome-config-root
+SUNW_CSRMEMBER=SUNWgnome-desklets
+SUNW_CSRMEMBER=SUNWgnome-desklets-extra
+SUNW_CSRMEMBER=SUNWgnome-desktop-prefs
+SUNW_CSRMEMBER=SUNWgnome-desktop-prefs-root
+SUNW_CSRMEMBER=SUNWgnome-dialog
+SUNW_CSRMEMBER=SUNWgnome-dictionary
+SUNW_CSRMEMBER=SUNWgnome-dictionary-root
+SUNW_CSRMEMBER=SUNWgnome-disk-analyzer
+SUNW_CSRMEMBER=SUNWgnome-disk-analyzer-root
+SUNW_CSRMEMBER=SUNWgnome-display-mgr
+SUNW_CSRMEMBER=SUNWgnome-display-mgr-root
+SUNW_CSRMEMBER=SUNWgnome-file-mgr
+SUNW_CSRMEMBER=SUNWgnome-file-mgr-root
+SUNW_CSRMEMBER=SUNWgnome-fonts
+SUNW_CSRMEMBER=SUNWgnome-freedb-libs
+SUNW_CSRMEMBER=SUNWgnome-freedb-libs-root
+SUNW_CSRMEMBER=SUNWgnome-fun-applets
+SUNW_CSRMEMBER=SUNWgnome-fun-applets-root
+SUNW_CSRMEMBER=SUNWgnome-games
+SUNW_CSRMEMBER=SUNWgnome-games-root
+SUNW_CSRMEMBER=SUNWgnome-gtksourceview
+SUNW_CSRMEMBER=SUNWgnome-help-viewer
+SUNW_CSRMEMBER=SUNWgnome-im-client
+SUNW_CSRMEMBER=SUNWgnome-im-client-root
+SUNW_CSRMEMBER=SUNWgnome-img-editor
+SUNW_CSRMEMBER=SUNWgnome-img-editor-root
+SUNW_CSRMEMBER=SUNWgnome-img-organizer
+SUNW_CSRMEMBER=SUNWgnome-img-organizer-root
+SUNW_CSRMEMBER=SUNWgnome-img-viewer
+SUNW_CSRMEMBER=SUNWgnome-img-viewer-root
+SUNW_CSRMEMBER=SUNWgnome-internet-applets
+SUNW_CSRMEMBER=SUNWgnome-internet-applets-root
+SUNW_CSRMEMBER=SUNWgnome-intranet-applets
+SUNW_CSRMEMBER=SUNWgnome-intranet-applets-root
+SUNW_CSRMEMBER=SUNWgnome-keyring-manager
+SUNW_CSRMEMBER=SUNWgnome-keyring-manager-root
+SUNW_CSRMEMBER=SUNWgnome-libs
+SUNW_CSRMEMBER=SUNWgnome-libs-root
+SUNW_CSRMEMBER=SUNWgnome-log-viewer
+SUNW_CSRMEMBER=SUNWgnome-log-viewer-root
+SUNW_CSRMEMBER=SUNWgnome-media
+SUNW_CSRMEMBER=SUNWgnome-media-apps
+SUNW_CSRMEMBER=SUNWgnome-media-apps-root
+SUNW_CSRMEMBER=SUNWgnome-media-player
+SUNW_CSRMEMBER=SUNWgnome-media-player-root
+SUNW_CSRMEMBER=SUNWgnome-media-root
+SUNW_CSRMEMBER=SUNWgnome-meeting
+SUNW_CSRMEMBER=SUNWgnome-meeting-root
+SUNW_CSRMEMBER=SUNWgnome-menu-editor
+SUNW_CSRMEMBER=SUNWgnome-mm-applets
+SUNW_CSRMEMBER=SUNWgnome-mm-applets-root
+SUNW_CSRMEMBER=SUNWgnome-panel
+SUNW_CSRMEMBER=SUNWgnome-panel-root
+SUNW_CSRMEMBER=SUNWgnome-pdf-viewer
+SUNW_CSRMEMBER=SUNWgnome-pdf-viewer-root
+SUNW_CSRMEMBER=SUNWgnome-print
+SUNW_CSRMEMBER=SUNWgnome-print-root
+SUNW_CSRMEMBER=SUNWgnome-ps-viewer
+SUNW_CSRMEMBER=SUNWgnome-python-desktop
+SUNW_CSRMEMBER=SUNWgnome-python-libs
+SUNW_CSRMEMBER=SUNWgnome-remote-desktop
+SUNW_CSRMEMBER=SUNWgnome-remote-desktop-root
+SUNW_CSRMEMBER=SUNWgnome-screenshot
+SUNW_CSRMEMBER=SUNWgnome-screenshot-root
+SUNW_CSRMEMBER=SUNWgnome-search-tool
+SUNW_CSRMEMBER=SUNWgnome-search-tool-root
+SUNW_CSRMEMBER=SUNWgnome-session
+SUNW_CSRMEMBER=SUNWgnome-session-root
+SUNW_CSRMEMBER=SUNWgnome-sound-recorder
+SUNW_CSRMEMBER=SUNWgnome-sound-recorder-root
+SUNW_CSRMEMBER=SUNWgnome-spell
+SUNW_CSRMEMBER=SUNWgnome-sys-suspend
+SUNW_CSRMEMBER=SUNWgnome-system-monitor
+SUNW_CSRMEMBER=SUNWgnome-system-monitor-root
+SUNW_CSRMEMBER=SUNWgnome-system-tools
+SUNW_CSRMEMBER=SUNWgnome-system-tools-root
+SUNW_CSRMEMBER=SUNWgnome-terminal
+SUNW_CSRMEMBER=SUNWgnome-terminal-root
+SUNW_CSRMEMBER=SUNWgnome-text-editor
+SUNW_CSRMEMBER=SUNWgnome-text-editor-root
+SUNW_CSRMEMBER=SUNWgnome-themes
+SUNW_CSRMEMBER=SUNWgnome-user-docs
+SUNW_CSRMEMBER=SUNWgnome-utility-applets
+SUNW_CSRMEMBER=SUNWgnome-utility-applets-root
+SUNW_CSRMEMBER=SUNWgnome-vfs
+SUNW_CSRMEMBER=SUNWgnome-vfs-root
+SUNW_CSRMEMBER=SUNWgnome-wm
+SUNW_CSRMEMBER=SUNWgnome-wm-root
+SUNW_CSRMEMBER=SUNWgnu-coreutils
+SUNW_CSRMEMBER=SUNWgnu-diffutils
+SUNW_CSRMEMBER=SUNWgnu-which
+SUNW_CSRMEMBER=SUNWgnutls
+SUNW_CSRMEMBER=SUNWgrub
+SUNW_CSRMEMBER=SUNWgss
+SUNW_CSRMEMBER=SUNWgssc
+SUNW_CSRMEMBER=SUNWgssdh
+SUNW_CSRMEMBER=SUNWgssk
+SUNW_CSRMEMBER=SUNWgzip
+SUNW_CSRMEMBER=SUNWhal
+SUNW_CSRMEMBER=SUNWhalr
+SUNW_CSRMEMBER=SUNWhwdata
+SUNW_CSRMEMBER=SUNWib
+SUNW_CSRMEMBER=SUNWibsdp
+SUNW_CSRMEMBER=SUNWibsdpib
+SUNW_CSRMEMBER=SUNWibsdpu
+SUNW_CSRMEMBER=SUNWidnl
+SUNW_CSRMEMBER=SUNWiir
+SUNW_CSRMEMBER=SUNWiiu
+SUNW_CSRMEMBER=SUNWima
+SUNW_CSRMEMBER=SUNWimac
+SUNW_CSRMEMBER=SUNWimacr
+SUNW_CSRMEMBER=SUNWimar
+SUNW_CSRMEMBER=SUNWintgige
+SUNW_CSRMEMBER=SUNWipfr
+SUNW_CSRMEMBER=SUNWipfu
+SUNW_CSRMEMBER=SUNWipmi
+SUNW_CSRMEMBER=SUNWipmir
+SUNW_CSRMEMBER=SUNWipoib
+SUNW_CSRMEMBER=SUNWipw
+SUNW_CSRMEMBER=SUNWiscsir
+SUNW_CSRMEMBER=SUNWiscsiu
+SUNW_CSRMEMBER=SUNWislcc
+SUNW_CSRMEMBER=SUNWiso-codes
+SUNW_CSRMEMBER=SUNWiwi
+SUNW_CSRMEMBER=SUNWjpg
+SUNW_CSRMEMBER=SUNWjss
+SUNW_CSRMEMBER=SUNWkey
+SUNW_CSRMEMBER=SUNWkrbr
+SUNW_CSRMEMBER=SUNWkrbu
+SUNW_CSRMEMBER=SUNWkvm
+SUNW_CSRMEMBER=SUNWlexpt
+SUNW_CSRMEMBER=SUNWlibC
+SUNW_CSRMEMBER=SUNWlibcdio
+SUNW_CSRMEMBER=SUNWlibcroco
+SUNW_CSRMEMBER=SUNWlibexif
+SUNW_CSRMEMBER=SUNWlibgcrypt
+SUNW_CSRMEMBER=SUNWlibgpg-error
+SUNW_CSRMEMBER=SUNWlibgtop
+SUNW_CSRMEMBER=SUNWlibm
+SUNW_CSRMEMBER=SUNWlibms
+SUNW_CSRMEMBER=SUNWlibmsr
+SUNW_CSRMEMBER=SUNWliboil
+SUNW_CSRMEMBER=SUNWlibpopt
+SUNW_CSRMEMBER=SUNWlibrsvg
+SUNW_CSRMEMBER=SUNWlibsasl
+SUNW_CSRMEMBER=SUNWlibsdl
+SUNW_CSRMEMBER=SUNWlibtheora
+SUNW_CSRMEMBER=SUNWlldap
+SUNW_CSRMEMBER=SUNWloc
+SUNW_CSRMEMBER=SUNWlsimega
+SUNW_CSRMEMBER=SUNWluxop
+SUNW_CSRMEMBER=SUNWlxml
+SUNW_CSRMEMBER=SUNWmdb
+SUNW_CSRMEMBER=SUNWmdbr
+SUNW_CSRMEMBER=SUNWmdr
+SUNW_CSRMEMBER=SUNWmdu
+SUNW_CSRMEMBER=SUNWmlib
+SUNW_CSRMEMBER=SUNWmpapi
+SUNW_CSRMEMBER=SUNWmpapir
+SUNW_CSRMEMBER=SUNWmpathadm
+SUNW_CSRMEMBER=SUNWmpathadmr
+SUNW_CSRMEMBER=SUNWmpsvplr
+SUNW_CSRMEMBER=SUNWmusicbrainz
+SUNW_CSRMEMBER=SUNWmv88sx
+SUNW_CSRMEMBER=SUNWmyspell-dictionary-en
+SUNW_CSRMEMBER=SUNWnfsckr
+SUNW_CSRMEMBER=SUNWnfscr
+SUNW_CSRMEMBER=SUNWnfscu
+SUNW_CSRMEMBER=SUNWnfsskr
+SUNW_CSRMEMBER=SUNWnfssr
+SUNW_CSRMEMBER=SUNWnfssu
+SUNW_CSRMEMBER=SUNWnge
+SUNW_CSRMEMBER=SUNWnisr
+SUNW_CSRMEMBER=SUNWnisu
+SUNW_CSRMEMBER=SUNWnvsata
+SUNW_CSRMEMBER=SUNWnxge
+SUNW_CSRMEMBER=SUNWogg-vorbis
+SUNW_CSRMEMBER=SUNWopensslr
+SUNW_CSRMEMBER=SUNWopenssl-commands
+SUNW_CSRMEMBER=SUNWopenssl-libraries
+SUNW_CSRMEMBER=SUNWopenssl-man
+SUNW_CSRMEMBER=SUNWos86r
+SUNW_CSRMEMBER=SUNWpcan
+SUNW_CSRMEMBER=SUNWpcelx
+SUNW_CSRMEMBER=SUNWpcmci
+SUNW_CSRMEMBER=SUNWpcmcu
+SUNW_CSRMEMBER=SUNWpcmem
+SUNW_CSRMEMBER=SUNWpcser
+SUNW_CSRMEMBER=SUNWpcwl
+SUNW_CSRMEMBER=SUNWpd
+SUNW_CSRMEMBER=SUNWperl-authen-pam
+SUNW_CSRMEMBER=SUNWperl584core
+SUNW_CSRMEMBER=SUNWperl584usr
+SUNW_CSRMEMBER=SUNWpiclr
+SUNW_CSRMEMBER=SUNWpiclu
+SUNW_CSRMEMBER=SUNWpilot-link
+SUNW_CSRMEMBER=SUNWpkgcmdsr
+SUNW_CSRMEMBER=SUNWpkgcmdsu
+SUNW_CSRMEMBER=SUNWpng
+SUNW_CSRMEMBER=SUNWpolkit
+SUNW_CSRMEMBER=SUNWpostrun
+SUNW_CSRMEMBER=SUNWpostrun-root
+SUNW_CSRMEMBER=SUNWpr
+SUNW_CSRMEMBER=SUNWprint-monitor
+SUNW_CSRMEMBER=SUNWprint-monitor-root
+SUNW_CSRMEMBER=SUNWproduct-registry-root
+SUNW_CSRMEMBER=SUNWpsdcr
+SUNW_CSRMEMBER=SUNWpsdir
+SUNW_CSRMEMBER=SUNWpsdpr
+SUNW_CSRMEMBER=SUNWqlc
+SUNW_CSRMEMBER=SUNWqlcu
+SUNW_CSRMEMBER=SUNWralink
+SUNW_CSRMEMBER=SUNWrcmdc
+SUNW_CSRMEMBER=SUNWrcmdr
+SUNW_CSRMEMBER=SUNWrcmds
+SUNW_CSRMEMBER=SUNWrdcr
+SUNW_CSRMEMBER=SUNWrdcu
+SUNW_CSRMEMBER=SUNWrge
+SUNW_CSRMEMBER=SUNWrmodr
+SUNW_CSRMEMBER=SUNWrmodu
+SUNW_CSRMEMBER=SUNWrmvolmgr
+SUNW_CSRMEMBER=SUNWrmvolmgrr
+SUNW_CSRMEMBER=SUNWroute
+SUNW_CSRMEMBER=SUNWroutr
+SUNW_CSRMEMBER=SUNWrpcib
+SUNW_CSRMEMBER=SUNWrsg
+SUNW_CSRMEMBER=SUNWrsgk
+SUNW_CSRMEMBER=SUNWrtls
+SUNW_CSRMEMBER=SUNWscmr
+SUNW_CSRMEMBER=SUNWscmu
+SUNW_CSRMEMBER=SUNWses
+SUNW_CSRMEMBER=SUNWsi3124
+SUNW_CSRMEMBER=SUNWsmapi
+SUNW_CSRMEMBER=SUNWsmedia
+SUNW_CSRMEMBER=SUNWsmediar
+SUNW_CSRMEMBER=SUNWsndmr
+SUNW_CSRMEMBER=SUNWsndmu
+SUNW_CSRMEMBER=SUNWsolnm
+SUNW_CSRMEMBER=SUNWspeex
+SUNW_CSRMEMBER=SUNWspsvr
+SUNW_CSRMEMBER=SUNWspsvu
+SUNW_CSRMEMBER=SUNWsshcu
+SUNW_CSRMEMBER=SUNWsshdr
+SUNW_CSRMEMBER=SUNWsshdu
+SUNW_CSRMEMBER=SUNWsshr
+SUNW_CSRMEMBER=SUNWsshu
+SUNW_CSRMEMBER=SUNWtavor
+SUNW_CSRMEMBER=SUNWtecla
+SUNW_CSRMEMBER=SUNWtftp
+SUNW_CSRMEMBER=SUNWtftpr
+SUNW_CSRMEMBER=SUNWthunderbird
+SUNW_CSRMEMBER=SUNWthunderbird-calendar
+SUNW_CSRMEMBER=SUNWtls
+SUNW_CSRMEMBER=SUNWtnetc
+SUNW_CSRMEMBER=SUNWtnetd
+SUNW_CSRMEMBER=SUNWtnetr
+SUNW_CSRMEMBER=SUNWtoo
+SUNW_CSRMEMBER=SUNWuacm
+SUNW_CSRMEMBER=SUNWudaplr
+SUNW_CSRMEMBER=SUNWudapltr
+SUNW_CSRMEMBER=SUNWudapltu
+SUNW_CSRMEMBER=SUNWudaplu
+SUNW_CSRMEMBER=SUNWudf
+SUNW_CSRMEMBER=SUNWudfr
+SUNW_CSRMEMBER=SUNWuedg
+SUNW_CSRMEMBER=SUNWugen
+SUNW_CSRMEMBER=SUNWuiu8
+SUNW_CSRMEMBER=SUNWuksp
+SUNW_CSRMEMBER=SUNWukspfw
+SUNW_CSRMEMBER=SUNWunzip
+SUNW_CSRMEMBER=SUNWuprl
+SUNW_CSRMEMBER=SUNWusb
+SUNW_CSRMEMBER=SUNWusbs
+SUNW_CSRMEMBER=SUNWusbvc
+SUNW_CSRMEMBER=SUNWvia823x
+SUNW_CSRMEMBER=SUNWwbsup
+SUNW_CSRMEMBER=SUNWwlanr
+SUNW_CSRMEMBER=SUNWwlanu
+SUNW_CSRMEMBER=SUNWwpar
+SUNW_CSRMEMBER=SUNWwpau
+SUNW_CSRMEMBER=SUNWwpi
+SUNW_CSRMEMBER=SUNWxge
+SUNW_CSRMEMBER=SUNWxsvc
+SUNW_CSRMEMBER=SUNWzfskr
+SUNW_CSRMEMBER=SUNWzfsr
+SUNW_CSRMEMBER=SUNWzfsu
+SUNW_CSRMEMBER=SUNWzlib
+SUNW_CSRMEMBER=SYMhisl
+SUNW_CSRMEMBER=SUNWfontconfig
+SUNW_CSRMEMBER=SUNWxorg-clientlibs
+SUNW_CSRMEMBER=SUNWxorg-server
+SUNW_CSRMEMBER=SUNWfontconfig-docs
+SUNW_CSRMEMBER=FSWfontconfig-devel-docs
+SUNW_CSRMEMBER=SUNWxorg-compatlinks
+SUNW_CSRMEMBER=SUNWfontconfig-root
+SUNW_CSRMEMBER=SUNWxorg-devel-docs
+SUNW_CSRMEMBER=FSWxorg-devel-docs
+SUNW_CSRMEMBER=SUNWxscreensaver-hacks
+SUNW_CSRMEMBER=SUNWfreetype2
+SUNW_CSRMEMBER=SUNWxorg-doc
+SUNW_CSRMEMBER=SUNWxscreensaver-hacks-gl
+SUNW_CSRMEMBER=SUNWxorg-cfg
+SUNW_CSRMEMBER=SUNWxorg-graphics-ddx
+SUNW_CSRMEMBER=SUNWxorg-client-docs
+SUNW_CSRMEMBER=SUNWxwsvr
+SUNW_CSRMEMBER=SUNWxorg-client-programs
+SUNW_CSRMEMBER=SUNWxorg-mesa
+SUNW_CSRMEMBER=SUNWxwxft
+SUNW_CSRMEMBER=FSWxorg-client-programs
+SUNW_CSRMEMBER=FSWxorg-client-docs
+SUNW_CSRMEMBER=FSWxorg-clientlibs
+SUNW_CSRMEMBER=FSWxwrtl
+SUNW_CSRMEMBER=FSWxorg-data
+SUNW_CSRMEMBER=FSWxorg-fonts
+SUNW_CSRMEMBER=FSWxwpft
+SUNW_CSRMEMBER=SUNWgui-install
+SUNW_CSRMEMBER=SUNWicdc
+SUNW_CSRMEMBER=SUNWdoc
+SUNW_CSRMEMBER=SUNWman
+SUNW_CSRMEMBER=SUNWTcl
+SUNW_CSRMEMBER=SUNWTk
+SUNW_CSRMEMBER=SUNWgimpprint
+SUNW_CSRMEMBER=SUNWlibusb
+SUNW_CSRMEMBER=SUNWlxsl
+SUNW_CSRMEMBER=SUNWpapi
+SUNW_CSRMEMBER=SUNWpool
+SUNW_CSRMEMBER=SUNWpoold
+SUNW_CSRMEMBER=SUNWpoolr
+SUNW_CSRMEMBER=SUNWscplp
+SUNW_CSRMEMBER=SUNWxcu4
+SUNW_CSRMEMBER=SUNWzoner
+SUNW_CSRMEMBER=SUNWzoneu
+SUNW_CSRMEMBER=SUNWgnu-gettext
+SUNW_CSRMEMBER=SUNWgnu-libiconv
+SUNW_CSRMEMBER=SUNWgnome-dtstart
+SUNW_CSRMEMBER=SUNWjdsver
+SUNW_CSRMEMBER=SUNWxwplr
+SUNW_CSRMEMBER=SUNWevolution-libs
+SUNW_CSRMEMBER=SUNWevolution-data-server
+SUNW_CSRMEMBER=SUNWagp
+SUNW_CSRMEMBER=SUNWcpc
+SUNW_CSRMEMBER=SUNWcpcu
+SUNW_CSRMEMBER=SUNWixgb
+SUNW_CSRMEMBER=SUNWdrmr
+SUNW_CSRMEMBER=SUNWpmr
+SUNW_CSRMEMBER=SUNWpmu
+SUNW_CSRMEMBER=SUNWpsr
+SUNW_CSRMEMBER=SUNWpsu
+SUNW_CSRMEMBER=SUNWaccr
+SUNW_CSRMEMBER=SUNWaccu
+SUNW_CSRMEMBER=SUNWntpr
+SUNW_CSRMEMBER=SUNWntpu
+SUNW_CSRMEMBER=SUNWiscsitgtr
+SUNW_CSRMEMBER=SUNWiscsitgtu
+SUNW_CSRMEMBER=SUNWlxr
+SUNW_CSRMEMBER=SUNWlxu
+SUNW_CSRMEMBER=SUNW1394
+SUNW_CSRMEMBER=SUNWsbp2
+SUNW_CSRMEMBER=SUNWfwdc
+SUNW_CSRMEMBER=SUNWfwdcu
+SUNW_CSRMEMBER=SUNWav1394
+SUNW_CSRMEMBER=SUNWscsa1394
+SUNW_CSRMEMBER=SUNWrtw
+SUNW_CSRMEMBER=SUNWaudf
+SUNW_CSRMEMBER=SUNWfss
+SUNW_CSRMEMBER=SUNWfwflash
+SUNW_CSRMEMBER=SUNWippcore
+SUNW_CSRMEMBER=SUNWipplr
+SUNW_CSRMEMBER=SUNWipplu
+SUNW_CSRMEMBER=SUNWlp-cmds
+SUNW_CSRMEMBER=SUNWlpr-cmds
+SUNW_CSRMEMBER=SUNWpcr
+SUNW_CSRMEMBER=SUNWpcu
+SUNW_CSRMEMBER=SUNWpsf
+SUNW_CSRMEMBER=SUNWpsm-ipp
+SUNW_CSRMEMBER=SUNWpsm-lpd
+SUNW_CSRMEMBER=SUNWxwdv
+SUNW_CSRMEMBER=SUNWa2psr
+SUNW_CSRMEMBER=SUNWa2psu
+SUNW_CSRMEMBER=SUNWbind
+SUNW_CSRMEMBER=SUNWbindr
+SUNW_CSRMEMBER=SUNWgcmn
+SUNW_CSRMEMBER=SUNWggrp
+SUNW_CSRMEMBER=SUNWgpch
+SUNW_CSRMEMBER=SUNWgtar
+SUNW_CSRMEMBER=SUNWless
+SUNW_CSRMEMBER=SUNWlibusbugen
+SUNW_CSRMEMBER=SUNWlxml-python
+SUNW_CSRMEMBER=SUNWlxsl-python
+SUNW_CSRMEMBER=SUNWncft
+SUNW_CSRMEMBER=SUNWnmap
+SUNW_CSRMEMBER=SUNWpsutils
+SUNW_CSRMEMBER=SUNWrpm
+SUNW_CSRMEMBER=SUNWrsync
+SUNW_CSRMEMBER=SUNWsfdoc
+SUNW_CSRMEMBER=SUNWsfinf
+SUNW_CSRMEMBER=SUNWsfman
+SUNW_CSRMEMBER=SUNWtcsh
+SUNW_CSRMEMBER=SUNWtexi
+SUNW_CSRMEMBER=SUNWwgetr
+SUNW_CSRMEMBER=SUNWwgetu
+SUNW_CSRMEMBER=SUNWzip
+SUNW_CSRMEMBER=SUNWzsh
+SUNW_CSRMEMBER=SUNWfppd
+SUNW_CSRMEMBER=SUNWffiltersr
+SUNW_CSRMEMBER=SUNWffiltersu
+SUNW_CSRMEMBER=SUNWgscr
+SUNW_CSRMEMBER=SUNWgsfot
+SUNW_CSRMEMBER=SUNWgsfst
+SUNW_CSRMEMBER=SUNWhpijs
+SUNW_CSRMEMBER=SUNWimagick
+SUNW_CSRMEMBER=SUNWmkcdr
+SUNW_CSRMEMBER=SUNWmkcd
+SUNW_CSRMEMBER=SUNWgnome-pilot
+SUNW_CSRMEMBER=SUNWgnome-pilot-root
+SUNW_CSRMEMBER=SUNWpppd
+SUNW_CSRMEMBER=SUNWpppdr
+SUNW_CSRMEMBER=SUNWpppdt
+SUNW_CSRMEMBER=SUNWpppdu
+SUNW_CSRMEMBER=SUNWpppg
+SUNW_CSRMEMBER=SUNWbtool
+SUNW_CSRMEMBER=SUNWbart
+SUNW_CSRMEMBER=SUNWtcpd
+SUNW_CSRMEMBER=SUNWafe
+SUNW_CSRMEMBER=SUNWmxfe
+SUNW_CSRMEMBER=SUNWevolution
+SUNW_CSRMEMBER=SUNWevolution-exchange
+SUNW_CSRMEMBER=SUNWevolution-exchange-root
+SUNW_CSRMEMBER=SUNWevolution-jescs
+SUNW_CSRMEMBER=SUNWevolution-root
+SUNW_CSRMEMBER=SUNWevolution-webcal
+SUNW_CSRMEMBER=SUNWevolution-webcal-root
+END
--- a/src/util/distro-import/solaris.py	Wed Oct 03 13:09:13 2007 -0700
+++ b/src/util/distro-import/solaris.py	Thu Oct 04 11:29:14 2007 -0700
@@ -77,7 +77,6 @@
                                         usedlist[o.pathname][1].name)
                         elif o.type != "i":
                                 usedlist[o.pathname] = (imppkg, self)
-                                newpaths[o.pathname] = o.pathname
                                 self.files.append(o)
 
                 if not self.version:
@@ -142,7 +141,6 @@
                                 elif attr == "mode":
                                         o[0].mode = a.attrs[attr]
                 self.files.extend(o)
-                newpaths[o[0].pathname] = o[0].pathname
 
         def chattr(self, file, line):
                 o = [f for f in self.files if f.pathname == file]
@@ -154,18 +152,9 @@
                 if show_debug:
                         print "Updating attributes on '%s' in '%s' with '%s'" % \
                             (file, curpkg.name, line)
-                # XXX this code assumes that a path change is done by itself
-                # w/o any other attribute changes.  Should be cleaner...
-                if line[0:5] != "path=":
-                        a = actions.fromstr("file path=%s %s" % (file, line))
-                        o[0].changed_attrs = a.attrs
-                else:
-                        del usedlist[file]
-                        a = actions.fromstr("file %s" % line)
-                        newpaths[o[0].pathname] = line[5:]
-                        o[0].pathname = line[5:]
-                        usedlist[line[5:]] = (self.imppkg.pkginfo["PKG"], self)
-                        o[0].changed_attrs = a.attrs
+
+                a = actions.fromstr("file path=%s %s" % (file, line))
+		o[0].changed_attrs = a.attrs
 
 def sysv_to_new_name(pkgname):
         return "pkg:/" + os.path.basename(pkgname)
@@ -279,8 +268,8 @@
                 bundle = SolarisPackageDirBundle(svr4pkgpaths[pkgname])
                 pathdict = dict((f.pathname, f) for f in g)
                 for f in bundle:
-                        if f.attrs["path"] in newpaths and newpaths[f.attrs["path"]] in pathdict:
-                                path = newpaths[f.attrs["path"]]
+                        if f.attrs["path"] in pathdict:
+                                path = f.attrs["path"]
                                 f.attrs["owner"] = pathdict[path].owner
                                 f.attrs["group"] = pathdict[path].group
                                 f.attrs["mode"] = pathdict[path].mode
@@ -290,10 +279,12 @@
                                 if hasattr(pathdict[path], "changed_attrs"):
                                         f.attrs.update(
                                             pathdict[path].changed_attrs)
+                                        # chattr may have produced two path values
+				        f.attrs["path"] = f.attrlist("path")[-1]
                                 print "    %s add file %s %s %s %s%s" % \
                                     (pkg.name, f.attrs["mode"],
                                         f.attrs["owner"], f.attrs["group"],
-                                        path, otherattrs(f))
+				        f.attrs["path"], otherattrs(f))
                                 # Write the file to a temporary location.
                                 d = f.data().read()
                                 fd, tmp = mkstemp(prefix="pkg.")
@@ -534,11 +525,6 @@
 usedlist = {}
 
 #
-# newpaths maps old paths in svr4 pkgs to possibly different new paths in ips
-#
-newpaths = {}
-
-#
 # pkgdict contains ipkgs by name
 #
 pkgdict = {}
@@ -594,8 +580,14 @@
                 curpkg.import_pkg(lexer.get_token())
 
         elif token == "from":
-                pkgname = lexer.get_token()
-                curpkg.imppkg = SolarisPackage(pkg_path(pkgname))
+                pkgspec = lexer.get_token()
+		p = SolarisPackage(pkg_path(pkgspec))
+                curpkg.imppkg = p
+		spkgname = p.pkginfo["PKG"]
+                svr4pkgpaths[spkgname] = pkg_path(pkgspec)
+                svr4pkgsseen[spkgname] = p;
+		curpkg.add_svr4_src(spkgname)
+
                 junk = lexer.get_token()
                 assert junk == "import"
                 in_multiline_import = True
@@ -670,7 +662,7 @@
     "%s %s" % (f.type, f.pathname)
     for pkg in seenpkgs
     for f in svr4pkgsseen[pkg].manifest
-    if f.type != "i" and f.pathname in newpaths and newpaths[f.pathname] not in usedlist)
+    if f.type != "i" and f.pathname not in usedlist)
 
 # Second pass: iterate over the existing package objects, gathering dependencies
 # and publish!