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: