Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Mar 2015 00:13:43 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r279607 - in projects/release-pkg: . release/packages/development release/packages/docs release/packages/profile release/packages/runtime
Message-ID:  <201503050013.t250DhES075915@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Thu Mar  5 00:13:42 2015
New Revision: 279607
URL: https://svnweb.freebsd.org/changeset/base/279607

Log:
  Add new create-world-packages target to generated the packages out of world
  
  Dynamically figure out the list of targets based on tags passed on the mtrees
  First sanity check that all packages have existing manifests
  Generate the packages
  
  Please note that for now the mtree needs more work as it has duplicate entries,
  everything is not yet tagged
  
  The packages now have generic entries and needs to be customize

Added:
  projects/release-pkg/release/packages/development/
  projects/release-pkg/release/packages/development/+MANIFEST
  projects/release-pkg/release/packages/docs/
  projects/release-pkg/release/packages/docs/+MANIFEST
  projects/release-pkg/release/packages/profile/
  projects/release-pkg/release/packages/profile/+MANIFEST
  projects/release-pkg/release/packages/runtime/
  projects/release-pkg/release/packages/runtime/+MANIFEST
Modified:
  projects/release-pkg/Makefile
  projects/release-pkg/Makefile.inc1

Modified: projects/release-pkg/Makefile
==============================================================================
--- projects/release-pkg/Makefile	Wed Mar  4 23:53:45 2015	(r279606)
+++ projects/release-pkg/Makefile	Thu Mar  5 00:13:42 2015	(r279607)
@@ -113,7 +113,7 @@ TGTS=	all all-man buildenv buildenvvars 
 	_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
 	_build-tools _cross-tools _includes _libraries _depend \
 	build32 builddtb distribute32 install32 xdev xdev-build xdev-install \
-	xdev-links native-xtools kernel-pkgs stageworld \
+	xdev-links native-xtools kernel-pkgs stageworld create-world-packages
 
 TGTS+=	${SUBDIR_TARGETS}
 

Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1	Wed Mar  4 23:53:45 2015	(r279606)
+++ projects/release-pkg/Makefile.inc1	Thu Mar  5 00:13:42 2015	(r279607)
@@ -1195,6 +1195,37 @@ packagekernel:
 .endfor
 .endif
 
+create-world-packages:
+.if !defined(NO_ROOT)
+	@echo "ERROR: create-world-package can only be done with -DNO_ROOT"; \
+	false
+.endif
+	@cd ${DESTDIR} ; \
+		awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \
+		${DESTDIR}/METALOG
+	@for plist in ${DESTDIR}/*.plist; do \
+		plist=$${plist##*/} ; \
+		test -d ${SRCDIR}/release/packages/$${plist%.plist} || \
+			( echo "Unkown package FreeBSD-$${plist%.plist}" ; false ) ; \
+	done
+	@for plist in ${DESTDIR}/*.plist; do \
+		plist=$${plist##*/} ; \
+		pkgname=$${plist%.plist} ; \
+		rm -rf ${DESTDIR}/$${pkgname}-manifestdir ; \
+		cp -r ${SRCDIR}/release/packages/$${pkgname} \
+			${DESTDIR}/$${pkgname}-manifestdir ; \
+		sed -i '' -e "s/%VERSION%/${PKG_VERSION}/" \
+			-e "s/%PKGNAME%/$${pkgname}/" \
+			-e "s/%COMMENT%/Generic comment for $${pkgname}/" \
+			-e "s/%DESC%/Generic description for $${pkgname}/" \
+			${DESTDIR}/$${pkgname}-manifestdir/+MANIFEST ; \
+		awk -F\" '/name/ { printf("===> Creating %s-", $$2) } /version/ {print $$2 }' \
+			${DESTDIR}/$${pkgname}-manifestdir/+MANIFEST ; \
+		pkg create -m ${DESTDIR}/$${pkgname}-manifestdir \
+			-p ${DESTDIR}/$${pkgname}.plist \
+			-r ${DESTDIR} -o ${DESTDIR} ; \
+	done
+
 kernel-pkgs:
 .if !defined(NO_ROOT)
 	@echo "ERROR: kernel-pkgs can only be done with -DNO_ROOT"; \

Added: projects/release-pkg/release/packages/development/+MANIFEST
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/release/packages/development/+MANIFEST	Thu Mar  5 00:13:42 2015	(r279607)
@@ -0,0 +1,13 @@
+name = "FreeBSD-%PKGNAME%"
+origin = "base"
+version = "%VERSION%"
+comment = "%COMMENT%"
+categories = [ base ]
+maintainer = "re@FreeBSD.org"
+www = "http://www.FreeBSD.org"
+prefix = "/"
+licenselogic = "single"
+licenses = [ BSD2CLAUSE ]
+desc = <<EOD
+%DESC%
+EOD

Added: projects/release-pkg/release/packages/docs/+MANIFEST
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/release/packages/docs/+MANIFEST	Thu Mar  5 00:13:42 2015	(r279607)
@@ -0,0 +1,13 @@
+name = "FreeBSD-%PKGNAME%"
+origin = "base"
+version = "%VERSION%"
+comment = "%COMMENT%"
+categories = [ base ]
+maintainer = "re@FreeBSD.org"
+www = "http://www.FreeBSD.org"
+prefix = "/"
+licenselogic = "single"
+licenses = [ BSD2CLAUSE ]
+desc = <<EOD
+%DESC%
+EOD

Added: projects/release-pkg/release/packages/profile/+MANIFEST
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/release/packages/profile/+MANIFEST	Thu Mar  5 00:13:42 2015	(r279607)
@@ -0,0 +1,13 @@
+name = "FreeBSD-%PKGNAME%"
+origin = "base"
+version = "%VERSION%"
+comment = "%COMMENT%"
+categories = [ base ]
+maintainer = "re@FreeBSD.org"
+www = "http://www.FreeBSD.org"
+prefix = "/"
+licenselogic = "single"
+licenses = [ BSD2CLAUSE ]
+desc = <<EOD
+%DESC%
+EOD

Added: projects/release-pkg/release/packages/runtime/+MANIFEST
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/release/packages/runtime/+MANIFEST	Thu Mar  5 00:13:42 2015	(r279607)
@@ -0,0 +1,13 @@
+name = "FreeBSD-%PKGNAME%"
+origin = "base"
+version = "%VERSION%"
+comment = "%COMMENT%"
+categories = [ base ]
+maintainer = "re@FreeBSD.org"
+www = "http://www.FreeBSD.org"
+prefix = "/"
+licenselogic = "single"
+licenses = [ BSD2CLAUSE ]
+desc = <<EOD
+%DESC%
+EOD



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503050013.t250DhES075915>