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.
|