Spec URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1.spec SRPM URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1-3.4.4-3.src.rpm Description: I've packeged ttf2pt1 and hope someone would like to review it. BEWARE: This is the first package I do using Fedora standards. I've read many pages with guidelines, and tried to follow them, but I wouldn't be surprised if there is something I've missed. I do need a sponsor. Ttf2pt1 is a font converter from the True Type format to the Adobe Type1 format. It's probably mostly used by TeX users, TeX is better in using Type 1 fonts than TrueType. Rpmlint has nine comments. It complains about 6 files being empty. They should be empty. It is files to describe encoding translations, and not all encodings need any. To quote from the corresponding README file: "So a file of zero length may be used in case when no translation is neccessary." Then there are three warnings about source code in a non-devel package. These are templates for a program to draw bezier curves in a terminal window. They need to be modified before it does anything real. It's an "add on" thing that only comes with ttf2pt1 without any real usage connection. I decided to leave it in in the final package too, but it could be removed without loss of functionality if we want rpmlint to be more quiet.
(In reply to comment #0) > Then there are three warnings about source code in a non-devel package. These > are templates for a program to draw bezier curves in a terminal window. They > need to be modified before it does anything real. It's an "add on" thing that > only comes with ttf2pt1 without any real usage connection. I decided to leave > it in in the final package too, but it could be removed without loss of > functionality if we want rpmlint to be more quiet. I didn't had a look at this precise case, but shipping a directory in %doc for such add-on makes sense in many cases.
(In reply to comment #1) > I didn't had a look at this precise case, but shipping a directory in > %doc for such add-on makes sense in many cases. The default installation procedure for ttf2pt1 installs them under %_datadir/%name. Is your suggestion I mark the relevant parts %doc where they are installed by default, or that I move them over to %_defaultdocdir? Or just either way?
I have put some doc regarding that matters in https://fedoraproject.org/wiki/PackageMaintainers/Packaging_Tricks#Installing_documentation please reask if it doesn't answer your questions.
Maybe you misunderstood my question in comment 2 slightly. I wasn't asking about HOW to do things. (I've done many RPM packages. This is just the first I try to get into Fedora.) My question was if the important part was to have these files marked %doc, or to have them placed in %_defaultdocdir. I mean, not only %defaultdocdir files are marked %doc. But reading a bit between the lines here I take it you would prefer to have those files actually placed under %_defaultdocdir. So I've implemented these changes. Spec URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1.spec SRPM URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1-3.4.4-4.src.rpm Rpmlint warnings actually increased with this change. It doesn't complain about development files in a non-development package any more. But instead it complains about executable files among the documentation files. Not all the example code is C code, but some is perl. Rpmlint also complains about the dependencies these perl scripts in the documentation directory have on perl modules.
(In reply to comment #4) > Maybe you misunderstood my question in comment 2 slightly. I wasn't asking > about HOW to do things. (I've done many RPM packages. This is just the first > I try to get into Fedora.) My question was if the important part was to have > these files marked %doc, or to have them placed in %_defaultdocdir. I mean, > not only %defaultdocdir files are marked %doc. Except in specific or rare cases (info files, man pages, /usr/share/gnome/help/ files, latex/tex doc) doc files should indeed go in defaultdocdir. > Rpmlint warnings actually increased with this change. It doesn't complain > about development files in a non-development package any more. But instead it > complains about executable files among the documentation files. Not all the > example code is C code, but some is perl. Rpmlint also complains about the > dependencies these perl scripts in the documentation directory have on perl > modules. My personnal point of view is that these warnings are not an issue if these dependencies are already package dependencies. Otherwise you can chmod a-x the scripts to avoid them being executable and having dependencies extracted. The user should know how to run the scripts.
(In reply to comment #5) > My personnal point of view is that these warnings are not an issue if > these dependencies are already package dependencies. They are, at least in a way. The doc scripts adds the dependencies perl(English) and perl(Getopt::Long). But the package already depends on e.g. perl(integer) and the perl interpreter, and all of those are satisfied by the perl package. So nothing new is pulled in.
(In reply to comment #6) > (In reply to comment #5) > > My personnal point of view is that these warnings are not an issue if > > these dependencies are already package dependencies. > > They are, at least in a way. The doc scripts adds the dependencies > perl(English) and perl(Getopt::Long). But the package already depends on e.g. > perl(integer) and the perl interpreter, and all of those are satisfied by the > perl package. So nothing new is pulled in. I think it is ok.
It seems to me that in /usr/share/ttf2pt1/scripts/, only trans t1fdir forceiso x2gs are needed, since others seems to be only used during build or already in %_bindir. It would be better if convert looked for convert.cfg somewhere else than in pwd. convert.cfg.sample should certainly better be in %doc t1asm is already in t1utils, it would be better to use the system t1utils, including during build unless there are good reasons not to do so. rpmlint warnings seem harmless to me: ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/other/showdf ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin1/iso8859-1.tbl ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/TeX/sfd2map ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-t1mapgen ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/adobestd/adobe-std.tbl ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/other/lst.pl ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin4/iso8859-4.tbl ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/other/showg ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-config ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin2/iso8859-2.tbl ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin4/iso8859-4 ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin5/iso8859-9 ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/other/cntstems.pl ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-config perl(Getopt::Long) ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/sfd2map perl(Getopt::Long) ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-config perl(English) ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/sfd2map perl(English)
Also which file is covered by the GPLv2+ ?
Also forgot to say that the use fakeroot certainly deserves a comment.
> It seems to me that in /usr/share/ttf2pt1/scripts/, only > trans t1fdir forceiso x2gs > are needed, since others seems to be only used during build or > already in %_bindir. The scripts used only during the build can be removed. The documentation for convert and x2gs mainly talks about them with these names. It mentions that they also exist under a different name in the default path, but treats the short names as the main ones. I guess I've already invalidated the documentation somewhat by moving the README*, FONT* and similar files to defaultdocdir. The manual pages refers to these as /usr/share/ttf2pt1/README etc. But this feels a bit more invasive. Or is it part of packaging to actually rewrite the documentation for the package? > It would be better if convert looked for convert.cfg somewhere > else than in pwd. Maybe, maybe not. It describes what "convert" should do, and in that sense has some similarities with a Makefile. There may be several such files, each converting different sources. But in any case, I wouldn't change such a thing in the role of packager, would I? That seems like a discussion to have with upstreams if one want to change it. > convert.cfg.sample should certainly better be in %doc Same problem with documentation as I mentioned above, but ok. > t1asm is already in t1utils Good point. I'll remove it from this package and add a "requires" dependency instead. > Also which file is covered by the GPLv2+? The TeX scripts for CJK fonts. In /usr/share/doc/ttf2pt1-3.4.4/TeX in the current package. See the thread https://www.redhat.com/archives/fedora-legal-list/2008-September/msg00012.html for my questions about licensing. > Also forgot to say that the use fakeroot certainly deserves a comment. True. I'll add a comment in the SPEC file. I've made an intermediate update available: Spec URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1.spec SRPM URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1-3.4.4-5.src.rpm (The convert and x2gs scripts are still included, and I haven't touched how "convert" finds its configuration file. I'll wait for further comments on that before I do anything.)
(In reply to comment #11) > I guess I've already invalidated the documentation somewhat by moving the > README*, FONT* and similar files to defaultdocdir. The manual pages refers to > these as /usr/share/ttf2pt1/README etc. But this feels a bit more invasive. > > Or is it part of packaging to actually rewrite the documentation for the > package? It is better for integration, but at some point you can also decide that it is not needed and you have better things to do, not to mention that it increases complexity. So, your choice. > > It would be better if convert looked for convert.cfg somewhere > > else than in pwd. > > Maybe, maybe not. It describes what "convert" should do, and in that sense has > some similarities with a Makefile. There may be several such files, each > converting different sources. Reading the sample it looks more like a regular config file. So a search path in /usr/share/.... then /etc/.... then $HOME/... and then the current directory with the latter overriding the former would be better. But this is to be done with upstream. > But in any case, I wouldn't change such a thing in the role of packager, would > I? That seems like a discussion to have with upstreams if one want to change > it. Indeed. > Spec URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1.spec > SRPM URL: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1-3.4.4-5.src.rpm I think that the 'other' applications should better be installed they look generic enough to be of use. However they should certainly have their name prefixed with ttf2pt1 to avoid polluting the global namespace with the names that are not very well chosen, and for utilities that are not very important. cmpf and dmpf could also be prefixed, a 4 letter name is not very good, and in any case one has to look at te ttf2pt1 documentation to see what tey are useful to, and the other utilities are already prefixed. The stuff in TeX is not generic enough, in my opinion, to be put in the system dirs, leaving it in %doc is right.
After a little delay, here is my next try. I have - given cmpf and dmpf a ttf2pt1 prefix, - moved the additional scripts from the "other" directory to /usr/bin, also with a ttf2pt1 prefix, and - gone through the documentation and tried to adjust all occurrences of paths or script names to match what they have been renamed to or moved to (or both). Spec: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1.spec SRPM: ftp://ftp.uddeborg.se/pub/ttf2pt1/ttf2pt1-3.4.4-6.src.rpm
* rpmlint warnins are all ignorable (see above) ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin4/iso8859-4 ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/adobestd/adobe-std.tbl ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin5/iso8859-9 ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin1/iso8859-1.tbl ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-config ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/TeX/sfd2map ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin2/iso8859-2.tbl ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-t1mapgen ttf2pt1.i386: E: zero-length /usr/share/ttf2pt1/encodings/latin4/iso8859-4.tbl ttf2pt1.i386: W: spurious-executable-perm /usr/share/doc/ttf2pt1-3.4.4/convert.cfg.sample ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-config perl(Getopt::Long) ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/sfd2map perl(Getopt::Long) ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/cjk-latex-config perl(English) ttf2pt1.i386: W: doc-file-dependency /usr/share/doc/ttf2pt1-3.4.4/TeX/sfd2map perl(English) * follow guidelines * match upstream: cb143c07cc83167875ca09ea720d4932 ./ttf2pt1-3.4.4.tgz * %files section right Only one issue left, it doesn't build for me with %{_smp_mflags}. Log is at http://www.environnement.ens.fr/perso/dumas/ttf2pt1-failed.out My guess is that the 2 calls of scripts/html2man . . <FONTS.html trigger a logical race condition. So either you remove %{_smp_mflags} or you handle it otherwise. This is APPROVED if you remove %{_smp_mflags}, otherwise please repost a .src.rpm. I will approve you as packager. You'll only be able to change the package you own or you have explicit commit right on. Later you may become ultrapackager (the name is subject to change, this is very new) which allows you to modify others packages. As a side note, in the past there was only the equivalent of the ultrapackager, and I would happily have given you this level of trust but being more on the safe side is good, so for now you'll be only packager, but feel free to ask me for being ultrapackager as soon as you feel that having the access to others packages will simplify your work in fedora.
(In reply to comment #14) > My guess is that the 2 calls of > scripts/html2man . . <FONTS.html > trigger a logical race condition. I haven't been hit by this myself. But when I look at it, I see it obviously could happen. It would probably be possible to explain to make, using pattern rules or so, that a single command creates both manual pages. But given the small size of this package it's not worth the trouble. I'll remove %{_smp_mflags}. > This is APPROVED if you remove %{_smp_mflags}, Sounds good. I'll continue with the next step, to get to know koji. (After the F10 translation deadline on Tuesday.) > I will approve you as packager. Are you saying you will (and have the right to) "sponsor" me in the terms of https://fedoraproject.org/wiki/PackageMaintainers/Join Or is that yet another step? > ... I would happily have given you this level of trust > but being more on the safe side is good, so for now you'll be only > packager That's certainly perfectly fine with me! I AM learning. (Besides, I've been sysadming enough in my days to know that it could at times be advantageous NOT to have privileges. :-)
(In reply to comment #15) > > I will approve you as packager. > > Are you saying you will (and have the right to) "sponsor" me in the terms of > https://fedoraproject.org/wiki/PackageMaintainers/Join Or is that yet another > step? Indeed I am a sponsor and will sponsor you.
When you have applied for sponsorship, tell here what is your account name.
(In reply to comment #17) > When you have applied for sponsorship, tell here what is your account name. I just applied for membership in the "packager" group. My FAS account name is "goeran".
New Package CVS Request ======================= Package Name: ttf2pt1 Short Description: TrueType to Adobe Type 1 font converter Owners: goeran Branches: F-9 F-10 InitialCC:
cvs done.
ttf2pt1-3.4.4-7.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/ttf2pt1-3.4.4-7.fc9
ttf2pt1-3.4.4-7.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/ttf2pt1-3.4.4-7.fc10
ttf2pt1-3.4.4-7.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.
So now it's available. Thanks a lot Patrice and Kevin for your help!
ttf2pt1-3.4.4-7.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.
Package Change Request ====================== Package Name: ttf2pt1 New Branches: EL-4 EL-5 Owners: goeran I got a request for this package to be added to EPEL, so please create the needed CVS branches.
Package Change Request ====================== Package Name: ttf2pt1 New Branches: epel7 Owners: goeran InitialCC: hubbitus Pavel Alexeev wants to build chm2pdf for epel7, and this is a dependency.
Git done (by process-git-requests).