15c52b2f5SGlen Barber#!/bin/sh 25c52b2f5SGlen Barber# 35c52b2f5SGlen Barber# 45c52b2f5SGlen Barber 55c52b2f5SGlen Barbermain() { 65c52b2f5SGlen Barber desc= 75c52b2f5SGlen Barber comment= 85c52b2f5SGlen Barber debug= 95c52b2f5SGlen Barber uclsource= 105c52b2f5SGlen Barber while getopts "do:s:u:" arg; do 115c52b2f5SGlen Barber case ${arg} in 125c52b2f5SGlen Barber d) 135c52b2f5SGlen Barber debug=1 145c52b2f5SGlen Barber ;; 155c52b2f5SGlen Barber o) 165c52b2f5SGlen Barber outname="${OPTARG}" 175c52b2f5SGlen Barber origname="${OPTARG}" 185c52b2f5SGlen Barber ;; 195c52b2f5SGlen Barber s) 205c52b2f5SGlen Barber srctree="${OPTARG}" 215c52b2f5SGlen Barber ;; 225c52b2f5SGlen Barber u) 235c52b2f5SGlen Barber uclfile="${OPTARG}" 245c52b2f5SGlen Barber ;; 255c52b2f5SGlen Barber *) 265c52b2f5SGlen Barber echo "Unknown argument" 275c52b2f5SGlen Barber ;; 285c52b2f5SGlen Barber esac 295c52b2f5SGlen Barber done 305c52b2f5SGlen Barber 315c52b2f5SGlen Barber shift $(( ${OPTIND} - 1 )) 325c52b2f5SGlen Barber 335c52b2f5SGlen Barber case "${outname}" in 345efa7281SEmmanuel Vadot bootloader) 355efa7281SEmmanuel Vadot pkgdeps="" 365efa7281SEmmanuel Vadot ;; 371d7ffb37SDoug Rabson certctl) 381d7ffb37SDoug Rabson pkgdeps="caroot openssl" 39fbd46fe9SKyle Evans ;; 4078847e1eSDoug Rabson clang) 416084d989SBaptiste Daroussin pkgdeps="lld libcompiler_rt-dev" 4278847e1eSDoug Rabson ;; 432ef5a862SLexi Winter periodic) 442ef5a862SLexi Winter pkgdeps="cron" 452ef5a862SLexi Winter ;; 461e9c9ab5SEd Maste 471e9c9ab5SEd Maste # -dev packages that have no corresponding non-dev package 481e9c9ab5SEd Maste # as a dependency. 4936468371SMikaël Urankar libcompat-dev|libcompiler_rt-dev|liby-dev) 501e9c9ab5SEd Maste outname=${outname%%-dev} 511e9c9ab5SEd Maste _descr="Development Files" 521e9c9ab5SEd Maste ;; 5336468371SMikaël Urankar libcompat-lib32_dev|libcompiler_rt-lib32_dev|liby-lib32_dev) 541e9c9ab5SEd Maste outname=${outname%%-lib32_dev} 551e9c9ab5SEd Maste _descr="32-bit Libraries, Development Files" 561e9c9ab5SEd Maste ;; 570eccd618SEd Maste libcompat-man|libelftc-man) 580eccd618SEd Maste outname=${outname%%-man} 590eccd618SEd Maste _descr="Manual Pages" 605391bcf0SEmmanuel Vadot ;; 611c1ff797SMina Igalic utilities) 621c1ff797SMina Igalic uclfile="${uclfile}" 631c1ff797SMina Igalic ;; 6444d81980SGlen Barber runtime) 6544d81980SGlen Barber outname="runtime" 669fc3c7f7SGlen Barber _descr="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_DESCR)" 679fc3c7f7SGlen Barber ;; 6809d83a06SMark Johnston *-lib32_dev) 6909d83a06SMark Johnston outname="${outname%%-lib32_dev}" 705c52b2f5SGlen Barber _descr="32-bit Libraries, Development Files" 715c52b2f5SGlen Barber pkgdeps="${outname}" 725c52b2f5SGlen Barber ;; 7309d83a06SMark Johnston *-lib32_dbg) 7409d83a06SMark Johnston outname="${outname%%-lib32_dbg}" 755c52b2f5SGlen Barber _descr="32-bit Libraries, Debugging Symbols" 765c52b2f5SGlen Barber pkgdeps="${outname}" 775c52b2f5SGlen Barber ;; 7809d83a06SMark Johnston *-lib32) 7909d83a06SMark Johnston outname="${outname%%-lib32}" 805c52b2f5SGlen Barber _descr="32-bit Libraries" 815c52b2f5SGlen Barber pkgdeps="${outname}" 825c52b2f5SGlen Barber ;; 8309d83a06SMark Johnston *-dev) 8409d83a06SMark Johnston outname="${outname%%-dev}" 855c52b2f5SGlen Barber _descr="Development Files" 865c52b2f5SGlen Barber pkgdeps="${outname}" 875c52b2f5SGlen Barber ;; 8809d83a06SMark Johnston *-dbg) 8909d83a06SMark Johnston outname="${outname%%-dbg}" 905c52b2f5SGlen Barber _descr="Debugging Symbols" 915c52b2f5SGlen Barber pkgdeps="${outname}" 925c52b2f5SGlen Barber ;; 9309d83a06SMark Johnston *-man) 9409d83a06SMark Johnston outname="${outname%%-man}" 95c7e6cb9eSEmmanuel Vadot _descr="Manual Pages" 96c7e6cb9eSEmmanuel Vadot pkgdeps="${outname}" 97c7e6cb9eSEmmanuel Vadot ;; 985c52b2f5SGlen Barber ${origname}) 995c52b2f5SGlen Barber ;; 1005c52b2f5SGlen Barber *) 1015c52b2f5SGlen Barber uclfile="${outname##*}${origname}" 1025c52b2f5SGlen Barber outname="${outname##*}${origname}" 1035c52b2f5SGlen Barber ;; 1045c52b2f5SGlen Barber esac 1055c52b2f5SGlen Barber 1065c52b2f5SGlen Barber desc="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_DESC)" 1075c52b2f5SGlen Barber comment="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_COMMENT)" 1085c52b2f5SGlen Barber 1095c52b2f5SGlen Barber uclsource="${srctree}/release/packages/template.ucl" 1105c52b2f5SGlen Barber 1115c52b2f5SGlen Barber if [ ! -z "${debug}" ]; then 1125c52b2f5SGlen Barber echo "" 1135c52b2f5SGlen Barber echo "===============================================================" 1145c52b2f5SGlen Barber echo "DEBUG:" 1155c52b2f5SGlen Barber echo "_descr=${_descr}" 1165c52b2f5SGlen Barber echo "outname=${outname}" 1175c52b2f5SGlen Barber echo "origname=${origname}" 1185c52b2f5SGlen Barber echo "srctree=${srctree}" 1195c52b2f5SGlen Barber echo "uclfile=${uclfile}" 1205c52b2f5SGlen Barber echo "desc=${desc}" 1215c52b2f5SGlen Barber echo "comment=${comment}" 1221c1ff797SMina Igalic echo "vital=${vital}" 1235c52b2f5SGlen Barber echo "cp ${uclsource} -> ${uclfile}" 1245c52b2f5SGlen Barber echo "===============================================================" 1255c52b2f5SGlen Barber echo "" 1265c52b2f5SGlen Barber echo "" 1275c52b2f5SGlen Barber echo "" 1285c52b2f5SGlen Barber fi 1295c52b2f5SGlen Barber 1305c52b2f5SGlen Barber [ -z "${comment}" ] && comment="${outname} package" 1315c52b2f5SGlen Barber [ ! -z "${_descr}" ] && comment="${comment} (${_descr})" 1325c52b2f5SGlen Barber [ -z "${desc}" ] && desc="${outname} package" 1335c52b2f5SGlen Barber 1345c52b2f5SGlen Barber cp "${uclsource}" "${uclfile}" 135f2c46299SKyle Evans if [ ! -z "${pkgdeps}" ]; then 1361d7ffb37SDoug Rabson echo 'deps: {' >> ${uclfile} 1371d7ffb37SDoug Rabson for dep in ${pkgdeps}; do 138f2c46299SKyle Evans cat <<EOF >> ${uclfile} 139*b4dd5ff5SMark Johnston ${PKG_NAME_PREFIX}-${dep}: { 140f2c46299SKyle Evans origin: "base", 141f2c46299SKyle Evans version: "${PKG_VERSION}" 142f2c46299SKyle Evans } 143f2c46299SKyle EvansEOF 1441d7ffb37SDoug Rabson done 1451d7ffb37SDoug Rabson echo '}' >> ${uclfile} 146f2c46299SKyle Evans fi 147f59e5352SBrad Davis cap_arg="$( make -f ${srctree}/share/mk/bsd.endian.mk -VCAP_MKDB_ENDIAN )" 148f8e46fd6SBaptiste Daroussin ${srctree}/release/packages/generate-ucl.lua \ 149f8e46fd6SBaptiste Daroussin VERSION "${PKG_VERSION}" \ 150f8e46fd6SBaptiste Daroussin PKGNAME "${origname}" \ 151f8e46fd6SBaptiste Daroussin PKGGENNAME "${outname}" \ 152f8e46fd6SBaptiste Daroussin PKG_NAME_PREFIX "${PKG_NAME_PREFIX}" \ 153f8e46fd6SBaptiste Daroussin COMMENT "${comment}" \ 154f8e46fd6SBaptiste Daroussin DESC "${desc}" \ 155f8e46fd6SBaptiste Daroussin CAP_MKDB_ENDIAN "${cap_arg}" \ 156f8e46fd6SBaptiste Daroussin PKG_WWW "${PKG_WWW}" \ 157f8e46fd6SBaptiste Daroussin PKG_MAINTAINER "${PKG_MAINTAINER}" \ 158f8e46fd6SBaptiste Daroussin UCLFILES "${srctree}/release/packages/" \ 159e05b6502SLexi Winter ${uclfile} ${uclfile} 160f8e46fd6SBaptiste Daroussin 1615c52b2f5SGlen Barber return 0 1625c52b2f5SGlen Barber} 1635c52b2f5SGlen Barber 1645c52b2f5SGlen Barbermain "${@}" 165