On 2025-01-24 20:31, Daisuke Fujimura via Cygwin-apps wrote:
I have decided that it is the mainstream practice in cygwin packages
to include information such as licenses in the runtime package, and I
have followed this practice.

However, I also believe that there is a possibility that these files
may conflict if the so version is incremented.

Example:
- https://cygwin.com/packages/x86_64/libchromaprint0/libchromaprint0-1.2-1
- https://cygwin.com/packages/x86_64/libchromaprint1/libchromaprint1-1.4.3-1

In your example, libchromaprint0 is no longer needed by anything:

$ cygcheck-dep -cqSn libchromaprint{0,1}
 libchromaprint0: is needed for ( )
libchromaprint1: is needed for ( gstreamer1.0-plugins-bad-free-extras kid3-core libchromaprint-devel )

Multiple library ABI release documents do "conflict", but newer should replace older, and licences are rarely changed because of multiple contributor copyrights, need to track down all previous contributors, and difficulty of that and getting unanimous agreement on any licence change.

As in this case, it is normally easier to fork and rename the project, if a new licence or any other project direction is preferred.

To ease handling ABI changes, you can define the ABI and *declare* the subpackage variables using that variable, preferably grouping all variables for each subpackage, and if contents of a directory have to be split across subpackages, the first entry/-ies for subpackages <SUB>_CONTENTS may be --exclude=<PATH>/<GLOB> as required; for example:

$ tail ... /usr/src/.../...cygport
...
ABI=0

PKG_NAMES="lib$NAME-$ABI lib$NAME-devel $NAME"

declare lib${NAME}_${ABI}_LICENSE=LGPL-3.0-or-later
declare lib${NAME}_${ABI}_CATEGORY="$CATEGORY Libs"
declare lib${NAME}_${ABI}_SUMMARY="$SUMMARY (runtime)"
declare lib${NAME}_${ABI}_CONTENTS="
    --exclude=usr/share/doc/$NAME/xmlrpc/
    usr/bin/cyg$NAME-$ABI.dll
    usr/share/doc/
"

declare lib${NAME}_devel_CATEGORY="$CATEGORY Devel Libs"
declare lib${NAME}_devel_SUMMARY="$SUMMARY (development)"
declare lib${NAME}_devel_CONTENTS="
    usr/bin/lib$NAME-$ABI.dll
    usr/include/
    usr/lib/pkgconfig/
    usr/share/man/man3/
"

declare ${NAME}_LICENSE=GPL-3.0-or-later
declare ${NAME}_SUMMARY="$SUMMARY (utilities)"
declare ${NAME}_CONTENTS="
    etc/bash-completion.d/
    usr/bin/$NAME
    usr/share/bash-completion/
    usr/share/doc/$NAME/xmlrpc/
    usr/share/man/man1/
    usr/share/man/*/man1/
    usr/share/locale/
"
...

On Mon, Jan 20, 2025 at 12:13 AM Brian Inglis via Cygwin-apps wrote:

On 2025-01-11 06:55, Marco Atzeri via Cygwin-apps wrote:
On 11/01/2025 07:43, Daisuke Fujimura via Cygwin-apps wrote:
Hello,

[ITP] A new package proposal: zlib-ng

- libz-ng2
- libz-ng-devel

====

SUMMARY: Zlib replacement with optimizations for next generation systems
HOMEPAGE: https://github.com/zlib-ng/zlib-ng
SRC_URI: https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.2.3.tar.gz
LICENSE: Zlib

====

Corresponding Linux/Unix packages are searched:
- https://repology.org/project/zlib-ng/versions

Cygportfile:
- https://cygwin.com/cgit/cygwin-packages/playground/tree/?h=refs/heads/zlib-ng

Packages, logs:
- https://github.com/cygwin/scallywag/actions/runs/12721789589

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                -- Antoine de Saint-Exupéry

Reply via email to