generate-ucl.sh revision 295262
1295262Sgjb#!/bin/sh 2295262Sgjb# 3295262Sgjb# $FreeBSD: projects/release-pkg/release/packages/generate-ucl.sh 295262 2016-02-04 15:32:03Z 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 37295262Sgjb *_lib32_development) 38295262Sgjb outname="${outname%%_lib32_development}" 39295262Sgjb _descr="32-bit Libraries, Development Files" 40295262Sgjb pkgdeps="${outname}" 41295262Sgjb ;; 42295262Sgjb *_lib32_debug) 43295262Sgjb outname="${outname%%_lib32_debug}" 44295262Sgjb _descr="32-bit Libraries, Debugging Symbols" 45295262Sgjb pkgdeps="${outname}" 46295262Sgjb ;; 47295262Sgjb *_lib32_profile) 48295262Sgjb outname="${outname%%_lib32_profile}" 49295262Sgjb _descr="32-bit Libraries, Profiling" 50295262Sgjb pkgdeps="${outname}" 51295262Sgjb ;; 52295262Sgjb *_lib32) 53295262Sgjb outname="${outname%%_lib32}" 54295262Sgjb _descr="32-bit Libraries" 55295262Sgjb pkgdeps="${outname}" 56295262Sgjb ;; 57295262Sgjb *_development) 58295262Sgjb outname="${outname%%_development}" 59295262Sgjb _descr="Development Files" 60295262Sgjb pkgdeps="${outname}" 61295262Sgjb ;; 62295262Sgjb *_profile) 63295262Sgjb outname="${outname%%_profile}" 64295262Sgjb _descr="Profiling Libraries" 65295262Sgjb pkgdeps="${outname}" 66295262Sgjb ;; 67295262Sgjb *_debug) 68295262Sgjb outname="${outname%%_debug}" 69295262Sgjb _descr="Debugging Symbols" 70295262Sgjb pkgdeps="${outname}" 71295262Sgjb ;; 72295262Sgjb *_manuals) 73295262Sgjb outname="${origname}" 74295262Sgjb pkgdeps="runtime" 75295262Sgjb ;; 76295262Sgjb runtime) 77295262Sgjb outname="runtime" 78295262Sgjb uclfile="${uclfile}" 79295262Sgjb ;; 80295262Sgjb ${origname}) 81295262Sgjb pkgdeps="runtime" 82295262Sgjb ;; 83295262Sgjb debug|development|lib32|profile) 84295262Sgjb uclfile="${outname##*}${uclfile}" 85295262Sgjb ;; 86295262Sgjb *) 87295262Sgjb uclfile="${outname##*}${origname}" 88295262Sgjb outname="${outname##*}${origname}" 89295262Sgjb ;; 90295262Sgjb esac 91295262Sgjb 92295262Sgjb outname="${outname%%_*}" 93295262Sgjb 94295262Sgjb desc="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_DESC)" 95295262Sgjb comment="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_COMMENT)" 96295262Sgjb 97295262Sgjb uclsource="${srctree}/release/packages/${outname}.ucl" 98295262Sgjb if [ ! -e "${uclsource}" ]; then 99295262Sgjb uclsource="${srctree}/release/packages/template.ucl" 100295262Sgjb fi 101295262Sgjb 102295262Sgjb if [ ! -z "${debug}" ]; then 103295262Sgjb echo "" 104295262Sgjb echo "===============================================================" 105295262Sgjb echo "DEBUG:" 106295262Sgjb echo "_descr=${_descr}" 107295262Sgjb echo "outname=${outname}" 108295262Sgjb echo "origname=${origname}" 109295262Sgjb echo "srctree=${srctree}" 110295262Sgjb echo "uclfile=${uclfile}" 111295262Sgjb echo "desc=${desc}" 112295262Sgjb echo "comment=${comment}" 113295262Sgjb echo "cp ${uclsource} -> ${uclfile}" 114295262Sgjb echo "===============================================================" 115295262Sgjb echo "" 116295262Sgjb echo "" 117295262Sgjb echo "" 118295262Sgjb fi 119295262Sgjb 120295262Sgjb [ -z "${comment}" ] && comment="${outname} package" 121295262Sgjb [ ! -z "${_descr}" ] && comment="${comment} (${_descr})" 122295262Sgjb [ -z "${desc}" ] && desc="${outname} package" 123295262Sgjb 124295262Sgjb cp "${uclsource}" "${uclfile}" 125295262Sgjb cap_arg="$(make -C ${srctree}/etc -VCAP_MKDB_ENDIAN)" 126295262Sgjb pwd_arg="$(make -C ${srctree}/etc -VPWD_MKDB_ENDIAN)" 127295262Sgjb sed -i '' -e "s/%VERSION%/${PKG_VERSION}/" \ 128295262Sgjb -e "s/%PKGNAME%/${origname}/" \ 129295262Sgjb -e "s/%COMMENT%/${comment}/" \ 130295262Sgjb -e "s/%DESC%/${desc}/" \ 131295262Sgjb -e "s/%CAP_MKDB_ENDIAN%/${cap_arg}/g" \ 132295262Sgjb -e "s/%PWD_MKDB_ENDIAN%/${pwd_arg}/g" \ 133295262Sgjb -e "s/%PKGDEPS%/${pkgdeps}/" \ 134295262Sgjb ${uclfile} 135295262Sgjb return 0 136295262Sgjb} 137295262Sgjb 138295262Sgjbmain "${@}" 139