Jon Turney wrote:
On 06/03/2024 15:39, Christian Franke via Cygwin-apps wrote:
Jon Turney wrote:

Thanks!


libafflib_CONTENTS="
    usr/bin/cygafflib-*.dll

Any reason why this package doesn't include the soversion, i.e. why not libafflib0?


Libtsk and libafflib are my first library packages, so I'm not sure what the policy is. My recent package libtsk has been accepted without soversion, so I omitted it also here. I assumed that the soversion will

I'm going to suggest that was an oversight in the review.

Should I also rename libtsk to libtsk19 in the planned sleutkit-*-2 package which will add afflib support ? The original package is only a few days old and has possibly only a small but experienced audience, so I expect not much worries if the change will be explained in the announcement.



be added only when needed for new not backward compatible releases. The upstream afflib project is mostly idling, so I don't expect any new major lib versions in the near future.

If course, I could rename it to libafflib0 if desired.

As far as I know, there is no cost for doing this, and it saves grief if upstream ever bumps the soversion.

Also, it's probably best to explicitly list the filename with soversion in the CONTENTS, so that if upstream ever does change the soversion, it will be detected as a packaging failure, rather than producing a package with a mismatch between the soversion in it's name and in it's contents.

Good point, new cygport file is attached.



(Cygport should perhaps and detect and warn about apparently soversioned libraries that aren't in appropriately named packages, but...)


... this is possibly a good idea.

# cygport script for afflib
NAME=afflib
VERSION=3.7.20
RELEASE=1
SOURCE_DATE="2024-03-06 22:00:00 UTC"

SUMMARY="Library and tools for the Advanced Forensic Format"

DESCRIPTION="\
The Advanced Forensic Format (AFF) is a file format for storing computer
forensic information.  It supports metadata, compression, encryption and
signing."

LICENSE="BSD-4-clause"

PKG_NAMES="afflib-tools libafflib0 libafflib-devel"

afflib_tools_SUMMARY="${SUMMARY} (tools)"
afflib_tools_DESCRIPTION="${DESCRIPTION}  
This package contains tools to examine, convert, compare, copy, encrypt,
decrypt and sign AFF files."

libafflib0_SUMMARY="${SUMMARY} (runtime)"
libafflib0_DESCRIPTION="${DESCRIPTION}  
This package contains the runtime library for afflib."

libafflib_devel_SUMMARY="${SUMMARY} (development)"
libafflib_devel_DESCRIPTION="${DESCRIPTION}  
This package contains the development files for libafflib0."

CATEGORY="Devel Libs Utils"
afflib_tools_CATEGORY="Utils"
libafflib0_CATEGORY="Libs"
libafflib_devel_CATEGORY="Devel Libs"

afflib_tools_REQUIRES="" # libafflib0 libexpat1 libgcc1 libreadline7 libssl3 
libstdc++6
libafflib0_REQUIRES="" # libcurl4 libexpat1 libgcc1 libssl3 libstdc++6 zlib0
libafflib_devel_REQUIRES="" # libafflib0 libssl-devel pkg-config

BUILD_REQUIRES="
  binutils gcc-g++ gzip libcurl-devel libexpat-devel libreadline-devel
  libssl-devel zlib-devel
" # make

HOMEPAGE="https://github.com/sshock/AFFLIBv3";
SRC_URI="https://codeload.github.com/sshock/AFFLIBv3/tar.gz/refs/tags/v${PV}#/${P}.tar.gz";
SRC_DIR="AFFLIBv3-${PV}"

afflib_tools_CONTENTS="
        --exclude=usr/bin/cygafflib-0.dll
        usr/bin
        usr/share
"
libafflib0_CONTENTS="
        usr/bin/cygafflib-0.dll
"
libafflib_devel_CONTENTS="
        usr/include/afflib
        usr/lib
"

DIFF_EXCLUDES="lzma443"

export SOURCE_DATE_EPOCH=$(date -d "$SOURCE_DATE" +%s)

src_compile() {
        cd ${S}
        cygautoreconf

        cd ${B}
        cygconf --enable-shared --disable-static \
                --enable-qemu --enable-s3 --enable-threading \
                --with-curl --with-expat --with-gnu-ld \
                --disable-fuse --disable-python

        # configure sets _FORTIFY_SOURCE=2 which would override level 3
        # libtool requires '-no-undefined'
        cygmake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-no-undefined"
}

src_install() {
        cd ${B}
        cyginstall

        cd ${S}
        dodoc doc/*.txt

        cd ${D}
        # affuse only prints that FUSE is not supported
        rm -v usr/bin/affuse.exe usr/share/man/man1/affuse.1

        gzip -9nv usr/share/doc/${PN}/*.txt
}

Reply via email to