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