From 1217cd7a98721ee72bb48a56b6c4b0b56ff71d44 Mon Sep 17 00:00:00 2001 From: Renato Botelho Date: Mon, 1 Aug 2016 17:14:24 -0300 Subject: Add create_core_pkg.sh and start using it --- build/scripts/create_core_pkg.sh | 172 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100755 build/scripts/create_core_pkg.sh (limited to 'build') diff --git a/build/scripts/create_core_pkg.sh b/build/scripts/create_core_pkg.sh new file mode 100755 index 0000000..ad1f6c7 --- /dev/null +++ b/build/scripts/create_core_pkg.sh @@ -0,0 +1,172 @@ +#!/bin/sh +# +# create_core_pkg.sh +# +# part of pfSense (https://www.pfsense.org) +# Copyright (c) 2004-2016 Electric Sheep Fencing, LLC +# All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + +scripts_path=$(dirname $(realpath $0)) + +if [ ! -f "${scripts_path}/common.subr" ]; then + echo >&2 "ERROR: common.subr is missing" + exit 1 +fi + +. ${scripts_path}/common.subr + +usage() { + cat >&2 < ${plist} +fi + +if [ -f "${template_path}/exclude_plist" ]; then + cp ${template_path}/exclude_plist ${exclude_plist} +else + touch ${exclude_plist} +fi + +sed \ + -i '' \ + -e "s,%%PRODUCT_NAME%%,${PRODUCT_NAME},g" \ + -e "s,%%PRODUCT_URL%%,${PRODUCT_URL},g" \ + -e "s,%%FLAVOR%%,${flavor:+-}${flavor},g" \ + -e "s,%%FLAVOR_DESC%%,${flavor:+ (${flavor})},g" \ + -e "s,%%VERSION%%,${version},g" \ + ${metadir}/* \ + ${plist} \ + ${exclude_plist} + +if [ -f "${exclude_plist}" ]; then + sort -u ${exclude_plist} > ${plist}.exclude + mv ${plist} ${plist}.tmp + comm -23 ${plist}.tmp ${plist}.exclude > ${plist} + rm -f ${plist}.tmp ${plist}.exclude +fi + +# Add license information +if [ -d "${template_licensedir}" ]; then + portname=$(sed '/^name: /!d; s,^[^"]*",,; s,",,' ${metadir}/+MANIFEST) + licenses_dir="/usr/local/share/licenses/${portname}-${version}" + + mkdir -p ${root}${licenses_dir} + for f in ${template_licensedir}/*; do + cp ${f} ${licenses_dir} + echo "${licenses_dir}/$(basename ${f})" >> ${plist} + done +fi + +run "Creating core package ${template_name}" \ + "pkg create -o ${destdir} -p ${plist} -r ${root} -m ${metadir}" -- cgit v1.1