PERFORCE change 179153 for review

Garrett Cooper gcooper at FreeBSD.org
Thu Jun 3 19:05:29 UTC 2010


http://p4web.freebsd.org/@@179153?ac=10

Change 179153 by gcooper at gcooper-bayonetta on 2010/06/03 19:05:24

	Experiment in reordering the dependencies in order to resolve the race
	condition between libpkg and libarchive.
	
	DO NOT INTEGRATE THIS CHANGE. I REPEAT... DO NOT INTEGRATE THIS CHANGE.

Affected files ...

.. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/Makefile.inc1#7 edit
.. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/Makefile#4 edit

Differences ...

==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/Makefile.inc1#7 (text+ko) ====

@@ -1177,10 +1177,6 @@
 lib/libfetch__L lib/libradius__L: lib/libmd__L
 .endif
 
-.if ${MK_PKGTOOLS} != "no"
-_prebuild_libs+= lib/libarchive lib/libfetch
-.endif
-
 .for _lib in ${_prereq_libs}
 ${_lib}__PL: .PHONY
 .if exists(${.CURDIR}/${_lib})

==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/Makefile#4 (text+ko) ====

@@ -6,12 +6,15 @@
 # To satisfy shared library or ELF linkage when only the libraries being
 # built are visible:
 #
+# libarchive must be built before libpackage.
+# libbz2 must be built before libarchive.
 # csu must be built before all shared libaries for ELF.
 # libc must be built before all other shared libraries.
 # libbsm must be built before ibauditd.
 # libcom_err must be built before libpam.
 # libcrypt must be built before libpam.
 # libkvm must be built before libdevstat.
+# liblzma must be built before libarchive.
 # msun must be built before libg++ and libstdc++.
 # libmd must be built before libatm, libopie, libradius, and libtacplus.
 # ncurses must be built before libdialog, libedit and libreadline.
@@ -23,13 +26,15 @@
 # libtacplus must be built before libpam.
 # libutil must be built before libpam.
 # libypclnt must be built before libpam.
-# libgssapi must be built before librpcsec_gss
+# libgssapi must be built before librpcsec_gss.
+# libz must be built before libarchive and libstand.
 #
 # Otherwise, the SUBDIR list should be in alphabetical order.
 #
 # Except it appears bind needs to be compiled last
 
 SUBDIR_ORDERED=	${_csu} \
+	${_libbz2} \
 	libc \
 	libbsm \
 	libauditd \
@@ -37,6 +42,7 @@
 	libcrypt \
 	libelf \
 	libkvm \
+	liblzma	\
 	msun \
 	libmd \
 	ncurses \
@@ -46,7 +52,8 @@
 	libsbuf \
 	libtacplus \
 	libutil \
-	${_libypclnt}
+	${_libypclnt} \
+	libz
 
 SUBDIR=	${SUBDIR_ORDERED} \
 	libalias \
@@ -55,7 +62,6 @@
 	libbegemot \
 	${_libbluetooth} \
 	${_libbsnmp} \
-	libbz2 \
 	libcalendar \
 	libcam \
 	libcompat \
@@ -76,7 +82,6 @@
 	${_libipx} \
 	libjail \
 	libkiconv \
-	liblzma \
 	libmagic \
 	libmemstat \
 	${_libmilter} \
@@ -107,7 +112,6 @@
 	${_libvgl} \
 	libwrap \
 	liby \
-	libz \
 	${_bind}
 
 .if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
@@ -128,6 +132,16 @@
 _bind=		bind
 .endif
 
+_libarchive_deps=liblzma libz
+_libstand_deps=	liblzma libz
+
+.if ${MK_BZIP2} != "no"
+_libbz2=	libbz2
+
+_libarchive_deps+=libbz2
+_libstand_deps+=libbz2
+.endif
+
 .if ${MK_BLUETOOTH} != "no"
 _libbluetooth=	libbluetooth
 _libsdp=	libsdp
@@ -201,6 +215,7 @@
 
 .if ${MK_PKGTOOLS} != "no"
 _libpkg=	libpkg
+_libpkg_deps+=	libfetch libmd libarchive
 .endif
 
 .if ${MK_SENDMAIL} != "no"
@@ -219,4 +234,9 @@
 _libusb=	libusb
 .endif
 
+libarchive: ${_libarchive_deps}
+libmagic: libz
+libpkg: ${_libpkg_deps}
+libstand: ${_libstand_deps}
+
 .include <bsd.subdir.mk>


More information about the p4-projects mailing list