summaryrefslogtreecommitdiff
path: root/Master/tlpkg/doc/specification.txt
blob: 4c24ce56b8ea521a9666f19ddbf0046d15a8a169 (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
Specifications
==============

1) tlsrc
--------
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
	runpatterns
	srcpatterns
	docpatterns
	binpatterns
	execute
	depend

Interpretation:
name
	name of the package

category
	TLCore Package Documentation
		as well known from tpms
		if none specified it is Package

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

(run|src|doc|bin)patterns
	(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 runpatterns:
		t texmf-dist topdir $tlp	for type = Package
			(with topdir = bibtex, context, ... see tlsrc2tlp.pl)
	for docpatterns:
		t texmf-dist doc $tlp		for type = Package
		t texmf-doc doc $tlp		for type = Documentation
	for srcpatterns:
		t texmf-dist source $tlp	for type = Package
		t texmf-doc source $tlp		for type = Documentation
	for binpatterns:
		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

2) tlp file
-----------
same format as tlsrc, 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
	can have (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) tldb file
------------
concatenation of all the tlp files, separated by empty line(s)