1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 
  27 #set default
  28 ARCH=i386
  29 NATIVE_ARCH:sh = uname -p
  30 PROTO_AREA=../../../proto/root_$(NATIVE_ARCH)
  31 
  32 #
  33 # Needs to point to filesystem on Solaris install dvd
  34 # replace as needed with a local solaris install image
  35 #
  36 WOS_PKGS=/net/netinstall.sfbay/export/nv/x/$(BUILDID)/Solaris_11/Product
  37 NONWOS_DOCK=nv_osoldev
  38 NONWOS_PKGS=/net/paradise.sfbay/export/integrate_dock/nv/$(NONWOS_DOCK)/all \
  39             /net/paradise.sfbay/export/integrate_dock/nv/$(NONWOS_DOCK)/$(ARCH)
  40 
  41 TEST_PKGS=
  42 REPO=http://localhost:10000
  43 JUST_THESE_PKGS=
  44 
  45 ALL_PKGS=       ../../../packages/$(ARCH)       \
  46                 $(TEST_PKGS)                    \
  47                 $(NONWOS_PKGS)                  \
  48                 $(WOS_PKGS) .
  49 
  50 POUND_SIGN:sh=                          echo \\043
  51 
  52 i386_DEFINES=           \
  53         ARCH=i386       \
  54         ARCH32=i86      \
  55         ARCH64=amd64    \
  56         i386_ONLY=''    \
  57         sparc_ONLY=$(POUND_SIGN)
  58 
  59 sparc_DEFINES=          \
  60         ARCH=sparc      \
  61         ARCH32=sparcv7  \
  62         ARCH64=sparcv9  \
  63         i386_ONLY=$(POUND_SIGN) \
  64         sparc_ONLY=''
  65 
  66 ARCH_DEFINES=$($(ARCH)_DEFINES)
  67 
  68 TMPPKGS=SUNWfixes
  69 EXTRA_OPTIONS=
  70 
  71 GLOBAL_CHATTRS_BASE=    \
  72         reboot          \
  73         smf_manifests
  74 
  75 GLOBAL_CHATTRS_86 = $(GLOBAL_CHATTRS_BASE)
  76 GLOBAL_CHATTRS_89 = $(GLOBAL_CHATTRS_BASE)
  77 GLOBAL_CHATTRS_90 = $(GLOBAL_CHATTRS_BASE)
  78 GLOBAL_CHATTRS_91 = $(GLOBAL_CHATTRS_BASE)
  79 GLOBAL_CHATTRS_92 = $(GLOBAL_CHATTRS_BASE)
  80 GLOBAL_CHATTRS_93 = $(GLOBAL_CHATTRS_BASE)
  81 GLOBAL_CHATTRS_94 = $(GLOBAL_CHATTRS_BASE)
  82 GLOBAL_CHATTRS_95 = $(GLOBAL_CHATTRS_BASE)
  83 GLOBAL_CHATTRS_96 = $(GLOBAL_CHATTRS_BASE)
  84 GLOBAL_CHATTRS_97 = $(GLOBAL_CHATTRS_BASE)
  85 GLOBAL_CHATTRS_98 = $(GLOBAL_CHATTRS_BASE)
  86 GLOBAL_CHATTRS_99 = $(GLOBAL_CHATTRS_BASE)
  87 GLOBAL_CHATTRS_100a = $(GLOBAL_CHATTRS_BASE)
  88 GLOBAL_CHATTRS_101 = $(GLOBAL_CHATTRS_BASE) fonts gnome
  89 GLOBAL_CHATTRS_101a = $(GLOBAL_CHATTRS_101)
  90 GLOBAL_CHATTRS_105 = $(GLOBAL_CHATTRS_101)
  91 GLOBAL_CHATTRS_106 = $(GLOBAL_CHATTRS_101) variants
  92 GLOBAL_CHATTRS_107 = $(GLOBAL_CHATTRS_106)
  93 GLOBAL_CHATTRS_108 = $(GLOBAL_CHATTRS_106)
  94 GLOBAL_CHATTRS_109 = $(GLOBAL_CHATTRS_106)
  95 GLOBAL_CHATTRS_110 = $(GLOBAL_CHATTRS_106)
  96 GLOBAL_CHATTRS_111 = $(GLOBAL_CHATTRS_106)
  97 GLOBAL_CHATTRS_111a = $(GLOBAL_CHATTRS_106)
  98 GLOBAL_CHATTRS_116 = $(GLOBAL_CHATTRS_106)
  99 GLOBAL_CHATTRS_117 = $(GLOBAL_CHATTRS_106)
 100 GLOBAL_CHATTRS = $(GLOBAL_CHATTRS_$(BUILDID))
 101 
 102 SOLARIS.PY=PYTHONPATH=$(PROTO_AREA)/usr/lib/python2.4/vendor-packages \
 103         ./solaris.py -b 0.$(BUILDID) $(EXTRA_OPTIONS) -T \*.py \
 104         $(GLOBAL_CHATTRS:%= -G %) $(ARCH_DEFINES:%= -m %) \
 105         -p $(PROTO_AREA)
 106 
 107 #
 108 # always remove the following (editable) files from packages we bulk import;
 109 # we're doing this until the necessary actions are available.  For now,
 110 # cache as-installed versions.
 111 #
 112 ELIDED_FILES_BASE= \
 113         boot/solaris/devicedb/master    \
 114         etc/hba.conf                    \
 115         etc/ima.conf                    \
 116         etc/inet/services               \
 117         etc/mpapi.conf                  \
 118         etc/security/auth_attr          \
 119         etc/security/exec_attr          \
 120         etc/security/prof_attr          \
 121         etc/user_attr
 122 
 123 ELIDED_FILES_86 = $(ELIDED_FILES_BASE) etc/devlink.tab
 124 ELIDED_FILES_89 = $(ELIDED_FILES_BASE) kernel/drv/sd.conf etc/devlink.tab
 125 ELIDED_FILES_90 = $(ELIDED_FILES_89)
 126 ELIDED_FILES_91 = $(ELIDED_FILES_89)
 127 ELIDED_FILES_92 = $(ELIDED_FILES_89)
 128 ELIDED_FILES_93 = $(ELIDED_FILES_89)
 129 ELIDED_FILES_94 = $(ELIDED_FILES_89)
 130 ELIDED_FILES_95 = $(ELIDED_FILES_89)
 131 ELIDED_FILES_96 = $(ELIDED_FILES_89)
 132 ELIDED_FILES_97 = $(ELIDED_FILES_89)
 133 ELIDED_FILES_98 = $(ELIDED_FILES_89)
 134 ELIDED_FILES_99 = $(ELIDED_FILES_89)
 135 ELIDED_FILES_100a = $(ELIDED_FILES_BASE) kernel/drv/sd.conf
 136 ELIDED_FILES_101 = $(ELIDED_FILES_100a)
 137 ELIDED_FILES_101a = $(ELIDED_FILES_100a)
 138 ELIDED_FILES_105 = $(ELIDED_FILES_100a)
 139 ELIDED_FILES_106 = $(ELIDED_FILES_BASE)
 140 ELIDED_FILES_107 = $(ELIDED_FILES_BASE)
 141 ELIDED_FILES_108 = $(ELIDED_FILES_BASE)
 142 ELIDED_FILES_109 = $(ELIDED_FILES_BASE)
 143 ELIDED_FILES_110 = $(ELIDED_FILES_BASE)
 144 ELIDED_FILES_111 = $(ELIDED_FILES_BASE)
 145 ELIDED_FILES_111a = $(ELIDED_FILES_BASE)
 146 ELIDED_FILES_116 = $(ELIDED_FILES_BASE)
 147 ELIDED_FILES_117 = $(ELIDED_FILES_BASE)
 148 ELIDED_FILES = $(ELIDED_FILES_$(BUILDID))
 149 
 150 #
 151 # these files get placed into proto area from per-build cached versions
 152 #
 153 CACHED_FILES_BASE=                                                      \
 154         $(ELIDED_FILES)                                                 \
 155         boot/grub/menu.lst                                              \
 156         boot/grub/splash.xpm.gz                                         \
 157         etc/inet/hosts                                                  \
 158         etc/zones/SUNWblank.xml                                         \
 159         etc/zones/SUNWdefault.xml                                       \
 160         lib/svc/method/fs-usr                                           \
 161         lib/svc/method/sshd                                             \
 162         lib/svc/method/svc-coreadm                                      \
 163         lib/svc/method/svc-dlmgmtd                                      \
 164         usr/jdk/instances/jdk1.6.0/jre/lib/fontconfig.properties        \
 165         usr/lib/vp-services                                             \
 166         usr/lib/vp-shares                                               \
 167         var/svc/manifest/system/coreadm.xml                             \
 168         var/svc/profile/generic_limited_net.xml                         \
 169         var/svc/profile/generic_open.xml
 170 
 171 CACHED_FILES_86 = $(CACHED_FILES_BASE)
 172 CACHED_FILES_89 = $(CACHED_FILES_BASE)
 173 CACHED_FILES_90 = $(CACHED_FILES_BASE)
 174 CACHED_FILES_91 = $(CACHED_FILES_BASE)
 175 CACHED_FILES_92 = $(CACHED_FILES_BASE)
 176 CACHED_FILES_93 = $(CACHED_FILES_BASE)
 177 CACHED_FILES_94 = $(CACHED_FILES_BASE)
 178 CACHED_FILES_95 = $(CACHED_FILES_BASE)
 179 CACHED_FILES_96 = $(CACHED_FILES_BASE)
 180 CACHED_FILES_97 = $(CACHED_FILES_BASE)
 181 CACHED_FILES_98 = $(CACHED_FILES_BASE)
 182 CACHED_FILES_99 = $(CACHED_FILES_BASE)                                  \
 183         etc/security/policy.conf                                        \
 184         root/.bashrc                                                    \
 185         root/.profile
 186 CACHED_FILES_100a = $(CACHED_FILES_99)
 187 CACHED_FILES_101 = $(CACHED_FILES_99)                                   \
 188         etc/mailcap                                                     \
 189         etc/mime.types
 190 CACHED_FILES_101a = $(CACHED_FILES_101)                                 \
 191         boot/solaris.xpm                                                \
 192         etc/skel/.bashrc                                                \
 193         etc/skel/.profile                                               \
 194         lib/svc/method/svc-ipagent                                      \
 195         lib/svc/method/xvm-vnc-config                                   \
 196         kernel/drv/nvidia.conf                                          \
 197         usr/lib/xen/bin/ipagent                                         \
 198         usr/X11/lib/xscreensaver/config/opensolaris-logo.png            \
 199         var/svc/manifest/application/graphical-login/gdm.xml            \
 200         var/svc/manifest/system/ipagent.xml                             \
 201         var/svc/manifest/system/xvm/vnc-config.xml
 202 CACHED_FILES_105 = $(CACHED_FILES_101a)
 203 CACHED_FILES_106 = $(CACHED_FILES_101a)
 204 CACHED_FILES_107 = $(CACHED_FILES_101a)                                 \
 205         var/svc/manifest/application/x11/x11-server.xml
 206 CACHED_FILES_108 = $(CACHED_FILES_107)
 207 CACHED_FILES_109 = $(CACHED_FILES_107)
 208 CACHED_FILES_110 = $(CACHED_FILES_107)
 209 CACHED_FILES_111 = $(CACHED_FILES_107)
 210 CACHED_FILES_111a = $(CACHED_FILES_107)                                 \
 211         etc/zones/SUNWtsoldef.xml                                       \
 212         usr/jdk/instances/jdk1.6.0/jre/lib/fontconfig.OpenSolaris.bfc   \
 213         usr/jdk/instances/jdk1.6.0/jre/lib/fontconfig.OpenSolaris.properties.src \
 214         usr/lib/brand/labeled/config.xml                                \
 215         usr/lib/brand/labeled/platform.xml
 216 CACHED_FILES_116 =
 217 CACHED_FILES_117 =
 218 
 219 CACHED_FILES = $(CACHED_FILES_$(BUILDID))
 220 
 221 FIX_FILES_BASE =                                \
 222         $(CACHED_FILES)                         \
 223         etc/driver_aliases                      \
 224         etc/name_to_major                       \
 225         etc/nsswitch.conf                       \
 226         etc/pam.conf                            \
 227         etc/passwd                              \
 228         etc/power.conf                          \
 229         etc/shadow                              \
 230         usr/bin/ksh                             \
 231         usr/has/bin/sh                          \
 232         usr/has/bin/vi                          \
 233         usr/jdk/instances/jdk1.6.0/LICENSE      \
 234         usr/jdk/instances/jdk1.6.0/README.html  \
 235         usr/jdk/instances/jdk1.6.0/jre/LICENSE  \
 236         usr/jdk/instances/jdk1.6.0/jre/README   \
 237         usr/share/applications/services.desktop \
 238         usr/share/applications/shares.desktop
 239 
 240 FIX_FILES_86 =                          \
 241         $(FIX_FILES_BASE)               \
 242         boot/solaris/filelist.ramdisk   \
 243         etc/X11/gdm/custom.conf         \
 244         etc/release                     \
 245         etc/svc/global_repo.db          \
 246         etc/svc/nonglobal_repo.db       \
 247         etc/user_attr.cdonly            \
 248         usr/share/man/man.cf            \
 249         usr/share/man/missing.man
 250 FIX_FILES_89 = $(FIX_FILES_86)
 251 FIX_FILES_90 = $(FIX_FILES_86)
 252 FIX_FILES_91 = $(FIX_FILES_86)
 253 FIX_FILES_92 = $(FIX_FILES_86)
 254 FIX_FILES_93 = $(FIX_FILES_86)
 255 FIX_FILES_94 = $(FIX_FILES_86)
 256 FIX_FILES_95 = $(FIX_FILES_86)
 257 FIX_FILES_96 = $(FIX_FILES_86)
 258 FIX_FILES_97 = $(FIX_FILES_BASE)        \
 259         boot/solaris/filelist.ramdisk   \
 260         etc/release                     \
 261         etc/svc/global_repo.db          \
 262         etc/svc/nonglobal_repo.db       \
 263         usr/share/man/man.cf            \
 264         usr/share/man/missing.man
 265 FIX_FILES_98 = $(FIX_FILES_BASE)        \
 266         usr/share/man/man.cf
 267 FIX_FILES_99 = $(FIX_FILES_98)
 268 FIX_FILES_100a = $(FIX_FILES_98)        \
 269         lib/svc/method/svc-hostid       \
 270         usr/sbin/extract_hostid
 271 FIX_FILES_101 = $(FIX_FILES_99)
 272 FIX_FILES_101a = $(FIX_FILES_99)
 273 FIX_FILES_105 = $(FIX_FILES_BASE)
 274 FIX_FILES_106 = $(FIX_FILES_BASE)
 275 FIX_FILES_107 = $(FIX_FILES_BASE)
 276 FIX_FILES_108 = $(FIX_FILES_BASE)
 277 FIX_FILES_109 = $(FIX_FILES_BASE)
 278 FIX_FILES_110 = $(FIX_FILES_BASE)
 279 FIX_FILES_111 = $(FIX_FILES_BASE)
 280 FIX_FILES_111a = $(FIX_FILES_BASE)
 281 FIX_FILES_116 = $(FIX_FILES_BASE)
 282 FIX_FILES_117 = $(FIX_FILES_BASE)
 283 FIX_FILES = $(FIX_FILES_$(BUILDID))
 284 
 285 JDKFILES = LICENSE README.html
 286 JREFILES = LICENSE README
 287 
 288 PROG=   ksh-wrapper
 289 
 290 OBJS=   ksh-wrapper.o
 291 
 292 SRCS=   $(OBJS:%.o=%.c)
 293 
 294 CFLAGS=         -g -v
 295 
 296 LINTFLAGS=      -axsm
 297 
 298 UNBUNDLED_TARGETS=              \
 299         ClusterTools.import     \
 300         ClusterTools8.import    \
 301         DTraceGUI.import        \
 302         Eclipse.import          \
 303         ExuberantCTags.import   \
 304         GlassFishV2.import      \
 305         GnuDevTools.import      \
 306         LDomsManager.import     \
 307         MessageQueue41.import   \
 308         NetBeans.import         \
 309         OpenDS.import           \
 310         OpenJDK7.import         \
 311         OpenOffice.import       \
 312         Studio.import           \
 313         Webstackui.import
 314 
 315 UNBUNDLED_CLUSTERS=             \
 316         Clusters.import
 317 
 318 BUILDS= 75a                     \
 319         79b                     \
 320         86                      \
 321         89                      \
 322         90                      \
 323         91                      \
 324         92                      \
 325         93                      \
 326         94                      \
 327         95                      \
 328         96                      \
 329         97                      \
 330         98                      \
 331         99                      \
 332         100a                    \
 333         101                     \
 334         101a                    \
 335         105                     \
 336         106                     \
 337         107                     \
 338         108                     \
 339         109                     \
 340         110                     \
 341         111                     \
 342         111a                    \
 343         116                     \
 344         117
 345 
 346 #
 347 # Starting in build 80, filelist.ramdisk began moving between various
 348 # packages.
 349 #
 350 FILELIST_RAMDISK_PKG_$(BUILDID) = SUNWckr
 351 FILELIST_RAMDISK_PKG_79b        = SUNWcakr.i
 352 FILELIST_RAMDISK_PKG_75a        = SUNWcakr.i
 353 FILELIST_RAMDISK_PKG_74         = SUNWcakr.i
 354 FILELIST_RAMDISK_PKG_72         = SUNWcakr.i
 355 FILELIST_RAMDISK_PKG_71         = SUNWcakr.i
 356 
 357 default:        117/slim_import
 358 
 359 cluster.import: $(WOS_PKGS)/.clustertoc Makefile
 360         ./clustertoc2import.py $(WOS_PKGS)/.clustertoc | \
 361         sed "s/version 2.2.1a/version 2.2.1.1/" > $@
 362 
 363 proto/etc/user_attr.cdonly: proto $(BUILDID)/user_attr
 364         ( cat $(BUILDID)/user_attr; \
 365           echo "jack::::profiles=Primary Administrator;roles=root") > $@
 366 
 367 proto/etc/driver_aliases:       proto $(BUILDID)/redist_cluster cluster.import
 368         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsd etc/driver_aliases | \
 369         ./driver_names.py $(INCLUDE_PATH_$(BUILDID)) \
 370         $(BUILDID)/redist_cluster > $@
 371 
 372 proto/etc/name_to_major:        proto $(BUILDID)/redist_cluster cluster.import
 373         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsd etc/name_to_major | \
 374         ./driver_names.py $(INCLUDE_PATH_$(BUILDID)) \
 375         $(BUILDID)/redist_cluster > $@
 376 
 377 proto/etc/nsswitch.conf:        proto Makefile
 378         ./get_file_from_pkg.py  $(WOS_PKGS)/SUNWcsr etc/nsswitch.files > $@
 379 
 380 proto/etc/X11/gdm/custom.conf:  proto Makefile
 381         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWgnome-display-mgr-root   \
 382         etc/X11/gdm/custom.conf | nawk '/^\[daemon\]/ { print $$0;      \
 383                             print "AutomaticLoginEnable=true";          \
 384                             print "AutomaticLogin=jack";                \
 385                             print "GdmXserverTimeout=30";               \
 386                             continue }  { print $$0 }' > $@
 387 
 388 proto/etc/power.conf:   proto Makefile
 389         ./get_file_from_pkg.py  $(WOS_PKGS)/SUNWpmr etc/power.conf | nawk \
 390         '/^autoshutdown/{gsub("unconfigured","default");} {print $$0}' > $@
 391 
 392 proto/boot/solaris/filelist.ramdisk:    proto
 393         (./get_file_from_pkg.py $(WOS_PKGS)/$(FILELIST_RAMDISK_PKG_$(BUILDID)) \
 394             boot/solaris/filelist.ramdisk; \
 395         echo etc/zfs/zpool.cache) > $@
 396 
 397 proto/etc/pam.conf:     proto
 398         (./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsr etc/pam.conf;       \
 399         echo "gdm-autologin auth  required    pam_unix_cred.so.1";      \
 400         echo "gdm-autologin auth  sufficient  pam_allow.so.1";          \
 401         echo "gdm-autologin account  sufficient  pam_allow.so.1";       \
 402         echo "gdm-autologin session  sufficient  pam_allow.so.1";       \
 403         echo "gdm-autologin password  sufficient  pam_allow.so.1"       \
 404         ) > $@
 405 
 406 proto/etc/svc/global_repo.db:   proto
 407         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsr lib/svc/seed/global.db > $@
 408 
 409 proto/etc/svc/nonglobal_repo.db:        proto
 410         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsr lib/svc/seed/nonglobal.db > $@
 411 
 412 # fix booting on non-sse capable cpus until 6332924 gets fixed
 413 proto/lib/libc.so.1: proto
 414         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWcslr lib/libc.so.1 > $@
 415         /usr/bin/elfedit -e 'cap:hw1 -and -cmp sse' $@
 416 
 417 proto/lib/svc/method/svc-hostid: proto 100a/svc-hostid
 418         cp 100a/svc-hostid $@
 419 
 420 proto/usr/share/man/missing.man:        proto   missing.man
 421         cp missing.man $@
 422 
 423 proto/etc/release:      proto
 424         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWsolnm etc/release | head -1 | \
 425         sed 's/.*snv_/                  OpenSolaris 2008.05 snv_/' \
 426         > $@
 427         cat release.figlet >> $@
 428 
 429 proto/usr/share/man/man.cf:     proto
 430         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWman usr/share/man/man.cf | \
 431         sed \
 432         '/MANSECTS/s/$$/,1openssl,3openssl,5openssl,7openssl/' \
 433         > $@
 434 
 435 proto/usr/bin/ksh:      proto $(PROG)
 436         cp $(PROG) $@
 437 
 438 proto/usr/share/applications/shares.desktop: proto
 439         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWgnome-system-tools \
 440         usr/share/applications/shares.desktop | \
 441         ./desktop_exec.sh /usr/lib/vp-shares > $@
 442 
 443 proto/usr/share/applications/services.desktop: proto
 444         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWgnome-system-tools \
 445         usr/share/applications/services.desktop | \
 446         ./desktop_exec.sh /usr/lib/vp-services > $@
 447 
 448 #
 449 # change root's default shell, homedir, password
 450 #
 451 proto/etc/passwd:       proto Makefile
 452         (./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsr etc/passwd | nawk -F:                       \
 453         '/^root/{ print "root:x:0:0:Super-User:/root:/usr/bin/bash";continue} {print $$0}') > $@
 454 
 455 proto/etc/shadow:       proto Makefile
 456         (./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsr etc/shadow | nawk -F:               \
 457         '/^root/{ print "root:$$5$$VgppCOxA$$ycFmYW4ObRRHhtsGEygDdexk5bugqgSiaSR9niNCouC:14146::::::";continue} {print $$0}') > $@
 458 
 459 proto/usr/has/bin/sh:   proto Makefile
 460         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsr sbin/sh > $@
 461 
 462 proto/usr/has/bin/vi:   proto Makefile
 463         ./get_file_from_pkg.py $(WOS_PKGS)/SUNWcsu usr/bin/edit > $@
 464 
 465 proto/usr/sbin/extract_hostid:  proto ../misc/extract_hostid
 466         cp ../misc/extract_hostid $@
 467 
 468 $(JDKFILES:%=proto/usr/jdk/instances/jdk1.6.0/%):       proto DLJ/$(@F)
 469         cp DLJ/$(@F) $@
 470 
 471 $(JREFILES:%=proto/usr/jdk/instances/jdk1.6.0/jre/%):   proto DLJ/$(@F)
 472         cp DLJ/$(@F) $@
 473 
 474 $(CACHED_FILES:%=proto/%):      proto $(BUILDID)/$(@F) Makefile
 475         cat $(BUILDID)/$(@F) > $@
 476 
 477 proto:  Makefile
 478         mkdir -p proto/boot/grub
 479         mkdir -p proto/boot/solaris/devicedb
 480         mkdir -p proto/etc/X11/gdm
 481         mkdir -p proto/etc/inet
 482         mkdir -p proto/etc/security
 483         mkdir -p proto/etc/skel
 484         mkdir -p proto/etc/svc
 485         mkdir -p proto/etc/zones
 486         mkdir -p proto/kernel/drv
 487         mkdir -p proto/lib/svc/method
 488         mkdir -p proto/root
 489         mkdir -p proto/usr/X11/lib/xscreensaver/config
 490         mkdir -p proto/usr/bin
 491         mkdir -p proto/usr/has/bin
 492         mkdir -p proto/usr/jdk/instances/jdk1.6.0/jre/lib
 493         mkdir -p proto/usr/lib/brand/labeled
 494         mkdir -p proto/usr/lib/xen/bin
 495         mkdir -p proto/usr/sbin
 496         mkdir -p proto/usr/share/applications
 497         mkdir -p proto/usr/share/man
 498         mkdir -p proto/var/svc/manifest/application/graphical-login
 499         mkdir -p proto/var/svc/manifest/application/x11
 500         mkdir -p proto/var/svc/manifest/system/xvm
 501         mkdir -p proto/var/svc/profile
 502 
 503 %/$(TMPPKGS):
 504         $(MAKE) BUILDID=$(@D) $(@F)
 505 
 506 %:      $(BUILDID)/%.prototype $(BUILDID)/%.pkginfo $(FIX_FILES:%=proto/%)
 507         pkgmk -b ./proto -r . -f $(BUILDID)/$@.prototype -d `pwd` -o
 508 
 509 INCLUDE_PATH_75a = 75a:73:72:71:00
 510 INCLUDE_PATH_79b = 79b:78:77:76:$(INCLUDE_PATH_75a)
 511 INCLUDE_PATH_84 = 84:83:82:81:80:$(INCLUDE_PATH_79b)
 512 INCLUDE_PATH_85 = 85:$(INCLUDE_PATH_84)
 513 INCLUDE_PATH_86 = 86:$(INCLUDE_PATH_85)
 514 INCLUDE_PATH_89 = 89:88:87:$(INCLUDE_PATH_86)
 515 INCLUDE_PATH_90 = 90:$(INCLUDE_PATH_89)
 516 INCLUDE_PATH_91 = 91:$(INCLUDE_PATH_90)
 517 INCLUDE_PATH_92 = 92:$(INCLUDE_PATH_91)
 518 INCLUDE_PATH_93 = 93:$(INCLUDE_PATH_92)
 519 INCLUDE_PATH_94 = 94:$(INCLUDE_PATH_93)
 520 INCLUDE_PATH_95 = 95:$(INCLUDE_PATH_94)
 521 INCLUDE_PATH_96 = 96:$(INCLUDE_PATH_95)
 522 INCLUDE_PATH_97 = 97:$(INCLUDE_PATH_96)
 523 INCLUDE_PATH_98 = 98:$(INCLUDE_PATH_97)
 524 INCLUDE_PATH_99 = 99:$(INCLUDE_PATH_98)
 525 INCLUDE_PATH_100a = 100a:$(INCLUDE_PATH_99)
 526 INCLUDE_PATH_101 = 101:$(INCLUDE_PATH_100a)
 527 INCLUDE_PATH_101a = 101a:$(INCLUDE_PATH_101)
 528 INCLUDE_PATH_105 = 105:104:103:102:$(INCLUDE_PATH_101a)
 529 INCLUDE_PATH_106 = 106:$(INCLUDE_PATH_105)
 530 INCLUDE_PATH_107 = 107:$(INCLUDE_PATH_106)
 531 INCLUDE_PATH_108 = 108:$(INCLUDE_PATH_107)
 532 INCLUDE_PATH_109 = 109:$(INCLUDE_PATH_108)
 533 INCLUDE_PATH_110 = 110:$(INCLUDE_PATH_109)
 534 INCLUDE_PATH_111 = 111:$(INCLUDE_PATH_110)
 535 INCLUDE_PATH_111a = 111a:$(INCLUDE_PATH_111)
 536 INCLUDE_PATH_116 = 116:$(INCLUDE_PATH_111a)
 537 INCLUDE_PATH_117 = 117:$(INCLUDE_PATH_116)
 538 
 539 import: cluster.import $(TMPPKGS)
 540         $(SOLARIS.PY) -s $(REPO) -w $(WOS_PKGS) $(ELIDED_FILES:%=-D %) \
 541                 $(INCLUDE_PATH_$(BUILDID):%=-I %) $(BUILDID)/all.i386
 542 
 543 %/import:
 544         $(MAKE) BUILDID=$(@:%/import=%) import
 545 
 546 slim_import:    $(BUILDID)/slim_cluster $(TMPPKGS)
 547         $(SOLARIS.PY) -s $(REPO) $(ALL_PKGS:%=-w %) $(ELIDED_FILES:%=-D %) \
 548                 $(JUST_THESE_PKGS:%=-j %) $(INCLUDE_PATH_$(BUILDID):%=-I %) \
 549                 $(BUILDID)/slim_cluster
 550 
 551 %/slim_import:
 552         if test -z "$(JUST_THESE_PKGS)"; then \
 553                 $(MAKE) clobber; \
 554         fi
 555         $(MAKE) BUILDID=$(@:%/slim_import=%) slim_import
 556 
 557 redist_import:  $(BUILDID)/redist_cluster $(TMPPKGS)
 558         $(SOLARIS.PY) -s $(REPO) $(ALL_PKGS:%=-w %) $(ELIDED_FILES:%=-D %) \
 559                 $(JUST_THESE_PKGS:%=-j %) $(INCLUDE_PATH_$(BUILDID):%=-I %) \
 560                 $(BUILDID)/redist_cluster
 561         $(MAKE) $(BUILDID)/entire
 562 
 563 %/redist_import:
 564         if test -z "$(JUST_THESE_PKGS)"; then \
 565                 $(MAKE) clobber; \
 566         fi
 567         $(MAKE) BUILDID=$(@:%/redist_import=%) redist_import
 568 
 569 %/entire:
 570         $(MAKE) BUILDID=$(@:%/entire=%) entire
 571 
 572 $(BUILDID)/entire.incorporation: FRC
 573         REPO=$(REPO) ./build_entire_incorporation $(BUILDID) > $@
 574 
 575 entire: $(BUILDID)/entire.incorporation
 576         PKG_REPO=$(REPO) ./import_manifest_file \
 577                 entire@0.5.11,5.11-0.`echo $(BUILDID) | tr -d '[a-z]'` \
 578                 $(BUILDID)/entire.incorporation
 579 
 580 $(UNBUNDLED_TARGETS:%=$(BUILDS)/%) $(UNBUNDLED_CLUSTERS:%=$(BUILDS)/%):
 581         $(MAKE) BUILDID=$(@D) $(@F)
 582 
 583 $(UNBUNDLED_TARGETS): unbundleds/$$(@:%.import=%)
 584         rm -f redist_cluster; ln -s $(BUILDID)/redist_cluster redist_cluster
 585         $(SOLARIS.PY) -s $(REPO) $(ALL_PKGS:%=-w %) $(ELIDED_FILES:%=-D %) \
 586                 `$(SOLARIS.PY) -N $(INCLUDE_PATH_$(BUILDID):%=-I %) unbundleds/$(@:%.import=%)` \
 587                 $(INCLUDE_PATH_$(BUILDID):%=-I %) unbundleds/$(@:%.import=%) \
 588                 redist_cluster
 589 
 590 $(UNBUNDLED_CLUSTERS): unbundleds/$$(@:%.import=%)
 591         rm -f redist_cluster; ln -s $(BUILDID)/redist_cluster redist_cluster
 592         $(SOLARIS.PY) -s $(REPO) $(ALL_PKGS:%=-w %) $(ELIDED_FILES:%=-D %) \
 593                 `$(SOLARIS.PY) -N $(INCLUDE_PATH_$(BUILDID):%=-I %) unbundleds/$(@:%.import=%)` \
 594                 $(INCLUDE_PATH_$(BUILDID):%=-I %) unbundleds/$(@:%.import=%) \
 595                 $(UNBUNDLED_TARGETS:%.import=unbundleds/%) redist_cluster
 596 
 597 %/all_unbundleds:
 598         $(MAKE) BUILDID=$(@D) $(@F)
 599 
 600 all_unbundleds: $(UNBUNDLED_TARGETS:%=$(BUILDID)/%)
 601         $(MAKE) $(BUILDID)/$(UNBUNDLED_CLUSTERS)
 602 
 603 
 604 #
 605 # Used to generate the GUI Package Manager classification files from the
 606 # current package classifications.
 607 #
 608 guiclassification:
 609         ./gen_os_files.py
 610 
 611 %/SUNWipkg %/backpublish:
 612         $(MAKE) BUILDID=$(@D) $(@F)
 613 
 614 SUNWipkg:
 615         PKG_REPO=$(REPO) ./publish_ips $(BUILDID) SUNWipkg
 616 
 617 backpublish:
 618         PKG_REPO=$(REPO) ./publish_ips $(BUILDID) SUNWipkg
 619         PKG_REPO=$(REPO) ./publish_ips $(BUILDID) SUNWipkg-gui
 620         PKG_REPO=$(REPO) ./publish_ips $(BUILDID) SUNWipkg-gui-l10n
 621         PKG_REPO=$(REPO) ./publish_ips $(BUILDID) SUNWpython-cherrypy
 622         PKG_REPO=$(REPO) ./publish_ips $(BUILDID) SUNWpython-pyopenssl
 623 
 624 clean:
 625         rm -f $(OBJS)
 626         rm -rf proto
 627 
 628 clobber: clean
 629         rm -f $(PROG)
 630         rm -rf $(TMPPKGS)
 631 
 632 lint:
 633         $(LINT) $(LINTFLAGS) $(SRCS)
 634 
 635 .KEEP_STATE:
 636 
 637 FRC: