blob: b9a5fd66710e3439c15909ec267aad338a912550 (
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
|
#!/bin/bash
. "./default.conf"
# Compute dependencies and make-dependencies to build packages in stage1,
# stage2 or stage3
tmp_dir=$(mktemp -d 'tmp.compute-dependencies.0.XXXXXXXXXX' --tmpdir)
trap 'rm -rf --one-file-system "${tmp_dir}"' EXIT
# all top-level packages in base and base-devel
TOP_PACKAGES=$(pacman -Qg base base-devel | cut -f 2 -d ' ')
# get dependencies
for package in $TOP_PACKAGES; do
pactree -l $package >>${tmp_dir}/dependencies
done
# all packages needed
ALL_PACKAGES=$(cat ${tmp_dir}/dependencies | sort | uniq)
export CARCH='x86_64'
for package in $ALL_PACKAGES; do
asp show $package >${tmp_dir}/$package.PKGBUILD
# temporary hotfix for FS#57524
if test "$(head -n1 ${tmp_dir}/$package.PKGBUILD | grep -c '^\$Id\$$' )" == 1; then
sed -i 's/^\(\$Id\$\)$/#\1/' ${tmp_dir}/$package.PKGBUILD
fi
# asp makes redirects like '==>' ignore those and use the pointee
if test "$(head -n1 ${tmp_dir}/$package.PKGBUILD | grep -c '==>' )" == 1; then
_tmp=$(head -n1 ${tmp_dir}/$package.PKGBUILD | sed 's/==> \(.*\)/\1/')
SUB_PACKAGE=$(echo $_tmp | cut -f 1 -d ' ')
ADD_PACKAGE=$(echo $_tmp | rev | cut -f 1 -d ' ' | rev)
# TODO: we should map sub packages to packages everywhere
echo "WARN: seen a redirect from $SUB_PACKAGE to $ADD_PACKAGE" >&2
continue
fi
depends=$(. ${tmp_dir}/$package.PKGBUILD; echo "${depends[@]}")
makedepends=$(. ${tmp_dir}/$package.PKGBUILD; echo "${makedepends[@]}")
# TODO handle version constraints
#checkdepends=$(. ${tmp_dir}/$package.PKGBUILD; echo "${checkdepends[@]}")
#echo $package
#printf "\tdepends: $depends\n"
#printf "\tmakedepends: $makedepends\n"
#printf "\tcheckdepends: $checkdepends\n"
# echo "${depends[@]}"
echo "${makedepends[@]}"
done
# ./compute_dependencies.sh | tr -s ' ' '\n' | sort | uniq > depends
# ./compute_dependencies.sh | tr -s ' ' '\n' | sort | uniq > makedepends
# grep -xf depends makedepends > makedepends_already_depends
# grep -vxf depends makedepends > new_makedepends
|