|
|
|
/* $Id: data.h,v 1.8 2003/07/25 18:06:28 joeyh Exp $ */
|
|
|
|
#ifndef _DATA_H
|
|
|
|
#define _DATA_H
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
PRIORITY_UNKNOWN = 0,
|
|
|
|
PRIORITY_REQUIRED,
|
|
|
|
PRIORITY_IMPORTANT,
|
|
|
|
PRIORITY_STANDARD,
|
|
|
|
PRIORITY_OPTIONAL,
|
|
|
|
PRIORITY_EXTRA
|
|
|
|
} priority_t;
|
|
|
|
|
|
|
|
struct package_t {
|
|
|
|
char *name;
|
|
|
|
char *shortdesc;
|
|
|
|
char *longdesc;
|
|
|
|
int dependscount;
|
|
|
|
char **depends;
|
|
|
|
int recommendscount;
|
|
|
|
char **recommends;
|
|
|
|
int suggestscount;
|
|
|
|
char **suggests;
|
|
|
|
char *section;
|
|
|
|
priority_t priority;
|
|
|
|
int selected;
|
|
|
|
int pseudopackage;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct packages_t {
|
|
|
|
int count;
|
|
|
|
void *packages;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct task_t {
|
|
|
|
char *name;
|
|
|
|
struct package_t *task_pkg;
|
|
|
|
char **packages;
|
|
|
|
int packagescount;
|
|
|
|
int packagesmax;
|
|
|
|
int selected;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct tasks_t {
|
|
|
|
int count;
|
|
|
|
void *tasks;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Reads in a list of tasks from task description file */
|
* 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
|
|
|
void taskfile_read(char *fn, struct tasks_t *tasks, struct packages_t *pkgs, unsigned char showempties);
|
|
|
|
/* Reads in a list of package and package descriptions from available file */
|
|
|
|
void packages_readlist(struct tasks_t *tasks, struct packages_t *packages);
|
|
|
|
/* free memory allocated to store packages */
|
|
|
|
void packages_free(struct tasks_t *tasks, struct packages_t *packages);
|
|
|
|
|
|
|
|
struct package_t *packages_find(const struct packages_t *packages, const char *name);
|
|
|
|
struct task_t *tasks_find(const struct tasks_t *tasks, const char *name);
|
|
|
|
struct package_t **packages_enumerate(const struct packages_t *packages);
|
|
|
|
struct task_t **tasks_enumerate(const struct tasks_t *tasks);
|
|
|
|
|
|
|
|
#endif
|