Package: blends-dev Version: 0.6.93 Severity: important Tags: patch User: debian-...@lists.debian.org Usertags: debian-edu X-Debbugs-Cc: debian-...@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
signature.asc
Description: Digital signature