[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#225004: tetex-extra: Type1 fonts should be in a separate package



Hilmar Preusse <hille42@web.de> schrieb:

>> > Last problem: I /usr/share/doc/tetex-fonts-extra I get a file
>> > "copyright" which tells me that the license is GPL. But I guess,
>> > these fonts aren't GPL at all. This needs still work.
>> 
>> Ugh. I don't know how you generated your package, but rest assured
>> that copyright files don't pop up magically...
>> 
> Well, at any time debian/rules calls "dh_installdocs -i". I've
> excluded my package now. I guess, I have to write a proper copyright
> file for that package.

Yes, as I said you can probably start with the CTAN catalogue.

> Do I have to include the Debian-changelog into tetex-extra-fonts?

Yes, we need a changelog.Debian, see Policy 12.7:

,----
| Packages that are not Debian-native must contain a compressed copy of
| the debian/changelog file from the Debian source tree in
| /usr/share/doc/package with the name changelog.Debian.gz.
`----

However, I am unsure whether it is possible to have a changelog.Debian
for this package that is different from the source's
debian/changelog. From the reading of policy, it seems this is not
possible. However, there's an easy technical solution for this, see
dh_installchangelogs(1): 

,----
| If files named debian/package.changelog exist, they will be used in
| preference to debian/changelog.
`----

Well, it would be nice to have a small changelog.Debian for the new
packages with no information that's boring to non-TeX-users.  The
problem with this is that bugs can only be closed with _one_ changelog
file, and we would have to duplicate the entries that refer to
xfonts-tetex and tetex-extra-fonts. 

I would suggest to install the standard source changelog. Look at this
"diff" (in fact it's hand-crafted):

# Install upstream changelog.
-	dh_installchangelogs texmf/ChangeLog -p tetex-base
+	dh_installchangelogs texmf/ChangeLog -p tetex-base -p tetex-extra-fonts

>> +Package: tetex-extra-fonts
>> +Architecture: all
>> +Conflicts: kpathsea, texlib, textfm, bibtex, texpsfnt, mfbasfnt, mfnfss, xdvik, amsfonts, amstex, amslatex, ltxmisc, ltxtool, psnfss, mfdcfnt, mflib, pandora, hyperref, tetex-french, cspsfonts, tetex-nonfree, pb-diagram, revtex4 (<= 4.0-2), tetex-eurosym, texdoctk, tetex-extra (<= 2.0.2-x.x)
>> +Replaces: kpathsea, texlib, textfm, latex, bibtex, texidoc, texpsfnt, mfbasfnt, mfnfss, xdvik, amsfonts, amstex, amslatex, ltxmisc, ltxtool, psnfss, mfdcfnt, mflib, pandora, hyperref, cspsfonts, tetex-bin (<< 1.0.7+20021025-3), tetex-french, tetex-nonfree, pb-diagram, tetex-base (<< 2.0-2), tetex-eurosym, texdoctk
>> 
>> Does tetex-extra-fonts really replace all these packages???
>> 
> Nope. I've just taken the line from tetex-extra. I guess I should
> clean up there too...

You really should. I tried to install all of them, using dpkg. I first
installed tetex-extra-fonts, then xfonts-tetex, and then:

# dpkg -i tetex-extra_2.0.2-5.1_all.deb 
Selecting previously deselected package tetex-extra.
dpkg: regarding tetex-extra_2.0.2-5.1_all.deb containing tetex-extra:
 tetex-extra-fonts conflicts with tetex-nonfree
  tetex-extra provides tetex-nonfree and is to be installed.
dpkg: error processing tetex-extra_2.0.2-5.1_all.deb (--install):
 conflicting packages - not installing tetex-extra
Errors were encountered while processing:
 tetex-extra_2.0.2-5.1_all.deb

I think all we need is

Depends: tetex-base_$next-version
Conflicts: tetex-extra <=2.0.2-$current-version

where $current-version would be 5.1 and $next-version would be 6 if the
patch is included in the next upload. tetex-base has all the necessary
conflicts. 

>> You may have a look at bug #112140 and explicitely depend on xutils
>> (>= 4.1.0-12). Of course, all this can be found in the lmodern source
>> package that is available here, as you know:
>> 
> dh_installxfonts brings in a dependency on xutils (>= 4.0.3-xx) as
> described in the policy. If this is not sufficient I'd rather swap
> over that bug to debhelper and update the policy too.

Yesterday I checked and there was no such bug filed against debhelper. 

>> +# now split off Type1-files
>> +	grep pfb$$ debian/tetex-extra.files > debian/tetex-extra-fonts.files
>> +	grep afm$$ debian/tetex-extra.files >> debian/tetex-extra-fonts.files
>> 
>> grep -E '\.(afm|pfb)$$'
>> 
> OK, thanks.

Just another general question. If we only put PFB and AFM files into
tetex-extra-fonts, shouldn't it be named tetex-extra-t1fonts or the
like? Alternatively, we could include all fonts currently shipped with
tetex-extra. However, the font files in tetex-extra take 152Mbyte[1]
instead of 5.8Mbyte in tetex-extra-fonts. 

I would suggest to name the package tetex-extra-t1fonts (or the like)
and stay only with the postscript font files. If we want to split
tetex-extra further post-sarge, we can think of a separate font
package[2]. 

>> +# create soft links in usr/X11R6/lib/X11/fonts/Type1/ and list these files
>> +# in xfonts-tetex
>> +	ln -s `cat debian/tetex-extra-fonts.files|sed s#^u#\/u#g` debian/tetex-base/usr/X11R6/lib/X11/fonts/Type1/
>> +	echo "usr/X11R6/lib/X11/fonts/Type1/*" > debian/xfonts-tetex.files
>> 
>> These links are not Policy-compliant.
> 
> AFAICS dh_link needs either the source destination files on the
> Command line or in a file. The file already halve exist. I would have
> to paste at the end of each line an usr/X11R6/lib/X11/fonts/Type1/.

Not at the end - while ln has the order $target $linkname, dh_link takes
$source $target. 

> To me that sed-script construct looked easier. If that is really not
> policy compliant I'll change it.

You could do it with

ln -s `cat debian/tetex-extra-fonts.files|sed s#^usr/#../../../../../#g` debian/tetex-base/usr/X11R6/lib/X11/fonts/Type1/

or with

sed -e 's#^#usr/X11R6/lib/X11/fonts/Type1/ #g' \
  tetex-base-2.0.2/debian/tetex-extra-fonts.files >> debian/tetex-base.links
dh_link -p tetex-base 

> 10.5. Symbolic links
> --------------------
>
>      In general, symbolic links within a top-level directory should
>      be relative, and symbolic links pointing from one top-level
>      directory into another should be absolute.  (A top-level
>      directory is a sub-directory of the root directory /'.)
>
> For us the latter is the case. AFAICS.

No, /usr/X11R6/lib/... is in the same top-level directory (/usr) as
/usr/share/texmf/fonts. 


Regards, Frank

Footnotes:

[1] If I did it correct:

$ cd debian/tetex-extra-fonts
$ find usr/share/texmf/fonts/ -type f > tetexextrafontslist
$ du -hc `cat tetexextrafontslist` | grep total

and

$ dlocate -L tetex-extra | grep texmf/fonts | grep \. > extrafonts
$ du -hc `cat extrafonts` | grep total

[2] But I doubt this is clever. I'd rather try to separate it into
common "tasks", if we separate it at all. People that want to do lots of
specialized math can then install tetex-extra-math, and they get
amsmath, other math stuff, along with the needed fonts.
-- 
Frank Küster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie




Reply to: