From owner-svn-src-projects@freebsd.org Thu Feb 4 15:32:08 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72004A99F5F for ; Thu, 4 Feb 2016 15:32:08 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 022B31A5; Thu, 4 Feb 2016 15:32:07 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u14FW7L3022238; Thu, 4 Feb 2016 15:32:07 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u14FW3un022204; Thu, 4 Feb 2016 15:32:03 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201602041532.u14FW3un022204@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 4 Feb 2016 15:32:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r295262 - in projects/release-pkg: . release/packages X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Feb 2016 15:32:08 -0000 Author: gjb Date: Thu Feb 4 15:32:03 2016 New Revision: 295262 URL: https://svnweb.freebsd.org/changeset/base/295262 Log: Rework the way .ucl files are generated. One of the major pain points with how this was implemented is the requirement of in-tree, hard-coded .ucl, as well as -.ucl where can be lib32, profile, development, debug, or any combination of the four. This created significant overhead when adding new packages and any of the files in any of the combinations were missing. Instead of test(1)-ing if the .ucl file exists, hand off to a script to figure out what the final ucl file name should be before invoking pkg(8). The default behavior is 'template.ucl' is used as a fallback. This affects only the userland packages, as the kernel code is already smart enough to handle these variations. Sponsored by: The FreeBSD Foundation Added: projects/release-pkg/release/packages/Makefile.package (contents, props changed) projects/release-pkg/release/packages/generate-ucl.sh (contents, props changed) projects/release-pkg/release/packages/template.ucl Deleted: projects/release-pkg/release/packages/acct-debug.ucl projects/release-pkg/release/packages/acpi-debug.ucl projects/release-pkg/release/packages/amd-debug.ucl projects/release-pkg/release/packages/apm-debug.ucl projects/release-pkg/release/packages/at-debug.ucl projects/release-pkg/release/packages/autofs-debug.ucl projects/release-pkg/release/packages/bhyve-debug.ucl projects/release-pkg/release/packages/binutils-debug.ucl projects/release-pkg/release/packages/bsdinstall-debug.ucl projects/release-pkg/release/packages/bsnmp-debug.ucl projects/release-pkg/release/packages/bsnmp-development.ucl projects/release-pkg/release/packages/bsnmp-lib32-debug.ucl projects/release-pkg/release/packages/bsnmp-lib32-development.ucl projects/release-pkg/release/packages/bsnmp-lib32-profile.ucl projects/release-pkg/release/packages/bsnmp-lib32.ucl projects/release-pkg/release/packages/bsnmp-profile.ucl projects/release-pkg/release/packages/clang-debug.ucl projects/release-pkg/release/packages/dma-debug.ucl projects/release-pkg/release/packages/ee-debug.ucl projects/release-pkg/release/packages/gdb-debug.ucl projects/release-pkg/release/packages/groff-debug.ucl projects/release-pkg/release/packages/jail-debug.ucl projects/release-pkg/release/packages/jail-development.ucl projects/release-pkg/release/packages/jail-lib32-debug.ucl projects/release-pkg/release/packages/jail-lib32-development.ucl projects/release-pkg/release/packages/jail-lib32-profile.ucl projects/release-pkg/release/packages/jail-lib32.ucl projects/release-pkg/release/packages/jail-profile.ucl projects/release-pkg/release/packages/lib32-debug.ucl projects/release-pkg/release/packages/lib32-development.ucl projects/release-pkg/release/packages/lib32-profile.ucl projects/release-pkg/release/packages/rcmds-debug.ucl projects/release-pkg/release/packages/ssh-debug.ucl projects/release-pkg/release/packages/ssh-development.ucl projects/release-pkg/release/packages/ssh-lib32-debug.ucl projects/release-pkg/release/packages/ssh-lib32-development.ucl projects/release-pkg/release/packages/ssh-lib32-profile.ucl projects/release-pkg/release/packages/ssh-lib32.ucl projects/release-pkg/release/packages/ssh-profile.ucl projects/release-pkg/release/packages/svn-debug.ucl projects/release-pkg/release/packages/tests-debug.ucl projects/release-pkg/release/packages/tests-development.ucl projects/release-pkg/release/packages/tests-profile.ucl projects/release-pkg/release/packages/unbound-debug.ucl projects/release-pkg/release/packages/unbound-development.ucl projects/release-pkg/release/packages/unbound-lib32-debug.ucl projects/release-pkg/release/packages/unbound-lib32-development.ucl projects/release-pkg/release/packages/unbound-lib32-profile.ucl projects/release-pkg/release/packages/unbound-lib32.ucl projects/release-pkg/release/packages/unbound-profile.ucl projects/release-pkg/release/packages/vi-debug.ucl Modified: projects/release-pkg/Makefile.inc1 projects/release-pkg/release/packages/acct.ucl projects/release-pkg/release/packages/acpi.ucl projects/release-pkg/release/packages/amd.ucl projects/release-pkg/release/packages/apm.ucl projects/release-pkg/release/packages/at.ucl projects/release-pkg/release/packages/autofs.ucl projects/release-pkg/release/packages/bhyve.ucl projects/release-pkg/release/packages/binutils.ucl projects/release-pkg/release/packages/bsdinstall.ucl projects/release-pkg/release/packages/bsnmp.ucl projects/release-pkg/release/packages/clang.ucl projects/release-pkg/release/packages/debug.ucl projects/release-pkg/release/packages/development.ucl projects/release-pkg/release/packages/dma.ucl projects/release-pkg/release/packages/ee.ucl projects/release-pkg/release/packages/gdb.ucl projects/release-pkg/release/packages/groff.ucl projects/release-pkg/release/packages/jail.ucl projects/release-pkg/release/packages/lib32.ucl projects/release-pkg/release/packages/profile.ucl projects/release-pkg/release/packages/rcmds.ucl projects/release-pkg/release/packages/runtime-manuals.ucl projects/release-pkg/release/packages/runtime.ucl projects/release-pkg/release/packages/ssh.ucl projects/release-pkg/release/packages/svn.ucl projects/release-pkg/release/packages/syscons.ucl projects/release-pkg/release/packages/tests.ucl projects/release-pkg/release/packages/unbound.ucl projects/release-pkg/release/packages/vi.ucl Modified: projects/release-pkg/Makefile.inc1 ============================================================================== --- projects/release-pkg/Makefile.inc1 Thu Feb 4 15:21:01 2016 (r295261) +++ projects/release-pkg/Makefile.inc1 Thu Feb 4 15:32:03 2016 (r295262) @@ -1393,22 +1393,13 @@ create-world-packages: _pkgbootstrap ${DESTDIR}/METALOG @for plist in ${DESTDIR}/*.plist; do \ plist=$${plist##*/} ; \ - test -f ${SRCDIR}/release/packages/$${plist%.plist}.ucl || \ - ( echo "Unkown package FreeBSD-$${plist%.plist}" ; false ) ; \ + pkgname=$${plist%.plist} ; \ + sh ${SRCDIR}/release/packages/generate-ucl.sh -o $${pkgname} \ + -s ${SRCDIR} -u ${DESTDIR}/$${pkgname}.ucl ; \ done - @cap_arg=`cd ${SRCDIR}/etc ; ${MAKE} -VCAP_MKDB_ENDIAN` ; \ - pwd_arg=`cd ${SRCDIR}/etc ; ${MAKE} -VPWD_MKDB_ENDIAN` ; \ - for plist in ${DESTDIR}/*.plist; do \ + @for plist in ${DESTDIR}/*.plist; do \ plist=$${plist##*/} ; \ pkgname=$${plist%.plist} ; \ - sed -e "s/%VERSION%/${PKG_VERSION}/" \ - -e "s/%PKGNAME%/$${pkgname}/" \ - -e "s/%COMMENT%/Generic comment for $${pkgname}/" \ - -e "s/%DESC%/Generic description for $${pkgname}/" \ - -e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \ - -e "s/%PWD_MKDB_ENDIAN%/$${pwd_arg}/g" \ - ${SRCDIR}/release/packages/$${pkgname}.ucl \ - > ${DESTDIR}/$${pkgname}.ucl ; \ awk -F\" ' \ /^name/ { printf("===> Creating %s-", $$2); next } \ /^version/ { print $$2; next } \ Added: projects/release-pkg/release/packages/Makefile.package ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/release-pkg/release/packages/Makefile.package Thu Feb 4 15:32:03 2016 (r295262) @@ -0,0 +1,67 @@ +# +# $FreeBSD$ +# + +acct_DESC= Accounting Utilties +acpi_DESC= ACPI Utilities +amd_DESC= AMD Utilities +apm_DESC= APM Utilities +at_DESC= AT Utilities +autofs_DESC= Autofs Utilities +bhyve_DESC= Bhyve Utilities +binutils_DESC= Binutils +bsdinstall_DESC= BSDInstall Utilities +bsnmp_DESC= BSNMP Utilities +clang_DESC= Clang Utilities +docs_DESC= Documentation +dma_DESC= DMA Mail Agent Utilities +ee_DESC= Easy Editor Utilities +gdb_DESC= GDB Utilities +groff_DESC= Groff Utilities +jail_DESC= Jail Utilities +kernel_DESC= FreeBSD Kernel +rcmds_DESC= Remote Command Utilities +manuals_DESC= Manual Pages +ssh_DESC= Secure Shell Utilities +svn_DESC= Subversion Version Conrol System +syscons_DESC= Syscons Console +tests_DESC= Test Suite +unbound_DESC= Unbound DNS Resolver +vi_DESC= Vi Editor +debug_DESC= FreeBSD Base System (Debugging Symbols) +development_DESC= FreeBSD Base System (Development Files) +lib32_DESC= FreeBSD Base System (32-bit Libraries) +profile_DESC= FreeBSD Base System (Profiling Libraries) +runtime_DESC= FreeBSD Base System + +acct_COMMENT= Accounting Utilties +acpi_COMMENT= ACPI Utilities +amd_COMMENT= AMD Utilities +apm_COMMENT= APM Utilities +at_COMMENT= AT Utilities +autofs_COMMENT= Autofs Utilities +bhyve_COMMENT= Bhyve Utilities +binutils_COMMENT= Binutils +bsdinstall_COMMENT= BSDInstall Utilities +bsnmp_COMMENT= BSNMP Utilities +clang_COMMENT= Clang Utilities +docs_COMMENT= Documentation +dma_COMMENT= DMA Mail Agent Utilities +ee_COMMENT= Easy Editor Utilities +gdb_COMMENT= GDB Utilities +groff_COMMENT= Groff Utilities +jail_COMMENT= Jail Utilities +kernel_COMMENT= FreeBSD Kernel +rcmds_COMMENT= Remote Command Utilities +manuals_COMMENT= Manual Pages +ssh_COMMENT= Secure Shell Utilities +svn_COMMENT= Subversion Version Conrol System +syscons_COMMENT= Syscons Console +tests_COMMENT= Test Suite +unbound_COMMENT= Unbound DNS Resolver +vi_COMMENT= Vi Editor +debug_COMMENT= FreeBSD Base System (Debugging Symbols) +development_COMMENT= FreeBSD Base System (Development Files) +lib32_COMMENT= FreeBSD Base System (32-bit Libraries) +profile_COMMENT= FreeBSD Base System (Profiling Libraries) +runtime_COMMENT= FreeBSD Base System Modified: projects/release-pkg/release/packages/acct.ucl ============================================================================== --- projects/release-pkg/release/packages/acct.ucl Thu Feb 4 15:21:01 2016 (r295261) +++ projects/release-pkg/release/packages/acct.ucl Thu Feb 4 15:32:03 2016 (r295262) @@ -1,7 +1,7 @@ name = "FreeBSD-%PKGNAME%" origin = "base" version = "%VERSION%" -comment = "Accounting Tools" +comment = "%COMMENT%" categories = [ base ] maintainer = "re@FreeBSD.org" www = "https://www.FreeBSD.org" @@ -12,7 +12,7 @@ desc = < ${uclfile}" + echo "===============================================================" + echo "" + echo "" + echo "" + fi + + [ -z "${comment}" ] && comment="${outname} package" + [ ! -z "${_descr}" ] && comment="${comment} (${_descr})" + [ -z "${desc}" ] && desc="${outname} package" + + cp "${uclsource}" "${uclfile}" + cap_arg="$(make -C ${srctree}/etc -VCAP_MKDB_ENDIAN)" + pwd_arg="$(make -C ${srctree}/etc -VPWD_MKDB_ENDIAN)" + sed -i '' -e "s/%VERSION%/${PKG_VERSION}/" \ + -e "s/%PKGNAME%/${origname}/" \ + -e "s/%COMMENT%/${comment}/" \ + -e "s/%DESC%/${desc}/" \ + -e "s/%CAP_MKDB_ENDIAN%/${cap_arg}/g" \ + -e "s/%PWD_MKDB_ENDIAN%/${pwd_arg}/g" \ + -e "s/%PKGDEPS%/${pkgdeps}/" \ + ${uclfile} + return 0 +} + +main "${@}" Modified: projects/release-pkg/release/packages/groff.ucl ============================================================================== --- projects/release-pkg/release/packages/groff.ucl Thu Feb 4 15:21:01 2016 (r295261) +++ projects/release-pkg/release/packages/groff.ucl Thu Feb 4 15:32:03 2016 (r295262) @@ -1,7 +1,7 @@ name = "FreeBSD-%PKGNAME%" origin = "base" version = "%VERSION%" -comment = "GNU groff" +comment = "%COMMENT%" categories = [ base ] maintainer = "re@FreeBSD.org" www = "https://www.FreeBSD.org" @@ -12,7 +12,7 @@ desc = <