This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [64bit] Some packaging problems


On 7/17/2013 4:30 AM, Corinna Vinschen wrote:
On Jul 16 17:25, Ken Brown wrote:
1. The x86_64 distro has both libexpat1-devel and libexpat-devel,
with the files of the latter being a subset of those of the former.
In addition, libexpat1-devel is missing a setup.hint, so it is put
into the Misc category and installed by default.  BTW, there are
packages depending on both of these in the distro, so there will be
other changes needed after one of them is removed.

For all I can tell, libexpat-devel seems to be the old version,
libexpat1-devel the new one.  We should probably manually fix the deps
in the various hint files to require libexpat1-devel and remove the
libexpat-devel package.  Yaakov?

Unless two different versions of a library's -devel package can coexist -- e.g. all include files and static/import libraries are in versioned subdirs:
   /usr/include/libpng15/*.h     /usr/lib/libpng15/*.a
   /usr/include/libpng16/*.h     /usr/lib/libpng16/*.a

we don't typically put the DLL number in the -devel package name. In this case, the libexpat1-devel package contains:

/usr/include/expat.h
/usr/include/expat_external.h
/usr/lib/libexpat.a
/usr/lib/libexpat.dll.a
/usr/lib/pkgconfig/expat.pc

so it's not like it could coexist with a future libexpat2-devel. I think the "libexpat1-devel" name in 2.1.0-2 is a mistake, and it expat should be repackaged to use "traditional" names, as it did in 2.1.0-1:

   expat
   expat-debuginfo
   libexpat1
   libexpat-devel (no "1")

Then the existing requires: in other package's setup.hints do not need to be changed.

2. gdb has the wrong setup.hint; it's the same as the setup.hint for
rebase.  In particular, this puts it into the Base category.

Thanks, I fixed the setup.hint manually and I'm just building a new gdb
package with the fixed cygport file.

3. The dependencies man ==> groff ==> perl bring perl into a default
install.

Hmm, is that bad?

Very. perl is just as bad python, when it comes to creating a trimmed down installation, and we just went thru a significant amount of pain to split cygutils specifically to avoid pulling python in as a dependency of a Base install.

OTOH, the 32 bit groff only requires some default
libs, not bash, sed, and perl.  Why's that?

groff ships with some scripts

==== /usr/bin/afmtodit ====
#! /usr/bin/perl -w
==== /usr/bin/chem ====
#! /usr/bin/env perl
==== /usr/bin/eqn2graph ====
#! /bin/sh
==== /usr/bin/gdiffmk ====
#! /bin/sh
==== /usr/bin/grap2graph ====
#! /bin/sh
==== /usr/bin/groffer ====
#! /usr/bin/env perl
==== /usr/bin/grog ====
#! /usr/bin/env perl
==== /usr/bin/mmroff ====
#! /usr/bin/perl
==== /usr/bin/neqn ====
#! /bin/sh
==== /usr/bin/nroff ====
#! /bin/sh
==== /usr/bin/pdfroff ====
#! /bin/sh
==== /usr/bin/pic2graph ====
#! /bin/sh
==== /usr/bin/roff2dvi ====
#! /usr/bin/env perl
==== /usr/bin/roff2html ====
#! /usr/bin/env perl
==== /usr/bin/roff2pdf ====
#! /usr/bin/env perl
==== /usr/bin/roff2ps ====
#! /usr/bin/env perl
==== /usr/bin/roff2text ====
#! /usr/bin/env perl
==== /usr/bin/roff2x ====
#! /usr/bin/env perl

and cygport is smart. We should probably split the groff package up as well...fedora has
   groff-base
   groff-perl
   groff-x11 (*)
   groff-doc
   groff

groff-base: "contains only necessary parts of groff formatting system which are required to display manual pages, and the groff's default dispaly device (PostScript)"
requires: sed sh

groff-perl: "contains the parts of the groff text processor package that require Perl. These include the afmtodit (font processor for creating PostScript font files), groffer (tool for displaying groff files), grog (utility that can be used to automatically determine groff command-line options), chem (groff preprocessor for producing chemical structure diagrams), mmroff (reference preprocessor) and roff2dvi roff2html roff2pdf roff2ps roff2text roff2x (roff code converters)."
requires: coreutils(env) perl sh groff-base (+various perl modules)

groff-x11: "contains the parts of the groff text processor package that require X Windows System. These include gxditview (display groff intermediate output files on X Window System display) and xtotroff (converts X font metrics into groff font metrics)."
requires: groff-base

groff-doc: "includes additional documentation for groff text processor package. It contains examples, documentation for PIC language and documentation for creating PDF files."
requires: groff

Presumably, "groff" contains everything else.

(*) I don't think our groff distribution contains the x11 stuff anyway.

--
Chuck


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]