blob: 623ad33b40955caeac8411438e24cc74acf43047 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
# Maintainer (AUR): Jochen Schalanda <jochen+aur@schalanda.name>
# Contributor (AUR): Pierre Carrier <pierre@spotify.com>
# Contributor (AUR): Thomas Dziedzic <gostrc@gmail>
# Contributor (AUR): Chris Giles <Chris.G.27@gmail.com>
# Contributor (AUR): seblu <seblu+arch@seblu.net>
# Contributor (AUR): squiddo <squiddo@intheocean.net>
pkgbase=dpkg
#pkgname=(dpkg dpkg-devtools dselect libdpkg perl-dpkg)
pkgname=(dpkg-devtools perl-dpkg)
pkgdesc="Debian Package manager and utilities"
license=('GPL2')
pkgver=1.17.6
url="http://packages.debian.org/source/sid/dpkg"
pkgrel=2
options=('staticlibs')
if ! type in_array &>/dev/null; then
in_array() {
local i
for i in "${@:2}"; do [[ $i = "$1" ]] && return 0; done
return 1
}
fi
# The architecture dependent bits aren't packaged with the reduced pkgname
arch=('any')
for _pkg in dpkg dselect libdpkg; do
if in_array "$_pkg" "${pkgname[@]}"; then
arch=('i686' 'x86_64' 'mips64el')
fi
done
unset _pkg
makedepends=('bzip2' 'xz' 'zlib' 'ncurses')
checkdepends=('gzip' 'perl-test-pod' 'perl-io-string' 'perl-timedate')
_debrepo=http://ftp.debian.org/debian/pool/main
_debfile() { echo "${_debrepo}/${1:0:1}/${1%_*}/${1}"; }
source=("$(_debfile ${pkgbase}_${pkgver}).tar.xz"
dpkg-gzip-rsyncable.patch)
md5sums=('c87f2ae291d460015353e01d121bea85'
'9c77a553e3219dcd29b7ff44b89d718d')
######################################################################
# This is really gross.
# It uses the debian control files to help us split the package.
# Shame on the dpkg developers for not putting that logic into the build system.
_destdir="$pkgbase-$pkgver/debian/pkg-makepkg"
_debhelper_install() {
local debname=$1
cd "$srcdir/$_destdir"
# main files
sed -e '/^\s*$/d' -e 's|usr/share/perl5/|&vendor_perl/|g' ../$debname.install |
while read pattern dest; do
if [[ -z $dest ]]; then
for file in $pattern; do
install -d "$pkgdir/${file%/*}"
cp -a "$file" "$pkgdir/$file" || true
done
else
install -d "$pkgdir/$dest/"
cp -a "$pattern" "$pkgdir/$dest/" || true
fi
done
# manpages
sed -e 's|^debian/tmp/||' -e '/^\s*$/d' ../$debname.manpages 2>/dev/null |
while read pattern; do
for file in $pattern; do
install -d "$pkgdir/${file%/*}"
cp -a "$file" "$pkgdir/$file" || true
done
done
# other documentation
sed '/^\s*$/d' ../$debname.docs 2>/dev/null |
while read file; do
install -d "$pkgdir/usr/share/doc/$pkgname/"
gzip \
< "$srcdir/$pkgbase-$pkgver/$file" \
> "$pkgdir/usr/share/doc/$pkgname/${file##*/}.gz"
done
# symlinks
sed '/^\s*$/d' ../$debname.links 2>/dev/null |
while read file link; do
ln -s "/$file" "$pkgdir/$link"
done
}
######################################################################
prepare() {
cd "${srcdir}/${pkgbase}-${pkgver}"
# {Arch,Parabola}'s gzip doesn't support --rsyncable
patch -Np1 -i "${srcdir}/dpkg-gzip-rsyncable.patch"
}
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
--sbindir=/usr/bin \
--localstatedir=/var \
--with-zlib \
--with-liblzma \
--with-bz2
make
make DESTDIR="$srcdir/$_destdir" install
}
check() {
cd "${srcdir}/${pkgbase}-${pkgver}"
make check
}
package_dpkg() {
pkgdesc="Debian Package manager"
depends=('zlib' 'xz' 'bzip2')
_debhelper_install dpkg
}
package_dpkg-devtools() {
pkgdesc="Debian Package development tools"
arch=('any')
depends=('perl-dpkg')
_debhelper_install dpkg-dev
}
package_dselect() {
pkgdesc="Debian Package manager high-level interface"
depends=('dpkg' 'perl' 'ncurses')
_debhelper_install dselect
}
package_libdpkg() {
pkgdesc="Debian Package manager library (static)"
_debhelper_install libdpkg-dev
}
package_perl-dpkg() {
pkgdesc="Debian Package Perl modules"
arch=('any')
depends=('perl-timedate' 'gzip' 'bzip2' 'xz')
_debhelper_install libdpkg-perl
}
|