Advise on Fedora RPM's
Paul W. Frields
stickster at gmail.com
Sun Nov 20 21:09:58 UTC 2005
On Sun, 2005-11-20 at 14:14 -0600, Tommy Reynolds wrote:
> Uttered "Paul W. Frields" <stickster at gmail.com>, spake thus:
> > The only thing that should be needed for building is
> > "fedora-doc-common-<ver>.noarch.rpm" which would contain user
> > scripts and helpers equivalent to what's in CVS (probably just
> > relocating, as mentioned above).
>
> Recently I put the line "sinclude Make.paths" into "Makefile.common"
> to deal with the relocations for RPM installation. The idea is that
> the docs-common package is a prerequisite to everything else. As all
> other packages get installed, a "%post" line does something like this:
>
> %post
> echo $(dirname $(rpm -ql docs-common | grep Makefile.common)) \
> >/path/to/example-tutorial/Make.paths
>
> and then:
>
> %pre
> rm -f /path/to/example-tutorial/Make.paths
>
> to close the loop. I'll probably need to use a pkg-config crutch
> because we'll still need to correct the paths embedded in the XML,
> XSL and Makefiles.
Just in the FC/FE spirit of "don't use %pre/%post unless you have to,"
could the Make.paths file simply be built at RPM building time? I was
under the impression that playing around with RPM queries during an RPM
installation/erase process is not a desirable thing. I think I
understand why we want the file, I'm just guessing we can probably build
the file during "make rpm" and simply list it in the %files per normal.
> > Is there a good reason *not* to do so (you know, other than "gee,
> > that sounds hard")?
>
> Not as long as you are doing the hard part ;-)
And *that* is why I don't live in a commune. (OK, that's not the only
reason why.) Q.v. etymology for community, no? ;-D
> > > The -devel RPM is for folk wishing to use the FDP infrastructure but
> > > not using the CVS facilities. I'm not sure where the -devel files
> > > should go, but maybe a "pkg-config" crutch would fix this.
> > There's really no reason they couldn't live in /usr/share/fedora/
> > somwhere, which is the right place for them given the namespacing the
> > rest of the Fedora Project is using.
>
> Fine with me.
Ah, sweet consensus!
> > > The <lang> RPM would hold the XML infrastructure to allow desktop
> > > tools like yelp to work.
> > Right, which is why a separate -devel per doc is probably not that
> > useful. With a proper extra doc on "How to Build Docs," itself included
> > in yelp/khelpcenter as part of the fedora-doc-[common|devel] package,
> > people should be able to "fedoradoc-make" a doc, or something like that,
> > to build things we've included, or their own docs. Perhaps such a
> > helper would also include relevant checks for project standards.
>
> Yeah, that would work. The docs-common package could drop stuff in a
> "/usr/share/fedora/build" directory or the like.
Disco!
> > I realized that having a <lang> RPM implies we should have separate
> > <lang> .desktop files for each package. Just a note for the archive for
> > later...
>
> Er, no. The .desktop files allow constructs like "Name[de]=Handheld
> PDA" and "Name[es]=PDA de mano" and avoid all this cruft. This
> argues for either a real .desktop file that translators maintain or
> the XML-style build info file I mentioned earlier.
>
> ==[/home/reynolds/src/f/fedora-docs/docs-common/rpm-info.dtd]==
>
> <!--
> DTD for the Fedora Docs Project RPM Information file "rpm-info.xml"
> -->
>
> <!ELEMENT rpm-info (titles,changelog) >
>
> <!ELEMENT titles (translation+) >
>
> <!ELEMENT translation (title,desc)* >
> <!ATTLIST translation lang CDATA #REQUIRED >
>
> <!ELEMENT title (#PCDATA) >
> <!ELEMENT desc (#PCDATA) >
>
> <!ELEMENT changelog (revision+) >
>
> <!ELEMENT revision (date,author,details) >
>
> <!ELEMENT date EMPTY >
> <!ATTLIST date year CDATA #REQUIRED >
> <!ATTLIST date month CDATA #REQUIRED >
> <!ATTLIST date day CDATA #REQUIRED >
> <!ATTLIST date dname CDATA #REQUIRED >
>
> <!ELEMENT author EMPTY >
> <!ATTLIST author name CDATA #REQUIRED >
> <!ATTLIST author email CDATA #REQUIRED >
>
> <!ELEMENT details (#PCDATA) >
>
> ==[/home/reynolds/src/f/fedora-docs/docs-common/rpm-info.xml]==
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <!-- Sample document description from which we build RPMs -->
>
> <!DOCTYPE rpm-info SYSTEM "rpm-info.dtd">
> <rpm-info>
> <titles>
> <translation lang="en">
> <title>Example Tutorial</title>
> <desc>This is quite a feat.</desc>
> </translation>
> <translation lang="de">
> <title>Beispeil Tutorial</title>
> <desc>Ist idiotien</desc>
> </translation>
> </titles>
> <changelog>
> <revision>
> <date day="08" dname="Tue" month="11" year="2005"/>
> <author email="Tommy.Reynolds at MegaCoder.com" name="Tommy Reynolds"/>
> <details>Just noodling with the files...</details>
> </revision>
> </changelog>
> </rpm-info>
>
> ==[END]==
>
> What 'cha think?
That's totally bitchin AFAIC. But the point I was trying to make is
that if there is a separate .noarch.rpm for each <lang>, each one needs
its own .desktop file. The alternatives AIUI are:
- a foo-<lang>.desktop file in a single foo-<lang>.noarch.rpm RPM will
have all the translations for the name of the shortcut, but will lead to
a single language version of the document, which confuses the user, who
expects to see the doc for his language come up when he clicks on the
menu item
- an identical foo.desktop file for every foo-<lang>.noarch.rpm, meaning
you get yucky RPM conflicts
So to me, the best solution is a foo-<lang>.desktop file that contains
only <lang>-specific name, etc. They could still come out of the
(totally bitchin) XML but would act as expected. The shortcuts would
read in the native language, so I could install the foo-de.noarch.rpm
and click on the "Foo (Deutsch)" menu item to read the German version,
supposedly to check the translation for errors if I'm bilingual.
Am I making any sense? All this is independent of the bitchin-ness of
your XML stuff, which will be useful no matter which way the .desktop
thing goes.
--
Paul W. Frields, RHCE http://paul.frields.org/
gpg fingerprint: 3DA6 A0AC 6D58 FEC4 0233 5906 ACDB C937 BD11 3717
Fedora Documentation Project: http://fedora.redhat.com/projects/docs/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-docs-list/attachments/20051120/91d11c72/attachment.sig>
More information about the fedora-docs-list
mailing list