Advise on Fedora RPM's
Tommy Reynolds
Tommy.Reynolds at MegaCoder.com
Sun Nov 20 20:14:06 UTC 2005
Uttered "Paul W. Frields" <stickster at gmail.com>, spake thus:
> On Sun, 2005-11-20 at 11:21 -0600, Tommy Reynolds wrote:
> > Uttered Patrick Barnes <nman64 at n-man.com>, spake thus:
> > > +1 on the package type. Location would be /usr/src/redhat. The full
> > > name might be something like 'fedora-doc-install-guide-devel.src.rpm'.
> > I'm thinking of these RPM's:
> > <foo>-<version>.src.rpm Raw CVS dump, w/o CVS subdirs
> > <foo>-devel-<version>.noarch.rpm Everything in CVS w/corrected paths
> > <foo>-<lang>-<version>.noarch.rpm XML, XSL, images and desktop files
> > The .src RPM is for archiving purposes, I guess.
> Umm... Methinks this is kind of missing the point of the .src.rpm.
> Why triplicate this?
Ouch. OK, I see the light.
> 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.
> 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 ;-)
> > 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.
> > 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.
> 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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-docs-list/attachments/20051120/7345aa0a/attachment.sig>
More information about the fedora-docs-list
mailing list