diff options
Diffstat (limited to 'control.sh')
-rwxr-xr-x | control.sh | 80 |
1 files changed, 51 insertions, 29 deletions
diff --git a/control.sh b/control.sh index db0f65280..6728fe3ca 100755 --- a/control.sh +++ b/control.sh @@ -1,8 +1,13 @@ #!/bin/bash shopt -s extglob nullglob -export PKG_NAME=$1 +PKG_NAME=$1 shift +if [[ ${PKG_NAME} == */* ]]; then + PKG_PARENT="${PKG_NAME%%/*}" + PKG_NAME="${PKG_NAME#*/}" +fi +export PKG_NAME PKG_PARENT export PKG_BASE=$(realpath "$(dirname "$0")") . "${PKG_BASE}/helper.sh" @@ -29,7 +34,7 @@ fi cat <<EOF Priority: ${PKG_PRIO#+} -Section: $(cat "${PKG_DATA}/_metadata/section") +Section: $(cat "${PKG_FILE_SECTION}") EOF if [[ $1 == status || $1 == available ]]; then @@ -43,7 +48,7 @@ EOF fi cat <<EOF -Maintainer: $(cat "${PKG_DATA}/_metadata/maintainer") +Maintainer: $(cat "${PKG_FILE_MAINTAINER}") Architecture: ${PKG_ARCH} EOF @@ -61,8 +66,8 @@ Size: $(find "${PKG_DEST}" -type f -exec cat {} \; | gzip -c | wc -c | cut -d $' EOF fi -if [[ -e ${PKG_DATA}/_metadata/predepends_ ]]; then - echo "Pre-Depends: $(cat "${PKG_DATA}/_metadata/predepends_")" +if [[ -e ${PKG_FILE_PREDEPENDS_} ]]; then + echo "Pre-Depends: $(cat "${PKG_FILE_PREDEPENDS_}")" else unset comma @@ -77,7 +82,7 @@ else echo -n " dpkg (>= 1.14.25-8)" fi - if [[ -e ${PKG_DATA}/_metadata/predepends ]]; then + if [[ -e ${PKG_FILE_PREDEPENDS} ]]; then if [[ ${comma+@} == @ ]]; then echo -n "," else @@ -85,7 +90,7 @@ else comma= fi - echo -n " $(cat "${PKG_DATA}/_metadata/predepends")" + echo -n " $(cat "${PKG_FILE_PREDEPENDS}")" fi if [[ ${comma+@} == @ ]]; then @@ -93,7 +98,7 @@ else fi fi -if [[ ! -e ${PKG_DATA}/_metadata/depends_ ]]; then +if [[ ! -e ${PKG_FILE_DEPENDS_} ]]; then . "${PKG_BASE}/autodeps.sh" unset comma for dep in "${PKG_DEPS[@]}"; do @@ -116,7 +121,18 @@ if [[ ! -e ${PKG_DATA}/_metadata/depends_ ]]; then fi done - if [[ -e ${PKG_DATA}/_metadata/depends ]]; then + if [[ -e ${PKG_FILE_DEPENDS} ]]; then + if [[ ${comma+@} == @ ]]; then + echo -n "," + else + echo -n "Depends:" + comma= + fi + + echo -n " $(cat "${PKG_FILE_DEPENDS}" | sed -e s/%MYVERSION%/${PKG_VRSN%-*}/g)" + fi + + if [[ -e ${PKG_FILE_DEPENDS_ARCH} ]]; then if [[ ${comma+@} == @ ]]; then echo -n "," else @@ -124,7 +140,7 @@ if [[ ! -e ${PKG_DATA}/_metadata/depends_ ]]; then comma= fi - echo -n " $(cat "${PKG_DATA}/_metadata/depends" | sed -e s/%MYVERSION%/${PKG_VRSN%-*}/g)" + echo -n " $(cat "${PKG_FILE_DEPENDS_ARCH}" | sed -e s/%MYVERSION%/${PKG_VRSN%-*}/g)" fi if [[ ${comma+@} == @ ]]; then @@ -134,61 +150,67 @@ elif [[ -s ${PKG_DATA}/_metadata/depends_ ]]; then echo "Depends: $(cat "${PKG_DATA}/_metadata/depends_")" fi -if [[ -e ${PKG_DATA}/_metadata/replaces ]]; then +if [[ -e ${PKG_FILE_REPLACES} ]]; then cat <<EOF -Replaces: $(cat "${PKG_DATA}/_metadata/replaces") +Replaces: $(cat "${PKG_FILE_REPLACES}") EOF fi -if [[ -e ${PKG_DATA}/_metadata/conflicts ]]; then +if [[ -e ${PKG_FILE_CONFLICTS} ]]; then cat <<EOF -Conflicts: $(cat "${PKG_DATA}/_metadata/conflicts") +Conflicts: $(cat "${PKG_FILE_CONFLICTS}") EOF fi -if [[ -e ${PKG_DATA}/_metadata/breaks ]]; then +if [[ -e ${PKG_FILE_BREAKS} ]]; then cat <<EOF -Breaks: $(cat "${PKG_DATA}/_metadata/breaks") +Breaks: $(cat "${PKG_FILE_BREAKS}") EOF fi -if [[ -e ${PKG_DATA}/_metadata/provides ]]; then +if [[ -e ${PKG_FILE_PROVIDES} ]]; then cat <<EOF -Provides: $(cat "${PKG_DATA}/_metadata/provides" | sed -e s/%MYVERSION%/${PKG_VRSN%-*}/) +Provides: $(cat "${PKG_FILE_PROVIDES}" | sed -e s/%MYVERSION%/${PKG_VRSN%-*}/) EOF fi +PKG_SHORT_DESCRIPTION="$(head -n 1 "${PKG_FILE_DESCRIPTION}")" +if [ -z "${PKG_SHORT_DESCRIPTION}" ]; then + echo "Error: need a description to make a package" >&2 + exit 1; +fi + cat <<EOF -Description: $(head -n 1 "${PKG_DATA}/_metadata/description") +Description: ${PKG_SHORT_DESCRIPTION} EOF -if [[ $(wc -l "${PKG_DATA}/_metadata/description" | cut -d ' ' -f 1) -gt 1 ]]; then +if [[ $(wc -l "${PKG_FILE_DESCRIPTION}" | cut -d ' ' -f 1) -gt 1 ]]; then cat <<EOF -$(tail -n +2 "${PKG_DATA}/_metadata/description" | fold -sw 72 | sed -e 's/^/ /') +$(tail -n +2 "${PKG_FILE_DESCRIPTION}" | fold -sw 72 | sed -e 's/^/ /') EOF fi -if [[ -e ${PKG_DATA}/_metadata/name ]]; then +if [[ -e ${PKG_FILE_NAME} ]]; then cat <<EOF -Name: $(cat "${PKG_DATA}/_metadata/name") +Name: $(cat "${PKG_FILE_NAME}") EOF fi -if [[ -e ${PKG_DATA}/_metadata/author ]]; then +if [[ -e ${PKG_FILE_AUTHOR} ]]; then cat <<EOF -Author: $(cat "${PKG_DATA}/_metadata/author") +Author: $(cat "${PKG_FILE_AUTHOR}") EOF fi -if [[ -e ${PKG_DATA}/_metadata/homepage ]]; then +if [[ -e ${PKG_FILE_HOMEPAGE} ]]; then cat <<EOF -Homepage: $(cat "${PKG_DATA}/_metadata/homepage") +Homepage: $(cat "${PKG_FILE_HOMEPAGE}") EOF fi -if [[ -e ${PKG_DATA}/_metadata/depiction ]]; then +if [[ -e ${PKG_FILE_DEPICTION} ]]; then cat <<EOF -Depiction: $(cat "${PKG_DATA}/_metadata/depiction") +Depiction: $(cat "${PKG_FILE_DEPICTION}") EOF fi |