summaryrefslogtreecommitdiff
path: root/Master/tlpkg/doc/specification.txt
blob: 9cefac9a834bda721f8a67c8959bf18ae241b23c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Specifications
==============

(see also the pod documentation of the respective perl modules for
 the specificatin)

1) tlpsrc
---------
one file *WITHOUT* empty lines (but beginning and end)
every line looks like
	key value
possible keys are
	name		(must be first)
	category
	shortdesc
	longdesc
	catalogue
	runpattern
	srcpattern
	docpattern
	binpattern
	execute
	depend
(NO continuation lines!)

Interpretation:
name
	name of the package

category
	Collection Scheme TLCore Package Documentation
		as well known from tpms
		Collection and Scheme is new and is for ...

catalogue
	name of the respective Catalogue entry, if missing, same as name

(run|src|doc|bin)pattern
	(cheap/expensive means working time)

	current status:
		[PREFIX]TYPE PAT
		TYPE = t f d r
		PREFIX = + | +! | !
	t word1 ... wordN wordL
		include all files below all dirs of the form
			word1/.../wordN/.../wordL/...
		(cheap)
	f string
		include file "string" where the LAST(!!!) entry (basename)
		of string can contain glob characters * and ? (but no other!)
		(cheap)
	d string
		include all files in and below the directory "string"
		(cheap)
	r regexp
		include all files matching /^regexp$/
		(expensive)
	
	Note that if one of the patterns section is empty OR (!!!) all 
	provided patterns have the prefix "+" (eg "+f ...."), then
	the following patterns are added:
	for runpattern:
		t texmf-dist topdir $tlp	for type = Package
			(with topdir = bibtex, context, ... see tlsrc2tlp.pl)
	for docpattern:
		t texmf-dist doc $tlp		for type = Package
		t texmf-doc doc $tlp		for type = Documentation
	for srcpattern:
		t texmf-dist source $tlp	for type = Package
		t texmf-doc source $tlp		for type = Documentation
	for binpattern:
		NONE!!	
	
	If the prefix contains a ! the pattern is negated, ie after all the 
	files for positive patterns have been added, those matching the 
	negative patterns are removed.

execute free form
	is taken one to one into the tlp file

depend
	is taken one to one into the tlp file
	made up of
		Type/Package
	where
		Type ::= TLCore | Documentation | Package

shortdesc
	short one line desc
	is taken one to one into the tlp file
	if missing can be taken from Catalogue

longdesc
	longer multiline dscription
	is taken one to one into the tlp file
	if missing can be taken from Catalogue
	all the lines of longdesc are concatenated

2) tlpobj file
--------------
same format as tlpsrc, but the keys are
	name
	category
	revision
	shortdesc
	longdesc
	catalogue
	runfiles
	docfiles
	srcfiles
	binfiles
	execute
	depend
	??? what am I missing ???

Interpretation
	bin|src|doc|runfiles MUST be saved in multi line entries with
	continuation lines intended by one (1) space. all of them
	must have the size tag size=......, in addition
	binfiles can have the arch tag arch=...
		/----------
		|docfiles size=....
		| file1
		| file2
		| ...
	For binfiles the architecture can be given on the binfile line:
		/------------
		|binfiles arch=i386-solaris size=....
		| file1
		| file2
		| file3
		| ...
	Note that only *ONE* *files entry per tlp is allowed

	rest obvious

	revision
		maxmimum of all the last_changed_revisions of all
		contained files

3) tlpdb file
------------
concatenation of all the tlp files, separated by empty line(s)