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.

99 lines
2.3 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";
- Updated copyright date range. - Make unselected buttons be the same color as the window itself. Matches look of new, fixed whiptail, and Closes: #122212 - Note in README that the way to get a task added is a bug report against this package. Closes: #144533 - Removed broken python-bobo from python task. Closes: #180925 - The python task is retarget at providing a subset of the more useful python tools, instead of everything. Semi-randomly removed some stuff. Someone who uses python might want to take over maintainership of this task. - Capitalised first letter of every task, in an effort to look "professional". Closes: #183109 - Removed the fortran task, not sufficiently used. - Added mutt and spamassassin to mail server task. - Fixed menu entry to give full path to su-to-root as it is in sbin for some reason. Closes: #188367 - Replace gnome-gnomines with gnome-games in games task, package rename. Closes: #190874 - Replace xtris with the currently popular tetrinet in games task. - Make "available file" message recommend running dselect update. Closes: #153016, #183690 - Replace netenv (with its nasty boot-time prompt) with guessnet (with its slick new ifupdown integration) in laptop task. - Add hdparm to laptop task, since many laptop users will want to use it to speed up (or turn off!) their disks. Closes: #87450 - Add menu to office task. - Added a java task. Closes: #108061 - Removed inlined Spanish translation of spanish task. However we should add translations, it's not like that! - Added a Thai task. Closes: #122663. Needs review since the bug's package list was 2 years old. - Cleaned up bad wording in most of the descriptions of the language-specific tasks. - Added sudo to unix-server. - Added kernel-compile task for custom kernel building. Closes: #184428 - Blessed the idea of putting Maintainer fields in individual task files. - Removed nonexistant packages from tasks: netscape-zh-resource-477, dialdcost, hanterm - Put cxterm-ks in korean task to replace hanterm. I hope that's right. - Rename mozilla-locale-es to mozilla-locale-es-es. - For chinese-t, use doc-linux-zh-text, which provides traditional chinese. doc-linux-zh-t went away. - doincludes.pl and makedesc.pl use apt-cache dumpavail instead of dselect available file, for more up-to-date information.
19 years ago
if (! open (AVAIL, "apt-cache dumpavail |")) {
* 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
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.
$file eq 'po' && -d $file && ($File::Find::prune = 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
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 my $field (qw(key packages)) {
foreach (split ' ', $fields{$field}) {
if (! $package{$_}) {
print STDERR "$file: $_ is not a valid package.\n";
if ($field eq 'key') {
print STDERR "MISSING KEY PACKAGE, TASK BROKEN\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" }
qw{task section relevance description key};
print OUT "\n";
}
close OUT;