Package: blends-dev
Version: 0.6.93
Severity: important
Tags: patch
User: debian-edu@lists.debian.org
Usertags: debian-edu
X-Debbugs-Cc: debian-edu@lists.debian.org
Hi,
while testing Debian Edu Stretch I noticed that the tasks desc file
generated by blend-gen-control doesn't work with the Debian Edu udeb
approach; see #834719.
IMO blends-dev should provide the possibility to generate a task desc
file that is compliant with the case that udebs are used to modify the
installer.
It would be good for a blend if just adding a line containing
"TASKSELOPTS = -u" to their own Makefile would generate a compliant
desc file. Without this line the desc file should be generated as is.
Please check if the modifications below are acceptable:
diff -u a/blends-dev/blend-gen-control b/blends-dev/blend-gen-control
--- a/blends-dev/blend-gen-control 2016-04-09 20:42:00.000000000 +0200
+++ b/blends-dev/blend-gen-control 2016-08-26 17:32:38.818075961 +0200
@@ -60,12 +60,13 @@
-s <sourcefile> : specify which sources.list file to use
-S : suppress tasks without any recommended package
-t : print task descriptions and package list for task
+ -u : modify tasks desc file in case the blend uses udebs
example: $0 -s sources.list.etch -D -c -m -i
EOF
}
-getopts("cdaemis:StDhA", \%opts);
+getopts("cdaemis:StuDhA", \%opts);
usage() and exit if $opts{'h'};
@@ -281,15 +282,16 @@
# Enable to list all dependencies as key packages
my $task_depends_are_keys = 0;
sub print_task_desc {
- print "Task: $blendname\n";
- print "Relevance: 7\n";
- print "Section: $blendname\n";
+ if (! $opts{'u'} ) {
+ print "Task: $blendname\n";
+ print "Relevance: 7\n";
+ print "Section: $blendname\n";
# print "Key: \n";
# print " $blendshortname-tasks\n";
- print "Description: $blendtitle Pure Blend\n";
- print " .\n"; # no long description available
- print "\n";
-
+ print "Description: $blendtitle Pure Blend\n";
+ print " .\n"; # no long description available
+ print "\n";
+ }
foreach my $task (sort keys %taskinfo) {
next if (exists $taskinfo{$task}{'Leaf'} &&
$taskinfo{$task}{'Leaf'} eq 'false');
@@ -313,15 +315,22 @@
}
}
print "Task: $task\n";
- print "Parent: $blendname\n";
- print "Section: $blendname\n";
+ if (! $opts{'u'}) {
+ print "Parent: $blendname\n";
+ };
+ print "Section: $blendname\n";
print "Description: $taskinfo{$task}{Description}\n";
print "$taskinfo{$task}{'Description-long'}"; # Already contain newline
+ if ($opts{'u'}) {
+ print "Relevance: 10\n";
+ }
print "Enhances: $taskinfo{$task}{Enhances}\n"
if exists $taskinfo{$task}{Enhances};
if (!exists $taskinfo{$task}{'Install'} ||
$taskinfo{$task}{'Install'} ne 'false') {
- print "Test-new-install: mark show\n";
+ if (! $opts{'u'}) {
+ print "Test-new-install: mark show\n";
+ }
}
for $header (keys %{$taskinfo{$task}}) {
if ($header =~ m/test-.+/i) {
@@ -343,6 +352,15 @@
}
}
+ if ($opts{'u'}) {
+ print "Packages: list\n";
+ for my $header (qw(Depends Recommends)) {
+ foreach my $package (task_packages($task, $header, 1)) {
+ print " $package\n" unless $seen{$package};
+ $seen{$package} = 1;
+ }
+ }
+ }
print "\n";
}
}
diff -u a/blends-dev/Makefile b/blends-dev/Makefile
--- a/blends-dev/Makefile 2016-03-31 20:31:00.000000000 +0200
+++ b/blends-dev/Makefile 2016-08-26 15:33:38.000000000 +0200
@@ -11,6 +11,7 @@
TARGET_DIST := $(shell head -1 debian/changelog |awk '{print $$3}'|tr -d ';')
BLEND := $(shell /usr/share/blends-dev/blend-get-names blendname)
GENCONTROL := /usr/share/blends-dev/blend-gen-control
+TASKSELOPTS := $(shell grep TASKSELOPTS Makefile | cut -d '=' -f2)
# Verify whether config/control exists, if yes, add it to the depends of debian/control
CONFIGCONTROL := $(shell if [ -d config -a -e config/control ] ; then echo config/control; fi)
@@ -26,7 +27,7 @@
tasksel: $(BLEND)-tasks.desc
$(BLEND)-tasks.desc: tasks/* debian/changelog
- LC_ALL=C $(GENCONTROL) -s $(TARGET_DIST) -S -t -A > $(BLEND)-tasks.desc.new && mv $(BLEND)-tasks.desc.new $(BLEND)-tasks.desc
+ LC_ALL=C $(GENCONTROL) -s $(TARGET_DIST) $(TASKSELOPTS) -S -t -A > $(BLEND)-tasks.desc.new && mv $(BLEND)-tasks.desc.new $(BLEND)-tasks.desc
packages.txt: tasks/*
$(GENCONTROL) -s $(TARGET_DIST) -a > packages.txt.$$$$ && mv packages.txt.$$$$ packages.txt
Wolfgang
Attachment:
signature.asc
Description: Digital signature