File: php-versions

package info (click to toggle)
dh-php 5.19
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 108 kB
  • sloc: perl: 158; sh: 126; makefile: 123
file content (50 lines) | stat: -rwxr-xr-x 1,280 bytes parent folder | download
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
#!/bin/sh

if [ ! -x /usr/sbin/phpquery ]; then
	echo "php-defaults must be installed"
	exit 1
fi
if ! command -v xml2 >/dev/null; then
	echo "xml2 must be installed"
fi

for ver in $(/usr/sbin/phpquery -V); do
	min_ver=
	max_ver=

	for package_xml in "package-${ver}.xml" "package-$(echo "${ver}" | cut -f 1 -d .).xml" package.xml; do
		if [ -f "$package_xml" ]; then
			break
		fi
		package_xml=
	done

	if [ -n "${package_xml}" ]; then
		min_ver=$(xml2 <"${package_xml}" | sed -ne "s,^/package/dependencies/required/php/min=\([0-9]\+\.[0-9]\+\.[0-9]\+\),\1,p")
		max_ver=$(xml2 <"${package_xml}" | sed -ne "s,^/package/dependencies/required/php/max=\([0-9]\+\.[0-9]\+\.[0-9]\+\).*,\1,p")
	else
		min_ver=$(sed -ne 's/X-PHP-Versions: //p' debian/control | tr -s " " "\n" | sort -n | head -1)
		if [ -n "$min_ver" ]; then
			min_ver="${min_ver}.0"
		fi
		max_ver=$(sed -ne 's/X-PHP-Versions: //p' debian/control | tr -s " " "\n" | sort -n | tail -1)
		if [ -n "$max_ver" ]; then
			max_ver="${max_ver}.99"
		fi
	fi

	if [ -z "$min_ver" ]; then
		continue
	fi

	if [ -n "$min_ver" ] && dpkg --compare-versions "${ver}.0" lt "$min_ver"; then
		continue
	fi
	if [ -n "$max_ver" ] && dpkg --compare-versions "${ver}.0" ge "$max_ver"; then
		continue
	fi

	echo "${ver}"
done

exit 0