root / trunk / control.sh

Revision 408, 2.7 kB (checked in by saurik, 1 month ago)

Got Aptitude installing on 2.x.

  • Property svn:executable set to *
Line 
1#!/bin/bash
2shopt -s extglob nullglob
3
4export PKG_NAME=$1
5shift
6
7export PKG_BASE=$(realpath "$(dirname "$0")")
8. "${PKG_BASE}/helper.sh"
9
10if [[ -n $2 ]]; then
11    PKG_VRSN=$2
12fi
13
14cat <<EOF
15Package: ${PKG_NAME}
16EOF
17
18if [[ ${PKG_PRIO} == required || ${PKG_PRIO} == +* ]]; then
19    cat <<EOF
20Essential: yes
21EOF
22fi
23
24if [[ $1 == status ]]; then
25    cat <<EOF
26Status: install ok installed
27EOF
28fi
29
30cat <<EOF
31Priority: ${PKG_PRIO#+}
32Section: $(cat "${PKG_DATA}/_metadata/section")
33EOF
34
35if [[ $1 == status || $1 == available ]]; then
36    cat <<EOF
37Installed-Size: $(dpkg -f "${PKG_BASE}/debs/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_${PKG_ARCH}.deb" Installed-Size)
38EOF
39elif [[ $1 == control ]]; then
40    cat <<EOF
41Installed-Size: $(du -s "${PKG_DEST}" | cut -d $'\t' -f 1)
42EOF
43fi
44
45cat <<EOF
46Maintainer: $(cat "${PKG_DATA}/_metadata/maintainer")
47Architecture: ${PKG_ARCH}
48EOF
49
50echo -n "Version: ${PKG_VRSN}"
51
52if [[ $1 == status || $1 == available ]]; then
53    echo "-${PKG_RVSN}"
54else
55    echo
56fi
57
58if [[ $1 == available ]]; then
59    cat <<EOF
60Size: $(find "${PKG_DEST}" -type f -exec cat {} \; | gzip -c | wc -c | cut -d $'\t' -f 1)
61EOF
62fi
63
64unset comma
65for dep in "${PKG_DEPS[@]}"; do
66    if [[ ${comma+@} == @ ]]; then
67        echo -n ","
68    else
69        echo -n "Depends:"
70        comma=
71    fi
72
73    echo -n " $(basename "${dep}" .dep)"
74   
75    ver=${PKG_DATA}/_metadata/${dep%.dep}.ver.${PKG_ARCH}
76    if [[ -e "${ver}" ]]; then
77        echo -n " (>= $(cat "${ver}"))"
78    fi
79done
80
81if [[ -e ${PKG_DATA}/_metadata/depends ]]; then
82    if [[ ${comma+@} == @ ]]; then
83        echo -n ","
84    else
85        echo -n "Depends:"
86        comma=
87    fi
88
89    echo -n " $(cat "${PKG_DATA}/_metadata/depends")"
90fi
91
92if [[ ${comma+@} == @ ]]; then
93    echo
94fi
95
96if [[ -e ${PKG_DATA}/_metadata/replaces ]]; then
97    cat <<EOF
98Replaces: $(cat "${PKG_DATA}/_metadata/replaces")
99EOF
100fi
101
102if [[ -e ${PKG_DATA}/_metadata/conflicts ]]; then
103    cat <<EOF
104Conflicts: $(cat "${PKG_DATA}/_metadata/conflicts")
105EOF
106fi
107
108if [[ -e ${PKG_DATA}/_metadata/provides ]]; then
109    cat <<EOF
110Provides: $(cat "${PKG_DATA}/_metadata/provides")
111EOF
112fi
113
114cat <<EOF
115Description: $(head -n 1 "${PKG_DATA}/_metadata/description")
116EOF
117
118if [[ $(wc -l "${PKG_DATA}/_metadata/description" | cut -d ' ' -f 1) -gt 1 ]]; then
119    cat <<EOF
120$(tail -n +2 "${PKG_DATA}/_metadata/description" | fold -sw 72 | sed -e 's/^/ /')
121EOF
122fi
123
124if [[ -e ${PKG_DATA}/_metadata/name ]]; then
125    cat <<EOF
126Name: $(cat "${PKG_DATA}/_metadata/name")
127EOF
128fi
129
130if [[ -e ${PKG_DATA}/_metadata/author ]]; then
131    cat <<EOF
132Author: $(cat "${PKG_DATA}/_metadata/author")
133EOF
134fi
135
136if [[ -e ${PKG_DATA}/_metadata/homepage ]]; then
137    cat <<EOF
138Homepage: $(cat "${PKG_DATA}/_metadata/homepage")
139EOF
140fi
141
142if [[ $1 == status || $1 == available ]]; then
143    echo
144fi
Note: See TracBrowser for help on using the browser.