aboutsummaryrefslogtreecommitdiffstats
path: root/main/debootstrap/init-freedom-668001.patch
blob: c9c9eaef658101a4b9691fe4be69a5eb17c21ea6 (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
Apply init freedom patch since Debian's maintainer is obstructing a bugfix to honor exclude directive and allow people to avoid having systemd at early stage, see bug 668001 in Debian
--- a/debootstrap
+++ b/debootstrap
@@ -51,7 +51,7 @@
 DEF_MIRROR="http://httpredir.debian.org/debian"
 DEF_HTTPS_MIRROR="https://mirrors.kernel.org/debian"
 
-export LANG USE_COMPONENTS
+export LANG USE_COMPONENTS EXCLUDE
 umask 022
 
 ###########################################################################
--- a/functions
+++ b/functions
@@ -1181,6 +1181,8 @@
 			perl -e '
 $prevpkg = "";
 @d = ();
+my %exclude;
+$exclude{$_} = 1 for split(" ", $ENV{"EXCLUDE"});
 while (<STDIN>) {
 	chomp;
 	if (/^Package: (.*)$/) {
@@ -1197,9 +1199,13 @@
 	$in = 0 if (/^$/);
 	if ($in and (/^Depends: (.*)$/ or /^Pre-Depends: (.*)$/)) {
 		for $d (split /\s*,\s*/, $1) {
-			$d =~ s/\s*[|].*$//;
-			$d =~ s/\s*[(].*[)]\s*//;
-			push @d, $d;
+			for $p (split /\s*\|\s*/, $d) {
+				$p =~ s/\s*[(].*[)]\s*//;
+				if (!$exclude{$p}) {
+					push @d, $p;
+					last;
+				}
+			}
 		}
 	}
 }