This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [RFC] cygport: PKG_OBSOLETES
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 23 Jul 2013 11:06:48 +0200
- Subject: Re: [RFC] cygport: PKG_OBSOLETES
- References: <51EE0E4E dot 1030901 at users dot sourceforge dot net>
- Reply-to: cygwin-apps at cygwin dot com
On Jul 23 00:02, Yaakov (Cygwin/X) wrote:
> I wanted to get feedback from those using cygport regarding a
> possible new feature: PKG_OBSOLETES. This is best explained with an
> example, so let's say I had the following:
>
> NAME="libfoo"
> ...
> PKG_NAMES="libfoo1 libfoo-bin libfoo-devel"
> libfoo1_CONTENTS="usr/bin/cygfoo-1.dll"
> libfoo_bin_CONTENTS="etc/ usr/bin/*.exe usr/share/doc/
> usr/share/man/man[15]"
> libfoo_devel_CONTENTS="usr/include/ usr/lib/ usr/share/man/man3/"
>
> It then becomes apparent that libfoo-bin is a really bad name for a
> package, because people looking for the executables aren't finding
> an obvious match in the package list. Also, libfoo1 really needs
> those configuration files, so I decide to add a libfoo-common
> package, and rename libfoo-bin to foobar. Right now, I could do the
> following:
>
> PKG_NAMES="libfoo1 libfoo-bin libfoo-common libfoo-devel foobar"
> libfoo1_REQUIRES="libfoo-common"
> libfoo1_CONTENTS="usr/bin/cygfoo-1.dll"
> libfoo_common_CONTENTS="etc/ usr/share/doc/ usr/share/man/man5/"
> libfoo_bin_CATEGORY="_obsolete"
> libfoo_bin_REQUIRES="foobar"
> libfoo_bin_SUMMARY="Obsolete package"
> libfoo_bin_CONTENTS= # empty
> libfoo_devel_CONTENTS="usr/include/ usr/lib/ usr/share/man/man3/"
> foobar_CONTENTS="usr/bin/*.exe usr/share/man/man1/"
>
> While that works, that's a lot of lines to handle an empty package.
> What PKG_OBSOLETES could do is make that much simpler:
>
> PKG_NAMES="libfoo1 libfoo-common libfoo-devel foobar"
> libfoo1_REQUIRES="libfoo-common"
> libfoo1_CONTENTS="usr/bin/cygfoo-1.dll"
> libfoo_common_CONTENTS="etc/ usr/share/doc/ usr/share/man/man5/"
> libfoo_devel_CONTENTS="usr/include/ usr/lib/ usr/share/man/man3/"
> foobar_OBSOLETES="libfoo-bin"
> foobar_CONTENTS="usr/bin/*.exe usr/share/man/man1/"
>
> The attached patch is what I'm working with at the moment. Thoughts?
Looks good to me.
Btw., did you create the 64 bit expat packages or did Warren? The
history isn't visible, unfortunately. I'd like to see a solution for
the libexpat-devel vs/ libexpat1-devel problem.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat