[csw-maintainers] Include additional files in package from source download

Dagobert Michelsen dam at opencsw.org
Thu Jun 14 07:55:16 CEST 2012


Hi Romeo,

Am 14.06.2012 um 06:03 schrieb Romeo Theriault:
> On Wed, Jun 13, 2012 at 4:48 PM, Romeo Theriault
> <romeotheriault at opencsw.org> wrote:
>> I'd like to include some additional files (e.g. AUTHORS, Changelog,
>> NEWS, README ) that are included in the source download, in the
>> /opt/csw/share/doc/libzmq/ directory of the package. Right now they
>> are not being included in the package. I noticed that the license file
>> is put in this directory by default. How would I go about specifying
>> in the Makefile that I want these additional files included in the
>> package in that directory. I looked through the GAR variables wiki
>> page and at least to my newbie eye's don't immediately see how to do
>> this.
> 
> I think I should include some additional info. I'm trying to build the
> zeromq package; and split it into two packages, libzmq and libzmq-dev.
> This all works just fine (see Makefile below), but I'd like to
> additionally include a few files from the source in the libzmq
> package. Is this possible without resorting to custom INSTALL_SCRIPTS?

Not yet :-) I just talked with Peter about this:
  http://lists.opencsw.org/pipermail/maintainers/2012-June/016738.html

> NAME = zeromq
> VERSION = 2.2.0
> GARTYPE = v2
> CATEGORIES = lib
> 
> DESCRIPTION = Software library for fast, message-based applications
> define BLURB
>        The 0MQ lightweight messaging kernel is a library which extends the
>        standard socket interfaces with features traditionally provided by
>        specialized messaging middle-ware products. 0MQ sockets provide an
>        abstraction of asynchronous message queues, multiple messaging
>        patterns, message filtering (subscriptions), seamless access to
>        multiple transport protocols and more.
> 
>        This package contains the ZeroMQ shared library.
> endef
> 
> MASTER_SITES = http://download.zeromq.org/
> DISTFILES  = $(DISTNAME).tar.gz
> 
> PACKAGES += CSWlibzmq
> SPKG_DESC_CSWlibzmq = Software library for fast, message-based applications
> 
> PACKAGES += CSWlibzmq-dev
> CATALOGNAME_CSWlibzmq-dev = libzmq_dev

I would recommend only setting CATALOGNAME when it differs from the canonical
one derived from the package name (which is stripping of CSW prefix and replacing
- by _).

> SPKG_DESC_CSWlibzmq-dev += ZeroMQ development files
> RUNTIME_DEP_PKGS_CSWlibzmq-dev += CSWlibzmq
> 
> CONFIGURE_ARGS = $(DIRPATHS)
> 
> PKGFILES_CSWlibzmq-dev = $(PKGFILES_DEVEL)

It is usually a good idea to always use += as this allows reordering of lines
without, umh, "forgetting" to add/remove the "+" :-)

> PKGFILES_CSWlibzmq-dev += .*\.7

I suggest grouping PKGFILES with the respective package after SPKG_DESC.

Additionally, I would assume that CSWlibzmq contains a shared library with a specific soname.
If this is the case there is a rule to name the package by the soname, like e.g.
  CSWlibzmq1-3
for libzmq-1.so.3
For this you would use
  PKGFILES_CSWlibzmq1-3 += $(call pkgfiles_lib,libzmq-1.so.3)


Best regards

  -- Dago


More information about the maintainers mailing list