summaryrefslogtreecommitdiffstats
path: root/data/doc/sisu/org/sisu_packaging.org
blob: 66e7b9656a7611af5d63c749aa7514917b19df4e (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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
#+OPTIONS: ^:nil _:nil
Developer Notes, Dependencies

* description
** short summary: 80 chars
documents - structuring, publishing in multiple formats and search
** longer
 SiSU is a lightweight markup based, command line oriented, document
 structuring, publishing and search, static content tool for document
 collections.
 .
 With minimal preparation of a plain-text (UTF-8) file, using sisu markup syntax
 in your text editor of choice, SiSU can generate various document formats, most
 of which share a common object numbering system for locating content, including
 plain text, HTML, XHTML, XML, EPUB, OpenDocument text (ODF:ODT), LaTeX, PDF
 files, and populate an SQL database with objects (roughly paragraph-sized
 chunks) so searches may be performed and matches returned with that degree of
 granularity. Think of being able to finely match text in documents, using
 common object numbers, across different output formats and across languages if
 you have translations of the same document. For search, your criteria is met
 by these documents at these locations within each document (equally relevant
 across different output formats and languages). To be clear (if obvious) page
 numbers provide none of this functionality. Object numbering is particularly
 suitable for "published" works (finalized texts as opposed to works that are
 frequently changed or updated) for which it provides a fixed means of reference
 of content. Document outputs can also share provided semantic meta-data.
 .
 SiSU also provides concordance files, document content certificates and
 manifests of generated output and the means to make book indexes that make use
 of its object numbering.
 .
 Syntax highlighting and folding (outlining) files are provided for the Vim and
 Emacs editors.
 .
 Dependencies for various features are taken care of in sisu related packages.
 The package sisu-complete installs the whole of SiSU.
 .
 Additional document markup samples are provided in the package
 sisu-markup-samples which is found in the non-free archive. The licenses for
 the substantive content of the marked up documents provided is that provided
 by the author or original publisher.
 .
 SiSU uses utf-8 & parses left to right. Currently supported languages:
 am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it
 ja ko la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta
 te th tk tr uk ur us vi zh (see XeTeX polyglossia & cjk)
 .
 SiSU works well under po4a translation management, for which an administrative
 sample Rakefile is provided with sisu_manual under markup-samples.

* Generic Dependencies
** source
git clone --depth 1 git://git.sisudoc.org/git/code/sisu.git --branch upstream
*** full source
git clone git://git.sisudoc.org/git/code/sisu.git --branch upstream

** an install method

$ qi setup --bin --lib --share --dryrun
$ sudo ./qi setup --bin --lib --share

$ qi setup --bin --lib --share --conf --data --dryrun
$ sudo ./qi setup --bin --lib --share --conf --data

$ qi setup --all --dryrun
$ sudo ./qi setup --all dryrun

** minimal
*** interpreter
ruby                 all, provides outputs text, html
*** compression tools
xz                   sisupod (sisu source)
zip unzip            epub & odt

*** images
imagemagick | graphicsmagick
ruby-rmagick ?

** special requirements

*** ruby requires
(checked for sisu 6.5.0 & 7.0.0)
require 'RMagick'         ao_images.rb
require 'base64'          xml_fictionbook2.rb
require 'cgi'             cgi_pgsql.rb
                          cgi_sqlite.rb
                          webrick.rb
require 'date'            se_date.rb
require 'dbi'             se_load.rb
require 'digest/md5'      shared_markup_alt.rb
require 'digest/sha2'     shared_markup_alt.rb
                          shared_markup_alt.rb
require 'fcgi'            cgi_pgsql.rb
                          cgi_sqlite.rb
                          webrick.rb
require 'fileutils'       dbi_discrete.rb
                          hub.rb
                          se.rb
                          se_cleanoutput.rb
                          se_createsite.rb
                          se_file_op.rb
                          se_file_op.rb
                          se_info_env.rb
                          se_info_env.rb
                          se_remotes.rb
                          src_kdissert_share.rb
require 'find'            xml_odf_odt.rb
require 'net/http'        remote.rb
require 'open-uri'        ao_composite.rb
                          remote.rb
require 'pathname'        hub_options.rb
                          se_info_env.rb
require 'pg'              cgi_pgsql.rb
                          dbi.rb
                          se_db.rb
require 'pp'              ao_composite.rb
                          remote.rb
require 'profile'         hub.rb
require 'pstore'          dp.rb
                          html.rb
                          texpdf.rb
                          texpdf.rb
                          xhtml_epub2.rb
require 'rbconfig'        se_info_system.rb
                          se_version.rb
require 'rexml/document'  sst_from_xml.rb
                          rexml.rb
                          rexml.rb
require 'singleton'       se.rb
                          se_clear.rb
                          se_envcall.rb
                          se_hub_particulars.rb
                          se_info_env.rb
                          se_programs.rb
                          se_version.rb
                          se_version.rb
require 'socket'          se_remotes.rb
require 'sqlite3'         cgi_sqlite.rb
                          dbi.rb
                          dbi_discrete.rb
                          se_db.rb
require 'time'            webrick.rb
                          webrick.rb
require 'timeout'         src_po4a_shelf.rb
                          src_po4a_sst_ao_sst.rb
require 'uri'             ao_composite.rb
                          dp.rb
                          hub.rb
                          hub_loop_markup_files.rb
require 'webrick'         webrick.rb
require 'yaml'            se_get_init.rb
                          se_get_init.rb
                          se_get_init.rb
                          se_get_init.rb
                          se_version.rb
require 'zlib'            xml_odf_odt.rb
require @prog             se_load.rb
require termsheet         termsheet.rb

ao_hash_digest.rb        sha_ ? (require 'digest/sha2') : (require 'digest/md5')

*** pdf

texlive
texlive-cjk
texlive-fonts ?
texlive-latex ?

.sty (texpdf_format.rb)

alltt.sty
amssymb.sty
babel.sty
boites.sty
color.sty
endnotes.sty
fancyhdr.sty
fontspec.sty
footmisc.sty
graphicx.sty
inputenc.sty
listings.sty
longtable.sty
manyfoot.sty
multicol.sty
parskip.sty
polyglossia.sty
soul.sty
textcomp.sty
thumbpdf.sty
titlepic.sty
ucs.sty
ulem.sty
url.sty
xetex.sty
xltxtra.sty
xunicode.sty

*** sql db
**** sqlite3

sqlite3               sql db, search
ruby-sqlite3          ruby driver

**** postgresql

postgresql            sql db, search
ruby-pg               ruby driver

*** web serve & search

ruby-fcgi (fast-cgi)  search form
httpd                 web server
(along with sql db)

*** qr codes

qrencode              qr codes based on document metadata

*** misc

tree                  information on document structure

*** maintenance/installation
ruby-thor | rake

ruby-thor
rake

* Debian Dependencies

** source
git clone --depth 1 git://git.sisudoc.org/git/code/sisu.git --branch debian/sid

** debian/control (extract)

Package: sisu
Depends: ${misc:Depends}, ruby | ruby-interpreter, rsync, unzip, zip, xz-utils
Recommends:
 sisu-pdf, sisu-sqlite, sisu-postgresql, imagemagick | graphicsmagick, keychain,
 openssh-client | lsh-client, openssl, po4a, qrencode, rake, ruby-rmagick,
 ruby-thor, tidy, tree, vim-addon-manager
Suggests: sisu-markup-samples, lv, calibre, pinfo, poedit, texinfo, trang

Package: sisu-complete
Depends:
 ${misc:Depends}, sisu (= ${source:Version}), sisu-pdf (= ${source:Version}),
 sisu-postgresql (= ${source:Version}), sisu-sqlite (= ${source:Version}),
 imagemagick | graphicsmagick, openssl, qrencode, ruby-thor, tree
Suggests: sisu-markup-samples

Package: sisu-pdf
Depends:
 ${misc:Depends}, sisu (= ${source:Version}),
 texlive-latex-base, texlive-fonts-recommended, texlive-generic-recommended,
 texlive-latex-recommended, texlive-latex-extra, texlive-math-extra,
 texlive-xetex, fonts-liberation, lmodern, latex-cjk-all, texlive-lang-cjk
Suggests: evince | pdf-viewer

Package: sisu-postgresql
Depends:
 ${misc:Depends}, sisu (= ${source:Version}),
 postgresql, ruby-pg, ruby-fcgi | libfcgi-ruby
Suggests: fcgiwrap, httpd, postgresql-contrib

Package: sisu-sqlite
Depends:
 ${misc:Depends}, sisu (= ${source:Version}),
 sqlite3, ruby-sqlite3, ruby-fcgi | libfcgi-ruby
Suggests: fcgiwrap, httpd

* Arch Linux Dependencies

** source

sisu-git

full clone is more than is needed, so is limiting the branch

git clone --branch upstream git://git.sisudoc.org/git/code/sisu.git

try get a shallow clone that contains the last tag for git describe source version info

git clone --depth 1 --branch upstream git://git.sisudoc.org/git/code/sisu.git
git clone --depth 1 --branch archlinux git://git.sisudoc.org/git/code/sisu.git

git clone --depth 1 --no-single-branch --branch upstream \
  git://git.sisudoc.org/git/code/sisu.git

*** git describe, source version
git describe --long --tags | sed 's/^sisu_//;s/\([^-]*-g\)/r\1/;s/-/./g'
git describe --long --tags | sed 's/^[a-z_-]\+//;s/\([^-]*-g\)/r\1/;s/-/./g'
git describe --long --tags | \
  sed 's/^[a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g'

needs more than a shallow clone of depth 1

** pacman install

sudo pacman -S ruby \
  zip unzip xy tree

sudo pacman -S ruby \
  texlive-core texlive-latexextra texlive-fontsextra texlive-langcjk

sudo pacman -S ruby \
  sqlite postgresql \
  fastcgi ruby-sqlite ruby-postgrsql

# issue with ruby-pg ruby-sqlite ruby-fcgi

** sort
*** interpreter
  ruby

*** compression tools (epub, odf:odt, sisupod)
  zip unzip
  xy

*** texlive (pdf)
sudo pacman -S texlive-core texlive-latexextra
sudo pacman -S texlive-core texlive-latexextra texlive-fontsextra texlive-langcjk

texlive-core       extra/texlive-core
texlive-fontsextra extra/texlive-fontsextra
texlive-langcjk    extra/texlive-langcjk

*** .sty (called from texpdf_format.rb)
alltt.sty          extra/texlive-core
amssymb.sty        extra/texlive-core
babel.sty          extra/texlive-core
boites.sty         extra/texlive-latexextra
color.sty          extra/texlive-core
endnotes.sty       extra/texlive-latexextra
fancyhdr.sty       extra/texlive-core
fontspec.sty       extra/texlive-core
footmisc.sty       extra/texlive-latexextra
graphicx.sty       extra/texlive-core
inputenc.sty       extra/texlive-core
listings.sty       extra/texlive-core
longtable.sty      extra/texlive-core
manyfoot.sty       extra/texlive-latexextra
multicol.sty       extra/texlive-core
parskip.sty        extra/texlive-core
polyglossia.sty    extra/texlive-core
soul.sty           extra/texlive-latexextra
textcomp.sty       extra/texlive-core
thumbpdf.sty       extra/texlive-core
titlepic.sty       extra/texlive-latexextra
ucs.sty            extra/texlive-latexextra
ulem.sty           extra/texlive-core
url.sty            extra/texlive-core
xetex.sty          ??
xltxtra.sty        extra/texlive-core
xunicode.sty       extra/texlive-core