summaryrefslogtreecommitdiff
path: root/control.sh
diff options
context:
space:
mode:
Diffstat (limited to 'control.sh')
-rwxr-xr-xcontrol.sh80
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