From b94f2de41d44b9e2a54248ac38081d9932956d5c Mon Sep 17 00:00:00 2001 From: DRC Date: Tue, 22 Mar 2011 09:31:25 +0000 Subject: [PATCH] Clean up packaging system git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@537 632fc199-4ca6-4c93-a231-07263d6284db --- CMakeLists.txt | 11 ++++--- Makefile.am | 29 ++++++++++--------- configure.ac | 13 +++++++-- ...iption.plist.tmpl => Description.plist.in} | 4 +-- release/{Info.plist.tmpl => Info.plist.in} | 6 ++-- release/{deb-control.tmpl => deb-control.in} | 6 ++-- release/libjpeg-turbo.nsi.in | 16 +++++----- release/{makecygwinpkg => makecygwinpkg.in} | 13 ++------- release/{makedpkg => makedpkg.in} | 25 +++++----------- release/makemacpkg.in | 25 ++++++---------- release/makesunpkg.in | 14 ++++----- release/{pkginfo.tmpl => pkginfo.in} | 6 ++-- release/{uninstall.sh.tmpl => uninstall.in} | 4 +-- 13 files changed, 79 insertions(+), 93 deletions(-) rename release/{Description.plist.tmpl => Description.plist.in} (86%) rename release/{Info.plist.tmpl => Info.plist.in} (91%) rename release/{deb-control.tmpl => deb-control.in} (95%) rename release/{makecygwinpkg => makecygwinpkg.in} (85%) rename release/{makedpkg => makedpkg.in} (80%) rename release/{pkginfo.tmpl => pkginfo.in} (78%) rename release/{uninstall.sh.tmpl => uninstall.in} (96%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 74ec2a3..edf00a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -331,19 +331,21 @@ add_test(jpegtran-static-crop-cmp ${CMAKE_COMMAND} -E compare_files ${CMAKE_SOUR # Installer # -set(INST_NAME ${CMAKE_PROJECT_NAME}) - if(MSVC) set(INST_PLATFORM "Visual C++") + set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-vc) + set(INST_DIR ${CMAKE_PROJECT_NAME}) elseif(MINGW) set(INST_PLATFORM GCC) - set(INST_NAME ${INST_NAME}-gcc) + set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-gcc) + set(INST_DIR ${CMAKE_PROJECT_NAME}-gcc) set(INST_DEFS -DGCC) endif() if(64BIT) set(INST_PLATFORM "${INST_PLATFORM} 64-bit") set(INST_NAME ${INST_NAME}64) + set(INST_DIR ${INST_DIR}64) set(INST_DEFS ${INST_DEFS} -DWIN64) endif() @@ -357,7 +359,8 @@ configure_file(release/libjpeg-turbo.nsi.in libjpeg-turbo.nsi @ONLY) add_custom_target(installer makensis -nocd ${INST_DEFS} libjpeg-turbo.nsi - DEPENDS jpeg jpeg-static turbojpeg turbojpeg-static + DEPENDS jpeg jpeg-static turbojpeg turbojpeg-static rdjpgcom wrjpgcom + cjpeg djpeg jpegtran jpgtest SOURCES libjpeg-turbo.nsi) install(TARGETS jpeg-static turbojpeg turbojpeg-static rdjpgcom wrjpgcom jpgtest diff --git a/Makefile.am b/Makefile.am index 3131953..064114c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -223,11 +223,12 @@ rpm: all TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \ mkdir -p $$TMPDIR/RPMS; \ ln -fs `pwd` $$TMPDIR/BUILD; \ - rm -f ${PACKAGE_NAME}.${RPMARCH}.rpm; \ + rm -f ${PACKAGE_NAME}-${VERSION}.${RPMARCH}.rpm; \ rpmbuild -bb --define "_blddir $$TMPDIR/buildroot" \ --define "_topdir $$TMPDIR" --define "_srcdir ${srcdir}" \ - --target ${RPMARCH} libjpeg-turbo.spec; \ - cp $$TMPDIR/RPMS/${RPMARCH}/${PACKAGE_NAME}-${VERSION}-${BUILD}.${RPMARCH}.rpm ${PACKAGE_NAME}.${RPMARCH}.rpm; \ + --target ${RPMARCH} pkgscripts/libjpeg-turbo.spec; \ + cp $$TMPDIR/RPMS/${RPMARCH}/${PACKAGE_NAME}-${VERSION}-${BUILD}.${RPMARCH}.rpm \ + ${PACKAGE_NAME}-${VERSION}.${RPMARCH}.rpm; \ rm -rf $$TMPDIR srpm: dist-gzip @@ -237,38 +238,38 @@ srpm: dist-gzip mkdir -p $$TMPDIR/BUILD; \ mkdir -p $$TMPDIR/SOURCES; \ mkdir -p $$TMPDIR/SPECS; \ - rm -f ${PACKAGE_NAME}.src.rpm; \ + rm -f ${PACKAGE_NAME}-${VERSION}.src.rpm; \ cp ${PACKAGE_NAME}-${VERSION}.tar.gz $$TMPDIR/SOURCES; \ - cat libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \ + cat pkgscripts/libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \ | sed s@%{_srcdir}/@@g | sed s/#--\>//g \ - >$$TMPDIR/SPECS/libjpeg-turbo.spec; \ + > $$TMPDIR/SPECS/libjpeg-turbo.spec; \ rpmbuild -bs --define "_topdir $$TMPDIR" $$TMPDIR/SPECS/libjpeg-turbo.spec; \ - cp $$TMPDIR/SRPMS/${PACKAGE_NAME}-${VERSION}-${BUILD}.src.rpm ${PACKAGE_NAME}.src.rpm; \ + cp $$TMPDIR/SRPMS/${PACKAGE_NAME}-${VERSION}-${BUILD}.src.rpm \ + ${PACKAGE_NAME}-${VERSION}.src.rpm; \ rm -rf $$TMPDIR deb: all - sh $(srcdir)/release/makedpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \ - ${DEBARCH} ${srcdir} + sh pkgscripts/makedpkg if X86_64 udmg: all - sh makemacpkg universal ${BUILDDIR32} + sh pkgscripts/makemacpkg universal ${BUILDDIR32} endif dmg: all - sh makemacpkg + sh pkgscripts/makemacpkg if X86_64 csunpkg: all - sh makesunpkg combined ${BUILDDIR32} + sh pkgscripts/makesunpkg combined ${BUILDDIR32} endif sunpkg: all - sh makesunpkg + sh pkgscripts/makesunpkg cygwinpkg: all - sh $(srcdir)/release/makecygwinpkg ${PACKAGE_NAME} ${VERSION} ${srcdir} + sh pkgscripts/makecygwinpkg diff --git a/configure.ac b/configure.ac index 89d21cf..869055a 100644 --- a/configure.ac +++ b/configure.ac @@ -302,9 +302,16 @@ AC_DEFINE_UNQUOTED([BUILD], "$BUILD", [Build number]) # jconfig.h is a minimal version that allows this package to be built AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([jconfig.h]) -AC_CONFIG_FILES([libjpeg-turbo.spec:release/libjpeg-turbo.spec.in]) -AC_CONFIG_FILES([makemacpkg:release/makemacpkg.in]) -AC_CONFIG_FILES([makesunpkg:release/makesunpkg.in]) +AC_CONFIG_FILES([pkgscripts/libjpeg-turbo.spec:release/libjpeg-turbo.spec.in]) +AC_CONFIG_FILES([pkgscripts/makecygwinpkg:release/makecygwinpkg.in]) +AC_CONFIG_FILES([pkgscripts/makedpkg:release/makedpkg.in]) +AC_CONFIG_FILES([pkgscripts/deb-control:release/deb-control.in]) +AC_CONFIG_FILES([pkgscripts/makemacpkg:release/makemacpkg.in]) +AC_CONFIG_FILES([pkgscripts/Description.plist:release/Description.plist.in]) +AC_CONFIG_FILES([pkgscripts/Info.plist:release/Info.plist.in]) +AC_CONFIG_FILES([pkgscripts/uninstall:release/uninstall.in]) +AC_CONFIG_FILES([pkgscripts/makesunpkg:release/makesunpkg.in]) +AC_CONFIG_FILES([pkgscripts/pkginfo:release/pkginfo.in]) AC_CONFIG_FILES([libjpeg.map]) AC_CONFIG_FILES([Makefile simd/Makefile]) AC_OUTPUT diff --git a/release/Description.plist.tmpl b/release/Description.plist.in similarity index 86% rename from release/Description.plist.tmpl rename to release/Description.plist.in index 4c5875c..adca3ec 100644 --- a/release/Description.plist.tmpl +++ b/release/Description.plist.in @@ -5,8 +5,8 @@ IFPkgDescriptionDescription A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs IFPkgDescriptionTitle - {__APPNAME} + @PACKAGE_NAME@ IFPkgDescriptionVersion - {__VERSION} + @VERSION@ diff --git a/release/Info.plist.tmpl b/release/Info.plist.in similarity index 91% rename from release/Info.plist.tmpl rename to release/Info.plist.in index a33daae..0575079 100755 --- a/release/Info.plist.tmpl +++ b/release/Info.plist.in @@ -3,15 +3,15 @@ CFBundleGetInfoString - {__VERSION}, The libjpeg-turbo Project + @VERSION@, The libjpeg-turbo Project CFBundleIdentifier com.libjpeg-turbo.libjpeg-turbo CFBundleShortVersionString - {__VERSION} + @VERSION@ IFMajorVersion 1 IFMinorVersion - {__BUILD} + @BUILD@ IFPkgFlagAllowBackRev IFPkgFlagAuthorizationAction diff --git a/release/deb-control.tmpl b/release/deb-control.in similarity index 95% rename from release/deb-control.tmpl rename to release/deb-control.in index ade573e..d87c85f 100644 --- a/release/deb-control.tmpl +++ b/release/deb-control.in @@ -1,8 +1,8 @@ -Package: {__PKGNAME} -Version: {__VERSION}-{__BUILD} +Package: @PACKAGE_NAME@ +Version: @VERSION@-@BUILD@ Section: misc Priority: optional -Architecture: {__ARCH} +Architecture: @DEBARCH@ Essential: no Maintainer: The libjpeg-turbo Project [http://libjpeg-turbo.VirtualGL.org] Description: A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs diff --git a/release/libjpeg-turbo.nsi.in b/release/libjpeg-turbo.nsi.in index de71153..73e0e00 100755 --- a/release/libjpeg-turbo.nsi.in +++ b/release/libjpeg-turbo.nsi.in @@ -1,7 +1,7 @@ !include x64.nsh Name "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@" OutFile "@CMAKE_BINARY_DIR@\${BUILDDIR}@INST_NAME@.exe" -InstallDir c:\@INST_NAME@ +InstallDir c:\@INST_DIR@ SetCompressor bzip2 @@ -77,12 +77,12 @@ Section "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ (required)" File "@CMAKE_SOURCE_DIR@\LICENSE.txt" File "@CMAKE_SOURCE_DIR@\usage.txt" - WriteRegStr HKLM "SOFTWARE\@INST_NAME@ @VERSION@" "Install_Dir" "$INSTDIR" + WriteRegStr HKLM "SOFTWARE\@INST_DIR@ @VERSION@" "Install_Dir" "$INSTDIR" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "DisplayName" "@CMAKE_PROJECT_NAME@ SDK v@VERSION@ for @INST_PLATFORM@" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "UninstallString" '"$INSTDIR\uninstall_@VERSION@.exe"' - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "NoModify" 1 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "NoRepair" 1 + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "DisplayName" "@CMAKE_PROJECT_NAME@ SDK v@VERSION@ for @INST_PLATFORM@" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "UninstallString" '"$INSTDIR\uninstall_@VERSION@.exe"' + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "NoModify" 1 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "NoRepair" 1 WriteUninstaller "uninstall_@VERSION@.exe" SectionEnd @@ -95,8 +95,8 @@ Section "Uninstall" SetShellVarContext all - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" - DeleteRegKey HKLM "SOFTWARE\@INST_NAME@ @VERSION@" + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" + DeleteRegKey HKLM "SOFTWARE\@INST_DIR@ @VERSION@" !ifdef GCC Delete $INSTDIR\bin\libjpeg-@DLL_VERSION@.dll diff --git a/release/makecygwinpkg b/release/makecygwinpkg.in similarity index 85% rename from release/makecygwinpkg rename to release/makecygwinpkg.in index 3ed1a40..51d5852 100755 --- a/release/makecygwinpkg +++ b/release/makecygwinpkg.in @@ -15,16 +15,9 @@ onexit() fi } -usage() -{ - echo "$0 " - exit 1 -} - -if [ $# -lt 3 ]; then usage $0; fi -PACKAGE_NAME=$1 -VERSION=$2 -SRCDIR=$3 +PACKAGE_NAME=@PACKAGE_NAME@ +VERSION=@VERSION@ +SRCDIR=@abs_top_srcdir@ umask 022 rm -f $PACKAGE_NAME-$VERSION-cygwin.tar.bz2 diff --git a/release/makedpkg b/release/makedpkg.in similarity index 80% rename from release/makedpkg rename to release/makedpkg.in index f565464..2a0539a 100644 --- a/release/makedpkg +++ b/release/makedpkg.in @@ -15,12 +15,6 @@ onexit() fi } -usage() -{ - echo "$0 " - exit 1 -} - makedeb() { SUPPLEMENT=$1 @@ -35,12 +29,10 @@ makedeb() fi umask 022 - rm -f $PACKAGE_NAME\_$DEBARCH.deb + rm -f $PACKAGE_NAME\_$VERSION\_$DEBARCH.deb TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX` mkdir $TMPDIR/DEBIAN - (cat $SRCDIR/release/deb-control.tmpl | sed s/{__PKGNAME}/$PACKAGE_NAME/g \ - | sed s/{__VERSION}/$VERSION/g | sed s/{__BUILD}/$BUILD/g \ - | sed s/{__ARCH}/$DEBARCH/g > $TMPDIR/DEBIAN/control) + cp pkgscripts/deb-control $TMPDIR/DEBIAN/control make install prefix=$TMPDIR/opt/$DIRNAME libdir=$TMPDIR/opt/$DIRNAME/$__LIB mandir=$TMPDIR/opt/$DIRNAME/man rm -f $TMPDIR/opt/$DIRNAME/$__LIB/*.la @@ -78,15 +70,14 @@ makedeb() fi sudo chown -Rh root:root $TMPDIR/* - dpkg -b $TMPDIR $PACKAGE_NAME\_$DEBARCH.deb + dpkg -b $TMPDIR $PACKAGE_NAME\_$VERSION\_$DEBARCH.deb } -if [ $# -lt 5 ]; then usage $0; fi -PACKAGE_NAME=$1 -VERSION=$2 -BUILD=$3 -DEBARCH=$4 -SRCDIR=$5 +PACKAGE_NAME=@PACKAGE_NAME@ +VERSION=@VERSION@ +BUILD=@BUILD@ +DEBARCH=@DEBARCH@ +SRCDIR=@abs_top_srcdir@ makedeb 0 if [ "$DEBARCH" = "i386" ]; then makedeb 1; fi diff --git a/release/makemacpkg.in b/release/makemacpkg.in index c7bbbcf..a937188 100644 --- a/release/makemacpkg.in +++ b/release/makemacpkg.in @@ -26,8 +26,8 @@ UNIVERSAL=0 PACKAGE_NAME=@PACKAGE_NAME@ VERSION=@VERSION@ BUILD=@BUILD@ -SRCDIR=@srcdir@ -BUILDDIR32=@srcdir@/osxx86 +SRCDIR=@abs_top_srcdir@ +BUILDDIR32=@abs_top_srcdir@/osxx86 BUILDJNILIB=@BUILDJNILIB@ if [ $# -gt 0 ]; then if [ "$1" = "universal" ]; then @@ -37,8 +37,8 @@ if [ $# -gt 0 ]; then fi PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker -if [ -f $PACKAGE_NAME.dmg ]; then - rm -f $PACKAGE_NAME.dmg +if [ -f $PACKAGE_NAME-$VERSION.dmg ]; then + rm -f $PACKAGE_NAME-$VERSION.dmg fi umask 022 @@ -138,15 +138,9 @@ chmod 1775 $PKGROOT/Library chmod 775 $PKGROOT/Library/Documentation mkdir -p $TMPDIR/pkg/Resources -(cat $SRCDIR/release/Description.plist.tmpl | sed s/{__VERSION}/$VERSION/g \ - | sed s/{__APPNAME}/$PACKAGE_NAME/g \ - > $TMPDIR/pkg/Description.plist) -(cat $SRCDIR/release/Info.plist.tmpl | sed s/{__VERSION}/$VERSION/g \ - | sed s/{__BUILD}/$BUILD/g > $TMPDIR/pkg/Info.plist) -(cat $SRCDIR/release/uninstall.sh.tmpl \ - | sed s/{__APPNAME}/$PACKAGE_NAME/g \ - > $PKGROOT/opt/$PACKAGE_NAME/bin/uninstall) -chmod 755 $PKGROOT/opt/$PACKAGE_NAME/bin/uninstall +cp pkgscripts/Description.plist $TMPDIR/pkg/ +cp pkgscripts/Info.plist $TMPDIR/pkg/ +install -m 755 pkgscripts/uninstall $PKGROOT/opt/$PACKAGE_NAME/bin/ install -m 644 $SRCDIR/LICENSE.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/LICENSE.txt install -m 644 $SRCDIR/LGPL.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/LGPL.txt @@ -167,8 +161,7 @@ install -m 644 $SRCDIR/release/uninstall.applescript $TMPDIR sudo osacompile -t APPL -o "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app" $TMPDIR/uninstall.applescript sudo chown -R $USER "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app" hdiutil create -fs HFS+ -volname $PACKAGE_NAME-$VERSION \ - -srcfolder "$TMPDIR/dmg" \ - $TMPDIR/$PACKAGE_NAME.dmg -cp $TMPDIR/$PACKAGE_NAME.dmg . + -srcfolder "$TMPDIR/dmg" $TMPDIR/$PACKAGE_NAME-$VERSION.dmg +cp $TMPDIR/$PACKAGE_NAME-$VERSION.dmg . exit diff --git a/release/makesunpkg.in b/release/makesunpkg.in index f262389..aa2e735 100644 --- a/release/makesunpkg.in +++ b/release/makesunpkg.in @@ -27,8 +27,8 @@ PACKAGE_NAME=@PACKAGE_NAME@ VERSION=@VERSION@ BUILD=@BUILD@ PKGARCH=@DEBARCH@ -SRCDIR=@srcdir@ -BUILDDIR32=@srcdir@/solx86 +SRCDIR=@abs_top_srcdir@ +BUILDDIR32=@abs_top_srcdir@/solx86 if [ $# -gt 0 ]; then if [ "$1" = "combined" ]; then COMBINED=1 @@ -41,9 +41,7 @@ TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX` rm -f $PACKAGE_NAME.pkg.bz2 cp $SRCDIR/release/copyright $TMPDIR touch $TMPDIR/depend -cat $SRCDIR/release/pkginfo.tmpl | sed s/{__VERSION}/$VERSION/g \ - | sed s/{__BUILD}/$BUILD/g | sed s/{__APPNAME}/$PACKAGE_NAME/g \ - | sed s/{__PKGNAME}/$PACKAGE_NAME/g > $TMPDIR/pkginfo +cp pkgscripts/pkginfo $TMPDIR/pkginfo if [ "$PKGARCH" = "i386" ]; then __LIB=lib @@ -132,8 +130,8 @@ f none $PACKAGE_NAME/doc/usage.txt 0644 root bin EOF pkgmk -o -r $TMPDIR/opt -d $TMPDIR -a i386 -f $TMPDIR/proto -pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME.pkg $PACKAGE_NAME -bzip2 $TMPDIR/$PACKAGE_NAME.pkg -cp $TMPDIR/$PACKAGE_NAME.pkg.bz2 . +pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME-$VERSION.pkg $PACKAGE_NAME +bzip2 $TMPDIR/$PACKAGE_NAME-$VERSION.pkg +cp $TMPDIR/$PACKAGE_NAME-$VERSION.pkg.bz2 . exit diff --git a/release/pkginfo.tmpl b/release/pkginfo.in similarity index 78% rename from release/pkginfo.tmpl rename to release/pkginfo.in index 68bee88..9c8bda2 100644 --- a/release/pkginfo.tmpl +++ b/release/pkginfo.in @@ -1,7 +1,7 @@ ARCH=i386 -PKG={__PKGNAME} -NAME={__APPNAME} SDK and run time libraries -VERSION={__VERSION},REV={__BUILD} +PKG=@PACKAGE_NAME@ +NAME=@PACKAGE_NAME@ SDK and run time libraries +VERSION=@VERSION@,REV=@BUILD@ SUNW_PKGVERS=1.0 DESC=A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs VENDOR=The libjpeg-turbo Project diff --git a/release/uninstall.sh.tmpl b/release/uninstall.in similarity index 96% rename from release/uninstall.sh.tmpl rename to release/uninstall.in index ed8846b..94fc4f1 100644 --- a/release/uninstall.sh.tmpl +++ b/release/uninstall.in @@ -1,4 +1,4 @@ -# Copyright (C)2009-2010 D. R. Commander +# Copyright (C)2009-2011 D. R. Commander # Copyright (C)2009 Sun Microsystems, Inc. # # This library is free software and may be redistributed and/or modified under @@ -23,7 +23,7 @@ if [ ! "`id -u`" = "0" ]; then error "This command must be run as root" fi -PKGNAME={__APPNAME} +PKGNAME=@PACKAGE_NAME@ MACPKGNAME=com.$PKGNAME.$PKGNAME RCPT=/Library/Receipts/$PKGNAME.pkg -- 2.40.0