#!/bin/sh # # create_core_pkg.sh # # part of pfSense (https://www.pfsense.org) # Copyright (c) 2004-2016 Rubicon Communications, LLC (Netgate) # 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}" force_rm ${scratchdir} trap "-" 1 2 15 EXIT