File: NOTE

package info (click to toggle)
journal-dev 1-4
  • links: PTS
  • area: main
  • in suites: hamm, slink
  • size: 72 kB
  • ctags: 9
  • sloc: perl: 135; makefile: 50
file content (100 lines) | stat: -rw-r--r-- 4,647 bytes parent folder | download
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
Note about pj-base - Pluto Journal 
Last modification: Sun, 2 Feb 1997 02:20:15 +0200

Note to journal-1.3: 2 Feb 1997 

I made a couple of errors: I located all the j_* scripts in /usr/sbin
and then I called them using absolute pathnames.
While j_mkindex has, IMO, to be in /usr/sbin, the j_html2latin and
j_latin2html, which could be useful to normal users, should be in
/usr/bin.
***
*** I will move them into /usr/bin in a later version of this package,
*** but only after I will have corrected all the debian/rules calls in
*** the pj issues :-( 
*** In the meanwhile, call them only by name. There's no need to add the
*** path. (remember that debian/rules is always run as superuser).
***

Note to journal-1.2: Oct 1996

How this works?

The idea was to have a single index page per year, but (as suggested by
Bruce Perens) each issue had to be released as a single debian package,
and packages (issues) could be installed and removed in every order,
without crossed dependencies.

So I decided to put "sources" in the .deb package and to "make" the
issue with postinst and postrm scripts.[1] In this way the index is built
on the fly assembling toghether the available parts: an header, a part
that comes from each issue and a footer. 

Every issue contains two versions of its index: a "full" one, to be used
when the issue is available, and a "blind" one, without any link, to be
used after the issue has been removed.[2] In this way you can install an
issue, read it and then remove it, and you will still be able to see its
contents in the index, for later reference. It could be great to put a
radio button on the blind index to let a cgi-script re-install the issue
on demand.

The wrapper package pj-base builds the hierarchy (/usr/doc/pluto-journal) and
installs some scripts under /usr/sbin.[3]

The hierarchy under pluto-journal/ has:
- the index.html file (build during postinst of pj-base, postinst and postrm of
  each issue;
- the subdir images/ containing the image files needed by index.html;
- the subdir .indexes/ containing the most recent version of the header and the
  footer for index.html, a copy of the "blind" part of the index for each issue
  that has been disinstalled, and a copy of the "full" part of the index for
  each issue that is currently available installed (the reason for that is that
  in this way the postinst of an "early" issue can rebuild the index without
  loosing informations about "later" issues);
- a subdir for each issue of the year, named pj96n??/ containing: 
-	the html files of the articles (the filenames for these are free),
-	a subdir images/ containing the images needed by the articles.

The package pj-base is a requisite for each issue (that depends on it), and
suggests the virtual package pj-issues, wich is provided by each issue. In this
way dselect will propose to install at least one issue.

The source package can be used to create a different on-line magazine, because
it never say it is for Pluto-Journal.[4]

This will be documented here, in future. (raise a bug if you need it!)

Another possible enhancement would be the automatic detection of the presence
of httpd and the creation of a symlink pointing to the pluto-journal hierarchy,
maybe asking the user for the point in the webspace to put the symlink in.  I
don't know if this could be a good idea (TM) or simply another unwanted stop in
the installation process.

email fpolacco@debian.org or (better?) debian-devel@lists.debian.org to discuss
these matters.

---------------------------------------------------------------- 

[1]	The file index.html, build in the postinst stage of each issue AND the
	postinst of pj-base, is removed by hand in the prerm of pj-base. This
	could create a subtle problem when upgrading the pj-base package. I
	haven't tryed it yet, but I suppose that during upgrade of pj-base the
	''blind'' part of the index will disappear.

[2]	I will create a script to comment out all anchors in the full index,
	building the ''blind'' one on the fly, but the problem of [1] could
	not disappear.
	[later] Instead of a script, I've simply added this line in
	debian/rules ($issue is the dir of the issue, $index is the name
	of the index file w/o extension):
	sed 's/href=[^>]*>/>/g' $(issue)/.indexes/$(index).full \
		>$(issue)/.indexes/$(index).bl


[3]	I haven't jet created manpages for them, maybe I should raise a bug
	against myself :-)

[4]	Except in its name ;-) Maybe I could split it in two creating pj-dev or
	using a more generic name like "journal-dev". This will solve the
	undeclared dependence of each debian/rules in libwww-perl required for
	latin-1 processing.