You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.1 KiB

#!/usr/bin/perl
#
# makedesc directory file
#
# Scan the directory for files, and use the files to generate a task
# description file. The format of the task description file is described in
21 years ago
# data.c. The format of the input files is:
#
# Task: desktop
# Section: user
# Description: Provide a basic GUI system
# This task provides functionality for a basic desktop; whether Gnome
# based, KDE based or customised. With this task, your system will boot
# into a graphical login screen, at which point you can choose which of
# these desktops you wish to use on a per-user basis. You can further
# customise your desktop once installed.
# Packages:
# kdebase
# gdm
# ...
#
# Hash-comments are allowed in the files, but must be on their own lines.
my $dir=shift or die "no directory specified\n";
my $file=shift or die "no file specified\n";
* Modifications to existing tasks: - Replaced talk of "this [meta]package" with "this task", and like changes. - In l10n tasks, s/-speaking// for consistency. - Make all l10n tasks include locales. It's in base, so this is of dubious utility, but some had it and some not. - Changed short descriptions of basic-desktop and desktop in an attempt to clarify how they're different. - Added some comments here and there for unresolved issues. - Largely rewrote Debian Jr. descriptions. - Added menu to desktop task. - Rejiggered mail-server, to be a general purpose mail server, not just imap. - Moved samba-server to file-server, and made that include nfs stuff too. - Added a print-server task, that also includes samba, along with other stuff. - Killed debian-dev(el) task, since it does not meet our task criteria -- nowhere near 10% of debian users are debian developers (we hope!), and probably not enough regular users will use this package to make up the difference. This is my own package, so I'm willing to be persuaded otherwise, though.. - Removed misc window managers from the desktop task. It is unnecessary to list them there, since anXious will let the user choose. - Killed the demo tasks. - Went for consistent capitalization of the short descriptions. Just capitalize proper names. I'm not sure if I like this effect, we may want to capitalize the first word of each description too. - Sundry other changes of little note. * Replaced several occurrances of "task packages" with "tasks" elsewhere in tasksel. * Added -a switch, to show all tasks, even empties. Mostly useful before we get tasks into the Packages files, for a global overview of how the * Added lint check to makedesc.pl -- it will warn at build time about tasks that list unavailable packages. This caught several references to virtual packages, etc already, that need to be fixed.. * VERSION in Makefile automatically tracks changelog.
22 years ago
my %package;
my %notmain;
* Modifications to existing tasks: - Replaced talk of "this [meta]package" with "this task", and like changes. - In l10n tasks, s/-speaking// for consistency. - Make all l10n tasks include locales. It's in base, so this is of dubious utility, but some had it and some not. - Changed short descriptions of basic-desktop and desktop in an attempt to clarify how they're different. - Added some comments here and there for unresolved issues. - Largely rewrote Debian Jr. descriptions. - Added menu to desktop task. - Rejiggered mail-server, to be a general purpose mail server, not just imap. - Moved samba-server to file-server, and made that include nfs stuff too. - Added a print-server task, that also includes samba, along with other stuff. - Killed debian-dev(el) task, since it does not meet our task criteria -- nowhere near 10% of debian users are debian developers (we hope!), and probably not enough regular users will use this package to make up the difference. This is my own package, so I'm willing to be persuaded otherwise, though.. - Removed misc window managers from the desktop task. It is unnecessary to list them there, since anXious will let the user choose. - Killed the demo tasks. - Went for consistent capitalization of the short descriptions. Just capitalize proper names. I'm not sure if I like this effect, we may want to capitalize the first word of each description too. - Sundry other changes of little note. * Replaced several occurrances of "task packages" with "tasks" elsewhere in tasksel. * Added -a switch, to show all tasks, even empties. Mostly useful before we get tasks into the Packages files, for a global overview of how the * Added lint check to makedesc.pl -- it will warn at build time about tasks that list unavailable packages. This caught several references to virtual packages, etc already, that need to be fixed.. * VERSION in Makefile automatically tracks changelog.
22 years ago
my $dolint=1;
{
local $/="\n\n";
if (! open (AVAIL, "/var/lib/dpkg/available")) {
warn "cannot real available file, so disabling lint check\n";
$dolint=0;
}
while (<AVAIL>) {
my ($package)=/Package:\s*(.*?)\n/;
$package{$package}=1;
if (/Section:\s*(contrib|non-free)/) {
$notmain{$package}=$1;
}
* Modifications to existing tasks: - Replaced talk of "this [meta]package" with "this task", and like changes. - In l10n tasks, s/-speaking// for consistency. - Make all l10n tasks include locales. It's in base, so this is of dubious utility, but some had it and some not. - Changed short descriptions of basic-desktop and desktop in an attempt to clarify how they're different. - Added some comments here and there for unresolved issues. - Largely rewrote Debian Jr. descriptions. - Added menu to desktop task. - Rejiggered mail-server, to be a general purpose mail server, not just imap. - Moved samba-server to file-server, and made that include nfs stuff too. - Added a print-server task, that also includes samba, along with other stuff. - Killed debian-dev(el) task, since it does not meet our task criteria -- nowhere near 10% of debian users are debian developers (we hope!), and probably not enough regular users will use this package to make up the difference. This is my own package, so I'm willing to be persuaded otherwise, though.. - Removed misc window managers from the desktop task. It is unnecessary to list them there, since anXious will let the user choose. - Killed the demo tasks. - Went for consistent capitalization of the short descriptions. Just capitalize proper names. I'm not sure if I like this effect, we may want to capitalize the first word of each description too. - Sundry other changes of little note. * Replaced several occurrances of "task packages" with "tasks" elsewhere in tasksel. * Added -a switch, to show all tasks, even empties. Mostly useful before we get tasks into the Packages files, for a global overview of how the * Added lint check to makedesc.pl -- it will warn at build time about tasks that list unavailable packages. This caught several references to virtual packages, etc already, that need to be fixed.. * VERSION in Makefile automatically tracks changelog.
22 years ago
}
close AVAIL;
}
open (OUT, ">$file") or die ">$file: $!";
use File::Find;
find(\&processfile, $dir);
sub processfile {
* Modifications to existing tasks: - Replaced talk of "this [meta]package" with "this task", and like changes. - In l10n tasks, s/-speaking// for consistency. - Make all l10n tasks include locales. It's in base, so this is of dubious utility, but some had it and some not. - Changed short descriptions of basic-desktop and desktop in an attempt to clarify how they're different. - Added some comments here and there for unresolved issues. - Largely rewrote Debian Jr. descriptions. - Added menu to desktop task. - Rejiggered mail-server, to be a general purpose mail server, not just imap. - Moved samba-server to file-server, and made that include nfs stuff too. - Added a print-server task, that also includes samba, along with other stuff. - Killed debian-dev(el) task, since it does not meet our task criteria -- nowhere near 10% of debian users are debian developers (we hope!), and probably not enough regular users will use this package to make up the difference. This is my own package, so I'm willing to be persuaded otherwise, though.. - Removed misc window managers from the desktop task. It is unnecessary to list them there, since anXious will let the user choose. - Killed the demo tasks. - Went for consistent capitalization of the short descriptions. Just capitalize proper names. I'm not sure if I like this effect, we may want to capitalize the first word of each description too. - Sundry other changes of little note. * Replaced several occurrances of "task packages" with "tasks" elsewhere in tasksel. * Added -a switch, to show all tasks, even empties. Mostly useful before we get tasks into the Packages files, for a global overview of how the * Added lint check to makedesc.pl -- it will warn at build time about tasks that list unavailable packages. This caught several references to virtual packages, etc already, that need to be fixed.. * VERSION in Makefile automatically tracks changelog.
22 years ago
my $file=$_; # File::Find craziness.
return unless $file =~ /^[-+_.a-z0-9]+$/ and -f $file;
open (IN, $file) or die "$file: $!";
my %fields;
my $field="";
while (<IN>) {
chomp;
next if /^\s*#/;
* Modifications to existing tasks: - Replaced talk of "this [meta]package" with "this task", and like changes. - In l10n tasks, s/-speaking// for consistency. - Make all l10n tasks include locales. It's in base, so this is of dubious utility, but some had it and some not. - Changed short descriptions of basic-desktop and desktop in an attempt to clarify how they're different. - Added some comments here and there for unresolved issues. - Largely rewrote Debian Jr. descriptions. - Added menu to desktop task. - Rejiggered mail-server, to be a general purpose mail server, not just imap. - Moved samba-server to file-server, and made that include nfs stuff too. - Added a print-server task, that also includes samba, along with other stuff. - Killed debian-dev(el) task, since it does not meet our task criteria -- nowhere near 10% of debian users are debian developers (we hope!), and probably not enough regular users will use this package to make up the difference. This is my own package, so I'm willing to be persuaded otherwise, though.. - Removed misc window managers from the desktop task. It is unnecessary to list them there, since anXious will let the user choose. - Killed the demo tasks. - Went for consistent capitalization of the short descriptions. Just capitalize proper names. I'm not sure if I like this effect, we may want to capitalize the first word of each description too. - Sundry other changes of little note. * Replaced several occurrances of "task packages" with "tasks" elsewhere in tasksel. * Added -a switch, to show all tasks, even empties. Mostly useful before we get tasks into the Packages files, for a global overview of how the * Added lint check to makedesc.pl -- it will warn at build time about tasks that list unavailable packages. This caught several references to virtual packages, etc already, that need to be fixed.. * VERSION in Makefile automatically tracks changelog.
22 years ago
s/#.*//;
if (/^\s/) {
$fields{$field}.="\n$_";
}
else {
($field, my $value)=split(/:\s*/, $_, 2);
$field=lc($field);
$fields{$field}=$value;
}
}
close IN;
* Modifications to existing tasks: - Replaced talk of "this [meta]package" with "this task", and like changes. - In l10n tasks, s/-speaking// for consistency. - Make all l10n tasks include locales. It's in base, so this is of dubious utility, but some had it and some not. - Changed short descriptions of basic-desktop and desktop in an attempt to clarify how they're different. - Added some comments here and there for unresolved issues. - Largely rewrote Debian Jr. descriptions. - Added menu to desktop task. - Rejiggered mail-server, to be a general purpose mail server, not just imap. - Moved samba-server to file-server, and made that include nfs stuff too. - Added a print-server task, that also includes samba, along with other stuff. - Killed debian-dev(el) task, since it does not meet our task criteria -- nowhere near 10% of debian users are debian developers (we hope!), and probably not enough regular users will use this package to make up the difference. This is my own package, so I'm willing to be persuaded otherwise, though.. - Removed misc window managers from the desktop task. It is unnecessary to list them there, since anXious will let the user choose. - Killed the demo tasks. - Went for consistent capitalization of the short descriptions. Just capitalize proper names. I'm not sure if I like this effect, we may want to capitalize the first word of each description too. - Sundry other changes of little note. * Replaced several occurrances of "task packages" with "tasks" elsewhere in tasksel. * Added -a switch, to show all tasks, even empties. Mostly useful before we get tasks into the Packages files, for a global overview of how the * Added lint check to makedesc.pl -- it will warn at build time about tasks that list unavailable packages. This caught several references to virtual packages, etc already, that need to be fixed.. * VERSION in Makefile automatically tracks changelog.
22 years ago
# Basic lint of the listed packages.
# TODO: a better lint would incloude checks for conflicting
# packages. Hard tho.
if ($dolint) {
foreach (split ' ', $fields{packages}) {
if (! $package{$_}) {
print STDERR "$file: $_ is not a valid package.\n";
}
if ($notmain{$_}) {
print STDERR "$file: $_ is in $notmain{$_}.\n";
}
* Modifications to existing tasks: - Replaced talk of "this [meta]package" with "this task", and like changes. - In l10n tasks, s/-speaking// for consistency. - Make all l10n tasks include locales. It's in base, so this is of dubious utility, but some had it and some not. - Changed short descriptions of basic-desktop and desktop in an attempt to clarify how they're different. - Added some comments here and there for unresolved issues. - Largely rewrote Debian Jr. descriptions. - Added menu to desktop task. - Rejiggered mail-server, to be a general purpose mail server, not just imap. - Moved samba-server to file-server, and made that include nfs stuff too. - Added a print-server task, that also includes samba, along with other stuff. - Killed debian-dev(el) task, since it does not meet our task criteria -- nowhere near 10% of debian users are debian developers (we hope!), and probably not enough regular users will use this package to make up the difference. This is my own package, so I'm willing to be persuaded otherwise, though.. - Removed misc window managers from the desktop task. It is unnecessary to list them there, since anXious will let the user choose. - Killed the demo tasks. - Went for consistent capitalization of the short descriptions. Just capitalize proper names. I'm not sure if I like this effect, we may want to capitalize the first word of each description too. - Sundry other changes of little note. * Replaced several occurrances of "task packages" with "tasks" elsewhere in tasksel. * Added -a switch, to show all tasks, even empties. Mostly useful before we get tasks into the Packages files, for a global overview of how the * Added lint check to makedesc.pl -- it will warn at build time about tasks that list unavailable packages. This caught several references to virtual packages, etc already, that need to be fixed.. * VERSION in Makefile automatically tracks changelog.
22 years ago
}
}
print OUT map { ucfirst($_).": ".$fields{$_}."\n" }
21 years ago
qw{task section description essential};
print OUT "\n";
}
close OUT;