1295262Sgjb#!/bin/sh 2295262Sgjb# 3295262Sgjb# $FreeBSD: stable/11/release/packages/generate-ucl.sh 318249 2017-05-12 18:37:08Z gjb $ 4295262Sgjb# 5295262Sgjb 6295262Sgjbmain() { 7295262Sgjb desc= 8295262Sgjb comment= 9295262Sgjb debug= 10295262Sgjb uclsource= 11295262Sgjb while getopts "do:s:u:" arg; do 12295262Sgjb case ${arg} in 13295262Sgjb d) 14295262Sgjb debug=1 15295262Sgjb ;; 16295262Sgjb o) 17295262Sgjb outname="${OPTARG}" 18295262Sgjb origname="${OPTARG}" 19295262Sgjb ;; 20295262Sgjb s) 21295262Sgjb srctree="${OPTARG}" 22295262Sgjb ;; 23295262Sgjb u) 24295262Sgjb uclfile="${OPTARG}" 25295262Sgjb ;; 26295262Sgjb *) 27295262Sgjb echo "Unknown argument" 28295262Sgjb ;; 29295262Sgjb esac 30295262Sgjb done 31295262Sgjb 32295262Sgjb shift $(( ${OPTIND} - 1 )) 33295262Sgjb 34295262Sgjb outname="$(echo ${outname} | tr '-' '_')" 35295262Sgjb 36295262Sgjb case "${outname}" in 37296531Sgjb runtime) 38296531Sgjb outname="runtime" 39296531Sgjb uclfile="${uclfile}" 40296531Sgjb ;; 41296531Sgjb runtime_manuals) 42296531Sgjb outname="${origname}" 43296531Sgjb pkgdeps="runtime" 44296531Sgjb ;; 45296531Sgjb runtime_*) 46296531Sgjb outname="${origname}" 47296531Sgjb uclfile="${outname##*}${uclfile}" 48296531Sgjb pkgdeps="runtime" 49296531Sgjb _descr="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_DESCR)" 50296531Sgjb ;; 51318249Sgjb jail_*) 52318249Sgjb outname="${origname}" 53318249Sgjb uclfile="${outname##*}${uclfile}" 54318249Sgjb pkgdeps="runtime" 55318249Sgjb _descr="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_DESCR)" 56318249Sgjb ;; 57295262Sgjb *_lib32_development) 58295262Sgjb outname="${outname%%_lib32_development}" 59295262Sgjb _descr="32-bit Libraries, Development Files" 60295262Sgjb pkgdeps="${outname}" 61295262Sgjb ;; 62295262Sgjb *_lib32_debug) 63295262Sgjb outname="${outname%%_lib32_debug}" 64295262Sgjb _descr="32-bit Libraries, Debugging Symbols" 65295262Sgjb pkgdeps="${outname}" 66295262Sgjb ;; 67295262Sgjb *_lib32_profile) 68295262Sgjb outname="${outname%%_lib32_profile}" 69295262Sgjb _descr="32-bit Libraries, Profiling" 70295262Sgjb pkgdeps="${outname}" 71295262Sgjb ;; 72295262Sgjb *_lib32) 73295262Sgjb outname="${outname%%_lib32}" 74295262Sgjb _descr="32-bit Libraries" 75295262Sgjb pkgdeps="${outname}" 76295262Sgjb ;; 77295262Sgjb *_development) 78295262Sgjb outname="${outname%%_development}" 79295262Sgjb _descr="Development Files" 80295262Sgjb pkgdeps="${outname}" 81295262Sgjb ;; 82295262Sgjb *_profile) 83295262Sgjb outname="${outname%%_profile}" 84295262Sgjb _descr="Profiling Libraries" 85295262Sgjb pkgdeps="${outname}" 86295262Sgjb ;; 87295262Sgjb *_debug) 88295262Sgjb outname="${outname%%_debug}" 89295262Sgjb _descr="Debugging Symbols" 90295262Sgjb pkgdeps="${outname}" 91295262Sgjb ;; 92295262Sgjb ${origname}) 93295262Sgjb pkgdeps="runtime" 94295262Sgjb ;; 95295262Sgjb *) 96295262Sgjb uclfile="${outname##*}${origname}" 97295262Sgjb outname="${outname##*}${origname}" 98295262Sgjb ;; 99295262Sgjb esac 100295262Sgjb 101295262Sgjb outname="${outname%%_*}" 102295262Sgjb 103295262Sgjb desc="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_DESC)" 104295262Sgjb comment="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_COMMENT)" 105295262Sgjb 106295262Sgjb uclsource="${srctree}/release/packages/${outname}.ucl" 107295262Sgjb if [ ! -e "${uclsource}" ]; then 108295262Sgjb uclsource="${srctree}/release/packages/template.ucl" 109295262Sgjb fi 110295262Sgjb 111295262Sgjb if [ ! -z "${debug}" ]; then 112295262Sgjb echo "" 113295262Sgjb echo "===============================================================" 114295262Sgjb echo "DEBUG:" 115295262Sgjb echo "_descr=${_descr}" 116295262Sgjb echo "outname=${outname}" 117295262Sgjb echo "origname=${origname}" 118295262Sgjb echo "srctree=${srctree}" 119295262Sgjb echo "uclfile=${uclfile}" 120295262Sgjb echo "desc=${desc}" 121295262Sgjb echo "comment=${comment}" 122295262Sgjb echo "cp ${uclsource} -> ${uclfile}" 123295262Sgjb echo "===============================================================" 124295262Sgjb echo "" 125295262Sgjb echo "" 126295262Sgjb echo "" 127295262Sgjb fi 128295262Sgjb 129295262Sgjb [ -z "${comment}" ] && comment="${outname} package" 130295262Sgjb [ ! -z "${_descr}" ] && comment="${comment} (${_descr})" 131295262Sgjb [ -z "${desc}" ] && desc="${outname} package" 132295262Sgjb 133295262Sgjb cp "${uclsource}" "${uclfile}" 134295262Sgjb cap_arg="$(make -C ${srctree}/etc -VCAP_MKDB_ENDIAN)" 135295262Sgjb pwd_arg="$(make -C ${srctree}/etc -VPWD_MKDB_ENDIAN)" 136295262Sgjb sed -i '' -e "s/%VERSION%/${PKG_VERSION}/" \ 137295262Sgjb -e "s/%PKGNAME%/${origname}/" \ 138295262Sgjb -e "s/%COMMENT%/${comment}/" \ 139295262Sgjb -e "s/%DESC%/${desc}/" \ 140295262Sgjb -e "s/%CAP_MKDB_ENDIAN%/${cap_arg}/g" \ 141295262Sgjb -e "s/%PWD_MKDB_ENDIAN%/${pwd_arg}/g" \ 142295262Sgjb -e "s/%PKGDEPS%/${pkgdeps}/" \ 143295262Sgjb ${uclfile} 144295262Sgjb return 0 145295262Sgjb} 146295262Sgjb 147295262Sgjbmain "${@}" 148