Bug 462446 (ttf2pt1) - Review Request: ttf2pt1 - TrueType to Adobe Type 1 font converter
Summary: Review Request: ttf2pt1 - TrueType to Adobe Type 1 font converter
Keywords:
Status: CLOSED NEXTRELEASE
Alias: ttf2pt1
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Patrice Dumas
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-09-16 12:10 UTC by Göran Uddeborg
Modified: 2014-04-28 11:52 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-11-06 04:03:57 UTC
Type: ---
Embargoed:
pertusus: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Göran Uddeborg 2008-09-16 12:10:38 UTC
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.

Comment 1 Patrice Dumas 2008-09-16 12:43:59 UTC
(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.

Comment 2 Göran Uddeborg 2008-09-21 11:50:02 UTC
(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?

Comment 3 Patrice Dumas 2008-09-29 11:16:36 UTC
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.

Comment 4 Göran Uddeborg 2008-09-29 15:38:11 UTC
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.

Comment 5 Patrice Dumas 2008-09-29 16:48:48 UTC
(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.

Comment 6 Göran Uddeborg 2008-09-29 19:59:33 UTC
(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.

Comment 7 Patrice Dumas 2008-09-29 23:27:50 UTC
(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.

Comment 8 Patrice Dumas 2008-09-29 23:35:39 UTC
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)

Comment 9 Patrice Dumas 2008-09-29 23:39:48 UTC
Also which file is covered by the  GPLv2+ ?

Comment 10 Patrice Dumas 2008-09-30 00:25:54 UTC
Also forgot to say that the use fakeroot certainly deserves a comment.

Comment 11 Göran Uddeborg 2008-09-30 16:17:14 UTC
> 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.)

Comment 12 Patrice Dumas 2008-10-02 22:10:30 UTC
(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.

Comment 13 Göran Uddeborg 2008-10-14 16:13:05 UTC
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

Comment 14 Patrice Dumas 2008-10-17 08:09:11 UTC
* 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.

Comment 15 Göran Uddeborg 2008-10-18 17:20:26 UTC
(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. :-)

Comment 16 Patrice Dumas 2008-10-18 17:34:31 UTC
(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.

Comment 17 Patrice Dumas 2008-10-19 10:44:50 UTC
When you have applied for sponsorship, tell here what is your account name.

Comment 18 Göran Uddeborg 2008-10-21 15:29:36 UTC
(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".

Comment 19 Göran Uddeborg 2008-10-28 20:46:09 UTC
New Package CVS Request
=======================
Package Name: ttf2pt1
Short Description: TrueType to Adobe Type 1 font converter
Owners: goeran
Branches: F-9 F-10
InitialCC:

Comment 20 Kevin Fenzi 2008-10-29 21:16:28 UTC
cvs done.

Comment 21 Fedora Update System 2008-11-02 20:13:14 UTC
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

Comment 22 Fedora Update System 2008-11-04 21:37:20 UTC
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

Comment 23 Fedora Update System 2008-11-06 04:03:54 UTC
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.

Comment 24 Göran Uddeborg 2008-11-06 20:10:57 UTC
So now it's available.  Thanks a lot Patrice and Kevin for your help!

Comment 25 Fedora Update System 2008-11-22 16:52:52 UTC
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.

Comment 26 Göran Uddeborg 2009-02-17 10:14:43 UTC
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.

Comment 27 Kevin Fenzi 2009-02-18 20:24:08 UTC
cvs done.

Comment 28 Göran Uddeborg 2014-04-25 20:56:21 UTC
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.

Comment 29 Gwyn Ciesla 2014-04-28 11:52:22 UTC
Git done (by process-git-requests).


Note You need to log in before you can comment on or make changes to this bug.