From pfelecan at users.sourceforge.net Wed Jun 1 09:57:37 2016 From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net) Date: Wed, 1 Jun 2016 07:57:37 +0000 Subject: SF.net SVN: gar:[25750] csw/mgar/pkg/libdvdnav/trunk/Makefile Message-ID: <3rKN523bXWz1CM@mail.opencsw.org> Revision: 25750 http://sourceforge.net/p/gar/code/25750 Author: pfelecan Date: 2016-06-01 07:57:37 +0000 (Wed, 01 Jun 2016) Log Message: ----------- Activate 64 bit build Modified Paths: -------------- csw/mgar/pkg/libdvdnav/trunk/Makefile Modified: csw/mgar/pkg/libdvdnav/trunk/Makefile =================================================================== --- csw/mgar/pkg/libdvdnav/trunk/Makefile 2016-05-31 11:40:11 UTC (rev 25749) +++ csw/mgar/pkg/libdvdnav/trunk/Makefile 2016-06-01 07:57:37 UTC (rev 25750) @@ -21,6 +21,8 @@ PACKAGING_PLATFORMS = solaris10-sparc PACKAGING_PLATFORMS += solaris10-i386 +BUILD64_LIBS_ONLY = 1 + GARCOMPILER = GNU CONFIGURE_ARGS = $(DIRPATHS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Wed Jun 1 13:35:29 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Wed, 1 Jun 2016 11:35:29 +0000 Subject: SF.net SVN: gar:[25751] csw/mgar/pkg/curl/trunk Message-ID: <3rKSwL6CvDz1LF@mail.opencsw.org> Revision: 25751 http://sourceforge.net/p/gar/code/25751 Author: dmichelsen Date: 2016-06-01 11:35:29 +0000 (Wed, 01 Jun 2016) Log Message: ----------- curl/trunk: Update to 7.49.1 Modified Paths: -------------- csw/mgar/pkg/curl/trunk/Makefile csw/mgar/pkg/curl/trunk/checksums Modified: csw/mgar/pkg/curl/trunk/Makefile =================================================================== --- csw/mgar/pkg/curl/trunk/Makefile 2016-06-01 07:57:37 UTC (rev 25750) +++ csw/mgar/pkg/curl/trunk/Makefile 2016-06-01 11:35:29 UTC (rev 25751) @@ -1,5 +1,5 @@ NAME = curl -VERSION = 7.49.0 +VERSION = 7.49.1 GARTYPE = v2 DESCRIPTION = Command line tool and library for client-side URL transfers Modified: csw/mgar/pkg/curl/trunk/checksums =================================================================== --- csw/mgar/pkg/curl/trunk/checksums 2016-06-01 07:57:37 UTC (rev 25750) +++ csw/mgar/pkg/curl/trunk/checksums 2016-06-01 11:35:29 UTC (rev 25751) @@ -1 +1 @@ -f14b50657174e3c91d955f7a3e064e8c curl-7.49.0.tar.lzma +ae5e5e395da413d1fa0864e1d0a3fa57 curl-7.49.1.tar.lzma This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From pfelecan at users.sourceforge.net Wed Jun 1 18:14:26 2016 From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net) Date: Wed, 1 Jun 2016 16:14:26 +0000 Subject: SF.net SVN: gar:[25752] csw/mgar/pkg/libdvdcss/trunk/Makefile Message-ID: <3rKb6B5LZlz1Pr@mail.opencsw.org> Revision: 25752 http://sourceforge.net/p/gar/code/25752 Author: pfelecan Date: 2016-06-01 16:14:26 +0000 (Wed, 01 Jun 2016) Log Message: ----------- Activate 64 bit build Modified Paths: -------------- csw/mgar/pkg/libdvdcss/trunk/Makefile Modified: csw/mgar/pkg/libdvdcss/trunk/Makefile =================================================================== --- csw/mgar/pkg/libdvdcss/trunk/Makefile 2016-06-01 11:35:29 UTC (rev 25751) +++ csw/mgar/pkg/libdvdcss/trunk/Makefile 2016-06-01 16:14:26 UTC (rev 25752) @@ -17,6 +17,8 @@ PACKAGING_PLATFORMS = solaris10-sparc PACKAGING_PLATFORMS += solaris10-i386 +BUILD64_LIBS_ONLY = 1 + GARCOMPILER = GNU CONFIGURE_ARGS = $(DIRPATHS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From pfelecan at users.sourceforge.net Wed Jun 1 19:17:08 2016 From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net) Date: Wed, 1 Jun 2016 17:17:08 +0000 Subject: SF.net SVN: gar:[25753] csw/mgar/pkg/libdvdcss/trunk/Makefile Message-ID: <3rKcVY6fRYz1Sc@mail.opencsw.org> Revision: 25753 http://sourceforge.net/p/gar/code/25753 Author: pfelecan Date: 2016-06-01 17:17:08 +0000 (Wed, 01 Jun 2016) Log Message: ----------- Declaring the development package as architecture specific seems to be easier viz. overrides. Modified Paths: -------------- csw/mgar/pkg/libdvdcss/trunk/Makefile Modified: csw/mgar/pkg/libdvdcss/trunk/Makefile =================================================================== --- csw/mgar/pkg/libdvdcss/trunk/Makefile 2016-06-01 16:14:26 UTC (rev 25752) +++ csw/mgar/pkg/libdvdcss/trunk/Makefile 2016-06-01 17:17:08 UTC (rev 25753) @@ -43,7 +43,7 @@ PKGFILES_CSWlibdvdcss-dev += $(PKGFILES_DEVEL) #PKGFILES_CSWlibdvdcss-dev += /opt/csw/share/pkgconfig/autoopts.pc RUNTIME_DEP_PKGS_CSWlibdvdcss-dev += CSWlibdvdcss2 -CHECKPKG_OVERRIDES_CSWlibdvdcss-dev += archall-devel-package +#CHECKPKG_OVERRIDES_CSWlibdvdcss-dev += archall-devel-package ARCHALL_CSWlibdvdcss-dev = 1 include gar/category.mk This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From pfelecan at users.sourceforge.net Wed Jun 1 19:43:56 2016 From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net) Date: Wed, 1 Jun 2016 17:43:56 +0000 Subject: SF.net SVN: gar:[25754] csw/mgar/pkg/libdvdcss/trunk/Makefile Message-ID: <3rKd5S3sbfz1W5@mail.opencsw.org> Revision: 25754 http://sourceforge.net/p/gar/code/25754 Author: pfelecan Date: 2016-06-01 17:43:55 +0000 (Wed, 01 Jun 2016) Log Message: ----------- Finally it's easier to declare the package architecture dependent. Modified Paths: -------------- csw/mgar/pkg/libdvdcss/trunk/Makefile Modified: csw/mgar/pkg/libdvdcss/trunk/Makefile =================================================================== --- csw/mgar/pkg/libdvdcss/trunk/Makefile 2016-06-01 17:17:08 UTC (rev 25753) +++ csw/mgar/pkg/libdvdcss/trunk/Makefile 2016-06-01 17:43:55 UTC (rev 25754) @@ -43,8 +43,6 @@ PKGFILES_CSWlibdvdcss-dev += $(PKGFILES_DEVEL) #PKGFILES_CSWlibdvdcss-dev += /opt/csw/share/pkgconfig/autoopts.pc RUNTIME_DEP_PKGS_CSWlibdvdcss-dev += CSWlibdvdcss2 -#CHECKPKG_OVERRIDES_CSWlibdvdcss-dev += archall-devel-package -ARCHALL_CSWlibdvdcss-dev = 1 include gar/category.mk This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Thu Jun 2 15:16:47 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Thu, 2 Jun 2016 13:16:47 +0000 Subject: SF.net SVN: gar:[25755] csw/mgar/pkg Message-ID: <3rL76y2spFzS3@mail.opencsw.org> Revision: 25755 http://sourceforge.net/p/gar/code/25755 Author: dmichelsen Date: 2016-06-02 13:16:46 +0000 (Thu, 02 Jun 2016) Log Message: ----------- ossec/trunk: Initial commit Added Paths: ----------- csw/mgar/pkg/ossec/ csw/mgar/pkg/ossec/Makefile csw/mgar/pkg/ossec/branches/ csw/mgar/pkg/ossec/tags/ csw/mgar/pkg/ossec/trunk/ csw/mgar/pkg/ossec/trunk/Makefile csw/mgar/pkg/ossec/trunk/checksums csw/mgar/pkg/ossec/trunk/files/ Added: csw/mgar/pkg/ossec/Makefile =================================================================== --- csw/mgar/pkg/ossec/Makefile (rev 0) +++ csw/mgar/pkg/ossec/Makefile 2016-06-02 13:16:46 UTC (rev 25755) @@ -0,0 +1,2 @@ +%: + $(MAKE) -C trunk $* Index: csw/mgar/pkg/ossec/trunk =================================================================== --- csw/mgar/pkg/ossec/trunk 2016-06-01 17:43:55 UTC (rev 25754) +++ csw/mgar/pkg/ossec/trunk 2016-06-02 13:16:46 UTC (rev 25755) Property changes on: csw/mgar/pkg/ossec/trunk ___________________________________________________________________ Added: svn:ignore ## -0,0 +1 ## +work Added: csw/mgar/pkg/ossec/trunk/Makefile =================================================================== --- csw/mgar/pkg/ossec/trunk/Makefile (rev 0) +++ csw/mgar/pkg/ossec/trunk/Makefile 2016-06-02 13:16:46 UTC (rev 25755) @@ -0,0 +1,21 @@ +NAME = ossec +VERSION = 1.1.1 +GARTYPE = v2 + +DESCRIPTION = The open source WAZUH fork of the popular open source Host Intrusion Detection System OSSEC-HIDS + +# https://github.com/wazuh/ossec-wazuh/archive/v1.1.1.tar.gz +MASTER_SITES = https://github.com/wazuh/ossec-wazuh/archive/ +DISTNAME = ossec-wazuh-$(VERSION) +DISTFILES = v$(VERSION).tar.gz + +GARCOMPILER = GNU + +WORKSRC = $(abspath $(WORKDIR)/$(DISTNAME)/src) + +CONFIGURE_ARGS = $(DIRPATHS) +CONFIGURE_SCRIPTS = +BUILD_ARGS = TARGET=agent + + +include gar/category.mk Added: csw/mgar/pkg/ossec/trunk/checksums =================================================================== --- csw/mgar/pkg/ossec/trunk/checksums (rev 0) +++ csw/mgar/pkg/ossec/trunk/checksums 2016-06-02 13:16:46 UTC (rev 25755) @@ -0,0 +1 @@ +21ff80b4564a71b81d1a94431de975c9 v1.1.1.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From lblume at users.sourceforge.net Sun Jun 5 16:20:28 2016 From: lblume at users.sourceforge.net (lblume at users.sourceforge.net) Date: Sun, 5 Jun 2016 14:20:28 +0000 Subject: SF.net SVN: gar:[25756] csw/mgar/pkg/mysql5/branches/mysql-5.6.x Message-ID: <3rN0Nz55PNz15L@mail.opencsw.org> Revision: 25756 http://sourceforge.net/p/gar/code/25756 Author: lblume Date: 2016-06-05 14:20:28 +0000 (Sun, 05 Jun 2016) Log Message: ----------- mysql5/branches/mysql-5.6.x: Bump to 5.6.31 Modified Paths: -------------- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums Modified: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile =================================================================== --- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile 2016-06-02 13:16:46 UTC (rev 25755) +++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile 2016-06-05 14:20:28 UTC (rev 25756) @@ -20,7 +20,7 @@ PROJ_NAME = mysql NAME = $(PROJ_NAME)56 BASE_VERSION = 5.6 -PATCHLEVEL = 30 +PATCHLEVEL = 31 ALTS_PRIO = 56 VERSION = $(BASE_VERSION).$(PATCHLEVEL) Modified: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums =================================================================== --- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums 2016-06-02 13:16:46 UTC (rev 25755) +++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums 2016-06-05 14:20:28 UTC (rev 25756) @@ -1 +1 @@ -ac8ba1db4454d2c144c7d892185a9328 mysql-5.6.30.tar.gz +a2d1d89c85ee1f5b1059dbfc741f0b0d mysql-5.6.31.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From lblume at users.sourceforge.net Sun Jun 5 17:10:31 2016 From: lblume at users.sourceforge.net (lblume at users.sourceforge.net) Date: Sun, 5 Jun 2016 15:10:31 +0000 Subject: SF.net SVN: gar:[25757] csw/mgar/pkg/gstplugins_bad/trunk/Makefile Message-ID: <3rN1Vb2sJ6z17q@mail.opencsw.org> Revision: 25757 http://sourceforge.net/p/gar/code/25757 Author: lblume Date: 2016-06-05 15:10:31 +0000 (Sun, 05 Jun 2016) Log Message: ----------- gstplugins_bad/trunk: Add build deps Modified Paths: -------------- csw/mgar/pkg/gstplugins_bad/trunk/Makefile Modified: csw/mgar/pkg/gstplugins_bad/trunk/Makefile =================================================================== --- csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-05 14:20:28 UTC (rev 25756) +++ csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-05 15:10:31 UTC (rev 25757) @@ -33,6 +33,8 @@ BUILD_DEP_PKGS += CSWfconfig BUILD_DEP_PKGS += CSWftype2 BUILD_DEP_PKGS += CSWlibsndfile-dev +BUILD_DEP_PKGS += CSWlibdvdread-dev +BUILD_DEP_PKGS += CSWlibdvdnav-dev GARCOMPILER = GCC5 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From lblume at users.sourceforge.net Mon Jun 6 17:40:13 2016 From: lblume at users.sourceforge.net (lblume at users.sourceforge.net) Date: Mon, 6 Jun 2016 15:40:13 +0000 Subject: SF.net SVN: gar:[25758] csw/mgar/pkg/gstplugins_bad/trunk/Makefile Message-ID: <3rNf6q5qGzz81@mail.opencsw.org> Revision: 25758 http://sourceforge.net/p/gar/code/25758 Author: lblume Date: 2016-06-06 15:40:12 +0000 (Mon, 06 Jun 2016) Log Message: ----------- gstplugins_bad/trunk: Reorganize packages, update deps Modified Paths: -------------- csw/mgar/pkg/gstplugins_bad/trunk/Makefile Modified: csw/mgar/pkg/gstplugins_bad/trunk/Makefile =================================================================== --- csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-05 15:10:31 UTC (rev 25757) +++ csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-06 15:40:12 UTC (rev 25758) @@ -43,58 +43,198 @@ PACKAGES += CSWgstplugins-bad SPKG_DESC_CSWgstplugins-bad += $(DESCRIPTION), base package -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstsdp0-10-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgmodule2-0-0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstinterfaces0-10-0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstrtp0-10-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibglib2-0-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibfaad2 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibssl1-0-0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibpng15-15 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibsndfile1 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibintl8 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibcairo2 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgsttag0-10-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWfaac -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstreamer0-10-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgobject2-0-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgio2-0-0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstvideo0-10-0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstaudio0-10-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibrsvg2-2 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstbase0-10-0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibsdl1-2-0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstcontroller0-10-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgcc-s1 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstpluginsbase-bad-10-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgsturidownloader1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstphotography1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstmpegts1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstcodecparsers1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstbasecamerabinsrc1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstbadvideo1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstbadbase1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstbadaudio1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstadaptivedemux1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibwebp4 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibdvdread4 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstreamer1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstnet1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstaudio1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibhalf10 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstpbutils1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibkate1 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstvideo1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibcurl4 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgsttag1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibilmimf-imf2-0-20 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstbase1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibstdc++6 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibxml2-2 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibneon27 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibrtmp0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += NVDAgraphics +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibbz2-1-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibfluidsynth1 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibdvdnav4 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstrtp1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstfft1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibgstsdp1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibx265-79 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibiex2-0-10 +RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibnettle6 -PACKAGES += CSWlibgstpluginsbase-bad-10-0 -CATALOGNAME_CSWlibgstpluginsbase-bad-10-0 = libgstpluginsbase_bad_10_0 -SPKG_DESC_CSWlibgstpluginsbase-bad-10-0 += $(DESCRIPTION), base libs -PKGFILES_CSWlibgstpluginsbase-bad-10-0 += $(call baseisadirs,$(libdir),libgstbasevideo-0\.10\.so\.0\.0\.0) -PKGFILES_CSWlibgstpluginsbase-bad-10-0 += $(call baseisadirs,$(libdir),libgstbasevideo-0\.10\.so\.0(\.\d+)*) -PKGFILES_CSWlibgstpluginsbase-bad-10-0 += $(call baseisadirs,$(libdir),libgstphotography-0\.10\.so\.0\.0\.0) -PKGFILES_CSWlibgstpluginsbase-bad-10-0 += $(call baseisadirs,$(libdir),libgstphotography-0\.10\.so\.0(\.\d+)*) -PKGFILES_CSWlibgstpluginsbase-bad-10-0 += $(call baseisadirs,$(libdir),libgstsignalprocessor-0\.10\.so\.0\.0\.0) -PKGFILES_CSWlibgstpluginsbase-bad-10-0 += $(call baseisadirs,$(libdir),libgstsignalprocessor-0\.10\.so\.0(\.\d+)*) -RUNTIME_DEP_PKGS_CSWlibgstpluginsbase-bad-10-0 += CSWlibgstbase0-10-0 -RUNTIME_DEP_PKGS_CSWlibgstpluginsbase-bad-10-0 += CSWlibgstreamer0-10-0 -RUNTIME_DEP_PKGS_CSWlibgstpluginsbase-bad-10-0 += CSWlibgstcontroller0-10-0 -RUNTIME_DEP_PKGS_CSWlibgstpluginsbase-bad-10-0 += CSWlibgobject2-0-0 -RUNTIME_DEP_PKGS_CSWlibgstpluginsbase-bad-10-0 += CSWlibglib2-0-0 -RUNTIME_DEP_PKGS_CSWlibgstpluginsbase-bad-10-0 += CSWlibgstvideo0-10-0 -RUNTIME_DEP_PKGS_CSWlibgstpluginsbase-bad-10-0 += CSWlibgcc-s1 -CHECKPKG_OVERRIDES_CSWlibgstpluginsbase-bad-10-0 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libgstbasevideo-0.10.so.0.0.0|soname=libgstbasevideo-0.10.so.0|pkgname=CSWlibgstpluginsbase-bad-10-0|expected=CSWlibgstbasevideo0-10-0 -CHECKPKG_OVERRIDES_CSWlibgstpluginsbase-bad-10-0 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libgstphotography-0.10.so.0.0.0|soname=libgstphotography-0.10.so.0|pkgname=CSWlibgstpluginsbase-bad-10-0|expected=CSWlibgstphotography0-10-0 -CHECKPKG_OVERRIDES_CSWlibgstpluginsbase-bad-10-0 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libgstsignalprocessor-0.10.so.0.0.0|soname=libgstsignalprocessor-0.10.so.0|pkgname=CSWlibgstpluginsbase-bad-10-0|expected=CSWlibgstsignalprocessor0-10-0 +PACKAGES += CSWlibgstadaptivedemux1-0-0 +CATALOGNAME_CSWlibgstadaptivedemux1-0-0 = libgstadaptivedemux1_0_0 +PKGFILES_CSWlibgstadaptivedemux1-0-0 += $(call baseisadirs,$(libdir),libgstadaptivedemux-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstadaptivedemux1-0-0 += $(call baseisadirs,$(libdir),libgstadaptivedemux-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstadaptivedemux1-0-0 += $(DESCRIPTION), libgstadaptivedemux-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstadaptivedemux1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstadaptivedemux1-0-0 += CSWlibgstreamer1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstadaptivedemux1-0-0 += CSWlibgstbase1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstadaptivedemux1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstadaptivedemux1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstadaptivedemux1-0-0 += CSWlibgsturidownloader1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstadaptivedemux1-0-0 += CSWlibgcc-s1 +PACKAGES += CSWlibgstbadaudio1-0-0 +CATALOGNAME_CSWlibgstbadaudio1-0-0 = libgstbadaudio1_0_0 +PKGFILES_CSWlibgstbadaudio1-0-0 += $(call baseisadirs,$(libdir),libgstbadaudio-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstbadaudio1-0-0 += $(call baseisadirs,$(libdir),libgstbadaudio-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstbadaudio1-0-0 += $(DESCRIPTION), libgstbadaudio-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstbadaudio1-0-0 += CSWlibgstbadbase1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadaudio1-0-0 += CSWlibgstreamer1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadaudio1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadaudio1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadaudio1-0-0 += CSWlibgstaudio1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadaudio1-0-0 += CSWlibgcc-s1 + +PACKAGES += CSWlibgstbadbase1-0-0 +CATALOGNAME_CSWlibgstbadbase1-0-0 = libgstbadbase1_0_0 +PKGFILES_CSWlibgstbadbase1-0-0 += $(call baseisadirs,$(libdir),libgstbadbase-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstbadbase1-0-0 += $(call baseisadirs,$(libdir),libgstbadbase-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstbadbase1-0-0 += $(DESCRIPTION), libgstbadbase-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstbadbase1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadbase1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstbadbase1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadbase1-0-0 += CSWlibgstreamer1-0-0 + +PACKAGES += CSWlibgstbadvideo1-0-0 +CATALOGNAME_CSWlibgstbadvideo1-0-0 = libgstbadvideo1_0_0 +PKGFILES_CSWlibgstbadvideo1-0-0 += $(call baseisadirs,$(libdir),libgstbadvideo-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstbadvideo1-0-0 += $(call baseisadirs,$(libdir),libgstbadvideo-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstbadvideo1-0-0 += $(DESCRIPTION), libgstbadvideo-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstbadvideo1-0-0 += CSWlibgstbadbase1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadvideo1-0-0 += CSWlibgstreamer1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadvideo1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadvideo1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbadvideo1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstbadvideo1-0-0 += CSWlibgstvideo1-0-0 + +PACKAGES += CSWlibgstbasecamerabinsrc1-0-0 +CATALOGNAME_CSWlibgstbasecamerabinsrc1-0-0 = libgstbasecamerabinsrc1_0_0 +PKGFILES_CSWlibgstbasecamerabinsrc1-0-0 += $(call baseisadirs,$(libdir),libgstbasecamerabinsrc-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstbasecamerabinsrc1-0-0 += $(call baseisadirs,$(libdir),libgstbasecamerabinsrc-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstbasecamerabinsrc1-0-0 += $(DESCRIPTION), libgstbasecamerabinsrc-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstbasecamerabinsrc1-0-0 += CSWlibgstapp1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbasecamerabinsrc1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstbasecamerabinsrc1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbasecamerabinsrc1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstbasecamerabinsrc1-0-0 += CSWlibgstreamer1-0-0 + +PACKAGES += CSWlibgstcodecparsers1-0-0 +CATALOGNAME_CSWlibgstcodecparsers1-0-0 = libgstcodecparsers1_0_0 +PKGFILES_CSWlibgstcodecparsers1-0-0 += $(call baseisadirs,$(libdir),libgstcodecparsers-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstcodecparsers1-0-0 += $(call baseisadirs,$(libdir),libgstcodecparsers-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstcodecparsers1-0-0 += $(DESCRIPTION), libgstcodecparsers-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstcodecparsers1-0-0 += CSWlibgstbase1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstcodecparsers1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstcodecparsers1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstcodecparsers1-0-0 += CSWlibgstreamer1-0-0 + +PACKAGES += CSWlibgstinsertbin1-0-0 +CATALOGNAME_CSWlibgstinsertbin1-0-0 = libgstinsertbin1_0_0 +PKGFILES_CSWlibgstinsertbin1-0-0 += $(call baseisadirs,$(libdir),libgstinsertbin-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstinsertbin1-0-0 += $(call baseisadirs,$(libdir),libgstinsertbin-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstinsertbin1-0-0 += $(DESCRIPTION), libgstinsertbin-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstinsertbin1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstinsertbin1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstinsertbin1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstinsertbin1-0-0 += CSWlibgstreamer1-0-0 + +PACKAGES += CSWlibgstmpegts1-0-0 +CATALOGNAME_CSWlibgstmpegts1-0-0 = libgstmpegts1_0_0 +PKGFILES_CSWlibgstmpegts1-0-0 += $(call baseisadirs,$(libdir),libgstmpegts-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstmpegts1-0-0 += $(call baseisadirs,$(libdir),libgstmpegts-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstmpegts1-0-0 += $(DESCRIPTION), libgstmpegts-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstmpegts1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstmpegts1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstmpegts1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstmpegts1-0-0 += CSWlibgstreamer1-0-0 + +PACKAGES += CSWlibgstphotography1-0-0 +CATALOGNAME_CSWlibgstphotography1-0-0 = libgstphotography1_0_0 +PKGFILES_CSWlibgstphotography1-0-0 += $(call baseisadirs,$(libdir),libgstphotography-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstphotography1-0-0 += $(call baseisadirs,$(libdir),libgstphotography-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstphotography1-0-0 += $(DESCRIPTION), libgstphotography-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstphotography1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstphotography1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstphotography1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstphotography1-0-0 += CSWlibgstreamer1-0-0 + +PACKAGES += CSWlibgstplayer1-0-0 +CATALOGNAME_CSWlibgstplayer1-0-0 = libgstplayer1_0_0 +PKGFILES_CSWlibgstplayer1-0-0 += $(call baseisadirs,$(libdir),libgstplayer-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgstplayer1-0-0 += $(call baseisadirs,$(libdir),libgstplayer-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgstplayer1-0-0 += $(DESCRIPTION), libgstplayer-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibgsttag1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibgstvideo1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibgstpbutils1-0-0 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibgstreamer1-0-0 + +PACKAGES += CSWlibgsturidownloader1-0-0 +CATALOGNAME_CSWlibgsturidownloader1-0-0 = libgsturidownloader1_0_0 +PKGFILES_CSWlibgsturidownloader1-0-0 += $(call baseisadirs,$(libdir),libgsturidownloader-1\.0\.so\.0\.801\.0) +PKGFILES_CSWlibgsturidownloader1-0-0 += $(call baseisadirs,$(libdir),libgsturidownloader-1\.0\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibgsturidownloader1-0-0 += $(DESCRIPTION), libgsturidownloader-1.0.so.0 +RUNTIME_DEP_PKGS_CSWlibgsturidownloader1-0-0 += CSWlibgstbase1-0-0 +RUNTIME_DEP_PKGS_CSWlibgsturidownloader1-0-0 += CSWlibgobject2-0-0 +RUNTIME_DEP_PKGS_CSWlibgsturidownloader1-0-0 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgsturidownloader1-0-0 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWlibgsturidownloader1-0-0 += CSWlibgstreamer1-0-0 + PACKAGES += CSWgstplugins-bad-dev CATALOGNAME_CSWgstplugins-bad-dev = gstplugins_bad_dev SPKG_DESC_CSWgstplugins-bad-dev += $(DESCRIPTION), development files PKGFILES_CSWgstplugins-bad-dev += $(PKGFILES_DEVEL) -RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstpluginsbase-bad-10-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstphotography1-0-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWgstplugins-bad +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstbasecamerabinsrc1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstmpegts1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstbadbase1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstplayer1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstbadvideo1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstbadaudio1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstcodecparsers1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgsturidownloader1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstinsertbin1-0-0 +RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstadaptivedemux1-0-0 +CHECKPKG_OVERRIDES_CSWgstplugins-bad += file-with-bad-content|/usr/local|root/opt/csw/lib/gstreamer-1.0/libgstfrei0r.so +CHECKPKG_OVERRIDES_CSWgstplugins-bad += file-with-bad-content|/usr/local|root/opt/csw/lib/amd64/gstreamer-1.0/libgstfrei0r.so +CHECKPKG_OVERRIDES_CSWgstplugins-bad += file-with-bad-content|/usr/local|root/opt/csw/lib/sparcv9/gstreamer-1.0/libgstfrei0r.so + CONFIGURE_ARGS += $(DIRPATHS) CONFIGURE_ARGS += --disable-debug CONFIGURE_ARGS += --enable-introspection=no This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From lblume at users.sourceforge.net Mon Jun 6 20:26:12 2016 From: lblume at users.sourceforge.net (lblume at users.sourceforge.net) Date: Mon, 6 Jun 2016 18:26:12 +0000 Subject: SF.net SVN: gar:[25759] csw/mgar/pkg/gstplugins_bad/trunk/Makefile Message-ID: <3rNjnx3ZT5zP9@mail.opencsw.org> Revision: 25759 http://sourceforge.net/p/gar/code/25759 Author: lblume Date: 2016-06-06 18:26:12 +0000 (Mon, 06 Jun 2016) Log Message: ----------- gstplugins_bad/trunk: Add ld bug workaround Modified Paths: -------------- csw/mgar/pkg/gstplugins_bad/trunk/Makefile Modified: csw/mgar/pkg/gstplugins_bad/trunk/Makefile =================================================================== --- csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-06 15:40:12 UTC (rev 25758) +++ csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-06 18:26:12 UTC (rev 25759) @@ -231,6 +231,22 @@ RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstinsertbin1-0-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad-dev += CSWlibgstadaptivedemux1-0-0 +### +# Needed for the Solaris ld bug +ifeq ($(shell /usr/bin/uname -p),sparc) +RUNTIME_DEP_PKGS_CSWlibgstbasecamerabinsrc1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstcodecparsers1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstphotography1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstbadvideo1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstplayer1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstmpegts1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstinsertbin1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstbadbase1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgstbadaudio1-0-0 += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWlibgsturidownloader1-0-0 += CSWlibintl8 +endif +### + CHECKPKG_OVERRIDES_CSWgstplugins-bad += file-with-bad-content|/usr/local|root/opt/csw/lib/gstreamer-1.0/libgstfrei0r.so CHECKPKG_OVERRIDES_CSWgstplugins-bad += file-with-bad-content|/usr/local|root/opt/csw/lib/amd64/gstreamer-1.0/libgstfrei0r.so CHECKPKG_OVERRIDES_CSWgstplugins-bad += file-with-bad-content|/usr/local|root/opt/csw/lib/sparcv9/gstreamer-1.0/libgstfrei0r.so This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From lblume at users.sourceforge.net Tue Jun 7 10:09:56 2016 From: lblume at users.sourceforge.net (lblume at users.sourceforge.net) Date: Tue, 7 Jun 2016 08:09:56 +0000 Subject: SF.net SVN: gar:[25760] csw/mgar/pkg/gstplugins_bad/trunk/Makefile Message-ID: <3rP44P27gGzd9@mail.opencsw.org> Revision: 25760 http://sourceforge.net/p/gar/code/25760 Author: lblume Date: 2016-06-07 08:09:56 +0000 (Tue, 07 Jun 2016) Log Message: ----------- gstplugins_bad/trunk: NVidia dependency added by mistake? Modified Paths: -------------- csw/mgar/pkg/gstplugins_bad/trunk/Makefile Modified: csw/mgar/pkg/gstplugins_bad/trunk/Makefile =================================================================== --- csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-06 18:26:12 UTC (rev 25759) +++ csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-07 08:09:56 UTC (rev 25760) @@ -81,7 +81,6 @@ RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibxml2-2 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibneon27 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibrtmp0 -RUNTIME_DEP_PKGS_CSWgstplugins-bad += NVDAgraphics RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibbz2-1-0 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibfluidsynth1 RUNTIME_DEP_PKGS_CSWgstplugins-bad += CSWlibdvdnav4 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From lblume at users.sourceforge.net Tue Jun 7 10:35:50 2016 From: lblume at users.sourceforge.net (lblume at users.sourceforge.net) Date: Tue, 7 Jun 2016 08:35:50 +0000 Subject: SF.net SVN: gar:[25761] csw/mgar/pkg/gstplugins_bad/trunk/Makefile Message-ID: <3rP4fH3bfBzgd@mail.opencsw.org> Revision: 25761 http://sourceforge.net/p/gar/code/25761 Author: lblume Date: 2016-06-07 08:35:50 +0000 (Tue, 07 Jun 2016) Log Message: ----------- gstplugins_bad/trunk: A mistake it wasn't: disable using NVdia APIs Modified Paths: -------------- csw/mgar/pkg/gstplugins_bad/trunk/Makefile Modified: csw/mgar/pkg/gstplugins_bad/trunk/Makefile =================================================================== --- csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-07 08:09:56 UTC (rev 25760) +++ csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-07 08:35:50 UTC (rev 25761) @@ -255,6 +255,8 @@ CONFIGURE_ARGS += --enable-introspection=no # Not compiling cleanly, whoever wants it will fix it CONFIGURE_ARGS += --enable-opengl=no +# The NVidia bits are quite specific, I think they're better off at this point +CONFIGURE_ARGS += --disable-nvenc BUILD64 = 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From cgrzemba at users.sourceforge.net Tue Jun 7 12:31:27 2016 From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net) Date: Tue, 7 Jun 2016 10:31:27 +0000 Subject: SF.net SVN: gar:[25762] csw/mgar/pkg Message-ID: <3rP7Cm1xSXzkD@mail.opencsw.org> Revision: 25762 http://sourceforge.net/p/gar/code/25762 Author: cgrzemba Date: 2016-06-07 10:31:27 +0000 (Tue, 07 Jun 2016) Log Message: ----------- cx_Oracle/trunk: update version 5.2.1 Added Paths: ----------- csw/mgar/pkg/cx_Oracle/ csw/mgar/pkg/cx_Oracle/branches/ csw/mgar/pkg/cx_Oracle/tag/ csw/mgar/pkg/cx_Oracle/trunk/ csw/mgar/pkg/cx_Oracle/trunk/Makefile csw/mgar/pkg/cx_Oracle/trunk/files/ csw/mgar/pkg/cx_Oracle/trunk/files/LICENSE.txt Added: csw/mgar/pkg/cx_Oracle/trunk/Makefile =================================================================== --- csw/mgar/pkg/cx_Oracle/trunk/Makefile (rev 0) +++ csw/mgar/pkg/cx_Oracle/trunk/Makefile 2016-06-07 10:31:27 UTC (rev 25762) @@ -0,0 +1,54 @@ +# Copyright 2009 OpenCSW +# Distributed under the terms of the GNU General Public License v2 +# $Id: Makefile 16916 2012-01-26 13:25:13Z dmichelsen $ + +NAME = cx_oracle +VERSION = 5.2.1 +CATEGORIES = python +GARTYPE = v2 + +DESCRIPTION = A Python db API conforming module for Oracle database access +define BLURB + cx_Oracle is a Python extension module that allows access to Oracle databases + and conforms to the Python database API specification. This module is + currently built against Oracle 9.2.0, 10.2.0 and 11.1.0. For more information + on the database API specification, see here. Use the provided setup.py to + build and install the module which makes use of the DistUtils module made + available in Python 2.0 and up. +endef + +LICENSE = LICENSE.txt + +SPKG_SOURCEURL = http://cx-oracle.sourceforge.net/ +CATALOGNAME = py_cx_oracle +# MASTER_SITES = $(SF_MIRRORS) +MASTER_SITES = https://bitbucket.org/anthony_tuininga/$(NAME)/get/ +# DL_NAME = cx_Oracle +# DISTNAME = $(DL_NAME)-$(VERSION) +DISTFILES += $(VERSION).tar.bz2 +DISTFILES += $(LICENSE) + + +BUILD_DEP_PKGS += CSWpython-dev + +RUNTIME_DEP_PKGS_CSWpy-cx-oracle += CSWlibpython2-7-1-0 +RUNTIME_DEP_PKGS_CSWpy-cx-oracle += CSWlibpython2-6-1-0 +RUNTIME_DEP_PKGS_CSWpy-cx-oracle += CSWlibgcc-s1 +# only a .so file +CHECKPKG_OVERRIDES_CSWpy-cx-oracle += python-package-missing-py-files +CHECKPKG_OVERRIDES_CSWpy-cx-oracle += soname-not-found|libclntsh.so.11.1|is|needed|by|opt/csw/lib/python2.7/site-packages/cx_Oracle.so +CHECKPKG_OVERRIDES_CSWpy-cx-oracle += soname-not-found|libclntsh.so.11.1|is|needed|by|opt/csw/lib/python2.6/site-packages/cx_Oracle.so + +TEST_SCRIPTS = + +CONFIGURE_ARGS = $(DIRPATHS) + +# need closed src bins +ORACLE_HOME ?= /opt/oracle/product/11.2.0/client32/ +export ORACLE_HOME + +include gar/category.mk + +post-extract-modulated: + cd $(WORKDIR) && [ ! -d *cx* ] || mv *cx* $(DISTNAME) + $(MAKECOOKIE) Added: csw/mgar/pkg/cx_Oracle/trunk/files/LICENSE.txt =================================================================== --- csw/mgar/pkg/cx_Oracle/trunk/files/LICENSE.txt (rev 0) +++ csw/mgar/pkg/cx_Oracle/trunk/files/LICENSE.txt 2016-06-07 10:31:27 UTC (rev 25762) @@ -0,0 +1,17 @@ +License + +LICENSE AGREEMENT FOR CX_ORACLE + +Copyright B) 2007-2015, Anthony Tuininga. All rights reserved. + +Copyright B) 2001-2007, Computronix (Canada) Ltd., Edmonton, Alberta, Canada. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this list of conditions, and the disclaimer that follows. + Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution. + Neither the names of the copyright holders nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +DISCLAIMER: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *AS IS* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Computronix B. is a registered trademark of Computronix (Canada) Ltd. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From cgrzemba at users.sourceforge.net Tue Jun 7 12:48:46 2016 From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net) Date: Tue, 7 Jun 2016 10:48:46 +0000 Subject: SF.net SVN: gar:[25763] csw/mgar/pkg/cx_Oracle/trunk/ Message-ID: <3rP7bg12Ljzmc@mail.opencsw.org> Revision: 25763 http://sourceforge.net/p/gar/code/25763 Author: cgrzemba Date: 2016-06-07 10:48:46 +0000 (Tue, 07 Jun 2016) Log Message: ----------- svn:propset Property Changed: ---------------- csw/mgar/pkg/cx_Oracle/trunk/ Index: csw/mgar/pkg/cx_Oracle/trunk =================================================================== --- csw/mgar/pkg/cx_Oracle/trunk 2016-06-07 10:31:27 UTC (rev 25762) +++ csw/mgar/pkg/cx_Oracle/trunk 2016-06-07 10:48:46 UTC (rev 25763) Property changes on: csw/mgar/pkg/cx_Oracle/trunk ___________________________________________________________________ Added: svn:ignore ## -0,0 +1,2 ## +work +checksums This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From lblume at users.sourceforge.net Tue Jun 7 14:38:37 2016 From: lblume at users.sourceforge.net (lblume at users.sourceforge.net) Date: Tue, 7 Jun 2016 12:38:37 +0000 Subject: SF.net SVN: gar:[25764] csw/mgar/pkg/gstplugins_bad/trunk/Makefile Message-ID: <3rPB2P0sqPzqL@mail.opencsw.org> Revision: 25764 http://sourceforge.net/p/gar/code/25764 Author: lblume Date: 2016-06-07 12:38:37 +0000 (Tue, 07 Jun 2016) Log Message: ----------- gstplugins_bad/trunk: Disable more nVidia stuff Modified Paths: -------------- csw/mgar/pkg/gstplugins_bad/trunk/Makefile Modified: csw/mgar/pkg/gstplugins_bad/trunk/Makefile =================================================================== --- csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-07 10:48:46 UTC (rev 25763) +++ csw/mgar/pkg/gstplugins_bad/trunk/Makefile 2016-06-07 12:38:37 UTC (rev 25764) @@ -257,6 +257,7 @@ CONFIGURE_ARGS += --enable-opengl=no # The NVidia bits are quite specific, I think they're better off at this point CONFIGURE_ARGS += --disable-nvenc +CONFIGURE_ARGS += --disable-vdpau BUILD64 = 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From cgrzemba at users.sourceforge.net Tue Jun 7 16:19:58 2016 From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net) Date: Tue, 7 Jun 2016 14:19:58 +0000 Subject: SF.net SVN: gar:[25765] csw/mgar/gar/v2 Message-ID: <3rPDHp3yxSztV@mail.opencsw.org> Revision: 25765 http://sourceforge.net/p/gar/code/25765 Author: cgrzemba Date: 2016-06-07 14:19:58 +0000 (Tue, 07 Jun 2016) Log Message: ----------- add some IPS packaging stuff Modified Paths: -------------- csw/mgar/gar/v2/bin/pathfilter.py csw/mgar/gar/v2/gar.pkg.mk csw/mgar/gar/v2/transforms/defaults Added Paths: ----------- csw/mgar/gar/v2/pkglint/ csw/mgar/gar/v2/pkglint/__init__.py csw/mgar/gar/v2/pkglint/opencsw.py csw/mgar/gar/v2/pkglintrc csw/mgar/gar/v2/transforms/remove-os-version csw/mgar/gar/v2/transforms/remove-os-version.notactive Modified: csw/mgar/gar/v2/bin/pathfilter.py =================================================================== --- csw/mgar/gar/v2/bin/pathfilter.py 2016-06-07 12:38:37 UTC (rev 25764) +++ csw/mgar/gar/v2/bin/pathfilter.py 2016-06-07 14:19:58 UTC (rev 25765) @@ -8,7 +8,6 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..')) from lib.python import common_constants -from lib.python import configuration USAGE = '''%prog [-i path][-x path][-I path][-X path] Modified: csw/mgar/gar/v2/gar.pkg.mk =================================================================== --- csw/mgar/gar/v2/gar.pkg.mk 2016-06-07 12:38:37 UTC (rev 25764) +++ csw/mgar/gar/v2/gar.pkg.mk 2016-06-07 14:19:58 UTC (rev 25765) @@ -15,8 +15,14 @@ # use opencsw pakckage db for resolve dependencies for IPS packages IPS_USE_PKG_DB = +IPS_GET_DEP = +# to brake dependency cycles can packages which match pattern be published in a post cycle +IPS_2PHASE_PUBLISH = +IPS_2PHASE_PUBLISH_PATTERN = $(if $(IPS_2PHASE_PUBLISH),%utils %util %tools %tool) # prepend this to the package name IPS_PACKAGE_PREFIX ?= opencsw/ +# on publish cleanup preexisting package in repo +IPS_RM_SAME_VERS ?= 1 ifeq ($(DEBUG_PACKAGING),) _DBG=@ @@ -343,7 +349,7 @@ # Make sure the configuration files always have a .CSW suffix and rename the # configuration files to this if necessary during merge. -ifneq ($(GAROSREL),5.11) +ifneq ($(PKGFORMAT),ips) _EXTRA_PAX_ARGS += $(foreach FILE,$(SAMPLECONF:%\.CSW=%) $(PRESERVECONF:%\.CSW=%),-s ",^\.\($(FILE)\)$$,.\1\.CSW,p") endif @@ -445,7 +451,7 @@ # as argument define _pkgfiles_exclude $(strip - $(foreach S,$(filter-out $(1),$(_PKG_SPECS)), + $(foreach S,$(filter-out $(1) $(NOPACKAGE_IPS),$(_PKG_SPECS)), $(PKGFILES_$(S)) ) ) @@ -454,7 +460,7 @@ define _pkgfiles_include $(strip $(PKGFILES_$(1)_SHARED) - $(PKGFILES_$(1)) + $(PKGFILES_$(1)) ) endef @@ -1001,12 +1007,18 @@ _buildpackage: pre-package $(PACKAGE_TARGETS) post-package $(if $(filter-out 0,$(ENABLE_CHECK)),pkgcheck) # _buildpackage-ips: pre-package $(PACKAGE_TARGETS_IPS) post-package $(if $(filter-out 0,$(ENABLE_CHECK)),pkgcheck) -_buildpackage-ips: pre-package $(PACKAGE_TARGETS_IPS) post-package package-publish +_buildpackage-ips: pre-package $(PACKAGE_TARGETS_IPS) post-package package-publish-lib package-publish-other # generates p5m from proto and publishs -package-publish: +# if IPS_2PHASE_PUBLISH publish util and tool packages in a post step +# package-publish-lib: nowpublish = $(filter-out %utils %util %tools %tool,$(filter lib%,$(_PKG_SPECS_IPS))) +# package-publish-other: nowpublish = $(filter-out $(filter-out %utils %util %tool %tools,$(filter lib%,$(_PKG_SPECS_IPS))),$(_PKG_SPECS_IPS)) +package-publish-lib: nowpublish = $(filter-out $(IPS_2PHASE_PUBLISH_PATTERN),$(_PKG_SPECS_IPS)) +package-publish-other: nowpublish = $(filter-out $(filter-out $(IPS_2PHASE_PUBLISH_PATTERN),$(_PKG_SPECS_IPS)),$(_PKG_SPECS_IPS)) +package-publish-%: + @echo "PUBLISH: $(nowpublish)" $(if $(IPS_USE_PKG_DB), \ - $(foreach SPEC,$(_PKG_SPECS_IPS),\ + $(foreach SPEC,$(nowpublish),\ $(GARBIN)/pkg_resolve $(DEBUG_FLAG) \ --arch "$(GARCH)" \ --os-release "$(SPKG_OSNAME)" \ @@ -1014,12 +1026,13 @@ --pkg-root "$(PKGROOT)" $(SPEC).proto > $(SPEC).p5p, \ cp $@.proto $@.p5p)) $(if $(IPS_RM_SAME_VERS),\ - $(foreach SPEC,$(_PKG_SPECS_IPS),\ + $(foreach SPEC,$(nowpublish),\ pkgrepo remove -s $(SPKG_EXPORT_IPS) $(IPS_PACKAGE_PREFIX)$(SPEC)@$(IPS_VERSION) || true;)) - $(_DBG)cd $(WORKDIR) && pkgdepend resolve -m $(foreach SPEC,$(_PKG_SPECS_IPS),$(SPEC).p5p ) - $(foreach SPEC,$(_PKG_SPECS_IPS),\ - ( cd $(WORKDIR) && cp $(SPEC).p5p.res $(SPEC).p5m && \ - pkglint -c /var/tmp/build_$(LOGNAME)/lint-cache -r $(SPKG_EXPORT_IPS) $(SPEC).p5m ); \ + @echo "Resolve dependencies for $(nowpublish)" + $(_DBG)cd $(WORKDIR) && pkgdepend resolve -m $(foreach SPEC,$(nowpublish),$(SPEC).p5p ) + $(foreach SPEC,$(nowpublish),\ + ( cd $(WORKDIR) && pkgmogrify -I $(GARDIR)transforms remove-os-version $(SPEC).p5p.res > $(SPEC).p5m && \ + pkglint -f $(GARDIR)/pkglintrc -c /var/tmp/build_$(LOGNAME)/lint-cache -r $(SPKG_EXPORT_IPS) $(SPEC).p5m ) && \ pkgsend publish -s $(SPKG_EXPORT_IPS) -d $(SPKG_PKGROOT) $(WORKDIR)/$(SPEC).p5m; ) _package: validateplatform extract-global merge $(SPKG_DESTDIRS) _buildpackage @@ -1082,15 +1095,24 @@ @$(foreach COOKIEFILE,$(PACKAGE_TARGETS), test -e $(COOKIEDIR)/$(COOKIEFILE) ;) # -- IPS Packaging -- +define _pkgfiles_include_dev +$(strip + $(if $(filter $(PKGFORMAT-$(GAROSREL)),ips), + $(if $(filter $(IPS_DEVPKG),$(1)), + $(PKGFILES_$(filter %-dev,$(_PKG_SPECS))) + ) + ) +) +endef .PRECIOUS: $(WORKDIR)/%.proto $(WORKDIR)/%.proto: _PKGFILES_EXCLUDE=$(call _pkgfiles_exclude,CSW$*) $(WORKDIR)/%.proto: _PKGFILES_INCLUDE=$(call _pkgfiles_include,CSW$*) +$(WORKDIR)/%.proto: _PKGFILES_INCLUDE_DEV=$(call _pkgfiles_include_dev,CSW$*) $(WORKDIR)/%.proto: $(WORKDIR) - $(_DBG) @echo "PKG: $(IPS_PACKAGE_PREFIX)$*" + $(_DBG) @echo "\nPKG: $(IPS_PACKAGE_PREFIX)$*" $(_DBG) pkgsend generate $(PKGROOT) >$@.gen - $(_DBG)if [ -n "$(PKGFILES_CSW$*_SHARED)" -o \ - -n "$(PKGFILES_CSW$*)" -o \ + $(_DBG)if [ -n "$(_PKGFILES_INCLUDE)" -o \ -n "$(_PKGFILES_EXCLUDE)" -o \ -n "$(ISAEXEC_FILES_CSW$*)" -o \ -n "$(ISAEXEC_FILES)" ]; then \ @@ -1107,7 +1129,7 @@ $(foreach I,$(EXTRA_PKGFILES_INCLUDED) $(EXTRA_PKGFILES_INCLUDED_CSW$*),-i '$I') \ $(foreach X,$(EXTRA_PKGFILES_EXCLUDED) $(EXTRA_PKGFILES_EXCLUDED_CSW$*),-x '$X') \ $(foreach FILE,$(_PKGFILES_INCLUDE),-i '$(FILE)') \ - $(if $(_PKGFILES_INCLUDE),-x '.*',$(foreach FILE,$(_PKGFILES_EXCLUDE),-x '$(FILE)')) \ + $(if $(_PKGFILES_INCLUDE),$(foreach FILE,$(_PKGFILES_INCLUDE_DEV),-i '$(FILE)') -x '.*',$(foreach FILE,$(_PKGFILES_EXCLUDE),-x '$(FILE)')) \ $(foreach IE,$(abspath $(ISAEXEC_FILES_CSW$*) $(ISAEXEC_FILES)), \ -e '$(IE)=$(dir $(IE))$(ISA_DEFAULT)/$(notdir $(IE))' \ ) \ @@ -1117,21 +1139,22 @@ else \ cp $@.gen $@.filtered; \ fi - $(if $(and $(INITSMF),$(filter $(shell cat $(WORKDIR)/$@.filtered),$(patsubst /%,%,$(INITSMF)))), \ + $(if $(and $(INITSMF),$(filter $(shell cat $@.filtered),$(patsubst /%,%,$(INITSMF)))), \ ginstall -d $(PKGROOT)/var/svc/manifest/site; \ - svcbundle -o $(PKGROOT)/var/svc/manifest/$(notdir $(INITSMF)).xml -s service-name=$(notdir $(INITSMF)) -s model=daemon -s start-method="$(INITSMF) start" -s stop-method="$(INITSMF) stop"; \ - echo " emit file owner=root group=sys mode=755 path=var/svc/manifest/site/$(notdir $(INITSMF)).xml>" >> $@.filtered; ) + svcbundle -o $(PKGROOT)/var/svc/manifest/site/$(notdir $(INITSMF)).xml -s service-name=$(notdir $(INITSMF)) -s model=daemon -s start-method="$(INITSMF) start" -s stop-method="$(INITSMF) stop"; \ + @echo " emit file owner=root group=sys mode=755 path=var/svc/manifest/site/$(notdir $(INITSMF)).xml>" >> $@.filtered; ) $(_DBG)$(foreach DFILE,$(IPS_PKGFILES_DEVEL), echo " default facet.devel true>" >> $@.filtered; ) $(foreach BIT,$(IPS_BYPASS_GENERATE_DEP), echo " default pkg.depend.bypass-generate .*>" >> $@.filtered; ) $(foreach BIT,$(PKGFILES_CSW$*_SHARED), \ echo " default overlay allow>" >> $@.filtered; \ echo " default preserve legacy>" >> $@.filtered ) - $(foreach PKG,$(filter-out $(_PKG_SPECS),$(RUNTIME_DEP_PKGS_CSW$*)), echo " emit depend fmri=pkg:/$(patsubst CSW%,%,$(PKG)) type=require>" >> $@.filtered; ) + $(if $(IPS_GET_DEP), \ + $(foreach PKG,$(filter-out $(_PKG_SPECS),$(RUNTIME_DEP_PKGS_CSW$*)), echo " emit depend fmri=pkg:/$(patsubst CSW%,%,$(PKG)) type=require>" >> $@.filtered; )) $(foreach CONF,$(PRESERVECONF), echo " default preserve renamenew>" >> $@.filtered; ) mv $@.filtered $@ - + IPS_META_CLASSIFICATION ?= Applications/Accessories IPS_META_SUMMARY ?= $(if $(SPKG_DESC_CSW$*),$(SPKG_DESC_CSW$*),$(DESCRIPTION)) IPS_META_DESCRIPTION ?= $(DESCRIPTION) @@ -1140,12 +1163,18 @@ .PRECIOUS: $(WORKDIR)/%.meta $(WORKDIR)/%.meta: cswpkgname = CSW$(subst _,-,$*) $(WORKDIR)/%.meta: $(WORKDIR) + $(if $(PKGFILES_$(filter %-dev, $(_PKG_SPECS))),,$(error dev package is catch all package, since IPS we do not provide devel and doc packages, you have to specify witch packages gets the devel files by remove there PKGFILES_CSW definitions)) + $(if $(IPS_DEVPKG),,$(error Assign development files to a package, by setting IPS_DEVPKG = CSWpackagename)) + $(foreach P,$(filter-out $(IPS_DEVPKG) %-dev, $(_PKG_SPECS)), $(if $(PKGFILES_$(P)),,$(error $(P) is catch all package, since IPS we do not provide devel and doc packages, only the IPS_DEVPKG can be a catchall package))) $(if $(filter %/,$(IPS_PACKAGE_PREFIX)),,$(error IPS_PACKAGE_PREFIX must ending in a / wheres this did not: $(IPS_PACKAGE_PREFIX))) $(_DBG)(echo "set name=pkg.fmri value=$(IPS_PACKAGE_PREFIX)$*@$(IPS_VERSION)"; \ echo "set name=pkg.summary value=\"$(IPS_META_SUMMARY)\""; \ echo "set name=pkg.description value=\"$(IPS_META_DESCRIPTION)\""; \ echo "set name=info.classification value=org.opensolaris.category.2008:$(IPS_META_CLASSIFICATION)"; \ echo " emit legacy arch=$(GARCH) category=\"$(if $(CATEGORY),$(CATEGORY),application)\" desc=\"$(SPKG_DESC_$(cswpkgname))\" name=\"$(cswpkgname)\" pkg=$(cswpkgname) variant.arch=$(GARCH) vendor=\"$(call pkgvar,SPKG_VENDOR,$(cswpkgname))\" version=$(call pkgvar,SPKG_VERSION,$(cswpkgname)),$(call pkgvar,SPKG_REVSTAMP,$(cswpkgname)) hotline=\"http://www.opencsw.org/bugtrack/\">"; \ + $(if $(filter $(IPS_DEVPKG),$(cswpkgname)), \ + $(foreach D,$(filter %-dev, $(_PKG_SPECS)), \ + echo " emit legacy arch=$(GARCH) category=\"$(if $(CATEGORY),$(CATEGORY),application)\" desc=\"$(SPKG_DESC_$(cswpkgname)), developer\" name=\"$(D)\" pkg=$(D) variant.arch=$(GARCH) vendor=\"$(call pkgvar,SPKG_VENDOR,$(cswpkgname))\" version=$(call pkgvar,SPKG_VERSION,$(cswpkgname)),$(call pkgvar,SPKG_REVSTAMP,$(cswpkgname)) hotline=\"http://www.opencsw.org/bugtrack/\">"; )) \ echo " emit license $(call licensedir,CSW$(subst _,-,$*))/license license=\"see license file\">"; \ $(_CATEGORY_IPS_META) ; \ ) >$@ Added: csw/mgar/gar/v2/pkglint/__init__.py =================================================================== --- csw/mgar/gar/v2/pkglint/__init__.py (rev 0) +++ csw/mgar/gar/v2/pkglint/__init__.py 2016-06-07 14:19:58 UTC (rev 25765) @@ -0,0 +1,22 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# Added: csw/mgar/gar/v2/pkglint/opencsw.py =================================================================== --- csw/mgar/gar/v2/pkglint/opencsw.py (rev 0) +++ csw/mgar/gar/v2/pkglint/opencsw.py 2016-06-07 14:19:58 UTC (rev 25765) @@ -0,0 +1,83 @@ +#!/usr/bin/python +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) Carsten Grzemba +# + +import pkg.lint.base as base +import subprocess as sp +import os + +class OpenCSWActionChecker(base.ActionChecker): + """An OpenCSW-specific class to check actions.""" + + name = "opencsw.action" + + def __init__(self, config): + self.description = _( + "checks OpenCSW packages for common action errors") + super(OpenCSWActionChecker, self).__init__(config) + + def split_packages(self, manifest, engine, pkglint_id="001"): + """Warn if there shared libries in standard path + """ + split_packages.pkglint_desc = _("Package should split out subpackages for shared libraries") + +class OpenCSWManifestChecker(base.ManifestChecker): + """An opencsw.org-specific class to check manifests.""" + + name = "opencsw.manifest" + + def __init__(self, config): + self.description = _( + "checks OpenCSW packages for common errors") + super(OpenCSWManifestChecker, self).__init__(config) + + def recipe_uncommited(self, manifest, engine, pkglint_id="001"): + """Warn when a build recipe is not commited + """ + p = sp.Popen("cd ../../.. && svn st --ignore-externals", shell=True, stdout=sp.PIPE,stderr=sp.PIPE) + p.wait() + err = p.stderr.read() + if len(err) > 0: + engine.error( + _("SVN error for {pkg} recipe on path {path}\n{msg}").format(pkg=manifest.fmri, path=os.path.abspath(''), msg=err), + msgid="{0}{1}.1".format(self.name, pkglint_id)) + else: + if p.stdout.read(): + engine.warning( + _("Build recipe should commited for publish {pkg}").format(pkg=manifest.fmri), + msgid="{0}{1}.1".format(self.name, pkglint_id)) + recipe_uncommited.pkglint_desc = _("Build recipe should commited to sourceforge") + + + def packageprefixname_notset(self, manifest, engine, pkglint_id="002"): + """ set name=pkg.fmri value=diagnotic/nrpe at 2.15 + + """ + + if manifest.fmri.get_name().find('/',1) < 0 : + engine.error(_("IPS_PACKAGE_PREFIX must set in build recipe, missing prefix in {fmri}").format(fmri=manifest.fmri), + msgid="%s%s.2" % (self.name, pkglint_id)) + + packageprefixname_notset.pkglint_desc = _( "build recipe must set package name prefix for package FMRI" ) Added: csw/mgar/gar/v2/pkglintrc =================================================================== --- csw/mgar/gar/v2/pkglintrc (rev 0) +++ csw/mgar/gar/v2/pkglintrc 2016-06-07 14:19:58 UTC (rev 25765) @@ -0,0 +1,45 @@ +[pkglint] + +# Whether to show the progress tracker during lint runs +use_progress_tracker = True + +# The default log level at which to start emitting messages +# log levels are, in order of increasing priority, +# DEBUG, INFO, WARNING, ERROR, CRITICAL +log_level = INFO + +# Perform checks that may only make sense for published packages. +do_pub_checks = True + +# pkglint.ext.* keys indicate python modules that should be +# automatically loaded and check methods exectuted during +# each lint run. + +# key = python package implementing those checks +# pkglint.ext.other = org.foo.barcheck + +# List modules or methods which should be excluded from +# execution during each lint run. +pkglint.exclude = pkg.lint.opensolaris + +# The version pattern we use when searching for manifests +# for a given build (only when using the -b flag to pkglint) +version.pattern = *,5.11-0. + +# The path used for info.classification attribute checks +info_classification_path = /usr/share/lib/pkg/opensolaris.org.sections + +# Whether to ignore publisher differences when comparing package versions +ignore_different_publishers = True + +# +# The following are parameters that are passed to individual lint checks +# + +# dependencies which may be missing at runtime +pkglint.action005.1.missing-deps = + +# whether to log INFO messages when a pkg.linted action/manifest trips a check +pkglint001.5.report-linted = True + +pkglint.ext.content = pkglint.opencsw Modified: csw/mgar/gar/v2/transforms/defaults =================================================================== --- csw/mgar/gar/v2/transforms/defaults 2016-06-07 12:38:37 UTC (rev 25764) +++ csw/mgar/gar/v2/transforms/defaults 2016-06-07 14:19:58 UTC (rev 25765) @@ -16,11 +16,15 @@ default restart_fmri svc:/system/manifest-import:default> default facet.devel all> default facet.devel all> - default facet.devel all> - default facet.devel all> + default facet.devel false> + default facet.devel all> + \ + default facet.devel all> default facet.devel all> - default facet.devel all> + \ + default facet.devel all> default facet.devel all> default facet.devel all> default facet.devel all> - + default facet.devel all> + delete facet.devel false> Added: csw/mgar/gar/v2/transforms/remove-os-version =================================================================== Added: csw/mgar/gar/v2/transforms/remove-os-version.notactive =================================================================== --- csw/mgar/gar/v2/transforms/remove-os-version.notactive (rev 0) +++ csw/mgar/gar/v2/transforms/remove-os-version.notactive 2016-06-07 14:19:58 UTC (rev 25765) @@ -0,0 +1 @@ + edit fmri "(.*@[0-9\.]*)-.*" "\1"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From cgrzemba at users.sourceforge.net Tue Jun 7 16:37:38 2016 From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net) Date: Tue, 7 Jun 2016 14:37:38 +0000 Subject: SF.net SVN: gar:[25766] csw/mgar/pkg/lang-python Message-ID: <3rPDgl4VCxzwt@mail.opencsw.org> Revision: 25766 http://sourceforge.net/p/gar/code/25766 Author: cgrzemba Date: 2016-06-07 14:37:38 +0000 (Tue, 07 Jun 2016) Log Message: ----------- lang-python/click/trunk: Initial commit Added Paths: ----------- csw/mgar/pkg/lang-python/click/ csw/mgar/pkg/lang-python/click/Makefile csw/mgar/pkg/lang-python/click/branches/ csw/mgar/pkg/lang-python/click/tags/ csw/mgar/pkg/lang-python/click/trunk/ csw/mgar/pkg/lang-python/click/trunk/Makefile csw/mgar/pkg/lang-python/click/trunk/checksums csw/mgar/pkg/lang-python/click/trunk/files/ Added: csw/mgar/pkg/lang-python/click/Makefile =================================================================== --- csw/mgar/pkg/lang-python/click/Makefile (rev 0) +++ csw/mgar/pkg/lang-python/click/Makefile 2016-06-07 14:37:38 UTC (rev 25766) @@ -0,0 +1,2 @@ +%: + $(MAKE) -C trunk $* Index: csw/mgar/pkg/lang-python/click/trunk =================================================================== --- csw/mgar/pkg/lang-python/click/trunk 2016-06-07 14:19:58 UTC (rev 25765) +++ csw/mgar/pkg/lang-python/click/trunk 2016-06-07 14:37:38 UTC (rev 25766) Property changes on: csw/mgar/pkg/lang-python/click/trunk ___________________________________________________________________ Added: svn:ignore ## -0,0 +1 ## +work Added: csw/mgar/pkg/lang-python/click/trunk/Makefile =================================================================== --- csw/mgar/pkg/lang-python/click/trunk/Makefile (rev 0) +++ csw/mgar/pkg/lang-python/click/trunk/Makefile 2016-06-07 14:37:38 UTC (rev 25766) @@ -0,0 +1,21 @@ +# $Id$ +# TODO (release-critical prefixed with !, non release-critical with *) +# +NAME = click +VERSION = 6.6 +CATEGORIES = python + +DESCRIPTION = Brief description +define BLURB + Long description +endef + +MASTER_SITES = https://pypi.python.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/ +DISTFILES = $(DISTNAME).tar.gz + +ARCHALL_CSWpy-click = 1 + +CONFIGURE_ARGS = $(DIRPATHS) + +include gar/category.mk + Property changes on: csw/mgar/pkg/lang-python/click/trunk/Makefile ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: csw/mgar/pkg/lang-python/click/trunk/checksums =================================================================== --- csw/mgar/pkg/lang-python/click/trunk/checksums (rev 0) +++ csw/mgar/pkg/lang-python/click/trunk/checksums 2016-06-07 14:37:38 UTC (rev 25766) @@ -0,0 +1 @@ +d0b09582123605220ad6977175f3e51d click-6.6.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From cgrzemba at users.sourceforge.net Tue Jun 7 16:49:35 2016 From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net) Date: Tue, 7 Jun 2016 14:49:35 +0000 Subject: SF.net SVN: gar:[25767] csw/mgar/pkg/lang-python Message-ID: <3rPDxY3c5nz10M@mail.opencsw.org> Revision: 25767 http://sourceforge.net/p/gar/code/25767 Author: cgrzemba Date: 2016-06-07 14:49:34 +0000 (Tue, 07 Jun 2016) Log Message: ----------- lang-python/flask/trunk: Initial commit Added Paths: ----------- csw/mgar/pkg/lang-python/flask/ csw/mgar/pkg/lang-python/flask/Makefile csw/mgar/pkg/lang-python/flask/branches/ csw/mgar/pkg/lang-python/flask/tags/ csw/mgar/pkg/lang-python/flask/trunk/ csw/mgar/pkg/lang-python/flask/trunk/Makefile csw/mgar/pkg/lang-python/flask/trunk/checksums csw/mgar/pkg/lang-python/flask/trunk/files/ Added: csw/mgar/pkg/lang-python/flask/Makefile =================================================================== --- csw/mgar/pkg/lang-python/flask/Makefile (rev 0) +++ csw/mgar/pkg/lang-python/flask/Makefile 2016-06-07 14:49:34 UTC (rev 25767) @@ -0,0 +1,2 @@ +%: + $(MAKE) -C trunk $* Index: csw/mgar/pkg/lang-python/flask/trunk =================================================================== --- csw/mgar/pkg/lang-python/flask/trunk 2016-06-07 14:37:38 UTC (rev 25766) +++ csw/mgar/pkg/lang-python/flask/trunk 2016-06-07 14:49:34 UTC (rev 25767) Property changes on: csw/mgar/pkg/lang-python/flask/trunk ___________________________________________________________________ Added: svn:ignore ## -0,0 +1 ## +work Added: csw/mgar/pkg/lang-python/flask/trunk/Makefile =================================================================== --- csw/mgar/pkg/lang-python/flask/trunk/Makefile (rev 0) +++ csw/mgar/pkg/lang-python/flask/trunk/Makefile 2016-06-07 14:49:34 UTC (rev 25767) @@ -0,0 +1,31 @@ +# $Id$ +# TODO (release-critical prefixed with !, non release-critical with *) +# +NAME = Flask +VERSION = 0.11 +GARTYPE = v2 +CATEGORIES = python + +DESCRIPTION = Python WEB framwork +define BLURB + Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. +endef + +MASTER_SITES = https://pypi.python.org/packages/dc/ca/c0ed9cc90c079085c698e284b672edbc1ffd6866b1830574095cbc5b7752/ +DISTFILES = $(DISTNAME).tar.gz + +PACKAGES += CSWpy-flask +ARCHALL_CSWpy-flask = 1 + +RUNTIME_DEP_PKGS += CSWpy-click +RUNTIME_DEP_PKGS += CSWpy-werkzeug +RUNTIME_DEP_PKGS += CSWpy-jinja2 +RUNTIME_DEP_PKGS += CSWpy-itsdangerous + +# requirements not fulfilled on buildfarm in the moment +SKIPTEST = 1 + +CONFIGURE_ARGS = $(DIRPATHS) + +include gar/category.mk + Property changes on: csw/mgar/pkg/lang-python/flask/trunk/Makefile ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: csw/mgar/pkg/lang-python/flask/trunk/checksums =================================================================== --- csw/mgar/pkg/lang-python/flask/trunk/checksums (rev 0) +++ csw/mgar/pkg/lang-python/flask/trunk/checksums 2016-06-07 14:49:34 UTC (rev 25767) @@ -0,0 +1 @@ +89fbdcb04b7b96c5b24625ae299cf48b Flask-0.11.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From cgrzemba at users.sourceforge.net Tue Jun 7 17:00:19 2016 From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net) Date: Tue, 7 Jun 2016 15:00:19 +0000 Subject: SF.net SVN: gar:[25768] csw/mgar/pkg/lang-python/werkzeug/trunk Message-ID: <3rPF9v6tVSz12t@mail.opencsw.org> Revision: 25768 http://sourceforge.net/p/gar/code/25768 Author: cgrzemba Date: 2016-06-07 15:00:18 +0000 (Tue, 07 Jun 2016) Log Message: ----------- lang-python/werkzeug/trunk: Update version Modified Paths: -------------- csw/mgar/pkg/lang-python/werkzeug/trunk/Makefile csw/mgar/pkg/lang-python/werkzeug/trunk/checksums Modified: csw/mgar/pkg/lang-python/werkzeug/trunk/Makefile =================================================================== --- csw/mgar/pkg/lang-python/werkzeug/trunk/Makefile 2016-06-07 14:49:34 UTC (rev 25767) +++ csw/mgar/pkg/lang-python/werkzeug/trunk/Makefile 2016-06-07 15:00:18 UTC (rev 25768) @@ -3,13 +3,13 @@ # $Id$ NAME = Werkzeug -VERSION = 0.10.4 +VERSION = 0.11.10 CATEGORIES = python GARTYPE = v2 DESCRIPTION = The Swiss Army knife of Python web development VENDOR_URL = https://pypi.python.org/pypi/Werkzeug - +MASTER_SITES = https://pypi.python.org/packages/b7/7f/44d3cfe5a12ba002b253f6985a4477edfa66da53787a2a838a40f6415263/ DISTFILES = $(NAME)-$(VERSION).tar.gz PACKAGES = CSWpy-werkzeug Modified: csw/mgar/pkg/lang-python/werkzeug/trunk/checksums =================================================================== --- csw/mgar/pkg/lang-python/werkzeug/trunk/checksums 2016-06-07 14:49:34 UTC (rev 25767) +++ csw/mgar/pkg/lang-python/werkzeug/trunk/checksums 2016-06-07 15:00:18 UTC (rev 25768) @@ -1 +1 @@ -66a488e0ac50a9ec326fe020b3083450 Werkzeug-0.10.4.tar.gz +780967186f9157e88f2bfbfa6f07a893 Werkzeug-0.11.10.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Wed Jun 8 14:03:07 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Wed, 8 Jun 2016 12:03:07 +0000 Subject: SF.net SVN: gar:[25769] csw/mgar/pkg/logstash/trunk Message-ID: <3rPnC86TvPz1B0@mail.opencsw.org> Revision: 25769 http://sourceforge.net/p/gar/code/25769 Author: dmichelsen Date: 2016-06-08 12:03:06 +0000 (Wed, 08 Jun 2016) Log Message: ----------- logstash/trunk: Update to 2.3.2 Modified Paths: -------------- csw/mgar/pkg/logstash/trunk/Makefile csw/mgar/pkg/logstash/trunk/checksums Modified: csw/mgar/pkg/logstash/trunk/Makefile =================================================================== --- csw/mgar/pkg/logstash/trunk/Makefile 2016-06-07 15:00:18 UTC (rev 25768) +++ csw/mgar/pkg/logstash/trunk/Makefile 2016-06-08 12:03:06 UTC (rev 25769) @@ -2,7 +2,7 @@ # TODO (release-critical prefixed with !, non release-critical with *) # NAME = logstash -VERSION = 2.1.1 +VERSION = 2.3.2 GARTYPE = v2 DESCRIPTION = A tool for managing events and logs @@ -39,9 +39,9 @@ CHECKPKG_OVERRIDES_CSWlogstash += file-with-bad-content|/usr/share|root/var/opt/csw/svc/manifest/cswlogstash.xml # This is some other stuff an not related to init.d -CHECKPKG_OVERRIDES_CSWlogstash += init-file-missing-cswinitsmf-class|/opt/csw/share/logstash/vendor/bundle/jruby/1.9/gems/puma-2.11.3-java/tools/jungle/init.d/README.md|class=none -CHECKPKG_OVERRIDES_CSWlogstash += init-file-missing-cswinitsmf-class|/opt/csw/share/logstash/vendor/bundle/jruby/1.9/gems/puma-2.11.3-java/tools/jungle/init.d/puma|class=none -CHECKPKG_OVERRIDES_CSWlogstash += init-file-missing-cswinitsmf-class|/opt/csw/share/logstash/vendor/bundle/jruby/1.9/gems/puma-2.11.3-java/tools/jungle/init.d/run-puma|class=none +CHECKPKG_OVERRIDES_CSWlogstash += init-file-missing-cswinitsmf-class|/opt/csw/share/logstash/vendor/bundle/jruby/1.9/gems/puma-2.16.0-java/tools/jungle/init.d/README.md|class=none +CHECKPKG_OVERRIDES_CSWlogstash += init-file-missing-cswinitsmf-class|/opt/csw/share/logstash/vendor/bundle/jruby/1.9/gems/puma-2.16.0-java/tools/jungle/init.d/puma|class=none +CHECKPKG_OVERRIDES_CSWlogstash += init-file-missing-cswinitsmf-class|/opt/csw/share/logstash/vendor/bundle/jruby/1.9/gems/puma-2.16.0-java/tools/jungle/init.d/run-puma|class=none LICENSE = LICENSE Modified: csw/mgar/pkg/logstash/trunk/checksums =================================================================== --- csw/mgar/pkg/logstash/trunk/checksums 2016-06-07 15:00:18 UTC (rev 25768) +++ csw/mgar/pkg/logstash/trunk/checksums 2016-06-08 12:03:06 UTC (rev 25769) @@ -1 +1 @@ -15dd1e90653760517ca4175355160fd5 logstash-2.1.1.tar.gz +c386f48346e5f14983cd3d55b15d2256 logstash-2.3.2.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From cgrzemba at users.sourceforge.net Thu Jun 9 13:06:20 2016 From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net) Date: Thu, 9 Jun 2016 11:06:20 +0000 Subject: SF.net SVN: gar:[25770] csw/mgar/pkg/mod_wsgi/trunk/files/CSWap24modwsgi. postinstall Message-ID: <3rQMv10255z1LX@mail.opencsw.org> Revision: 25770 http://sourceforge.net/p/gar/code/25770 Author: cgrzemba Date: 2016-06-09 11:06:20 +0000 (Thu, 09 Jun 2016) Log Message: ----------- mod_wsgi/trunk: fix postinstall script Modified Paths: -------------- csw/mgar/pkg/mod_wsgi/trunk/files/CSWap24modwsgi.postinstall Modified: csw/mgar/pkg/mod_wsgi/trunk/files/CSWap24modwsgi.postinstall =================================================================== --- csw/mgar/pkg/mod_wsgi/trunk/files/CSWap24modwsgi.postinstall 2016-06-08 12:03:06 UTC (rev 25769) +++ csw/mgar/pkg/mod_wsgi/trunk/files/CSWap24modwsgi.postinstall 2016-06-09 11:06:20 UTC (rev 25770) @@ -7,6 +7,6 @@ else echo "Adding LoadModule wsgi_module for extra/modules.load" cat << EOM >> $AP2_MODULE -LoadModule wsgi_module lib/apache2/modules/libwsgi.so +LoadModule wsgi_module lib/apache2/modules/mod_wsgi-2.7.so EOM fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Wed Jun 15 10:48:28 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Wed, 15 Jun 2016 08:48:28 +0000 Subject: SF.net SVN: gar:[25771] csw/mgar/pkg/rsync/trunk Message-ID: <3rV0YG4d2pzcK@mail.opencsw.org> Revision: 25771 http://sourceforge.net/p/gar/code/25771 Author: janholzh Date: 2016-06-15 08:48:27 +0000 (Wed, 15 Jun 2016) Log Message: ----------- rsync/trunk: update to 3.1.2 Modified Paths: -------------- csw/mgar/pkg/rsync/trunk/Makefile csw/mgar/pkg/rsync/trunk/checksums Modified: csw/mgar/pkg/rsync/trunk/Makefile =================================================================== --- csw/mgar/pkg/rsync/trunk/Makefile 2016-06-09 11:06:20 UTC (rev 25770) +++ csw/mgar/pkg/rsync/trunk/Makefile 2016-06-15 08:48:27 UTC (rev 25771) @@ -3,7 +3,7 @@ # $Id$ NAME = rsync -VERSION = 3.1.1 +VERSION = 3.1.2 GARTYPE = v2 DESCRIPTION = Utility which provides fast incremental file transfer Modified: csw/mgar/pkg/rsync/trunk/checksums =================================================================== --- csw/mgar/pkg/rsync/trunk/checksums 2016-06-09 11:06:20 UTC (rev 25770) +++ csw/mgar/pkg/rsync/trunk/checksums 2016-06-15 08:48:27 UTC (rev 25771) @@ -1 +1 @@ -43bd6676f0b404326eee2d63be3cdcfe rsync-3.1.1.tar.gz +0f758d7e000c0f7f7d3792610fad70cb rsync-3.1.2.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Wed Jun 15 10:49:29 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Wed, 15 Jun 2016 08:49:29 +0000 Subject: SF.net SVN: gar:[25772] csw/mgar/pkg/lighttpd/trunk Message-ID: <3rV0ZJ4xwKzff@mail.opencsw.org> Revision: 25772 http://sourceforge.net/p/gar/code/25772 Author: janholzh Date: 2016-06-15 08:49:28 +0000 (Wed, 15 Jun 2016) Log Message: ----------- lighttpd/trunk: update to 1.4.39 Modified Paths: -------------- csw/mgar/pkg/lighttpd/trunk/Makefile csw/mgar/pkg/lighttpd/trunk/checksums Modified: csw/mgar/pkg/lighttpd/trunk/Makefile =================================================================== --- csw/mgar/pkg/lighttpd/trunk/Makefile 2016-06-15 08:48:27 UTC (rev 25771) +++ csw/mgar/pkg/lighttpd/trunk/Makefile 2016-06-15 08:49:28 UTC (rev 25772) @@ -1,6 +1,6 @@ # $Id$ NAME = lighttpd -VERSION = 1.4.34 +VERSION = 1.4.39 GARTYPE = v2 DESCRIPTION = HTTP server built for security, speed, compliance, and flexibility Modified: csw/mgar/pkg/lighttpd/trunk/checksums =================================================================== --- csw/mgar/pkg/lighttpd/trunk/checksums 2016-06-15 08:48:27 UTC (rev 25771) +++ csw/mgar/pkg/lighttpd/trunk/checksums 2016-06-15 08:49:28 UTC (rev 25772) @@ -1 +1 @@ -64ae57bd90c41bbf31bddb88ba6199fe lighttpd-1.4.34.tar.gz +b49e133a4b321921331eba5a343872ab lighttpd-1.4.39.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Wed Jun 15 16:16:53 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Wed, 15 Jun 2016 14:16:53 +0000 Subject: SF.net SVN: gar:[25773] csw/mgar/pkg/subversion/trunk/Makefile Message-ID: <3rV7rL38tHznn@mail.opencsw.org> Revision: 25773 http://sourceforge.net/p/gar/code/25773 Author: dmichelsen Date: 2016-06-15 14:16:52 +0000 (Wed, 15 Jun 2016) Log Message: ----------- subversion/trunk: Rename packages to latest standards Modified Paths: -------------- csw/mgar/pkg/subversion/trunk/Makefile Modified: csw/mgar/pkg/subversion/trunk/Makefile =================================================================== --- csw/mgar/pkg/subversion/trunk/Makefile 2016-06-15 08:49:28 UTC (rev 25772) +++ csw/mgar/pkg/subversion/trunk/Makefile 2016-06-15 14:16:52 UTC (rev 25773) @@ -52,50 +52,53 @@ BUILD_DEP_PKGS-5.10 += CSWlibserf-dev BUILD_DEP_PKGS += $(BUILD_DEP_PKGS-$(GAROSREL)) -PACKAGES += CSWsvn -SPKG_DESC_CSWsvn = Version control rethought -CATALOGNAME_CSWsvn = subversion -CHECKPKG_OVERRIDES_CSWsvn += catalogname-does-not-match-pkgname|pkgname=CSWsvn|catalogname=subversion|expected-catalogname=svn -RUNTIME_DEP_PKGS_CSWsvn = CSWbdb48 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibsasl2-2 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibsqlite3-0 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibexpat1 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibz1 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibintl8 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibapr1-0 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibaprutil1-0 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibserf1-1 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibiconv2 -RUNTIME_DEP_PKGS_CSWsvn += CSWlibgnome-keyring0 -RUNTIME_DEP_PKGS_CSWsvn_5.9 += CSWglib2 -RUNTIME_DEP_PKGS_CSWsvn_5.10 += CSWlibglib2-0-0 -RUNTIME_DEP_PKGS_CSWsvn += $(RUNTIME_DEP_PKGS_CSWsvn_$(GAROSREL)) +PACKAGES += CSWsubversion +SPKG_DESC_CSWsubversion = Version control rethought +RUNTIME_DEP_PKGS_CSWsubversion = CSWbdb48 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibsasl2-2 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibsqlite3-0 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibexpat1 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibz1 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibapr1-0 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibaprutil1-0 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibserf1-1 +#RUNTIME_DEP_PKGS_CSWsubversion += CSWlibiconv2 +RUNTIME_DEP_PKGS_CSWsubversion += CSWlibgnome-keyring0 +RUNTIME_DEP_PKGS_CSWsubversion-5.9 += CSWglib2 +RUNTIME_DEP_PKGS_CSWsubversion-5.10 += CSWlibglib2-0-0 +RUNTIME_DEP_PKGS_CSWsubversion += $(RUNTIME_DEP_PKGS_CSWsubversion-$(GAROSREL)) -PACKAGES += CSWsvn-dev -SPKG_DESC_CSWsvn-dev = Subversion Development Support -PKGFILES_CSWsvn-dev += $(PKGFILES_DEVEL) -PKGFILES_CSWsvn-dev += $(docdir)/$(CATALOGNAME_CSWsvn-dev)/changelog.CSW -OBSOLETED_BY_CSWsvn-dev += CSWsvn-devel +OBSOLETED_BY_CSWsubversion += CSWsvn +CATALOGNAME_CSWsvn = subversion_stub -PACKAGES += CSWap2svn -SPKG_DESC_CSWap2svn = Subversion Modules for Apache 2.2 -CATALOGNAME_CSWap2svn = ap2_subversion -CHECKPKG_OVERRIDES_CSWap2svn += catalogname-does-not-match-pkgname|pkgname=CSWap2svn|catalogname=ap2_subversion|expected-catalogname=ap2svn -PKGFILES_CSWap2svn += $(prefix)/apache2/.* -PKGFILES_CSWap2svn += $(docdir)/$(CATALOGNAME_CSWap2svn)/changelog.CSW -RUNTIME_DEP_PKGS_CSWap2svn = CSWsvn -RUNTIME_DEP_PKGS_CSWap2svn += CSWapache2 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibexpat1 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibapr1-0 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibaprutil1-0 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibsqlite3-0 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibz1 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibintl8 -RUNTIME_DEP_PKGS_CSWap2svn += CSWbdb48 -RUNTIME_DEP_PKGS_CSWap2svn += CSWlibiconv2 +PACKAGES += CSWsubversion-dev +SPKG_DESC_CSWsubversion-dev = Subversion Development Support +PKGFILES_CSWsubversion-dev += $(PKGFILES_DEVEL) +PKGFILES_CSWsubversion-dev += $(docdir)/$(CATALOGNAME_CSWsubversion-dev)/changelog.CSW +OBSOLETED_BY_CSWsubversion-dev += CSWsvn-dev +PACKAGES += CSWap2-subversion +SPKG_DESC_CSWap2-subversion = Subversion Modules for Apache 2.2 +PKGFILES_CSWap2-subversion += $(prefix)/apache2/.* +PKGFILES_CSWap2-subversion += $(docdir)/$(CATALOGNAME_CSWap2-subversion)/changelog.CSW +RUNTIME_DEP_PKGS_CSWap2-subversion = CSWsubversion +RUNTIME_DEP_PKGS_CSWap2-subversion += CSWapache2 +#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibexpat1 +RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibapr1-0 +RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibaprutil1-0 +RUNTIME_DEP_PKGS_CSWap2-subversion-sparc += CSWlibmagic1 +#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibsqlite3-0 +#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibz1 +RUNTIME_DEP_PKGS_CSWap2-subversion-sparc += CSWlibintl8 +#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWbdb48 +#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibiconv2 +RUNTIME_DEP_PKGS_CSWap2-subversion += $(RUNTIME_DEP_PKGS_CSWap2-subversion-$(GARCH)) + +OBSOLETED_BY_CSWap2-subversion += CSWap2svn +CATALOGNAME_CSWap2svn = ap2_subversion_stub + PACKAGES-5.10 += CSWjavasvn PACKAGES += $(PACKAGES-$(GAROSREL)) SPKG_DESC_CSWjavasvn = Subversion Java Language Binding @@ -103,150 +106,115 @@ PKGFILES_CSWjavasvn += $(docdir)/$(CATALOGNAME_CSWjavasvn)/changelog.CSW RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibapr1-0 RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibintl8 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWsvn -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibiconv2 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibz1 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWbdb48 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibsasl2-2 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibexpat1 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibsqlite3-0 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibaprutil1-0 -RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibserf1-1 +RUNTIME_DEP_PKGS_CSWjavasvn += CSWsubversion +RUNTIME_DEP_PKGS_CSWjavasvn-sparc += CSWlibmagic1 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibiconv2 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibz1 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWbdb48 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibsasl2-2 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibexpat1 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibsqlite3-0 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibaprutil1-0 +#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibserf1-1 +RUNTIME_DEP_PKGS_CSWjavasvn += $(RUNTIME_DEP_PKGS_CSWjavasvn-$(GARCH)) # This would go away when -norunpath would make it to the linker, but at this point this is difficult. # Override for now as it is not harmful. -CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/rw7|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/sparc|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/v8|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 +#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 +#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 +#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/rw7|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 +#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/sparc|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 +#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/v8|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/solarisstudio12.3/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/solarisstudio12.3/lib/sparc|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -PACKAGES += CSWpmsvn -SPKG_DESC_CSWpmsvn = Subversion Perl Language Binding -CATALOGNAME_CSWpmsvn = pm_subversion -CHECKPKG_OVERRIDES_CSWpmsvn += catalogname-does-not-match-pkgname|pkgname=CSWpmsvn|catalogname=pm_subversion|expected-catalogname=pmsvn -PKGFILES_CSWpmsvn += $(libdir)/perl.* -PKGFILES_CSWpmsvn += $(SVNLIB)/.*perl.* +PACKAGES += CSWpm-subversion +SPKG_DESC_CSWpm-subversion = Subversion Perl Language Binding +PKGFILES_CSWpm-subversion += $(libdir)/perl.* +PKGFILES_CSWpm-subversion += $(SVNLIB)/.*perl.* # Put .3* manpages in this package, not *-dev -PKGFILES_CSWpmsvn += $(mandir)/.*\.3perl +PKGFILES_CSWpm-subversion += $(mandir)/.*\.3perl PKGFILES_DEVEL_MAN3_MANPAGE = -PKGFILES_CSWpmsvn += $(docdir)/$(CATALOGNAME_CSWpmsvn)/changelog.CSW -RUNTIME_DEP_PKGS_CSWpmsvn += CSWperl -RUNTIME_DEP_PKGS_CSWpmsvn += CSWsvn -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibapr1-0 -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibiconv2 -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibexpat1 -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibz1 -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibintl8 -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibaprutil1-0 -RUNTIME_DEP_PKGS_CSWpmsvn += CSWlibsqlite3-0 +PKGFILES_CSWpm-subversion += $(docdir)/$(CATALOGNAME_CSWpm-subversion)/changelog.CSW +RUNTIME_DEP_PKGS_CSWpm-subversion += CSWperl +RUNTIME_DEP_PKGS_CSWpm-subversion += CSWsubversion +RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibapr1-0 +RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibiconv2 +#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibexpat1 +#RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibz1 +RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibintl8 +#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibaprutil1-0 +#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibsqlite3-0 +RUNTIME_DEP_PKGS_CSWpm-subversion += $(RUNTIME_DEP_PKGS_CSWpm-subversion-$(GARCH)) -PACKAGES += CSWrbsvn -SPKG_DESC_CSWrbsvn = Subversion Ruby Language Binding -PKGFILES_CSWrbsvn += $(libdir)/ruby.* -PKGFILES_CSWrbsvn += $(SVNLIB)/.*swig_ruby.* -PKGFILES_CSWrbsvn += $(docdir)/$(CATALOGNAME_CSWrbsvn)/changelog.CSW -RUNTIME_DEP_PKGS_CSWrbsvn += CSWsvn -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibapr1-0 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibintl8 -RUNTIME_DEP_PKGS_CSWrbsvn-5.9 += CSWlibruby18-1 -RUNTIME_DEP_PKGS_CSWrbsvn-5.10 += CSWruby20 -RUNTIME_DEP_PKGS_CSWrbsvn += $(RUNTIME_DEP_PKGS_CSWrbsvn-$(GAROSREL)) -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibiconv2 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibexpat1 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibz1 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibsasl2-2 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWbdb48 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibsqlite3-0 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibaprutil1-0 -RUNTIME_DEP_PKGS_CSWrbsvn += CSWlibserf1-1 +OBSOLETED_BY_CSWpm-subversion += CSWpmsvn +CATALOGNAME_CSWpmsvn = pm_subversion_stub +PACKAGES += CSWrb-subversion +SPKG_DESC_CSWrb-subversion = Subversion Ruby Language Binding +PKGFILES_CSWrb-subversion += $(libdir)/ruby.* +PKGFILES_CSWrb-subversion += $(SVNLIB)/.*swig_ruby.* +PKGFILES_CSWrb-subversion += $(docdir)/$(CATALOGNAME_CSWrb-subversion)/changelog.CSW +RUNTIME_DEP_PKGS_CSWrb-subversion += CSWsubversion +RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibapr1-0 +RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWrb-subversion-5.9 += CSWlibruby18-1 +RUNTIME_DEP_PKGS_CSWrb-subversion-5.10 += CSWruby20 +RUNTIME_DEP_PKGS_CSWrb-subversion += $(RUNTIME_DEP_PKGS_CSWrb-subversion-$(GAROSREL)) +RUNTIME_DEP_PKGS_CSWrb-subversion-sparc += CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWrb-subversion += $(RUNTIME_DEP_PKGS_CSWrb-subversion-$(GARCH)) +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibiconv2 +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibexpat1 +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibz1 +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibsasl2-2 +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWbdb48 +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibsqlite3-0 +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibaprutil1-0 +#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibserf1-1 + +OBSOLETED_BY_CSWrb-subversion += CSWrbsvn + # We do depend on CSWruby20, this is an artifact of checkpkg lack of following symlinks -CHECKPKG_OVERRIDES_CSWrbsvn += missing-dependency|CSWlibruby1-9-1-1|or|CSWruby|or|CSWruby18|or|CSWruby191 +CHECKPKG_OVERRIDES_CSWrb-subversion += missing-dependency|CSWlibruby1-9-1-1|or|CSWruby|or|CSWruby18|or|CSWruby191 -PACKAGES += CSWpythonsvn -SPKG_DESC_CSWpythonsvn = Subversion Python Language Binding -PKGFILES_CSWpythonsvn += $(libdir)/.*python.* -PKGFILES_CSWpythonsvn += $(SVNLIB)/.*python.* -PKGFILES_CSWpythonsvn += $(SVNLIB)/.*swig_py.* -PKGFILES_CSWpythonsvn += $(docdir)/$(CATALOGNAME_CSWpythonsvn)/changelog.CSW -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibapr1-0 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWsvn -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibsqlite3-0 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibexpat1 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibz1 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibintl8 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibiconv2 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWbdb48 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibsasl2-2 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibaprutil1-0 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWlibserf1-1 -RUNTIME_DEP_PKGS_CSWpythonsvn += CSWpython -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWpython +PACKAGES += CSWpy-subversion +SPKG_DESC_CSWpy-subversion = Subversion Python Language Binding +PKGFILES_CSWpy-subversion += $(libdir)/.*python.* +PKGFILES_CSWpy-subversion += $(SVNLIB)/.*python.* +PKGFILES_CSWpy-subversion += $(SVNLIB)/.*swig_py.* +PKGFILES_CSWpy-subversion += $(docdir)/$(CATALOGNAME_CSWpy-subversion)/changelog.CSW +RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibapr1-0 +RUNTIME_DEP_PKGS_CSWpy-subversion += CSWsubversion +RUNTIME_DEP_PKGS_CSWpy-subversion-sparc += CSWlibmagic1 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibsqlite3-0 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibexpat1 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibz1 +RUNTIME_DEP_PKGS_CSWpy-subversion-sparc += CSWlibintl8 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibiconv2 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWbdb48 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibsasl2-2 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibaprutil1-0 +#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibserf1-1 +RUNTIME_DEP_PKGS_CSWpy-subversion += CSWpython +RUNTIME_DEP_PKGS_CSWpy-subversion += $(RUNTIME_DEP_PKGS_CSWpy-subversion-$(GARCH)) +CHECKPKG_OVERRIDES_CSWpy-subversion += surplus-dependency|CSWpython -# These are all due to linker problems with -z ignore -CHECKPKG_OVERRIDES_CSWap2svn += surplus-dependency|CSWlibiconv2 -CHECKPKG_OVERRIDES_CSWap2svn += surplus-dependency|CSWlibintl8 -CHECKPKG_OVERRIDES_CSWap2svn += surplus-dependency|CSWbdb48 -CHECKPKG_OVERRIDES_CSWap2svn += surplus-dependency|CSWlibz1 -CHECKPKG_OVERRIDES_CSWap2svn += surplus-dependency|CSWlibmagic1 -CHECKPKG_OVERRIDES_CSWap2svn += surplus-dependency|CSWlibexpat1 -CHECKPKG_OVERRIDES_CSWap2svn += surplus-dependency|CSWlibsqlite3-0 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibserf1-1 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibsasl2-2 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibaprutil1-0 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWbdb48 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibiconv2 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibz1 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibmagic1 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibexpat1 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibsqlite3-0 -CHECKPKG_OVERRIDES_CSWjavasvn += surplus-dependency|CSWlibserf1-1 -CHECKPKG_OVERRIDES_CSWpmsvn += surplus-dependency|CSWlibaprutil1-0 -CHECKPKG_OVERRIDES_CSWpmsvn += surplus-dependency|CSWlibintl8 -CHECKPKG_OVERRIDES_CSWpmsvn += surplus-dependency|CSWlibiconv2 -CHECKPKG_OVERRIDES_CSWpmsvn += surplus-dependency|CSWlibz1 -CHECKPKG_OVERRIDES_CSWpmsvn += surplus-dependency|CSWlibmagic1 -CHECKPKG_OVERRIDES_CSWpmsvn += surplus-dependency|CSWlibexpat1 -CHECKPKG_OVERRIDES_CSWpmsvn += surplus-dependency|CSWlibsqlite3-0 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibserf1-1 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibsasl2-2 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibintl8 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibsqlite3-0 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibaprutil1-0 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWbdb48 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibz1 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibmagic1 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibexpat1 -CHECKPKG_OVERRIDES_CSWpythonsvn += surplus-dependency|CSWlibiconv2 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibserf1-1 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibsasl2-2 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibaprutil1-0 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWbdb48 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibiconv2 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibz1 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibmagic1 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibexpat1 -CHECKPKG_OVERRIDES_CSWrbsvn += surplus-dependency|CSWlibsqlite3-0 -CHECKPKG_OVERRIDES_CSWsvn += surplus-dependency|CSWlibserf1-1 -CHECKPKG_OVERRIDES_CSWsvn += surplus-dependency|CSWlibiconv2 +CHECKPKG_OVERRIDES_CSWpy-subversion += python-package-missing-py26-files +CHECKPKG_OVERRIDES_CSWpy-subversion += python-package-missing-py-files +OBSOLETED_BY_CSWpy-subversion = CSWpythonsvn + # This is for /usr/share/lib/zoneinfo -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_delta.so -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_ra.so -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_fs.so -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_diff.so -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_client.so -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_core.so -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_wc.so -CHECKPKG_OVERRIDES_CSWpythonsvn-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_repos.so -CHECKPKG_OVERRIDES_CSWpythonsvn += $(CHECKPKG_OVERRIDES_CSWpythonsvn-$(GAROSREL)) +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_delta.so +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_ra.so +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_fs.so +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_diff.so +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_client.so +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_core.so +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_wc.so +CHECKPKG_OVERRIDES_CSWpy-subversion-5.9 += file-with-bad-content|/usr/share|root/opt/csw/lib/svn/svn-python/libsvn/_repos.so +CHECKPKG_OVERRIDES_CSWpy-subversion += $(CHECKPKG_OVERRIDES_CSWpy-subversion-$(GAROSREL)) # should be in lib ... put something below to at least make it compile. # on the svn mailing list people say we should not build the package This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Wed Jun 15 17:09:49 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Wed, 15 Jun 2016 15:09:49 +0000 Subject: SF.net SVN: gar:[25774] csw/mgar/pkg/subversion/trunk/Makefile Message-ID: <3rV9b63qBHzrk@mail.opencsw.org> Revision: 25774 http://sourceforge.net/p/gar/code/25774 Author: dmichelsen Date: 2016-06-15 15:09:49 +0000 (Wed, 15 Jun 2016) Log Message: ----------- subversion/trunk: Refine dependencies Modified Paths: -------------- csw/mgar/pkg/subversion/trunk/Makefile Modified: csw/mgar/pkg/subversion/trunk/Makefile =================================================================== --- csw/mgar/pkg/subversion/trunk/Makefile 2016-06-15 14:16:52 UTC (rev 25773) +++ csw/mgar/pkg/subversion/trunk/Makefile 2016-06-15 15:09:49 UTC (rev 25774) @@ -88,13 +88,13 @@ #RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibexpat1 RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibapr1-0 RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibaprutil1-0 -RUNTIME_DEP_PKGS_CSWap2-subversion-sparc += CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWap2-subversion-5.10-sparc += CSWlibmagic1 #RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibsqlite3-0 #RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibz1 -RUNTIME_DEP_PKGS_CSWap2-subversion-sparc += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWap2-subversion-5.10-sparc += CSWlibintl8 #RUNTIME_DEP_PKGS_CSWap2-subversion += CSWbdb48 #RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibiconv2 -RUNTIME_DEP_PKGS_CSWap2-subversion += $(RUNTIME_DEP_PKGS_CSWap2-subversion-$(GARCH)) +RUNTIME_DEP_PKGS_CSWap2-subversion += $(RUNTIME_DEP_PKGS_CSWap2-subversion-$(GAROSREL)-$(GARCH)) OBSOLETED_BY_CSWap2-subversion += CSWap2svn CATALOGNAME_CSWap2svn = ap2_subversion_stub @@ -139,14 +139,14 @@ RUNTIME_DEP_PKGS_CSWpm-subversion += CSWperl RUNTIME_DEP_PKGS_CSWpm-subversion += CSWsubversion RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibapr1-0 -RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibiconv2 +RUNTIME_DEP_PKGS_CSWpm-subversion-5.10-sparc += CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWpm-subversion-5.10-sparc += CSWlibiconv2 #RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibexpat1 -#RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibz1 -RUNTIME_DEP_PKGS_CSWpm-subversion-sparc += CSWlibintl8 +#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibz1 +RUNTIME_DEP_PKGS_CSWpm-subversion-5.10-sparc += CSWlibintl8 #RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibaprutil1-0 #RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibsqlite3-0 -RUNTIME_DEP_PKGS_CSWpm-subversion += $(RUNTIME_DEP_PKGS_CSWpm-subversion-$(GARCH)) +RUNTIME_DEP_PKGS_CSWpm-subversion += $(RUNTIME_DEP_PKGS_CSWpm-subversion-$(GAROSREL)-$(GARCH)) OBSOLETED_BY_CSWpm-subversion += CSWpmsvn CATALOGNAME_CSWpmsvn = pm_subversion_stub @@ -162,8 +162,8 @@ RUNTIME_DEP_PKGS_CSWrb-subversion-5.9 += CSWlibruby18-1 RUNTIME_DEP_PKGS_CSWrb-subversion-5.10 += CSWruby20 RUNTIME_DEP_PKGS_CSWrb-subversion += $(RUNTIME_DEP_PKGS_CSWrb-subversion-$(GAROSREL)) -RUNTIME_DEP_PKGS_CSWrb-subversion-sparc += CSWlibmagic1 -RUNTIME_DEP_PKGS_CSWrb-subversion += $(RUNTIME_DEP_PKGS_CSWrb-subversion-$(GARCH)) +RUNTIME_DEP_PKGS_CSWrb-subversion-5.10-sparc += CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWrb-subversion += $(RUNTIME_DEP_PKGS_CSWrb-subversion-$(GAROSREL)-$(GARCH)) #RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibiconv2 #RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibexpat1 #RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibz1 @@ -186,18 +186,18 @@ PKGFILES_CSWpy-subversion += $(docdir)/$(CATALOGNAME_CSWpy-subversion)/changelog.CSW RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibapr1-0 RUNTIME_DEP_PKGS_CSWpy-subversion += CSWsubversion -RUNTIME_DEP_PKGS_CSWpy-subversion-sparc += CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWpy-subversion-5.10-sparc += CSWlibmagic1 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibsqlite3-0 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibexpat1 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibz1 -RUNTIME_DEP_PKGS_CSWpy-subversion-sparc += CSWlibintl8 +RUNTIME_DEP_PKGS_CSWpy-subversion-5.10-sparc += CSWlibintl8 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibiconv2 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWbdb48 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibsasl2-2 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibaprutil1-0 #RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibserf1-1 RUNTIME_DEP_PKGS_CSWpy-subversion += CSWpython -RUNTIME_DEP_PKGS_CSWpy-subversion += $(RUNTIME_DEP_PKGS_CSWpy-subversion-$(GARCH)) +RUNTIME_DEP_PKGS_CSWpy-subversion += $(RUNTIME_DEP_PKGS_CSWpy-subversion-$(GAROSREL)-$(GARCH)) CHECKPKG_OVERRIDES_CSWpy-subversion += surplus-dependency|CSWpython CHECKPKG_OVERRIDES_CSWpy-subversion += python-package-missing-py26-files This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Wed Jun 15 17:38:48 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Wed, 15 Jun 2016 15:38:48 +0000 Subject: SF.net SVN: gar:[25775] csw/mgar/pkg/subversion/trunk/Makefile Message-ID: <3rV9ff3wSlzv7@mail.opencsw.org> Revision: 25775 http://sourceforge.net/p/gar/code/25775 Author: dmichelsen Date: 2016-06-15 15:38:47 +0000 (Wed, 15 Jun 2016) Log Message: ----------- subversion/trunk: Cleanup commented out stuff Modified Paths: -------------- csw/mgar/pkg/subversion/trunk/Makefile Modified: csw/mgar/pkg/subversion/trunk/Makefile =================================================================== --- csw/mgar/pkg/subversion/trunk/Makefile 2016-06-15 15:09:49 UTC (rev 25774) +++ csw/mgar/pkg/subversion/trunk/Makefile 2016-06-15 15:38:47 UTC (rev 25775) @@ -64,7 +64,6 @@ RUNTIME_DEP_PKGS_CSWsubversion += CSWlibapr1-0 RUNTIME_DEP_PKGS_CSWsubversion += CSWlibaprutil1-0 RUNTIME_DEP_PKGS_CSWsubversion += CSWlibserf1-1 -#RUNTIME_DEP_PKGS_CSWsubversion += CSWlibiconv2 RUNTIME_DEP_PKGS_CSWsubversion += CSWlibgnome-keyring0 RUNTIME_DEP_PKGS_CSWsubversion-5.9 += CSWglib2 RUNTIME_DEP_PKGS_CSWsubversion-5.10 += CSWlibglib2-0-0 @@ -85,15 +84,10 @@ PKGFILES_CSWap2-subversion += $(docdir)/$(CATALOGNAME_CSWap2-subversion)/changelog.CSW RUNTIME_DEP_PKGS_CSWap2-subversion = CSWsubversion RUNTIME_DEP_PKGS_CSWap2-subversion += CSWapache2 -#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibexpat1 RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibapr1-0 RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibaprutil1-0 RUNTIME_DEP_PKGS_CSWap2-subversion-5.10-sparc += CSWlibmagic1 -#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibsqlite3-0 -#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibz1 RUNTIME_DEP_PKGS_CSWap2-subversion-5.10-sparc += CSWlibintl8 -#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWbdb48 -#RUNTIME_DEP_PKGS_CSWap2-subversion += CSWlibiconv2 RUNTIME_DEP_PKGS_CSWap2-subversion += $(RUNTIME_DEP_PKGS_CSWap2-subversion-$(GAROSREL)-$(GARCH)) OBSOLETED_BY_CSWap2-subversion += CSWap2svn @@ -108,23 +102,10 @@ RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibintl8 RUNTIME_DEP_PKGS_CSWjavasvn += CSWsubversion RUNTIME_DEP_PKGS_CSWjavasvn-sparc += CSWlibmagic1 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibiconv2 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibz1 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWbdb48 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibsasl2-2 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibexpat1 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibsqlite3-0 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibaprutil1-0 -#RUNTIME_DEP_PKGS_CSWjavasvn += CSWlibserf1-1 RUNTIME_DEP_PKGS_CSWjavasvn += $(RUNTIME_DEP_PKGS_CSWjavasvn-$(GARCH)) # This would go away when -norunpath would make it to the linker, but at this point this is difficult. # Override for now as it is not harmful. -#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/rw7|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/sparc|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 -#CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/SUNWspro/lib/v8|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/solarisstudio12.3/lib|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 CHECKPKG_OVERRIDES_CSWjavasvn += bad-rpath-entry|/opt/solarisstudio12.3/lib/sparc|opt/csw/lib/svn/libsvnjavahl-1.so.0.0.0 @@ -141,11 +122,7 @@ RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibapr1-0 RUNTIME_DEP_PKGS_CSWpm-subversion-5.10-sparc += CSWlibmagic1 RUNTIME_DEP_PKGS_CSWpm-subversion-5.10-sparc += CSWlibiconv2 -#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibexpat1 -#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibz1 RUNTIME_DEP_PKGS_CSWpm-subversion-5.10-sparc += CSWlibintl8 -#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibaprutil1-0 -#RUNTIME_DEP_PKGS_CSWpm-subversion += CSWlibsqlite3-0 RUNTIME_DEP_PKGS_CSWpm-subversion += $(RUNTIME_DEP_PKGS_CSWpm-subversion-$(GAROSREL)-$(GARCH)) OBSOLETED_BY_CSWpm-subversion += CSWpmsvn @@ -164,14 +141,6 @@ RUNTIME_DEP_PKGS_CSWrb-subversion += $(RUNTIME_DEP_PKGS_CSWrb-subversion-$(GAROSREL)) RUNTIME_DEP_PKGS_CSWrb-subversion-5.10-sparc += CSWlibmagic1 RUNTIME_DEP_PKGS_CSWrb-subversion += $(RUNTIME_DEP_PKGS_CSWrb-subversion-$(GAROSREL)-$(GARCH)) -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibiconv2 -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibexpat1 -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibz1 -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibsasl2-2 -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWbdb48 -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibsqlite3-0 -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibaprutil1-0 -#RUNTIME_DEP_PKGS_CSWrb-subversion += CSWlibserf1-1 OBSOLETED_BY_CSWrb-subversion += CSWrbsvn @@ -187,15 +156,7 @@ RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibapr1-0 RUNTIME_DEP_PKGS_CSWpy-subversion += CSWsubversion RUNTIME_DEP_PKGS_CSWpy-subversion-5.10-sparc += CSWlibmagic1 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibsqlite3-0 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibexpat1 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibz1 RUNTIME_DEP_PKGS_CSWpy-subversion-5.10-sparc += CSWlibintl8 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibiconv2 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWbdb48 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibsasl2-2 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibaprutil1-0 -#RUNTIME_DEP_PKGS_CSWpy-subversion += CSWlibserf1-1 RUNTIME_DEP_PKGS_CSWpy-subversion += CSWpython RUNTIME_DEP_PKGS_CSWpy-subversion += $(RUNTIME_DEP_PKGS_CSWpy-subversion-$(GAROSREL)-$(GARCH)) CHECKPKG_OVERRIDES_CSWpy-subversion += surplus-dependency|CSWpython This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Thu Jun 16 15:51:46 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Thu, 16 Jun 2016 13:51:46 +0000 Subject: SF.net SVN: gar:[25776] csw/mgar/pkg/apr/trunk/Makefile Message-ID: <3rVlDq5CBsz1Hj@mail.opencsw.org> Revision: 25776 http://sourceforge.net/p/gar/code/25776 Author: dmichelsen Date: 2016-06-16 13:51:45 +0000 (Thu, 16 Jun 2016) Log Message: ----------- apr/trunk: Fix #5240 Modified Paths: -------------- csw/mgar/pkg/apr/trunk/Makefile Modified: csw/mgar/pkg/apr/trunk/Makefile =================================================================== --- csw/mgar/pkg/apr/trunk/Makefile 2016-06-15 15:38:47 UTC (rev 25775) +++ csw/mgar/pkg/apr/trunk/Makefile 2016-06-16 13:51:45 UTC (rev 25776) @@ -26,6 +26,7 @@ SPKG_DESC_CSWlibapr-dev = Development file for libapr-1.so.0 # PKGFILES is catchall RUNTIME_DEP_PKGS_CSWlibapr-dev += CSWlibapr1-0 +RUNTIME_DEP_PKGS_CSWlibapr-dev += CSWbash # We must not include -I/opt/csw/include here or the build of apr-util breaks as the system headers # are included before the locally build headers. @@ -48,5 +49,6 @@ include gar/category.mk post-install-modulated: - perl -pi -e 's,/usr/local/lib,$(libdir),g' \ + perl -pi -e 's,/usr/local/lib,$(libdir),g;' \ + -e 's,#! /bin/bash,#!$(bindir)/bash,g;' \ $(DESTDIR)$(libexecdir)/apr/build-1/libtool This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From rmottola at users.sourceforge.net Fri Jun 17 15:52:40 2016 From: rmottola at users.sourceforge.net (rmottola at users.sourceforge.net) Date: Fri, 17 Jun 2016 13:52:40 +0000 Subject: SF.net SVN: gar:[25777] csw/mgar/pkg/gnustep-gui/trunk Message-ID: <3rWMCL4jFDz6L@mail.opencsw.org> Revision: 25777 http://sourceforge.net/p/gar/code/25777 Author: rmottola Date: 2016-06-17 13:52:39 +0000 (Fri, 17 Jun 2016) Log Message: ----------- gnustep-gui/trunk: update version Modified Paths: -------------- csw/mgar/pkg/gnustep-gui/trunk/Makefile csw/mgar/pkg/gnustep-gui/trunk/checksums Modified: csw/mgar/pkg/gnustep-gui/trunk/Makefile =================================================================== --- csw/mgar/pkg/gnustep-gui/trunk/Makefile 2016-06-16 13:51:45 UTC (rev 25776) +++ csw/mgar/pkg/gnustep-gui/trunk/Makefile 2016-06-17 13:52:39 UTC (rev 25777) @@ -2,7 +2,7 @@ # TODO (release-critical prefixed with !, non release-critical with *) # NAME = gnustep-gui -VERSION = 0.24.1 +VERSION = 0.25.0 GARTYPE = v2 DESCRIPTION = GNUstep-core gui Modified: csw/mgar/pkg/gnustep-gui/trunk/checksums =================================================================== --- csw/mgar/pkg/gnustep-gui/trunk/checksums 2016-06-16 13:51:45 UTC (rev 25776) +++ csw/mgar/pkg/gnustep-gui/trunk/checksums 2016-06-17 13:52:39 UTC (rev 25777) @@ -1 +1 @@ -0ff1d513ba4159ba39f16229a9a87eaa gnustep-gui-0.24.1.tar.gz +6224a2a2fe22da0042d96f0892c884e3 gnustep-gui-0.25.0.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From rmottola at users.sourceforge.net Fri Jun 17 16:45:44 2016 From: rmottola at users.sourceforge.net (rmottola at users.sourceforge.net) Date: Fri, 17 Jun 2016 14:45:44 +0000 Subject: SF.net SVN: gar:[25778] csw/mgar/pkg/gnustep-base/trunk Message-ID: <3rWNNT4DQzz8v@mail.opencsw.org> Revision: 25778 http://sourceforge.net/p/gar/code/25778 Author: rmottola Date: 2016-06-17 14:45:44 +0000 (Fri, 17 Jun 2016) Log Message: ----------- gnustep-base/trunk: update to new base release Modified Paths: -------------- csw/mgar/pkg/gnustep-base/trunk/Makefile csw/mgar/pkg/gnustep-base/trunk/checksums Modified: csw/mgar/pkg/gnustep-base/trunk/Makefile =================================================================== --- csw/mgar/pkg/gnustep-base/trunk/Makefile 2016-06-17 13:52:39 UTC (rev 25777) +++ csw/mgar/pkg/gnustep-base/trunk/Makefile 2016-06-17 14:45:44 UTC (rev 25778) @@ -2,7 +2,7 @@ # TODO (release-critical prefixed with !, non release-critical with *) # NAME = gnustep-base -VERSION = 1.24.8 +VERSION = 1.24.9 GARTYPE = v2 DESCRIPTION = GNUstep-core base @@ -38,9 +38,9 @@ RUNTIME_DEP_PKGS_CSWgnustep-base += CSWlibgmp10 RUNTIME_DEP_PKGS_CSWgnustep-base += CSWlibiconv2 RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibgnutls28 -RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibicuuc56 -RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibicudata56 -RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibicui18n56 +RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibicuuc57 +RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibicudata57 +RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibicui18n57 RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibobjc4 RUNTIME_DEP_PKGS_CSWgnustep-base_5.10 += CSWlibffi6 @@ -60,8 +60,8 @@ #these are harmless CHECKPKG_OVERRIDES_CSWgnustep-base += file-with-bad-content|/usr/local|root/opt/csw/GNUstep/System/Library/Libraries/gnustep-base/Versions/1.24/Resources/NSTimeZones/README -CHECKPKG_OVERRIDES_CSWgnustep-base += file-with-bad-content|/usr/local|root/opt/csw/GNUstep/System/Library/Libraries/libgnustep-base.so.1.24.8 -CHECKPKG_OVERRIDES_CSWgnustep-base += file-with-bad-content|/usr/share|root/opt/csw/GNUstep/System/Library/Libraries/libgnustep-base.so.1.24.8 +CHECKPKG_OVERRIDES_CSWgnustep-base += file-with-bad-content|/usr/local|root/opt/csw/GNUstep/System/Library/Libraries/libgnustep-base.so.1.24.9 +CHECKPKG_OVERRIDES_CSWgnustep-base += file-with-bad-content|/usr/share|root/opt/csw/GNUstep/System/Library/Libraries/libgnustep-base.so.1.24.9 #overrides for binaries on own package, these are expected, not bound, not found. It is done at runtime by sourcing the GNUstep script Modified: csw/mgar/pkg/gnustep-base/trunk/checksums =================================================================== --- csw/mgar/pkg/gnustep-base/trunk/checksums 2016-06-17 13:52:39 UTC (rev 25777) +++ csw/mgar/pkg/gnustep-base/trunk/checksums 2016-06-17 14:45:44 UTC (rev 25778) @@ -1 +1 @@ -d0a22c87d506319c604a5c436c2dc0eb gnustep-base-1.24.8.tar.gz +34b1d127762c66a1e6358bd605e47ba5 gnustep-base-1.24.9.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Mon Jun 20 10:12:55 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Mon, 20 Jun 2016 08:12:55 +0000 Subject: SF.net SVN: gar:[25779] csw/mgar/pkg/sudo/trunk Message-ID: <3rY3Wq3BTMzfr@mail.opencsw.org> Revision: 25779 http://sourceforge.net/p/gar/code/25779 Author: dmichelsen Date: 2016-06-20 08:12:54 +0000 (Mon, 20 Jun 2016) Log Message: ----------- sudo/trunk: Update to 1.8.17 Modified Paths: -------------- csw/mgar/pkg/sudo/trunk/Makefile csw/mgar/pkg/sudo/trunk/checksums Modified: csw/mgar/pkg/sudo/trunk/Makefile =================================================================== --- csw/mgar/pkg/sudo/trunk/Makefile 2016-06-17 14:45:44 UTC (rev 25778) +++ csw/mgar/pkg/sudo/trunk/Makefile 2016-06-20 08:12:54 UTC (rev 25779) @@ -2,7 +2,7 @@ # NAME = sudo -VERSION = 1.8.16 +VERSION = 1.8.17 GARTYPE = v2 EXTRA_MODULATORS = LDAP Modified: csw/mgar/pkg/sudo/trunk/checksums =================================================================== --- csw/mgar/pkg/sudo/trunk/checksums 2016-06-17 14:45:44 UTC (rev 25778) +++ csw/mgar/pkg/sudo/trunk/checksums 2016-06-20 08:12:54 UTC (rev 25779) @@ -1 +1 @@ -a977449587dc857e129bb20555b46af4 sudo-1.8.16.tar.gz +01518df10b12c5396c498cdc15d2475f sudo-1.8.17.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From rmottola at users.sourceforge.net Mon Jun 20 15:11:57 2016 From: rmottola at users.sourceforge.net (rmottola at users.sourceforge.net) Date: Mon, 20 Jun 2016 13:11:57 +0000 Subject: SF.net SVN: gar:[25780] csw/mgar/pkg/gnustep-gui/trunk/Makefile Message-ID: <3rYB8s6GRyzlc@mail.opencsw.org> Revision: 25780 http://sourceforge.net/p/gar/code/25780 Author: rmottola Date: 2016-06-20 13:11:55 +0000 (Mon, 20 Jun 2016) Log Message: ----------- gnustep-gui/trunk: fix dependencies Modified Paths: -------------- csw/mgar/pkg/gnustep-gui/trunk/Makefile Modified: csw/mgar/pkg/gnustep-gui/trunk/Makefile =================================================================== --- csw/mgar/pkg/gnustep-gui/trunk/Makefile 2016-06-20 08:12:54 UTC (rev 25779) +++ csw/mgar/pkg/gnustep-gui/trunk/Makefile 2016-06-20 13:11:55 UTC (rev 25780) @@ -49,9 +49,9 @@ RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibtiff5 RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibsndfile1 RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibgnutls28 -RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibicuuc56 -RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibicudata56 -RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibicui18n56 +RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibicuuc57 +RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibicudata57 +RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibicui18n57 RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibobjc4 RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibgcrypt20 RUNTIME_DEP_PKGS_CSWgnustep-gui_5.10 += CSWlibintl8 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From guillomovitch at users.sourceforge.net Mon Jun 20 20:26:03 2016 From: guillomovitch at users.sourceforge.net (guillomovitch at users.sourceforge.net) Date: Mon, 20 Jun 2016 18:26:03 +0000 Subject: SF.net SVN: gar:[25781] csw/mgar/pkg/fusioninventory-agent/trunk Message-ID: <3rYK7H4TvMzsb@mail.opencsw.org> Revision: 25781 http://sourceforge.net/p/gar/code/25781 Author: guillomovitch Date: 2016-06-20 18:26:02 +0000 (Mon, 20 Jun 2016) Log Message: ----------- new version 2.3.18 Modified Paths: -------------- csw/mgar/pkg/fusioninventory-agent/trunk/Makefile csw/mgar/pkg/fusioninventory-agent/trunk/checksums Modified: csw/mgar/pkg/fusioninventory-agent/trunk/Makefile =================================================================== --- csw/mgar/pkg/fusioninventory-agent/trunk/Makefile 2016-06-20 13:11:55 UTC (rev 25780) +++ csw/mgar/pkg/fusioninventory-agent/trunk/Makefile 2016-06-20 18:26:02 UTC (rev 25781) @@ -2,7 +2,7 @@ # TODO (release-critical prefixed with !, non release-critical with *) # NAME = fusioninventory-agent -VERSION = 2.3.17 +VERSION = 2.3.18 GARTYPE = v2 CATEGORIES = cpan @@ -93,6 +93,12 @@ PKGFILES_CSWfi-agent-task-deploy = $(datadir)/fusioninventory/lib/FusionInventory/Agent/Task/Deploy.* CHECKPKG_OVERRIDES_CSWfi-agent-task-deploy += surplus-dependency|CSWperl +PACKAGES += CSWfi-agent-task-collect +SPKG_DESC_CSWfi-agent-task-collect = Custom information retrieval support for FusionInventory agent +RUNTIME_DEP_PKGS_CSWfi-agent-task-collect = CSWfi-agent +PKGFILES_CSWfi-agent-task-collect = $(datadir)/fusioninventory/lib/FusionInventory/Agent/Task/Collect.pm +CHECKPKG_OVERRIDES_CSWfi-agent-task-collect += surplus-dependency|CSWperl + CONFIGURE_ARGS = PREFIX=/opt/csw SYSCONFDIR=/etc/opt/csw/fusioninventory LOCALSTATEDIR=/var/opt/csw/fusioninventory # skip tests Modified: csw/mgar/pkg/fusioninventory-agent/trunk/checksums =================================================================== --- csw/mgar/pkg/fusioninventory-agent/trunk/checksums 2016-06-20 13:11:55 UTC (rev 25780) +++ csw/mgar/pkg/fusioninventory-agent/trunk/checksums 2016-06-20 18:26:02 UTC (rev 25781) @@ -1 +1 @@ -29002653bc5c25cd0e42b5990dc4cd2f FusionInventory-Agent-2.3.17.tar.gz +caffff2fe695b2262529aa7541f1b94a FusionInventory-Agent-2.3.18.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Tue Jun 21 12:59:03 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Tue, 21 Jun 2016 10:59:03 +0000 Subject: SF.net SVN: gar:[25782] csw/mgar/pkg/doxygen/trunk Message-ID: <3rYl9974YHz16Y@mail.opencsw.org> Revision: 25782 http://sourceforge.net/p/gar/code/25782 Author: dmichelsen Date: 2016-06-21 10:59:03 +0000 (Tue, 21 Jun 2016) Log Message: ----------- doxygen/trunk: Update to 1.8.11 Modified Paths: -------------- csw/mgar/pkg/doxygen/trunk/Makefile csw/mgar/pkg/doxygen/trunk/checksums Modified: csw/mgar/pkg/doxygen/trunk/Makefile =================================================================== --- csw/mgar/pkg/doxygen/trunk/Makefile 2016-06-20 18:26:02 UTC (rev 25781) +++ csw/mgar/pkg/doxygen/trunk/Makefile 2016-06-21 10:59:03 UTC (rev 25782) @@ -1,5 +1,5 @@ NAME = doxygen -VERSION = 1.8.10 +VERSION = 1.8.11 GARTYPE = v2 DESCRIPTION = A documentation system for programming languages @@ -20,6 +20,8 @@ PACKAGES += CSWdoxygen SPKG_DESC_CSWdoxygen = A documentation system for programming languages # PKGFILES is catchall +RUNTIME_DEP_PKGS_CSWdoxygen-i386 += CSWlibiconv2 +RUNTIME_DEP_PKGS_CSWdoxygen += $(RUNTIME_DEP_PKGS_CSWdoxygen-$(GARCH)) PACKAGES += CSWdoxygen-doc SPKG_DESC_CSWdoxygen-doc = Documentation for doxygen @@ -40,6 +42,8 @@ BUILD_SCRIPTS = $(WORKSRC)/solaris/Makefile BUILD_ARGS += docs +EXTRA_LINKER_FLAGS += -liconv + TEST_SCRIPTS = $(WORKSRC)/solaris/Makefile TEST_TARGET = tests @@ -57,5 +61,5 @@ configure-cmake: mkdir $(WORKSRC)/solaris @# The -DMAKE= is needed because docs generation uses $(MAKE) -C which the default /usr/ccs/bin/make does not understand - cd $(WORKSRC)/solaris && cmake -DMAKE=/opt/csw/bin/gmake -Dbuild_doc=YES -DCMAKE_INSTALL_PREFIX:PATH=$(prefix) -G 'Unix Makefiles' $(abspath $(WORKSRC)) + cd $(WORKSRC)/solaris && $(CONFIGURE_ENV) cmake -DMAKE=/opt/csw/bin/gmake -Dbuild_doc=YES -DCMAKE_INSTALL_PREFIX:PATH=$(prefix) -G 'Unix Makefiles' $(abspath $(WORKSRC)) @$(MAKECOOKIE) Modified: csw/mgar/pkg/doxygen/trunk/checksums =================================================================== --- csw/mgar/pkg/doxygen/trunk/checksums 2016-06-20 18:26:02 UTC (rev 25781) +++ csw/mgar/pkg/doxygen/trunk/checksums 2016-06-21 10:59:03 UTC (rev 25782) @@ -1 +1 @@ -79767ccd986f12a0f949015efb5f058f doxygen-1.8.10.src.tar.gz +f4697a444feaed739cfa2f0644abc19b doxygen-1.8.11.src.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Wed Jun 22 09:37:24 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Wed, 22 Jun 2016 07:37:24 +0000 Subject: SF.net SVN: gar:[25783] csw/mgar/pkg/doxygen/trunk/Makefile Message-ID: <3rZGdx6NPSz1HF@mail.opencsw.org> Revision: 25783 http://sourceforge.net/p/gar/code/25783 Author: dmichelsen Date: 2016-06-22 07:37:24 +0000 (Wed, 22 Jun 2016) Log Message: ----------- doxygen/trunk: Update dependency Modified Paths: -------------- csw/mgar/pkg/doxygen/trunk/Makefile Modified: csw/mgar/pkg/doxygen/trunk/Makefile =================================================================== --- csw/mgar/pkg/doxygen/trunk/Makefile 2016-06-21 10:59:03 UTC (rev 25782) +++ csw/mgar/pkg/doxygen/trunk/Makefile 2016-06-22 07:37:24 UTC (rev 25783) @@ -20,8 +20,7 @@ PACKAGES += CSWdoxygen SPKG_DESC_CSWdoxygen = A documentation system for programming languages # PKGFILES is catchall -RUNTIME_DEP_PKGS_CSWdoxygen-i386 += CSWlibiconv2 -RUNTIME_DEP_PKGS_CSWdoxygen += $(RUNTIME_DEP_PKGS_CSWdoxygen-$(GARCH)) +RUNTIME_DEP_PKGS_CSWdoxygen += CSWlibiconv2 PACKAGES += CSWdoxygen-doc SPKG_DESC_CSWdoxygen-doc = Documentation for doxygen This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Wed Jun 22 17:53:35 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Wed, 22 Jun 2016 15:53:35 +0000 Subject: SF.net SVN: gar:[25784] csw/mgar/pkg/lang-python/cffi/trunk Message-ID: <3rZTfX4QKMzy7@mail.opencsw.org> Revision: 25784 http://sourceforge.net/p/gar/code/25784 Author: janholzh Date: 2016-06-22 15:53:35 +0000 (Wed, 22 Jun 2016) Log Message: ----------- update to 1.7.0 Modified Paths: -------------- csw/mgar/pkg/lang-python/cffi/trunk/Makefile csw/mgar/pkg/lang-python/cffi/trunk/checksums Modified: csw/mgar/pkg/lang-python/cffi/trunk/Makefile =================================================================== --- csw/mgar/pkg/lang-python/cffi/trunk/Makefile 2016-06-22 07:37:24 UTC (rev 25783) +++ csw/mgar/pkg/lang-python/cffi/trunk/Makefile 2016-06-22 15:53:35 UTC (rev 25784) @@ -1,6 +1,6 @@ NAME = cffi -VERSION = 1.3.0 +VERSION = 1.7.0 CATEGORIES = python GARTYPE = v2 Modified: csw/mgar/pkg/lang-python/cffi/trunk/checksums =================================================================== --- csw/mgar/pkg/lang-python/cffi/trunk/checksums 2016-06-22 07:37:24 UTC (rev 25783) +++ csw/mgar/pkg/lang-python/cffi/trunk/checksums 2016-06-22 15:53:35 UTC (rev 25784) @@ -1 +1 @@ -a40ed8c8ac653c8fc7d5603711b06eaf cffi-1.3.0.tar.gz +34122a545060cee58bab88feab57006d cffi-1.7.0.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Thu Jun 23 09:45:34 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Thu, 23 Jun 2016 07:45:34 +0000 Subject: SF.net SVN: gar:[25785] csw/mgar/pkg/lang-python/cffi/trunk Message-ID: <3rZtmt6qTNz17f@mail.opencsw.org> Revision: 25785 http://sourceforge.net/p/gar/code/25785 Author: janholzh Date: 2016-06-23 07:45:33 +0000 (Thu, 23 Jun 2016) Log Message: ----------- lang-python/cffi/trunk: downgrade to 1.4.2, higher versions are broke on sparc Modified Paths: -------------- csw/mgar/pkg/lang-python/cffi/trunk/Makefile csw/mgar/pkg/lang-python/cffi/trunk/checksums Modified: csw/mgar/pkg/lang-python/cffi/trunk/Makefile =================================================================== --- csw/mgar/pkg/lang-python/cffi/trunk/Makefile 2016-06-22 15:53:35 UTC (rev 25784) +++ csw/mgar/pkg/lang-python/cffi/trunk/Makefile 2016-06-23 07:45:33 UTC (rev 25785) @@ -1,6 +1,6 @@ NAME = cffi -VERSION = 1.7.0 +VERSION = 1.4.2 CATEGORIES = python GARTYPE = v2 Modified: csw/mgar/pkg/lang-python/cffi/trunk/checksums =================================================================== --- csw/mgar/pkg/lang-python/cffi/trunk/checksums 2016-06-22 15:53:35 UTC (rev 25784) +++ csw/mgar/pkg/lang-python/cffi/trunk/checksums 2016-06-23 07:45:33 UTC (rev 25785) @@ -1 +1 @@ -34122a545060cee58bab88feab57006d cffi-1.7.0.tar.gz +81357fe5042d00650b85b728cc181df2 cffi-1.4.2.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Thu Jun 23 10:31:21 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Thu, 23 Jun 2016 08:31:21 +0000 Subject: SF.net SVN: gar:[25786] csw/mgar/pkg/lang-python/cryptography/trunk Message-ID: <3rZvnj2RdCz1BF@mail.opencsw.org> Revision: 25786 http://sourceforge.net/p/gar/code/25786 Author: janholzh Date: 2016-06-23 08:31:20 +0000 (Thu, 23 Jun 2016) Log Message: ----------- lang-python/cryptography/trunk: update to 1.4. Modified Paths: -------------- csw/mgar/pkg/lang-python/cryptography/trunk/Makefile csw/mgar/pkg/lang-python/cryptography/trunk/checksums Modified: csw/mgar/pkg/lang-python/cryptography/trunk/Makefile =================================================================== --- csw/mgar/pkg/lang-python/cryptography/trunk/Makefile 2016-06-23 07:45:33 UTC (rev 25785) +++ csw/mgar/pkg/lang-python/cryptography/trunk/Makefile 2016-06-23 08:31:20 UTC (rev 25786) @@ -4,7 +4,7 @@ NAME = cryptography -VERSION = 1.0.2 +VERSION = 1.4 CATEGORIES = python GARTYPE = v2 SPKG_DESC_CSWpy-cryptography = Cryptography is a package which provides cryptographic recipes and primitives to Python developers Modified: csw/mgar/pkg/lang-python/cryptography/trunk/checksums =================================================================== --- csw/mgar/pkg/lang-python/cryptography/trunk/checksums 2016-06-23 07:45:33 UTC (rev 25785) +++ csw/mgar/pkg/lang-python/cryptography/trunk/checksums 2016-06-23 08:31:20 UTC (rev 25786) @@ -1 +1 @@ -6a8627da0c6199fca941dc8170f9b583 cryptography-1.0.2.tar.gz +a9763e3831cc7cdb402c028fac1ceb39 cryptography-1.4.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Thu Jun 23 13:01:12 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Thu, 23 Jun 2016 11:01:12 +0000 Subject: SF.net SVN: gar:[25787] csw/mgar/pkg/ca_certificates/trunk/checksums Message-ID: <3rZz6c5qDXz1RF@mail.opencsw.org> Revision: 25787 http://sourceforge.net/p/gar/code/25787 Author: janholzh Date: 2016-06-23 11:01:12 +0000 (Thu, 23 Jun 2016) Log Message: ----------- ca_certificates/trunk: update certs Modified Paths: -------------- csw/mgar/pkg/ca_certificates/trunk/checksums Modified: csw/mgar/pkg/ca_certificates/trunk/checksums =================================================================== --- csw/mgar/pkg/ca_certificates/trunk/checksums 2016-06-23 08:31:20 UTC (rev 25786) +++ csw/mgar/pkg/ca_certificates/trunk/checksums 2016-06-23 11:01:12 UTC (rev 25787) @@ -1 +1 @@ -e4686896732c382a7ee856426b6da398 certdata.txt +a8031373d0f517b8fc76bc2ae79baa69 certdata.txt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From sfbsdsx at users.sourceforge.net Sat Jun 25 10:32:51 2016 From: sfbsdsx at users.sourceforge.net (sfbsdsx at users.sourceforge.net) Date: Sat, 25 Jun 2016 08:32:51 +0000 Subject: SF.net SVN: gar:[25788] csw/mgar/pkg/fossil/trunk Message-ID: <3rc7kd5w5Bz1Ff@mail.opencsw.org> Revision: 25788 http://sourceforge.net/p/gar/code/25788 Author: sfbsdsx Date: 2016-06-25 08:32:51 +0000 (Sat, 25 Jun 2016) Log Message: ----------- Bump version 1.35 Modified Paths: -------------- csw/mgar/pkg/fossil/trunk/Makefile csw/mgar/pkg/fossil/trunk/checksums Modified: csw/mgar/pkg/fossil/trunk/Makefile =================================================================== --- csw/mgar/pkg/fossil/trunk/Makefile 2016-06-23 11:01:12 UTC (rev 25787) +++ csw/mgar/pkg/fossil/trunk/Makefile 2016-06-25 08:32:51 UTC (rev 25788) @@ -3,7 +3,7 @@ # Recipe sent in by Freddy DISSAUX freddy.dsx free.fr NAME = fossil -VERSION = 1.34 +VERSION = 1.35 GARTYPE = v2 DESCRIPTION = DSCM with built-in wiki, http interface and server, tickets database @@ -23,7 +23,7 @@ BUILD64 = 1 -WORKSRC = $(WORKDIR)/$(NAME)-src-$(VERSION) +WORKSRC = $(WORKDIR)/$(NAME)-$(VERSION) NODIRPATHS += --exec_prefix Modified: csw/mgar/pkg/fossil/trunk/checksums =================================================================== --- csw/mgar/pkg/fossil/trunk/checksums 2016-06-23 11:01:12 UTC (rev 25787) +++ csw/mgar/pkg/fossil/trunk/checksums 2016-06-25 08:32:51 UTC (rev 25788) @@ -1 +1 @@ -3d5a7da5c506a47784942236a788b29b fossil-src-1.34.tar.gz +b915e9d9a00ef2310d3043a471b8f050 fossil-src-1.35.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Mon Jun 27 09:58:32 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Mon, 27 Jun 2016 07:58:32 +0000 Subject: SF.net SVN: gar:[25789] csw/mgar/pkg/openssl1/trunk Message-ID: <3rdLvZ5LfzzJQ@mail.opencsw.org> Revision: 25789 http://sourceforge.net/p/gar/code/25789 Author: janholzh Date: 2016-06-27 07:58:30 +0000 (Mon, 27 Jun 2016) Log Message: ----------- openssl1/trunk: update to 1.0.2h Modified Paths: -------------- csw/mgar/pkg/openssl1/trunk/Makefile csw/mgar/pkg/openssl1/trunk/checksums csw/mgar/pkg/openssl1/trunk/files/map.openssl.libcrypto csw/mgar/pkg/openssl1/trunk/files/update-pkcs11-patch.sh Added Paths: ----------- csw/mgar/pkg/openssl1/trunk/files/openssl-1.0.2h-pkcs11-engine.patch Removed Paths: ------------- csw/mgar/pkg/openssl1/trunk/files/openssl-1.0.2e-pkcs11-engine.patch Modified: csw/mgar/pkg/openssl1/trunk/Makefile =================================================================== --- csw/mgar/pkg/openssl1/trunk/Makefile 2016-06-25 08:32:51 UTC (rev 25788) +++ csw/mgar/pkg/openssl1/trunk/Makefile 2016-06-27 07:58:30 UTC (rev 25789) @@ -13,7 +13,7 @@ ###### Package information ####### NAME = openssl -VERSION = 1.0.2e +VERSION = 1.0.2h GARTYPE = v2 # Since version 1.0.0, soname is fixed and does not follow the minor releases SONAME=1.0.0 @@ -108,7 +108,7 @@ # Let's always block some compromised CA, whatever the CA configured # (patchs taken from Debian Package) -PATCHFILES += block_bad_certificates.patch +#PATCHFILES += block_bad_certificates.patch # Add old-style certificates hash generation to maintain compatibilies # with gnutls and programs linked with openssl 0.9.8 @@ -127,7 +127,7 @@ # Bug opened upstream: http://rt.openssl.org/Ticket/Display.html?id=3153 PATCHFILES += make_issetugid_support_configurable.patch -PATCHFILES += openssl-1.0.2e-pkcs11-engine.patch +PATCHFILES += openssl-1.0.2h-pkcs11-engine.patch ENGINES += pk11 # Patches taken form oracle @@ -138,6 +138,7 @@ PATCHFILES += 040-uninitialized_ctx.patch PATCHFILES += 043-x86_wrong_platform.patch PATCHFILES += 044-suppress_v8plus_abi_warnings.patch +#PATCHFILES += 046-weak-ciphers.patch LICENSE = LICENSE Modified: csw/mgar/pkg/openssl1/trunk/checksums =================================================================== --- csw/mgar/pkg/openssl1/trunk/checksums 2016-06-25 08:32:51 UTC (rev 25788) +++ csw/mgar/pkg/openssl1/trunk/checksums 2016-06-27 07:58:30 UTC (rev 25789) @@ -1 +1 @@ -5262bfa25b60ed9de9f28d5d52d77fc5 openssl-1.0.2e.tar.gz +9392e65072ce4b614c1392eefc1f23d0 openssl-1.0.2h.tar.gz Modified: csw/mgar/pkg/openssl1/trunk/files/map.openssl.libcrypto =================================================================== --- csw/mgar/pkg/openssl1/trunk/files/map.openssl.libcrypto 2016-06-25 08:32:51 UTC (rev 25788) +++ csw/mgar/pkg/openssl1/trunk/files/map.openssl.libcrypto 2016-06-27 07:58:30 UTC (rev 25789) @@ -3738,6 +3738,12 @@ CRYPTO_memcmp = DIRECT; } OPENSSL_1.0.1; +OPENSSL_1.0.1s { + global: + SRP_user_pwd_free = DIRECT; + SRP_VBASE_get1_by_user = DIRECT; +} OPENSSL_1.0.1d; + OPENSSL_1.0.2 { global: ASN1_TIME_diff = DIRECT; @@ -3829,5 +3835,5 @@ i2d_DHxparams = DIRECT; i2d_re_X509_tbs = DIRECT; sk_deep_copy = DIRECT; -} OPENSSL_1.0.1d; +} OPENSSL_1.0.1s; Deleted: csw/mgar/pkg/openssl1/trunk/files/openssl-1.0.2e-pkcs11-engine.patch =================================================================== --- csw/mgar/pkg/openssl1/trunk/files/openssl-1.0.2e-pkcs11-engine.patch 2016-06-25 08:32:51 UTC (rev 25788) +++ csw/mgar/pkg/openssl1/trunk/files/openssl-1.0.2e-pkcs11-engine.patch 2016-06-27 07:58:30 UTC (rev 25789) @@ -1,9037 +0,0 @@ -# -# This patch file adds the Solaris's pkcs11 engine. -# This is Solaris-specific (developed in house): not suitable for upstream. -# ---- /tmp/Configure Fri Feb 11 14:40:39 2011 -+++ openssl-1.0.0d/Configure Fri Feb 11 14:41:36 2011 -@@ -10,7 +10,7 @@ - - # see INSTALL for instructions. - --my $usage="Usage: Configure [no- ...] [enable- ...] [experimental- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n"; -+my $usage="Usage: Configure --pk11-libname=PK11_LIB_LOCATION [no- ...] [enable- ...] [experimental- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n"; - - # Options: - # -@@ -19,6 +19,9 @@ - # --prefix prefix for the OpenSSL include, lib and bin directories - # (Default: the OPENSSLDIR directory) - # -+# --pk11-libname PKCS#11 library name. -+# (Default: none) -+# - # --install_prefix Additional prefix for package builders (empty by - # default). This needn't be set in advance, you can - # just as well use "make INSTALL_PREFIX=/whatever install". -@@ -716,6 +719,9 @@ - my $idx_arflags = $idx++; - my $idx_multilib = $idx++; - -+# PKCS#11 engine patch -+my $pk11_libname=""; -+ - my $prefix=""; - my $libdir=""; - my $openssldir=""; -@@ -938,6 +944,10 @@ - { - $prefix=$1; - } -+ elsif (/^--pk11-libname=(.*)$/) -+ { -+ $pk11_libname=$1; -+ } - elsif (/^--libdir=(.*)$/) - { - $libdir=$1; -@@ -1105,6 +11115,13 @@ - exit 0; - } - -+if (! $pk11_libname) -+ { -+ print STDERR "You must set --pk11-libname for PKCS#11 library.\n"; -+ print STDERR "See README.pkcs11 for more information.\n"; -+ exit 1; -+ } -+ - if ($target =~ m/^CygWin32(-.*)$/) { - $target = "Cygwin".$1; - } -@@ -1279,6 +1296,8 @@ - if ($flags ne "") { $cflags="$flags$cflags"; } - else { $no_user_cflags=1; } - -+$cflags="-DPK11_LIB_LOCATION=\"$pk11_libname\" $cflags"; -+ - # Kerberos settings. The flavor must be provided from outside, either through - # the script "config" or manually. - if (!$no_krb5) -@@ -1687,6 +1706,7 @@ - s/^VERSION=.*/VERSION=$version/; - s/^MAJOR=.*/MAJOR=$major/; - s/^MINOR=.*/MINOR=$minor/; -+ s/^PK11_LIB_LOCATION=.*/PK11_LIB_LOCATION=$pk11_libname/; - s/^SHLIB_VERSION_NUMBER=.*/SHLIB_VERSION_NUMBER=$shlib_version_number/; - s/^SHLIB_VERSION_HISTORY=.*/SHLIB_VERSION_HISTORY=$shlib_version_history/; - s/^SHLIB_MAJOR=.*/SHLIB_MAJOR=$shlib_major/; ---- /tmp/Makefile.org Fri Feb 11 14:41:54 2011 -+++ openssl-1.0.0d/Makefile.org Fri Feb 11 14:38:01 2011 -@@ -26,6 +26,9 @@ - INSTALL_PREFIX= - INSTALLTOP=/usr/local/ssl - -+# You must set this through --pk11-libname configure option. -+PK11_LIB_LOCATION= -+ - # Do not edit this manually. Use Configure --openssldir=DIR do change this! - OPENSSLDIR=/usr/local/ssl - ---- /tmp/Makefile Mon Feb 14 14:59:22 2011 -+++ openssl-1.0.0d/engines/Makefile Mon Feb 14 15:00:35 2011 -@@ -26,7 +26,8 @@ - APPS= - - LIB=$(TOP)/libcrypto.a --LIBNAMES= 4758cca aep atalla cswift gmp chil nuron sureware ubsec padlock capi -+LIBNAMES= 4758cca aep atalla cswift gmp chil nuron sureware ubsec padlock capi \ -+ pk11 - - LIBSRC= e_4758cca.c \ - e_aep.c \ -@@ -38,7 +39,8 @@ - e_sureware.c \ - e_ubsec.c \ - e_padlock.c \ -- e_capi.c -+ e_capi.c \ -+ e_pk11.c - LIBOBJ= e_4758cca.o \ - e_aep.o \ - e_atalla.o \ -@@ -49,7 +51,8 @@ - e_sureware.o \ - e_ubsec.o \ - e_padlock.o \ -- e_capi.o -+ e_capi.o \ -+ e_pk11.o - - SRC= $(LIBSRC) - -@@ -63,7 +66,8 @@ - e_nuron_err.c e_nuron_err.h \ - e_sureware_err.c e_sureware_err.h \ - e_ubsec_err.c e_ubsec_err.h \ -- e_capi_err.c e_capi_err.h -+ e_capi_err.c e_capi_err.h \ -+ e_pk11.h e_pk11_uri.h e_pk11_err.h e_pk11_pub.c e_pk11_uri.c e_pk11_err.c - - ALL= $(GENERAL) $(SRC) $(HEADER) - -@@ -78,7 +82,7 @@ - for l in $(LIBNAMES); do \ - $(MAKE) -f ../Makefile.shared -e \ - LIBNAME=$$l LIBEXTRAS=e_$$l.o \ -- LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \ -+ LIBDEPS='-L.. -lcrypto -lcryptoutil $(EX_LIBS)' \ - link_o.$(SHLIB_TARGET); \ - done; \ - else \ ---- crypto/engine/eng_all.c Thu Sep 5 12:59:50 2013 -+++ openssl-1.0.1e/crypto/engine/eng_all.c Thu Sep 5 12:59:50 2013 -@@ -60,6 +60,16 @@ - #include "cryptlib.h" - #include "eng_int.h" - -+/* -+ * pkcs11 engine no longer is a built-in engine, and ENGINE_load_pk11() needs to be -+ * defined in libcrypto.so for ssh. Instead of load pkcs11 engine, it load dynamic -+ * engines. -+ */ -+void ENGINE_load_pk11(void) -+ { -+ ENGINE_load_dynamic(); -+ } -+ - void ENGINE_load_builtin_engines(void) - { - /* Some ENGINEs need this */ ---- crypto/dso/dso_lib.c Thu Sep 5 12:59:50 2013 -+++ openssl-1.0.1e/crypto/dso/dso_lib.c Thu Sep 5 12:59:50 2013 -@@ -396,6 +396,24 @@ - DSOerr(DSO_F_DSO_CONVERT_FILENAME, DSO_R_NO_FILENAME); - return (NULL); - } -+ /* -+ * For pkcs11 engine, use libpk11.so (instead of libpkcs11.so) to -+ * avoid the name collision with PKCS#11 library. -+ */ -+ if (strcmp(filename, "pkcs11") == 0) { -+#ifdef _LP64 -+ char *fullpath = "/opt/csw/lib/64/openssl-1.0.0/engines/libpk11.so"; -+#else -+ char *fullpath = "/opt/csw/lib/openssl-1.0.0/engines/libpk11.so"; -+#endif -+ result = OPENSSL_malloc(strlen(fullpath) + 1); -+ if(result == NULL) { -+ DSOerr(DSO_F_DSO_CONVERT_FILENAME, ERR_R_MALLOC_FAILURE); -+ return(NULL); -+ } -+ BUF_strlcpy(result, fullpath, strlen(fullpath) + 1); -+ return (result); -+ } - if ((dso->flags & DSO_FLAG_NO_NAME_TRANSLATION) == 0) { - if (dso->name_converter != NULL) - result = dso->name_converter(dso, filename); ---- /tmp/engine.h Fri Feb 11 14:46:24 2011 -+++ openssl-1.0.0d/crypto/engine/engine.h Fri Feb 11 14:47:32 2011 -@@ -413,6 +413,7 @@ - # endif - # endif - void ENGINE_load_cryptodev(void); -+void ENGINE_load_pk11(void); - void ENGINE_load_rdrand(void); - void ENGINE_load_builtin_engines(void); - -Index: crypto//e_pk11.c -=================================================================== -diff -uNr openssl-1.0.2e/engines/e_pk11.c openssl-1.0.2e/engines/e_pk11.c ---- openssl-1.0.2e/engines/e_pk11.c 1970-01-01 01:00:00.000000000 +0100 -+++ openssl-1.0.2e/engines/e_pk11.c 2015-12-21 12:56:23.%N +0100 -@@ -0,0 +1,3720 @@ -+/* -+ * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. -+ */ -+ -+/* crypto/engine/e_pk11.c */ -+/* -+ * This product includes software developed by the OpenSSL Project for -+ * use in the OpenSSL Toolkit (http://www.openssl.org/). -+ * -+ * This project also referenced hw_pkcs11-0.9.7b.patch written by -+ * Afchine Madjlessi. -+ */ -+/* -+ * ==================================================================== -+ * Copyright (c) 2000-2001 The OpenSSL Project. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in -+ * the documentation and/or other materials provided with the -+ * distribution. -+ * -+ * 3. All advertising materials mentioning features or use of this -+ * software must display the following acknowledgment: -+ * "This product includes software developed by the OpenSSL Project -+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" -+ * -+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to -+ * endorse or promote products derived from this software without -+ * prior written permission. For written permission, please contact -+ * licensing at OpenSSL.org. -+ * -+ * 5. Products derived from this software may not be called "OpenSSL" -+ * nor may "OpenSSL" appear in their names without prior written -+ * permission of the OpenSSL Project. -+ * -+ * 6. Redistributions of any form whatsoever must retain the following -+ * acknowledgment: -+ * "This product includes software developed by the OpenSSL Project -+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY -+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR -+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -+ * OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ==================================================================== -+ * -+ * This product includes cryptographic software written by Eric Young -+ * (eay at cryptsoft.com). This product includes software written by Tim -+ * Hudson (tjh at cryptsoft.com). -+ * -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#ifndef OPENSSL_NO_RSA -+#include -+#endif -+#ifndef OPENSSL_NO_DSA -+#include -+#endif -+#ifndef OPENSSL_NO_DH -+#include -+#endif -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifndef OPENSSL_NO_HW -+#ifndef OPENSSL_NO_HW_PK11 -+ -+/* label for debug messages printed on stderr */ -+#define PK11_DBG "PKCS#11 ENGINE DEBUG" -+/* prints a lot of debug messages on stderr about slot selection process */ -+#undef DEBUG_SLOT_SELECTION -+/* -+ * Solaris specific code. See comment at check_hw_mechanisms() for more -+ * information. -+ */ -+#if defined(__SVR4) && defined(__sun) -+#define SOLARIS_HW_SLOT_SELECTION -+#endif -+ -+#ifdef SOLARIS_HW_SLOT_SELECTION -+#include -+#endif -+ -+#ifdef DEBUG_SLOT_SELECTION -+#define DEBUG_SLOT_SEL(...) fprintf(stderr, __VA_ARGS__) -+#else -+#define DEBUG_SLOT_SEL(...) -+#endif -+ -+#include -+#include -+#include "e_pk11.h" -+#include "e_pk11_uri.h" -+ -+static CK_BBOOL pk11_true = CK_TRUE; -+static CK_BBOOL pk11_false = CK_FALSE; -+#define PK11_ENGINE_LIB_NAME "PKCS#11 engine" -+#include "e_pk11_err.c" -+#include "e_pk11_uri.c" -+#include "e_pk11_pub.c" -+ -+/* -+ * We use this lock to prevent multiple C_Login()s, guard getpassphrase(), -+ * uri_struct manipulation, and static token info. All of that is used by the -+ * RSA keys by reference feature. -+ */ -+pthread_mutex_t *uri_lock = NULL; -+ -+#ifdef SOLARIS_HW_SLOT_SELECTION -+/* -+ * Tables for symmetric ciphers and digest mechs found in the pkcs11_kernel -+ * library. See comment at check_hw_mechanisms() for more information. -+ */ -+int *hw_cnids; -+int *hw_dnids; -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ -+/* PKCS#11 session caches and their locks for all operation types */ -+static PK11_CACHE session_cache[OP_MAX]; -+ -+/* -+ * We cache the flags so that we do not have to run C_GetTokenInfo() again when -+ * logging into the token. -+ */ -+CK_FLAGS pubkey_token_flags; -+ -+/* -+ * As stated in v2.20, 11.7 Object Management Function, in section for -+ * C_FindObjectsInit(), at most one search operation may be active at a given -+ * time in a given session. Therefore, C_Find{,Init,Final}Objects() should be -+ * grouped together to form one atomic search operation. This is already -+ * ensured by the property of unique PKCS#11 session handle used for each -+ * PK11_SESSION object. -+ * -+ * This is however not the biggest concern - maintaining consistency of the -+ * underlying object store is more important. The same section of the spec also -+ * says that one thread can be in the middle of a search operation while another -+ * thread destroys the object matching the search template which would result in -+ * invalid handle returned from the search operation. -+ * -+ * Hence, the following locks are used for both protection of the object stores. -+ * They are also used for active list protection. -+ */ -+pthread_mutex_t *find_lock[OP_MAX] = { NULL }; -+ -+/* -+ * lists of asymmetric key handles which are active (referenced by at least one -+ * PK11_SESSION structure, either held by a thread or present in free_session -+ * list) for given algorithm type -+ */ -+PK11_active *active_list[OP_MAX] = { NULL }; -+ -+/* -+ * Create all secret key objects in a global session so that they are available -+ * to use for other sessions. These other sessions may be opened or closed -+ * without losing the secret key objects. -+ */ -+static CK_SESSION_HANDLE global_session = CK_INVALID_HANDLE; -+ -+/* Index for the supported ciphers */ -+enum pk11_cipher_id -+ { -+ PK11_DES_CBC, -+ PK11_DES3_CBC, -+ PK11_DES_ECB, -+ PK11_DES3_ECB, -+ PK11_RC4, -+ PK11_AES_128_CBC, -+ PK11_AES_192_CBC, -+ PK11_AES_256_CBC, -+ PK11_AES_128_ECB, -+ PK11_AES_192_ECB, -+ PK11_AES_256_ECB, -+ PK11_BLOWFISH_CBC, -+ PK11_AES_128_CTR, -+ PK11_AES_192_CTR, -+ PK11_AES_256_CTR, -+ PK11_CIPHER_MAX -+ }; -+ -+/* Index for the supported digests */ -+enum pk11_digest_id -+ { -+ PK11_MD5, -+ PK11_SHA1, -+ PK11_SHA224, -+ PK11_SHA256, -+ PK11_SHA384, -+ PK11_SHA512, -+ PK11_DIGEST_MAX -+ }; -+ -+typedef struct PK11_CIPHER_st -+ { -+ enum pk11_cipher_id id; -+ int nid; -+ int iv_len; -+ int min_key_len; -+ int max_key_len; -+ CK_KEY_TYPE key_type; -+ CK_MECHANISM_TYPE mech_type; -+ } PK11_CIPHER; -+ -+typedef struct PK11_DIGEST_st -+ { -+ enum pk11_digest_id id; -+ int nid; -+ CK_MECHANISM_TYPE mech_type; -+ } PK11_DIGEST; -+ -+/* ENGINE level stuff */ -+static int pk11_init(ENGINE *e); -+static int pk11_library_init(ENGINE *e); -+static int pk11_finish(ENGINE *e); -+static int pk11_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)()); -+static int pk11_destroy(ENGINE *e); -+ -+/* RAND stuff */ -+static void pk11_rand_seed(const void *buf, int num); -+static void pk11_rand_add(const void *buf, int num, double add_entropy); -+static void pk11_rand_cleanup(void); -+static int pk11_rand_bytes(unsigned char *buf, int num); -+static int pk11_rand_status(void); -+ -+/* These functions are also used in other files */ -+PK11_SESSION *pk11_get_session(PK11_OPTYPE optype); -+void pk11_return_session(PK11_SESSION *sp, PK11_OPTYPE optype); -+ -+/* active list manipulation functions used in this file */ -+extern int pk11_active_delete(CK_OBJECT_HANDLE h, PK11_OPTYPE type); -+extern void pk11_free_active_list(PK11_OPTYPE type); -+ -+#ifndef OPENSSL_NO_RSA -+int pk11_destroy_rsa_key_objects(PK11_SESSION *session); -+int pk11_destroy_rsa_object_pub(PK11_SESSION *sp, CK_BBOOL uselock); -+int pk11_destroy_rsa_object_priv(PK11_SESSION *sp, CK_BBOOL uselock); -+#endif -+#ifndef OPENSSL_NO_DSA -+int pk11_destroy_dsa_key_objects(PK11_SESSION *session); -+int pk11_destroy_dsa_object_pub(PK11_SESSION *sp, CK_BBOOL uselock); -+int pk11_destroy_dsa_object_priv(PK11_SESSION *sp, CK_BBOOL uselock); -+#endif -+#ifndef OPENSSL_NO_DH -+int pk11_destroy_dh_key_objects(PK11_SESSION *session); -+int pk11_destroy_dh_object(PK11_SESSION *session, CK_BBOOL uselock); -+#endif -+ -+/* Local helper functions */ -+static int pk11_free_all_sessions(void); -+static int pk11_free_session_list(PK11_OPTYPE optype); -+static int pk11_setup_session(PK11_SESSION *sp, PK11_OPTYPE optype); -+static int pk11_destroy_cipher_key_objects(PK11_SESSION *session); -+static int pk11_destroy_object(CK_SESSION_HANDLE handle, CK_OBJECT_HANDLE oh, -+ CK_BBOOL persistent); -+static const char *get_PK11_LIBNAME(void); -+static void free_PK11_LIBNAME(void); -+static long set_PK11_LIBNAME(const char *name); -+ -+/* Symmetric cipher and digest support functions */ -+static int cipher_nid_to_pk11(int nid); -+static int pk11_usable_ciphers(const int **nids); -+static int pk11_usable_digests(const int **nids); -+static int pk11_cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, -+ const unsigned char *iv, int enc); -+static int pk11_cipher_final(PK11_SESSION *sp); -+static int pk11_cipher_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, -+ const unsigned char *in, size_t inl); -+static int pk11_cipher_cleanup(EVP_CIPHER_CTX *ctx); -+static int pk11_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher, -+ const int **nids, int nid); -+static int pk11_engine_digests(ENGINE *e, const EVP_MD **digest, -+ const int **nids, int nid); -+static CK_OBJECT_HANDLE pk11_get_cipher_key(EVP_CIPHER_CTX *ctx, -+ const unsigned char *key, CK_KEY_TYPE key_type, PK11_SESSION *sp); -+static int check_new_cipher_key(PK11_SESSION *sp, const unsigned char *key, -+ int key_len); -+static int md_nid_to_pk11(int nid); -+static int pk11_digest_init(EVP_MD_CTX *ctx); -+static int pk11_digest_update(EVP_MD_CTX *ctx, const void *data, -+ size_t count); -+static int pk11_digest_final(EVP_MD_CTX *ctx, unsigned char *md); -+static int pk11_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from); -+static int pk11_digest_cleanup(EVP_MD_CTX *ctx); -+ -+static int pk11_choose_slots(int *any_slot_found); -+static void pk11_choose_rand_slot(CK_TOKEN_INFO token_info, -+ CK_SLOT_ID current_slot); -+static void pk11_choose_pubkey_slot(CK_MECHANISM_INFO mech_info, -+ CK_TOKEN_INFO token_info, CK_SLOT_ID current_slot, CK_RV rv, -+ int best_number_of_mechs, CK_SLOT_ID best_pubkey_slot_sofar); -+static void pk11_choose_cipher_digest(int *local_cipher_nids, -+ int *local_digest_nids, CK_FUNCTION_LIST_PTR pflist, -+ CK_SLOT_ID current_slot); -+static void pk11_find_symmetric_ciphers(CK_FUNCTION_LIST_PTR pflist, -+ CK_SLOT_ID current_slot, int *current_slot_n_cipher, -+ int *local_cipher_nids); -+static void pk11_find_digests(CK_FUNCTION_LIST_PTR pflist, -+ CK_SLOT_ID current_slot, int *current_slot_n_digest, -+ int *local_digest_nids); -+static void pk11_get_symmetric_cipher(CK_FUNCTION_LIST_PTR, int slot_id, -+ int *current_slot_n_cipher, int *local_cipher_nids, -+ PK11_CIPHER *cipher); -+static void pk11_get_digest(CK_FUNCTION_LIST_PTR pflist, int slot_id, -+ int *current_slot_n_digest, int *local_digest_nids, -+ PK11_DIGEST *digest); -+ -+static int pk11_init_all_locks(void); -+static void pk11_free_all_locks(void); -+ -+#ifdef SOLARIS_HW_SLOT_SELECTION -+static int check_hw_mechanisms(void); -+static int nid_in_table(int nid, int *nid_table); -+static int hw_aes_instruction_set_present(void); -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ -+#define TRY_OBJ_DESTROY(sp, obj_hdl, retval, uselock, alg_type) \ -+ { \ -+ if (uselock) \ -+ LOCK_OBJSTORE(alg_type); \ -+ if (pk11_active_delete(obj_hdl, alg_type) == 1) \ -+ { \ -+ retval = pk11_destroy_object(sp->session, obj_hdl, \ -+ sp->persistent); \ -+ } \ -+ if (uselock) \ -+ UNLOCK_OBJSTORE(alg_type); \ -+ } -+ -+static int cipher_nids[PK11_CIPHER_MAX]; -+static int digest_nids[PK11_DIGEST_MAX]; -+static int cipher_count = 0; -+static int digest_count = 0; -+static CK_BBOOL pk11_have_rsa = CK_FALSE; -+static CK_BBOOL pk11_have_dsa = CK_FALSE; -+static CK_BBOOL pk11_have_dh = CK_FALSE; -+static CK_BBOOL pk11_have_random = CK_FALSE; -+ -+/* -+ * Static list of ciphers. -+ * Note, that ciphers array is indexed by member PK11_CIPHER.id, -+ * thus ciphers[i].id == i -+ * Rows must be kept in sync with enum pk11_cipher_id. -+ */ -+static PK11_CIPHER ciphers[] = -+ { -+ { PK11_DES_CBC, NID_des_cbc, 8, 8, 8, -+ CKK_DES, CKM_DES_CBC, }, -+ { PK11_DES3_CBC, NID_des_ede3_cbc, 8, 24, 24, -+ CKK_DES3, CKM_DES3_CBC, }, -+ { PK11_DES_ECB, NID_des_ecb, 0, 8, 8, -+ CKK_DES, CKM_DES_ECB, }, -+ { PK11_DES3_ECB, NID_des_ede3_ecb, 0, 24, 24, -+ CKK_DES3, CKM_DES3_ECB, }, -+ { PK11_RC4, NID_rc4, 0, 16, 256, -+ CKK_RC4, CKM_RC4, }, -+ { PK11_AES_128_CBC, NID_aes_128_cbc, 16, 16, 16, -+ CKK_AES, CKM_AES_CBC, }, -+ { PK11_AES_192_CBC, NID_aes_192_cbc, 16, 24, 24, -+ CKK_AES, CKM_AES_CBC, }, -+ { PK11_AES_256_CBC, NID_aes_256_cbc, 16, 32, 32, -+ CKK_AES, CKM_AES_CBC, }, -+ { PK11_AES_128_ECB, NID_aes_128_ecb, 0, 16, 16, -+ CKK_AES, CKM_AES_ECB, }, -+ { PK11_AES_192_ECB, NID_aes_192_ecb, 0, 24, 24, -+ CKK_AES, CKM_AES_ECB, }, -+ { PK11_AES_256_ECB, NID_aes_256_ecb, 0, 32, 32, -+ CKK_AES, CKM_AES_ECB, }, -+ { PK11_BLOWFISH_CBC, NID_bf_cbc, 8, 16, 16, -+ CKK_BLOWFISH, CKM_BLOWFISH_CBC, }, -+ { PK11_AES_128_CTR, NID_aes_128_ctr, 16, 16, 16, -+ CKK_AES, CKM_AES_CTR, }, -+ { PK11_AES_192_CTR, NID_aes_192_ctr, 16, 24, 24, -+ CKK_AES, CKM_AES_CTR, }, -+ { PK11_AES_256_CTR, NID_aes_256_ctr, 16, 32, 32, -+ CKK_AES, CKM_AES_CTR, }, -+ }; -+ -+/* -+ * Static list of digests. -+ * Note, that digests array is indexed by member PK11_DIGEST.id, -+ * thus digests[i].id == i -+ * Rows must be kept in sync with enum pk11_digest_id. -+ */ -+static PK11_DIGEST digests[] = -+ { -+ {PK11_MD5, NID_md5, CKM_MD5, }, -+ {PK11_SHA1, NID_sha1, CKM_SHA_1, }, -+ {PK11_SHA224, NID_sha224, CKM_SHA224, }, -+ {PK11_SHA256, NID_sha256, CKM_SHA256, }, -+ {PK11_SHA384, NID_sha384, CKM_SHA384, }, -+ {PK11_SHA512, NID_sha512, CKM_SHA512, }, -+ {0, NID_undef, 0xFFFF, }, -+ }; -+ -+/* -+ * Structure to be used for the cipher_data/md_data in -+ * EVP_CIPHER_CTX/EVP_MD_CTX structures in order to use the same pk11 -+ * session in multiple cipher_update calls -+ */ -+typedef struct PK11_CIPHER_STATE_st -+ { -+ PK11_SESSION *sp; -+ } PK11_CIPHER_STATE; -+ -+ -+/* -+ * libcrypto EVP stuff - this is how we get wired to EVP so the engine gets -+ * called when libcrypto requests a cipher NID. -+ * -+ * Note how the PK11_CIPHER_STATE is used here. -+ */ -+ -+/* DES CBC EVP */ -+static const EVP_CIPHER pk11_des_cbc = -+ { -+ NID_des_cbc, -+ 8, 8, 8, -+ EVP_CIPH_CBC_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+/* 3DES CBC EVP */ -+static const EVP_CIPHER pk11_3des_cbc = -+ { -+ NID_des_ede3_cbc, -+ 8, 24, 8, -+ EVP_CIPH_CBC_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+/* -+ * ECB modes don't use an Initial Vector so that's why set_asn1_parameters and -+ * get_asn1_parameters fields are set to NULL. -+ */ -+static const EVP_CIPHER pk11_des_ecb = -+ { -+ NID_des_ecb, -+ 8, 8, 8, -+ EVP_CIPH_ECB_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ NULL, -+ NULL, -+ NULL -+ }; -+ -+static const EVP_CIPHER pk11_3des_ecb = -+ { -+ NID_des_ede3_ecb, -+ 8, 24, 8, -+ EVP_CIPH_ECB_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ NULL, -+ NULL, -+ NULL -+ }; -+ -+ -+static const EVP_CIPHER pk11_aes_128_cbc = -+ { -+ NID_aes_128_cbc, -+ 16, 16, 16, -+ EVP_CIPH_CBC_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+static const EVP_CIPHER pk11_aes_192_cbc = -+ { -+ NID_aes_192_cbc, -+ 16, 24, 16, -+ EVP_CIPH_CBC_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+static const EVP_CIPHER pk11_aes_256_cbc = -+ { -+ NID_aes_256_cbc, -+ 16, 32, 16, -+ EVP_CIPH_CBC_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+/* -+ * ECB modes don't use IV so that's why set_asn1_parameters and -+ * get_asn1_parameters are set to NULL. -+ */ -+static const EVP_CIPHER pk11_aes_128_ecb = -+ { -+ NID_aes_128_ecb, -+ 16, 16, 0, -+ EVP_CIPH_ECB_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ NULL, -+ NULL, -+ NULL -+ }; -+ -+static const EVP_CIPHER pk11_aes_192_ecb = -+ { -+ NID_aes_192_ecb, -+ 16, 24, 0, -+ EVP_CIPH_ECB_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ NULL, -+ NULL, -+ NULL -+ }; -+ -+static const EVP_CIPHER pk11_aes_256_ecb = -+ { -+ NID_aes_256_ecb, -+ 16, 32, 0, -+ EVP_CIPH_ECB_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ NULL, -+ NULL, -+ NULL -+ }; -+ -+static EVP_CIPHER pk11_aes_128_ctr = -+ { -+ NID_aes_128_ctr, -+ 16, 16, 16, -+ EVP_CIPH_CTR_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+static EVP_CIPHER pk11_aes_192_ctr = -+ { -+ NID_aes_192_ctr, -+ 16, 24, 16, -+ EVP_CIPH_CTR_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+static EVP_CIPHER pk11_aes_256_ctr = -+ { -+ NID_aes_256_ctr, -+ 16, 32, 16, -+ EVP_CIPH_CTR_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+static const EVP_CIPHER pk11_bf_cbc = -+ { -+ NID_bf_cbc, -+ 8, 16, 8, -+ EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CBC_MODE, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ EVP_CIPHER_set_asn1_iv, -+ EVP_CIPHER_get_asn1_iv, -+ NULL -+ }; -+ -+static const EVP_CIPHER pk11_rc4 = -+ { -+ NID_rc4, -+ 1, 16, 0, -+ EVP_CIPH_VARIABLE_LENGTH, -+ pk11_cipher_init, -+ pk11_cipher_do_cipher, -+ pk11_cipher_cleanup, -+ sizeof (PK11_CIPHER_STATE), -+ NULL, -+ NULL, -+ NULL -+ }; -+ -+static const EVP_MD pk11_md5 = -+ { -+ NID_md5, -+ NID_md5WithRSAEncryption, -+ MD5_DIGEST_LENGTH, -+ 0, -+ pk11_digest_init, -+ pk11_digest_update, -+ pk11_digest_final, -+ pk11_digest_copy, -+ pk11_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ MD5_CBLOCK, -+ sizeof (PK11_CIPHER_STATE), -+ }; -+ -+static const EVP_MD pk11_sha1 = -+ { -+ NID_sha1, -+ NID_sha1WithRSAEncryption, -+ SHA_DIGEST_LENGTH, -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT, -+ pk11_digest_init, -+ pk11_digest_update, -+ pk11_digest_final, -+ pk11_digest_copy, -+ pk11_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ SHA_CBLOCK, -+ sizeof (PK11_CIPHER_STATE), -+ }; -+ -+static const EVP_MD pk11_sha224 = -+ { -+ NID_sha224, -+ NID_sha224WithRSAEncryption, -+ SHA224_DIGEST_LENGTH, -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT, -+ pk11_digest_init, -+ pk11_digest_update, -+ pk11_digest_final, -+ pk11_digest_copy, -+ pk11_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ /* SHA-224 uses the same cblock size as SHA-256 */ -+ SHA256_CBLOCK, -+ sizeof (PK11_CIPHER_STATE), -+ }; -+ -+static const EVP_MD pk11_sha256 = -+ { -+ NID_sha256, -+ NID_sha256WithRSAEncryption, -+ SHA256_DIGEST_LENGTH, -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT, -+ pk11_digest_init, -+ pk11_digest_update, -+ pk11_digest_final, -+ pk11_digest_copy, -+ pk11_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ SHA256_CBLOCK, -+ sizeof (PK11_CIPHER_STATE), -+ }; -+ -+static const EVP_MD pk11_sha384 = -+ { -+ NID_sha384, -+ NID_sha384WithRSAEncryption, -+ SHA384_DIGEST_LENGTH, -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT, -+ pk11_digest_init, -+ pk11_digest_update, -+ pk11_digest_final, -+ pk11_digest_copy, -+ pk11_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ /* SHA-384 uses the same cblock size as SHA-512 */ -+ SHA512_CBLOCK, -+ sizeof (PK11_CIPHER_STATE), -+ }; -+ -+static const EVP_MD pk11_sha512 = -+ { -+ NID_sha512, -+ NID_sha512WithRSAEncryption, -+ SHA512_DIGEST_LENGTH, -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT, -+ pk11_digest_init, -+ pk11_digest_update, -+ pk11_digest_final, -+ pk11_digest_copy, -+ pk11_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ SHA512_CBLOCK, -+ sizeof (PK11_CIPHER_STATE), -+ }; -+ -+/* -+ * Initialization function. Sets up various PKCS#11 library components. -+ * The definitions for control commands specific to this engine -+ */ -+#define PK11_CMD_SO_PATH ENGINE_CMD_BASE -+static const ENGINE_CMD_DEFN pk11_cmd_defns[] = -+ { -+ { -+ PK11_CMD_SO_PATH, -+ "SO_PATH", -+ "Specifies the path to the 'pkcs#11' shared library", -+ ENGINE_CMD_FLAG_STRING -+ }, -+ {0, NULL, NULL, 0} -+ }; -+ -+ -+static RAND_METHOD pk11_random = -+ { -+ pk11_rand_seed, -+ pk11_rand_bytes, -+ pk11_rand_cleanup, -+ pk11_rand_add, -+ pk11_rand_bytes, -+ pk11_rand_status -+ }; -+ -+ -+/* Constants used when creating the ENGINE */ -+static const char *engine_pk11_id = "pkcs11"; -+static const char *engine_pk11_name = "PKCS #11 engine support"; -+ -+CK_FUNCTION_LIST_PTR pFuncList = NULL; -+static const char PK11_GET_FUNCTION_LIST[] = "C_GetFunctionList"; -+ -+/* -+ * This is a static string constant for the DSO file name and the function -+ * symbol names to bind to. We set it in the Configure script based on whether -+ * this is 32 or 64 bit build. -+ */ -+static const char def_PK11_LIBNAME[] = PK11_LIB_LOCATION; -+ -+/* Needed in e_pk11_pub.c as well so that's why it is not static. */ -+CK_SLOT_ID pubkey_SLOTID = 0; -+static CK_SLOT_ID rand_SLOTID = 0; -+static CK_SLOT_ID SLOTID = 0; -+static CK_BBOOL pk11_library_initialized = CK_FALSE; -+static CK_BBOOL pk11_atfork_initialized = CK_FALSE; -+static int pk11_pid = 0; -+static ENGINE* pk11_engine = NULL; -+ -+static DSO *pk11_dso = NULL; -+ -+/* allocate and initialize all locks used by the engine itself */ -+static int pk11_init_all_locks(void) -+ { -+ int type; -+ -+#ifndef OPENSSL_NO_RSA -+ find_lock[OP_RSA] = OPENSSL_malloc(sizeof (pthread_mutex_t)); -+ if (find_lock[OP_RSA] == NULL) -+ goto malloc_err; -+ (void) pthread_mutex_init(find_lock[OP_RSA], NULL); -+#endif /* OPENSSL_NO_RSA */ -+ -+ if ((uri_lock = OPENSSL_malloc(sizeof (pthread_mutex_t))) == NULL) -+ goto malloc_err; -+ (void) pthread_mutex_init(uri_lock, NULL); -+ -+#ifndef OPENSSL_NO_DSA -+ find_lock[OP_DSA] = OPENSSL_malloc(sizeof (pthread_mutex_t)); -+ if (find_lock[OP_DSA] == NULL) -+ goto malloc_err; -+ (void) pthread_mutex_init(find_lock[OP_DSA], NULL); -+#endif /* OPENSSL_NO_DSA */ -+ -+#ifndef OPENSSL_NO_DH -+ find_lock[OP_DH] = OPENSSL_malloc(sizeof (pthread_mutex_t)); -+ if (find_lock[OP_DH] == NULL) -+ goto malloc_err; -+ (void) pthread_mutex_init(find_lock[OP_DH], NULL); -+#endif /* OPENSSL_NO_DH */ -+ -+ for (type = 0; type < OP_MAX; type++) -+ { -+ session_cache[type].lock = -+ OPENSSL_malloc(sizeof (pthread_mutex_t)); -+ if (session_cache[type].lock == NULL) -+ goto malloc_err; -+ (void) pthread_mutex_init(session_cache[type].lock, NULL); -+ } -+ -+ return (1); -+ -+malloc_err: -+ pk11_free_all_locks(); -+ PK11err(PK11_F_INIT_ALL_LOCKS, PK11_R_MALLOC_FAILURE); -+ return (0); -+ } -+ -+static void pk11_free_all_locks(void) -+ { -+ int type; -+ -+#ifndef OPENSSL_NO_RSA -+ if (find_lock[OP_RSA] != NULL) -+ { -+ (void) pthread_mutex_destroy(find_lock[OP_RSA]); -+ OPENSSL_free(find_lock[OP_RSA]); -+ find_lock[OP_RSA] = NULL; -+ } -+#endif /* OPENSSL_NO_RSA */ -+#ifndef OPENSSL_NO_DSA -+ if (find_lock[OP_DSA] != NULL) -+ { -+ (void) pthread_mutex_destroy(find_lock[OP_DSA]); -+ OPENSSL_free(find_lock[OP_DSA]); -+ find_lock[OP_DSA] = NULL; -+ } -+#endif /* OPENSSL_NO_DSA */ -+#ifndef OPENSSL_NO_DH -+ if (find_lock[OP_DH] != NULL) -+ { -+ (void) pthread_mutex_destroy(find_lock[OP_DH]); -+ OPENSSL_free(find_lock[OP_DH]); -+ find_lock[OP_DH] = NULL; -+ } -+#endif /* OPENSSL_NO_DH */ -+ -+ for (type = 0; type < OP_MAX; type++) -+ { -+ if (session_cache[type].lock != NULL) -+ { -+ (void) pthread_mutex_destroy(session_cache[type].lock); -+ OPENSSL_free(session_cache[type].lock); -+ session_cache[type].lock = NULL; -+ } -+ } -+ /* Free uri_lock */ -+ (void) pthread_mutex_destroy(uri_lock); -+ OPENSSL_free(uri_lock); -+ uri_lock = NULL; -+ } -+ -+/* -+ * This internal function is used by ENGINE_pk11() and "dynamic" ENGINE support. -+ */ -+static int bind_pk11(ENGINE *e) -+ { -+#ifndef OPENSSL_NO_RSA -+ const RSA_METHOD *rsa = NULL; -+ RSA_METHOD *pk11_rsa = PK11_RSA(); -+#endif /* OPENSSL_NO_RSA */ -+ if (!pk11_library_initialized) -+ if (!pk11_library_init(e)) -+ return (0); -+ -+ if (!ENGINE_set_id(e, engine_pk11_id) || -+ !ENGINE_set_name(e, engine_pk11_name) || -+ !ENGINE_set_ciphers(e, pk11_engine_ciphers) || -+ !ENGINE_set_digests(e, pk11_engine_digests)) -+ return (0); -+ -+ if (!ENGINE_set_pkey_meths(e, pk11_engine_pkey_methods)) -+ return (0); -+ -+#ifndef OPENSSL_NO_RSA -+ if (pk11_have_rsa == CK_TRUE) -+ { -+ if (!ENGINE_set_RSA(e, PK11_RSA()) || -+ !ENGINE_set_load_privkey_function(e, pk11_load_privkey) || -+ !ENGINE_set_load_pubkey_function(e, pk11_load_pubkey)) -+ return (0); -+ DEBUG_SLOT_SEL("%s: registered RSA\n", PK11_DBG); -+ } -+#endif /* OPENSSL_NO_RSA */ -+#ifndef OPENSSL_NO_DSA -+ if (pk11_have_dsa == CK_TRUE) -+ { -+ if (!ENGINE_set_DSA(e, PK11_DSA())) -+ return (0); -+ DEBUG_SLOT_SEL("%s: registered DSA\n", PK11_DBG); -+ } -+#endif /* OPENSSL_NO_DSA */ -+#ifndef OPENSSL_NO_DH -+ if (pk11_have_dh == CK_TRUE) -+ { -+ if (!ENGINE_set_DH(e, PK11_DH())) -+ return (0); -+ DEBUG_SLOT_SEL("%s: registered DH\n", PK11_DBG); -+ } -+#endif /* OPENSSL_NO_DH */ -+ if (pk11_have_random) -+ { -+ if (!ENGINE_set_RAND(e, &pk11_random)) -+ return (0); -+ DEBUG_SLOT_SEL("%s: registered random\n", PK11_DBG); -+ } -+ if (!ENGINE_set_init_function(e, pk11_init) || -+ !ENGINE_set_destroy_function(e, pk11_destroy) || -+ !ENGINE_set_finish_function(e, pk11_finish) || -+ !ENGINE_set_ctrl_function(e, pk11_ctrl) || -+ !ENGINE_set_cmd_defns(e, pk11_cmd_defns)) -+ return (0); -+ -+/* -+ * Apache calls OpenSSL function RSA_blinding_on() once during startup -+ * which in turn calls bn_mod_exp. Since we do not implement bn_mod_exp -+ * here, we wire it back to the OpenSSL software implementation. -+ * Since it is used only once, performance is not a concern. -+ */ -+#ifndef OPENSSL_NO_RSA -+ rsa = RSA_PKCS1_SSLeay(); -+ pk11_rsa->rsa_mod_exp = rsa->rsa_mod_exp; -+ pk11_rsa->bn_mod_exp = rsa->bn_mod_exp; -+#endif /* OPENSSL_NO_RSA */ -+ -+ /* Ensure the pk11 error handling is set up */ -+ ERR_load_pk11_strings(); -+ -+ return (1); -+ } -+ -+static int bind_helper(ENGINE *e, const char *id) -+ { -+ if (id && (strcmp(id, engine_pk11_id) != 0)) -+ return (0); -+ -+ if (!bind_pk11(e)) -+ return (0); -+ -+ return (1); -+ } -+ -+IMPLEMENT_DYNAMIC_CHECK_FN() -+IMPLEMENT_DYNAMIC_BIND_FN(bind_helper) -+ -+/* -+ * These are the static string constants for the DSO file name and -+ * the function symbol names to bind to. -+ */ -+static const char *PK11_LIBNAME = NULL; -+ -+static const char *get_PK11_LIBNAME(void) -+ { -+ if (PK11_LIBNAME) -+ return (PK11_LIBNAME); -+ -+ return (def_PK11_LIBNAME); -+ } -+ -+static void free_PK11_LIBNAME(void) -+ { -+ if (PK11_LIBNAME) -+ OPENSSL_free((void*)PK11_LIBNAME); -+ -+ PK11_LIBNAME = NULL; -+ } -+ -+static long set_PK11_LIBNAME(const char *name) -+ { -+ free_PK11_LIBNAME(); -+ -+ return ((PK11_LIBNAME = BUF_strdup(name)) != NULL ? 1 : 0); -+ } -+ -+/* acquire all engine specific mutexes before fork */ -+static void pk11_fork_prepare(void) -+ { -+ int i; -+ -+ if (!pk11_library_initialized) -+ return; -+ -+ LOCK_OBJSTORE(OP_RSA); -+ LOCK_OBJSTORE(OP_DSA); -+ LOCK_OBJSTORE(OP_DH); -+ (void) pthread_mutex_lock(uri_lock); -+ for (i = 0; i < OP_MAX; i++) -+ { -+ (void) pthread_mutex_lock(session_cache[i].lock); -+ } -+ } -+ -+/* release all engine specific mutexes */ -+static void pk11_fork_parent(void) -+ { -+ int i; -+ -+ if (!pk11_library_initialized) -+ return; -+ -+ for (i = OP_MAX - 1; i >= 0; i--) -+ { -+ (void) pthread_mutex_unlock(session_cache[i].lock); -+ } -+ UNLOCK_OBJSTORE(OP_DH); -+ UNLOCK_OBJSTORE(OP_DSA); -+ UNLOCK_OBJSTORE(OP_RSA); -+ (void) pthread_mutex_unlock(uri_lock); -+ } -+ -+/* -+ * same situation as in parent - we need to unlock all locks to make them -+ * accessible to all threads. -+ */ -+static void pk11_fork_child(void) -+ { -+ int i; -+ -+ if (!pk11_library_initialized) -+ return; -+ -+ /* invalidate the global session */ -+ global_session = CK_INVALID_HANDLE; -+ -+ for (i = OP_MAX - 1; i >= 0; i--) -+ { -+ (void) pthread_mutex_unlock(session_cache[i].lock); -+ } -+ UNLOCK_OBJSTORE(OP_DH); -+ UNLOCK_OBJSTORE(OP_DSA); -+ UNLOCK_OBJSTORE(OP_RSA); -+ (void) pthread_mutex_unlock(uri_lock); -+ } -+ -+/* Initialization function for the pk11 engine */ -+static int pk11_init(ENGINE *e) -+ { -+ return (pk11_library_init(e)); -+ } -+ -+/* -+ * Helper function that unsets reference to current engine (pk11_engine = NULL). -+ * -+ * Use of local variable only seems clumsy, it needs to be this way! -+ * This is to prevent double free in the unlucky scenario: -+ * ENGINE_free calls pk11_destroy calls pk11_finish calls ENGINE_free -+ * Setting pk11_engine to NULL prior to ENGINE_free() avoids this. -+ */ -+static void pk11_engine_free() -+ { -+ ENGINE* old_engine = pk11_engine; -+ -+ if (old_engine) -+ { -+ pk11_engine = NULL; -+ } -+ } -+ -+/* -+ * Initialization function. Sets up various PKCS#11 library components. -+ * It selects a slot based on predefined critiera. In the process, it also -+ * count how many ciphers and digests to support. Since the cipher and -+ * digest information is needed when setting default engine, this function -+ * needs to be called before calling ENGINE_set_default. -+ */ -+/* ARGSUSED */ -+static int pk11_library_init(ENGINE *e) -+ { -+ CK_C_GetFunctionList p; -+ CK_RV rv = CKR_OK; -+ CK_INFO info; -+ CK_ULONG ul_state_len; -+ int any_slot_found; -+ int i; -+ -+ if (e != pk11_engine) -+ { -+ pk11_engine_free(); -+ pk11_engine = e; -+ } -+ -+ /* -+ * pk11_library_initialized is set to 0 in pk11_finish() which is called -+ * from ENGINE_finish(). However, if there is still at least one -+ * existing functional reference to the engine (see engine(3) for more -+ * information), pk11_finish() is skipped. For example, this can happen -+ * if an application forgets to clear one cipher context. In case of a -+ * fork() when the application is finishing the engine so that it can be -+ * reinitialized in the child, forgotten functional reference causes -+ * pk11_library_initialized to stay 1. In that case we need the PID -+ * check so that we properly initialize the engine again. -+ */ -+ if (pk11_library_initialized) -+ { -+ if (pk11_pid == getpid()) -+ { -+ return (1); -+ } -+ else -+ { -+ global_session = CK_INVALID_HANDLE; -+ /* -+ * free the locks first to prevent memory leak in case -+ * the application calls fork() without finishing the -+ * engine first. -+ */ -+ pk11_free_all_locks(); -+ } -+ } -+ -+ -+ /* -+ * If initialization of the locks fails pk11_init_all_locks() -+ * will do the cleanup. -+ */ -+ if (!pk11_init_all_locks()) -+ goto err; -+ for (i = 0; i < OP_MAX; i++) -+ session_cache[i].head = NULL; -+ /* -+ * Initialize active lists. We only use active lists -+ * for asymmetric ciphers. -+ */ -+ for (i = 0; i < OP_MAX; i++) -+ active_list[i] = NULL; -+ -+ /* Attempt to load PKCS#11 library. */ -+ if (!pk11_dso) -+ { -+ pk11_dso = DSO_load(NULL, get_PK11_LIBNAME(), NULL, 0); -+ if (pk11_dso == NULL) -+ { -+ PK11err(PK11_F_LOAD, PK11_R_DSO_FAILURE); -+ goto err; -+ } -+ } -+ -+#ifdef SOLARIS_HW_SLOT_SELECTION -+ if (check_hw_mechanisms() == 0) -+ goto err; -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ -+ /* get the C_GetFunctionList function from the loaded library */ -+ p = (CK_C_GetFunctionList)DSO_bind_func(pk11_dso, -+ PK11_GET_FUNCTION_LIST); -+ if (!p) -+ { -+ PK11err(PK11_F_LIBRARY_INIT, PK11_R_DSO_FAILURE); -+ goto err; -+ } -+ -+ /* get the full function list from the loaded library */ -+ rv = p(&pFuncList); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_LIBRARY_INIT, PK11_R_DSO_FAILURE, rv); -+ goto err; -+ } -+ -+ rv = pFuncList->C_Initialize(NULL_PTR); -+ if ((rv != CKR_OK) && (rv != CKR_CRYPTOKI_ALREADY_INITIALIZED)) -+ { -+ PK11err_add_data(PK11_F_LIBRARY_INIT, PK11_R_INITIALIZE, rv); -+ goto err; -+ } -+ -+ rv = pFuncList->C_GetInfo(&info); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_LIBRARY_INIT, PK11_R_GETINFO, rv); -+ goto err; -+ } -+ -+ if (pk11_choose_slots(&any_slot_found) == 0) -+ goto err; -+ -+ /* -+ * The library we use, set in def_PK11_LIBNAME, may not offer any -+ * slot(s). In that case, we must not proceed but we must not return an -+ * error. The reason is that applications that try to set up the PKCS#11 -+ * engine don't exit on error during the engine initialization just -+ * because no slot was present. -+ */ -+ if (any_slot_found == 0) -+ return (1); -+ -+ if (global_session == CK_INVALID_HANDLE) -+ { -+ /* Open the global_session for the new process */ -+ rv = pFuncList->C_OpenSession(SLOTID, CKF_SERIAL_SESSION, -+ NULL_PTR, NULL_PTR, &global_session); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_LIBRARY_INIT, -+ PK11_R_OPENSESSION, rv); -+ goto err; -+ } -+ } -+ -+ /* -+ * Disable digest if C_GetOperationState is not supported since -+ * this function is required by OpenSSL digest copy function -+ */ -+ if (pFuncList->C_GetOperationState(global_session, NULL, &ul_state_len) -+ == CKR_FUNCTION_NOT_SUPPORTED) -+ { -+ DEBUG_SLOT_SEL("%s: C_GetOperationState() not supported, " -+ "setting digest_count to 0\n", PK11_DBG); -+ digest_count = 0; -+ } -+ -+ pk11_library_initialized = CK_TRUE; -+ pk11_pid = getpid(); -+ -+ if (!pk11_atfork_initialized) -+ { -+ if (pthread_atfork(pk11_fork_prepare, pk11_fork_parent, -+ pk11_fork_child) != 0) -+ { -+ PK11err(PK11_F_LIBRARY_INIT, PK11_R_ATFORK_FAILED); -+ goto err; -+ } -+ pk11_atfork_initialized = CK_TRUE; -+ } -+ -+ return (1); -+ -+err: -+ return (0); -+ } -+ -+/* Destructor (complements the "ENGINE_pk11()" constructor) */ -+/* ARGSUSED */ -+static int pk11_destroy(ENGINE *e) -+ { -+ int rtn = 1; -+ -+ free_PK11_LIBNAME(); -+ ERR_unload_pk11_strings(); -+ if (pk11_library_initialized == CK_TRUE) -+ rtn = pk11_finish(e); -+ -+ return (rtn); -+ } -+ -+/* -+ * Termination function to clean up the session, the token, and the pk11 -+ * library. -+ */ -+/* ARGSUSED */ -+static int pk11_finish(ENGINE *e) -+ { -+ int i; -+ -+ /* -+ * Make sure, right engine instance is being destroyed. -+ * Engine e may be the wrong instance if -+ * 1) either someone calls ENGINE_load_pk11 twice -+ * 2) or last ref. to an already finished engine is being destroyed -+ */ -+ if (e != pk11_engine) -+ goto err; -+ -+ if (pk11_dso == NULL) -+ { -+ PK11err(PK11_F_FINISH, PK11_R_NOT_LOADED); -+ goto err; -+ } -+ -+ OPENSSL_assert(pFuncList != NULL); -+ -+ if (pk11_free_all_sessions() == 0) -+ goto err; -+ -+ /* free all active lists */ -+ for (i = 0; i < OP_MAX; i++) -+ pk11_free_active_list(i); -+ -+ /* Global session is not present when there are no slots. */ -+ if (global_session != CK_INVALID_HANDLE) -+ { -+ pFuncList->C_CloseSession(global_session); -+ global_session = CK_INVALID_HANDLE; -+ } -+ -+ /* -+ * Since we are part of a library (libcrypto.so), calling this function -+ * may have side-effects. -+ */ -+#if 0 -+ pFuncList->C_Finalize(NULL); -+#endif -+ if (!DSO_free(pk11_dso)) -+ { -+ PK11err(PK11_F_FINISH, PK11_R_DSO_FAILURE); -+ goto err; -+ } -+ pk11_dso = NULL; -+ pFuncList = NULL; -+ pk11_library_initialized = CK_FALSE; -+ pk11_pid = 0; -+ pk11_engine_free(); -+ /* -+ * There is no way how to unregister atfork handlers (other than -+ * unloading the library) so we just free the locks. For this reason -+ * the atfork handlers check if the engine is initialized and bail out -+ * immediately if not. This is necessary in case a process finishes -+ * the engine before calling fork(). -+ */ -+ pk11_free_all_locks(); -+ -+ return (1); -+ -+err: -+ return (0); -+ } -+ -+/* Standard engine interface function to set the dynamic library path */ -+/* ARGSUSED */ -+static int pk11_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)()) -+ { -+ int initialized = ((pk11_dso == NULL) ? 0 : 1); -+ -+ switch (cmd) -+ { -+ case PK11_CMD_SO_PATH: -+ if (p == NULL) -+ { -+ PK11err(PK11_F_CTRL, ERR_R_PASSED_NULL_PARAMETER); -+ return (0); -+ } -+ -+ if (initialized) -+ { -+ PK11err(PK11_F_CTRL, PK11_R_ALREADY_LOADED); -+ return (0); -+ } -+ -+ return (set_PK11_LIBNAME((const char *)p)); -+ default: -+ break; -+ } -+ -+ PK11err(PK11_F_CTRL, PK11_R_CTRL_COMMAND_NOT_IMPLEMENTED); -+ -+ return (0); -+ } -+ -+ -+/* Required function by the engine random interface. It does nothing here */ -+static void pk11_rand_cleanup(void) -+ { -+ return; -+ } -+ -+/* ARGSUSED */ -+static void pk11_rand_add(const void *buf, int num, double add) -+ { -+ PK11_SESSION *sp; -+ -+ if ((sp = pk11_get_session(OP_RAND)) == NULL) -+ return; -+ -+ /* -+ * Ignore any errors (e.g. CKR_RANDOM_SEED_NOT_SUPPORTED) since -+ * the calling functions do not care anyway -+ */ -+ pFuncList->C_SeedRandom(sp->session, (unsigned char *) buf, num); -+ pk11_return_session(sp, OP_RAND); -+ -+ return; -+ } -+ -+static void pk11_rand_seed(const void *buf, int num) -+ { -+ pk11_rand_add(buf, num, 0); -+ } -+ -+static int pk11_rand_bytes(unsigned char *buf, int num) -+ { -+ CK_RV rv; -+ PK11_SESSION *sp; -+ -+ if ((sp = pk11_get_session(OP_RAND)) == NULL) -+ return (0); -+ -+ rv = pFuncList->C_GenerateRandom(sp->session, buf, num); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_RAND_BYTES, PK11_R_GENERATERANDOM, rv); -+ pk11_return_session(sp, OP_RAND); -+ return (0); -+ } -+ -+ pk11_return_session(sp, OP_RAND); -+ return (1); -+ } -+ -+/* Required function by the engine random interface. It does nothing here */ -+static int pk11_rand_status(void) -+ { -+ return (1); -+ } -+ -+/* Free all BIGNUM structures from PK11_SESSION. */ -+static void pk11_free_nums(PK11_SESSION *sp, PK11_OPTYPE optype) -+ { -+ switch (optype) -+ { -+#ifndef OPENSSL_NO_RSA -+ case OP_RSA: -+ if (sp->opdata_rsa_n_num != NULL) -+ { -+ BN_free(sp->opdata_rsa_n_num); -+ sp->opdata_rsa_n_num = NULL; -+ } -+ if (sp->opdata_rsa_e_num != NULL) -+ { -+ BN_free(sp->opdata_rsa_e_num); -+ sp->opdata_rsa_e_num = NULL; -+ } -+ if (sp->opdata_rsa_d_num != NULL) -+ { -+ BN_free(sp->opdata_rsa_d_num); -+ sp->opdata_rsa_d_num = NULL; -+ } -+ break; -+#endif -+#ifndef OPENSSL_NO_DSA -+ case OP_DSA: -+ if (sp->opdata_dsa_pub_num != NULL) -+ { -+ BN_free(sp->opdata_dsa_pub_num); -+ sp->opdata_dsa_pub_num = NULL; -+ } -+ if (sp->opdata_dsa_priv_num != NULL) -+ { -+ BN_free(sp->opdata_dsa_priv_num); -+ sp->opdata_dsa_priv_num = NULL; -+ } -+ break; -+#endif -+#ifndef OPENSSL_NO_DH -+ case OP_DH: -+ if (sp->opdata_dh_priv_num != NULL) -+ { -+ BN_free(sp->opdata_dh_priv_num); -+ sp->opdata_dh_priv_num = NULL; -+ } -+ break; -+#endif -+ default: -+ break; -+ } -+ } -+ -+/* -+ * Get new PK11_SESSION structure ready for use. Every process must have -+ * its own freelist of PK11_SESSION structures so handle fork() here -+ * by destroying the old and creating new freelist. -+ * The returned PK11_SESSION structure is disconnected from the freelist. -+ */ -+PK11_SESSION * -+pk11_get_session(PK11_OPTYPE optype) -+ { -+ PK11_SESSION *sp = NULL, *sp1, *freelist; -+ pthread_mutex_t *freelist_lock; -+ static pid_t pid = 0; -+ pid_t new_pid; -+ CK_RV rv; -+ -+ switch (optype) -+ { -+ case OP_RSA: -+ case OP_DSA: -+ case OP_DH: -+ case OP_RAND: -+ case OP_DIGEST: -+ case OP_CIPHER: -+ freelist_lock = session_cache[optype].lock; -+ break; -+ default: -+ PK11err(PK11_F_GET_SESSION, -+ PK11_R_INVALID_OPERATION_TYPE); -+ return (NULL); -+ } -+ (void) pthread_mutex_lock(freelist_lock); -+ -+ /* -+ * Will use it to find out if we forked. We cannot use the PID field in -+ * the session structure because we could get a newly allocated session -+ * here, with no PID information. -+ */ -+ if (pid == 0) -+ pid = getpid(); -+ -+ freelist = session_cache[optype].head; -+ sp = freelist; -+ -+ /* -+ * If the free list is empty, allocate new uninitialized (filled -+ * with zeroes) PK11_SESSION structure otherwise return first -+ * structure from the freelist. -+ */ -+ if (sp == NULL) -+ { -+ if ((sp = OPENSSL_malloc(sizeof (PK11_SESSION))) == NULL) -+ { -+ PK11err(PK11_F_GET_SESSION, -+ PK11_R_MALLOC_FAILURE); -+ goto err; -+ } -+ (void) memset(sp, 0, sizeof (PK11_SESSION)); -+ -+ /* -+ * It is a new session so it will look like a cache miss to the -+ * code below. So, we must not try to to destroy its members so -+ * mark them as unused. -+ */ -+ sp->opdata_rsa_priv_key = CK_INVALID_HANDLE; -+ sp->opdata_rsa_pub_key = CK_INVALID_HANDLE; -+ } -+ else -+ freelist = sp->next; -+ -+ /* -+ * Check whether we have forked. In that case, we must get rid of all -+ * inherited sessions and start allocating new ones. -+ */ -+ if (pid != (new_pid = getpid())) -+ { -+ pid = new_pid; -+ -+ /* -+ * We are a new process and thus need to free any inherited -+ * PK11_SESSION objects aside from the first session (sp) which -+ * is the only PK11_SESSION structure we will reuse (for the -+ * head of the list). -+ */ -+ while ((sp1 = freelist) != NULL) -+ { -+ freelist = sp1->next; -+ /* -+ * NOTE: we do not want to call pk11_free_all_sessions() -+ * here because it would close underlying PKCS#11 -+ * sessions and destroy all objects. -+ */ -+ pk11_free_nums(sp1, optype); -+ OPENSSL_free(sp1); -+ } -+ -+ /* we have to free the active list as well. */ -+ pk11_free_active_list(optype); -+ -+ /* Initialize the process */ -+ rv = pFuncList->C_Initialize(NULL_PTR); -+ if ((rv != CKR_OK) && (rv != CKR_CRYPTOKI_ALREADY_INITIALIZED)) -+ { -+ PK11err_add_data(PK11_F_GET_SESSION, PK11_R_INITIALIZE, -+ rv); -+ OPENSSL_free(sp); -+ sp = NULL; -+ goto err; -+ } -+ -+ /* -+ * Choose slot here since the slot table is different on this -+ * process. If we are here then we must have found at least one -+ * usable slot before so we don't need to check any_slot_found. -+ * See pk11_library_init()'s usage of this function for more -+ * information. -+ */ -+#ifdef SOLARIS_HW_SLOT_SELECTION -+ if (check_hw_mechanisms() == 0) -+ goto err; -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ if (pk11_choose_slots(NULL) == 0) -+ goto err; -+ -+ /* Open the global_session for the new process */ -+ rv = pFuncList->C_OpenSession(SLOTID, CKF_SERIAL_SESSION, -+ NULL_PTR, NULL_PTR, &global_session); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_GET_SESSION, PK11_R_OPENSESSION, -+ rv); -+ OPENSSL_free(sp); -+ sp = NULL; -+ goto err; -+ } -+ -+ /* -+ * It is an inherited session from our parent so it needs -+ * re-initialization. -+ */ -+ if (pk11_setup_session(sp, optype) == 0) -+ { -+ OPENSSL_free(sp); -+ sp = NULL; -+ goto err; -+ } -+ if (pk11_token_relogin(sp->session) == 0) -+ { -+ /* -+ * We will keep the session in the cache list and let -+ * the caller cope with the situation. -+ */ -+ freelist = sp; -+ sp = NULL; -+ goto err; -+ } -+ } -+ -+ if (sp->pid == 0) -+ { -+ /* It is a new session and needs initialization. */ -+ if (pk11_setup_session(sp, optype) == 0) -+ { -+ OPENSSL_free(sp); -+ sp = NULL; -+ } -+ } -+ -+ /* set new head for the list of PK11_SESSION objects */ -+ session_cache[optype].head = freelist; -+ -+err: -+ if (sp != NULL) -+ sp->next = NULL; -+ -+ (void) pthread_mutex_unlock(freelist_lock); -+ -+ return (sp); -+ } -+ -+ -+void -+pk11_return_session(PK11_SESSION *sp, PK11_OPTYPE optype) -+ { -+ pthread_mutex_t *freelist_lock; -+ PK11_SESSION *freelist; -+ -+ /* -+ * If this is a session from the parent it will be taken care of and -+ * freed in pk11_get_session() as part of the post-fork clean up the -+ * next time we will ask for a new session. -+ */ -+ if (sp == NULL || sp->pid != getpid()) -+ return; -+ -+ switch (optype) -+ { -+ case OP_RSA: -+ case OP_DSA: -+ case OP_DH: -+ case OP_RAND: -+ case OP_DIGEST: -+ case OP_CIPHER: -+ freelist_lock = session_cache[optype].lock; -+ break; -+ default: -+ PK11err(PK11_F_RETURN_SESSION, -+ PK11_R_INVALID_OPERATION_TYPE); -+ return; -+ } -+ -+ (void) pthread_mutex_lock(freelist_lock); -+ freelist = session_cache[optype].head; -+ sp->next = freelist; -+ session_cache[optype].head = sp; -+ (void) pthread_mutex_unlock(freelist_lock); -+ } -+ -+ -+/* Destroy all objects. This function is called when the engine is finished */ -+static int pk11_free_all_sessions() -+ { -+ int ret = 1; -+ int type; -+ -+#ifndef OPENSSL_NO_RSA -+ (void) pk11_destroy_rsa_key_objects(NULL); -+#endif /* OPENSSL_NO_RSA */ -+#ifndef OPENSSL_NO_DSA -+ (void) pk11_destroy_dsa_key_objects(NULL); -+#endif /* OPENSSL_NO_DSA */ -+#ifndef OPENSSL_NO_DH -+ (void) pk11_destroy_dh_key_objects(NULL); -+#endif /* OPENSSL_NO_DH */ -+ (void) pk11_destroy_cipher_key_objects(NULL); -+ -+ /* -+ * We try to release as much as we can but any error means that we will -+ * return 0 on exit. -+ */ -+ for (type = 0; type < OP_MAX; type++) -+ { -+ if (pk11_free_session_list(type) == 0) -+ ret = 0; -+ } -+ -+ return (ret); -+ } -+ -+/* -+ * Destroy session structures from the linked list specified. Free as many -+ * sessions as possible but any failure in C_CloseSession() means that we -+ * return an error on return. -+ */ -+static int pk11_free_session_list(PK11_OPTYPE optype) -+ { -+ CK_RV rv; -+ PK11_SESSION *sp = NULL; -+ PK11_SESSION *freelist = NULL; -+ pid_t mypid = getpid(); -+ pthread_mutex_t *freelist_lock; -+ int ret = 1; -+ -+ switch (optype) -+ { -+ case OP_RSA: -+ case OP_DSA: -+ case OP_DH: -+ case OP_RAND: -+ case OP_DIGEST: -+ case OP_CIPHER: -+ freelist_lock = session_cache[optype].lock; -+ break; -+ default: -+ PK11err(PK11_F_FREE_ALL_SESSIONS, -+ PK11_R_INVALID_OPERATION_TYPE); -+ return (0); -+ } -+ -+ (void) pthread_mutex_lock(freelist_lock); -+ freelist = session_cache[optype].head; -+ while ((sp = freelist) != NULL) -+ { -+ if (sp->session != CK_INVALID_HANDLE && sp->pid == mypid) -+ { -+ rv = pFuncList->C_CloseSession(sp->session); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_FREE_ALL_SESSIONS, -+ PK11_R_CLOSESESSION, rv); -+ ret = 0; -+ } -+ } -+ freelist = sp->next; -+ pk11_free_nums(sp, optype); -+ OPENSSL_free(sp); -+ } -+ -+ (void) pthread_mutex_unlock(freelist_lock); -+ return (ret); -+ } -+ -+ -+static int -+pk11_setup_session(PK11_SESSION *sp, PK11_OPTYPE optype) -+ { -+ CK_RV rv; -+ CK_SLOT_ID myslot; -+ -+ switch (optype) -+ { -+ case OP_RSA: -+ case OP_DSA: -+ case OP_DH: -+ myslot = pubkey_SLOTID; -+ break; -+ case OP_RAND: -+ myslot = rand_SLOTID; -+ break; -+ case OP_DIGEST: -+ case OP_CIPHER: -+ myslot = SLOTID; -+ break; -+ default: -+ PK11err(PK11_F_SETUP_SESSION, -+ PK11_R_INVALID_OPERATION_TYPE); -+ return (0); -+ } -+ -+ sp->session = CK_INVALID_HANDLE; -+ DEBUG_SLOT_SEL("%s: myslot=%d optype=%d\n", PK11_DBG, myslot, optype); -+ rv = pFuncList->C_OpenSession(myslot, CKF_SERIAL_SESSION, -+ NULL_PTR, NULL_PTR, &sp->session); -+ if (rv == CKR_CRYPTOKI_NOT_INITIALIZED) -+ { -+ /* -+ * We are probably a child process so force the -+ * reinitialize of the session -+ */ -+ pk11_library_initialized = CK_FALSE; -+ if (!pk11_library_init(NULL)) -+ return (0); -+ rv = pFuncList->C_OpenSession(myslot, CKF_SERIAL_SESSION, -+ NULL_PTR, NULL_PTR, &sp->session); -+ } -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_SETUP_SESSION, PK11_R_OPENSESSION, rv); -+ return (0); -+ } -+ -+ sp->pid = getpid(); -+ -+ switch (optype) -+ { -+#ifndef OPENSSL_NO_RSA -+ case OP_RSA: -+ sp->opdata_rsa_pub_key = CK_INVALID_HANDLE; -+ sp->opdata_rsa_priv_key = CK_INVALID_HANDLE; -+ sp->opdata_rsa_pub = NULL; -+ sp->opdata_rsa_n_num = NULL; -+ sp->opdata_rsa_e_num = NULL; -+ sp->opdata_rsa_priv = NULL; -+ sp->opdata_rsa_d_num = NULL; -+ break; -+#endif /* OPENSSL_NO_RSA */ -+#ifndef OPENSSL_NO_DSA -+ case OP_DSA: -+ sp->opdata_dsa_pub_key = CK_INVALID_HANDLE; -+ sp->opdata_dsa_priv_key = CK_INVALID_HANDLE; -+ sp->opdata_dsa_pub = NULL; -+ sp->opdata_dsa_pub_num = NULL; -+ sp->opdata_dsa_priv = NULL; -+ sp->opdata_dsa_priv_num = NULL; -+ break; -+#endif /* OPENSSL_NO_DSA */ -+#ifndef OPENSSL_NO_DH -+ case OP_DH: -+ sp->opdata_dh_key = CK_INVALID_HANDLE; -+ sp->opdata_dh = NULL; -+ sp->opdata_dh_priv_num = NULL; -+ break; -+#endif /* OPENSSL_NO_DH */ -+ case OP_CIPHER: -+ sp->opdata_cipher_key = CK_INVALID_HANDLE; -+ sp->opdata_encrypt = -1; -+ break; -+ } -+ -+ /* -+ * We always initialize the session as containing a non-persistent -+ * object. The key load functions set it to persistent if that is so. -+ */ -+ sp->persistent = CK_FALSE; -+ return (1); -+ } -+ -+#ifndef OPENSSL_NO_RSA -+/* -+ * Destroy all non-NULL RSA parameters. For the RSA keys by reference code, -+ * public components 'n'/'e' are the key components we use to check for the -+ * cache hit even for the private keys. So, no matter whether we are destroying -+ * a public or a private key, we always free what we can. -+ */ -+static void -+destroy_all_rsa_params(PK11_SESSION *sp) -+ { -+ if (sp->opdata_rsa_n_num != NULL) -+ { -+ BN_free(sp->opdata_rsa_n_num); -+ sp->opdata_rsa_n_num = NULL; -+ } -+ if (sp->opdata_rsa_e_num != NULL) -+ { -+ BN_free(sp->opdata_rsa_e_num); -+ sp->opdata_rsa_e_num = NULL; -+ } -+ if (sp->opdata_rsa_d_num != NULL) -+ { -+ BN_free(sp->opdata_rsa_d_num); -+ sp->opdata_rsa_d_num = NULL; -+ } -+ } -+ -+/* Destroy RSA public key from single session. */ -+int -+pk11_destroy_rsa_object_pub(PK11_SESSION *sp, CK_BBOOL uselock) -+ { -+ int ret = 0; -+ -+ if (sp->opdata_rsa_pub_key != CK_INVALID_HANDLE) -+ { -+ TRY_OBJ_DESTROY(sp, sp->opdata_rsa_pub_key, -+ ret, uselock, OP_RSA); -+ sp->opdata_rsa_pub_key = CK_INVALID_HANDLE; -+ sp->opdata_rsa_pub = NULL; -+ destroy_all_rsa_params(sp); -+ } -+ -+ return (ret); -+ } -+ -+/* Destroy RSA private key from single session. */ -+int -+pk11_destroy_rsa_object_priv(PK11_SESSION *sp, CK_BBOOL uselock) -+ { -+ int ret = 0; -+ -+ if (sp->opdata_rsa_priv_key != CK_INVALID_HANDLE) -+ { -+ TRY_OBJ_DESTROY(sp, sp->opdata_rsa_priv_key, -+ ret, uselock, OP_RSA); -+ sp->opdata_rsa_priv_key = CK_INVALID_HANDLE; -+ sp->opdata_rsa_priv = NULL; -+ destroy_all_rsa_params(sp); -+ } -+ -+ return (ret); -+ } -+ -+/* -+ * Destroy RSA key object wrapper. If session is NULL, try to destroy all -+ * objects in the free list. -+ */ -+int -+pk11_destroy_rsa_key_objects(PK11_SESSION *session) -+ { -+ int ret = 1; -+ PK11_SESSION *sp = NULL; -+ PK11_SESSION *local_free_session; -+ CK_BBOOL uselock = CK_TRUE; -+ -+ if (session != NULL) -+ local_free_session = session; -+ else -+ { -+ (void) pthread_mutex_lock(session_cache[OP_RSA].lock); -+ local_free_session = session_cache[OP_RSA].head; -+ uselock = CK_FALSE; -+ } -+ -+ /* -+ * go through the list of sessions and delete key objects -+ */ -+ while ((sp = local_free_session) != NULL) -+ { -+ local_free_session = sp->next; -+ -+ /* -+ * Do not terminate list traversal if one of the -+ * destroy operations fails. -+ */ -+ if (pk11_destroy_rsa_object_pub(sp, uselock) == 0) -+ { -+ ret = 0; -+ continue; -+ } -+ if (pk11_destroy_rsa_object_priv(sp, uselock) == 0) -+ { -+ ret = 0; -+ continue; -+ } -+ } -+ -+ if (session == NULL) -+ (void) pthread_mutex_unlock(session_cache[OP_RSA].lock); -+ -+ return (ret); -+ } -+#endif /* OPENSSL_NO_RSA */ -+ -+#ifndef OPENSSL_NO_DSA -+/* Destroy DSA public key from single session. */ -+int -+pk11_destroy_dsa_object_pub(PK11_SESSION *sp, CK_BBOOL uselock) -+ { -+ int ret = 0; -+ -+ if (sp->opdata_dsa_pub_key != CK_INVALID_HANDLE) -+ { -+ TRY_OBJ_DESTROY(sp, sp->opdata_dsa_pub_key, -+ ret, uselock, OP_DSA); -+ sp->opdata_dsa_pub_key = CK_INVALID_HANDLE; -+ sp->opdata_dsa_pub = NULL; -+ if (sp->opdata_dsa_pub_num != NULL) -+ { -+ BN_free(sp->opdata_dsa_pub_num); -+ sp->opdata_dsa_pub_num = NULL; -+ } -+ } -+ -+ return (ret); -+ } -+ -+/* Destroy DSA private key from single session. */ -+int -+pk11_destroy_dsa_object_priv(PK11_SESSION *sp, CK_BBOOL uselock) -+ { -+ int ret = 0; -+ -+ if (sp->opdata_dsa_priv_key != CK_INVALID_HANDLE) -+ { -+ TRY_OBJ_DESTROY(sp, sp->opdata_dsa_priv_key, -+ ret, uselock, OP_DSA); -+ sp->opdata_dsa_priv_key = CK_INVALID_HANDLE; -+ sp->opdata_dsa_priv = NULL; -+ if (sp->opdata_dsa_priv_num != NULL) -+ { -+ BN_free(sp->opdata_dsa_priv_num); -+ sp->opdata_dsa_priv_num = NULL; -+ } -+ } -+ -+ return (ret); -+ } -+ -+/* -+ * Destroy DSA key object wrapper. If session is NULL, try to destroy all -+ * objects in the free list. -+ */ -+int -+pk11_destroy_dsa_key_objects(PK11_SESSION *session) -+ { -+ int ret = 1; -+ PK11_SESSION *sp = NULL; -+ PK11_SESSION *local_free_session; -+ CK_BBOOL uselock = CK_TRUE; -+ -+ if (session != NULL) -+ local_free_session = session; -+ else -+ { -+ (void) pthread_mutex_lock(session_cache[OP_DSA].lock); -+ local_free_session = session_cache[OP_DSA].head; -+ uselock = CK_FALSE; -+ } -+ -+ /* -+ * go through the list of sessions and delete key objects -+ */ -+ while ((sp = local_free_session) != NULL) -+ { -+ local_free_session = sp->next; -+ -+ /* -+ * Do not terminate list traversal if one of the -+ * destroy operations fails. -+ */ -+ if (pk11_destroy_dsa_object_pub(sp, uselock) == 0) -+ { -+ ret = 0; -+ continue; -+ } -+ if (pk11_destroy_dsa_object_priv(sp, uselock) == 0) -+ { -+ ret = 0; -+ continue; -+ } -+ } -+ -+ if (session == NULL) -+ (void) pthread_mutex_unlock(session_cache[OP_DSA].lock); -+ -+ return (ret); -+ } -+#endif /* OPENSSL_NO_DSA */ -+ -+#ifndef OPENSSL_NO_DH -+/* Destroy DH key from single session. */ -+int -+pk11_destroy_dh_object(PK11_SESSION *sp, CK_BBOOL uselock) -+ { -+ int ret = 0; -+ -+ if (sp->opdata_dh_key != CK_INVALID_HANDLE) -+ { -+ TRY_OBJ_DESTROY(sp, sp->opdata_dh_key, -+ ret, uselock, OP_DH); -+ sp->opdata_dh_key = CK_INVALID_HANDLE; -+ sp->opdata_dh = NULL; -+ if (sp->opdata_dh_priv_num != NULL) -+ { -+ BN_free(sp->opdata_dh_priv_num); -+ sp->opdata_dh_priv_num = NULL; -+ } -+ } -+ -+ return (ret); -+ } -+ -+/* -+ * Destroy DH key object wrapper. -+ * -+ * arg0: pointer to PKCS#11 engine session structure -+ * if session is NULL, try to destroy all objects in the free list -+ */ -+int -+pk11_destroy_dh_key_objects(PK11_SESSION *session) -+ { -+ int ret = 1; -+ PK11_SESSION *sp = NULL; -+ PK11_SESSION *local_free_session; -+ CK_BBOOL uselock = CK_TRUE; -+ -+ if (session != NULL) -+ local_free_session = session; -+ else -+ { -+ (void) pthread_mutex_lock(session_cache[OP_DH].lock); -+ local_free_session = session_cache[OP_DH].head; -+ uselock = CK_FALSE; -+ } -+ -+ while ((sp = local_free_session) != NULL) -+ { -+ local_free_session = sp->next; -+ -+ /* -+ * Do not terminate list traversal if one of the -+ * destroy operations fails. -+ */ -+ if (pk11_destroy_dh_object(sp, uselock) == 0) -+ { -+ ret = 0; -+ continue; -+ } -+ } -+ if (session == NULL) -+ (void) pthread_mutex_unlock(session_cache[OP_DH].lock); -+ -+ return (ret); -+ } -+#endif /* OPENSSL_NO_DH */ -+ -+static int -+pk11_destroy_object(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE oh, -+ CK_BBOOL persistent) -+ { -+ CK_RV rv; -+ -+ /* -+ * We never try to destroy persistent objects which are the objects -+ * stored in the keystore. Also, we always use read-only sessions so -+ * C_DestroyObject() would be returning CKR_SESSION_READ_ONLY here. -+ */ -+ if (persistent == CK_TRUE) -+ return (1); -+ -+ rv = pFuncList->C_DestroyObject(session, oh); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_DESTROY_OBJECT, PK11_R_DESTROYOBJECT, -+ rv); -+ return (0); -+ } -+ -+ return (1); -+ } -+ -+ -+/* Symmetric ciphers and digests support functions */ -+ -+static int -+cipher_nid_to_pk11(int nid) -+ { -+ int i; -+ -+ for (i = 0; i < PK11_CIPHER_MAX; i++) -+ if (ciphers[i].nid == nid) -+ return (ciphers[i].id); -+ return (-1); -+ } -+ -+static int -+pk11_usable_ciphers(const int **nids) -+ { -+ if (cipher_count > 0) -+ *nids = cipher_nids; -+ else -+ *nids = NULL; -+ return (cipher_count); -+ } -+ -+static int -+pk11_usable_digests(const int **nids) -+ { -+ if (digest_count > 0) -+ *nids = digest_nids; -+ else -+ *nids = NULL; -+ return (digest_count); -+ } -+ -+/* -+ * Init context for encryption or decryption using a symmetric key. -+ */ -+static int pk11_init_symmetric(EVP_CIPHER_CTX *ctx, PK11_CIPHER *pcipher, -+ PK11_SESSION *sp, CK_MECHANISM_PTR pmech) -+ { -+ CK_RV rv; -+ CK_AES_CTR_PARAMS ctr_params; -+ -+ /* -+ * We expect pmech->mechanism to be already set and -+ * pParameter/ulParameterLen initialized to NULL/0 before -+ * pk11_init_symmetric() is called. -+ */ -+ OPENSSL_assert(pmech->mechanism != NULL); -+ OPENSSL_assert(pmech->pParameter == NULL); -+ OPENSSL_assert(pmech->ulParameterLen == 0); -+ -+ if (ctx->cipher->nid == NID_aes_128_ctr || -+ ctx->cipher->nid == NID_aes_192_ctr || -+ ctx->cipher->nid == NID_aes_256_ctr) -+ { -+ pmech->pParameter = (void *)(&ctr_params); -+ pmech->ulParameterLen = sizeof (ctr_params); -+ /* -+ * For now, we are limited to the fixed length of the counter, -+ * it covers the whole counter block. That's what RFC 4344 -+ * needs. For more information on internal structure of the -+ * counter block, see RFC 3686. If needed in the future, we can -+ * add code so that the counter length can be set via -+ * ENGINE_ctrl() function. -+ */ -+ ctr_params.ulCounterBits = AES_BLOCK_SIZE * 8; -+ OPENSSL_assert(pcipher->iv_len == AES_BLOCK_SIZE); -+ (void) memcpy(ctr_params.cb, ctx->iv, AES_BLOCK_SIZE); -+ } -+ else -+ { -+ if (pcipher->iv_len > 0) -+ { -+ pmech->pParameter = (void *)ctx->iv; -+ pmech->ulParameterLen = pcipher->iv_len; -+ } -+ } -+ -+ /* if we get here, the encryption needs to be reinitialized */ -+ if (ctx->encrypt) -+ rv = pFuncList->C_EncryptInit(sp->session, pmech, -+ sp->opdata_cipher_key); -+ else -+ rv = pFuncList->C_DecryptInit(sp->session, pmech, -+ sp->opdata_cipher_key); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CIPHER_INIT, ctx->encrypt ? -+ PK11_R_ENCRYPTINIT : PK11_R_DECRYPTINIT, rv); -+ pk11_return_session(sp, OP_CIPHER); -+ return (0); -+ } -+ -+ return (1); -+ } -+ -+/* ARGSUSED */ -+static int -+pk11_cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, -+ const unsigned char *iv, int enc) -+ { -+ CK_MECHANISM mech; -+ int index; -+ PK11_CIPHER_STATE *state = (PK11_CIPHER_STATE *) ctx->cipher_data; -+ PK11_SESSION *sp; -+ PK11_CIPHER *p_ciph_table_row; -+ -+ state->sp = NULL; -+ -+ index = cipher_nid_to_pk11(ctx->cipher->nid); -+ if (index < 0 || index >= PK11_CIPHER_MAX) -+ return (0); -+ -+ p_ciph_table_row = &ciphers[index]; -+ /* -+ * iv_len in the ctx->cipher structure is the maximum IV length for the -+ * current cipher and it must be less or equal to the IV length in our -+ * ciphers table. The key length must be in the allowed interval. From -+ * all cipher modes that the PKCS#11 engine supports only RC4 allows a -+ * key length to be in some range, all other NIDs have a precise key -+ * length. Every application can define its own EVP functions so this -+ * code serves as a sanity check. -+ * -+ * Note that the reason why the IV length in ctx->cipher might be -+ * greater than the actual length is that OpenSSL uses BLOCK_CIPHER_defs -+ * macro to define functions that return EVP structures for all DES -+ * modes. So, even ECB modes get 8 byte IV. -+ */ -+ if (ctx->cipher->iv_len < p_ciph_table_row->iv_len || -+ ctx->key_len < p_ciph_table_row->min_key_len || -+ ctx->key_len > p_ciph_table_row->max_key_len) -+ { -+ PK11err(PK11_F_CIPHER_INIT, PK11_R_KEY_OR_IV_LEN_PROBLEM); -+ return (0); -+ } -+ -+ if ((sp = pk11_get_session(OP_CIPHER)) == NULL) -+ return (0); -+ -+ /* if applicable, the mechanism parameter is used for IV */ -+ mech.mechanism = p_ciph_table_row->mech_type; -+ mech.pParameter = NULL; -+ mech.ulParameterLen = 0; -+ -+ /* The key object is destroyed here if it is not the current key. */ -+ (void) check_new_cipher_key(sp, key, ctx->key_len); -+ -+ /* -+ * If the key is the same and the encryption is also the same, then -+ * just reuse it. However, we must not forget to reinitialize the -+ * context that was finalized in pk11_cipher_cleanup(). -+ */ -+ if (sp->opdata_cipher_key != CK_INVALID_HANDLE && -+ sp->opdata_encrypt == ctx->encrypt) -+ { -+ state->sp = sp; -+ if (pk11_init_symmetric(ctx, p_ciph_table_row, sp, &mech) == 0) -+ return (0); -+ -+ return (1); -+ } -+ -+ /* -+ * Check if the key has been invalidated. If so, a new key object -+ * needs to be created. -+ */ -+ if (sp->opdata_cipher_key == CK_INVALID_HANDLE) -+ { -+ sp->opdata_cipher_key = pk11_get_cipher_key( -+ ctx, key, p_ciph_table_row->key_type, sp); -+ } -+ -+ if (sp->opdata_encrypt != ctx->encrypt && sp->opdata_encrypt != -1) -+ { -+ /* -+ * The previous encryption/decryption is different. Need to -+ * terminate the previous * active encryption/decryption here. -+ */ -+ if (!pk11_cipher_final(sp)) -+ { -+ pk11_return_session(sp, OP_CIPHER); -+ return (0); -+ } -+ } -+ -+ if (sp->opdata_cipher_key == CK_INVALID_HANDLE) -+ { -+ pk11_return_session(sp, OP_CIPHER); -+ return (0); -+ } -+ -+ /* now initialize the context with a new key */ -+ if (pk11_init_symmetric(ctx, p_ciph_table_row, sp, &mech) == 0) -+ return (0); -+ -+ sp->opdata_encrypt = ctx->encrypt; -+ state->sp = sp; -+ -+ return (1); -+ } -+ -+/* -+ * When reusing the same key in an encryption/decryption session for a -+ * decryption/encryption session, we need to close the active session -+ * and recreate a new one. Note that the key is in the global session so -+ * that it needs not be recreated. -+ * -+ * It is more appropriate to use C_En/DecryptFinish here. At the time of this -+ * development, these two functions in the PKCS#11 libraries used return -+ * unexpected errors when passing in 0 length output. It may be a good -+ * idea to try them again if performance is a problem here and fix -+ * C_En/DecryptFinial if there are bugs there causing the problem. -+ */ -+static int -+pk11_cipher_final(PK11_SESSION *sp) -+ { -+ CK_RV rv; -+ -+ rv = pFuncList->C_CloseSession(sp->session); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CIPHER_FINAL, PK11_R_CLOSESESSION, rv); -+ return (0); -+ } -+ -+ rv = pFuncList->C_OpenSession(SLOTID, CKF_SERIAL_SESSION, -+ NULL_PTR, NULL_PTR, &sp->session); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CIPHER_FINAL, PK11_R_OPENSESSION, rv); -+ return (0); -+ } -+ -+ return (1); -+ } -+ -+/* -+ * An engine interface function. The calling function allocates sufficient -+ * memory for the output buffer "out" to hold the results. -+ */ -+static int -+pk11_cipher_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, -+ const unsigned char *in, size_t inl) -+ { -+ PK11_CIPHER_STATE *state = (PK11_CIPHER_STATE *) ctx->cipher_data; -+ PK11_SESSION *sp; -+ CK_RV rv; -+ unsigned long outl = inl; -+ -+ if (state == NULL || state->sp == NULL) -+ return (0); -+ -+ sp = (PK11_SESSION *) state->sp; -+ -+ if (!inl) -+ return (1); -+ -+ /* RC4 is the only stream cipher we support */ -+ if (ctx->cipher->nid != NID_rc4 && (inl % ctx->cipher->block_size) != 0) -+ return (0); -+ -+ if (ctx->encrypt) -+ { -+ rv = pFuncList->C_EncryptUpdate(sp->session, -+ (unsigned char *)in, inl, out, &outl); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CIPHER_DO_CIPHER, -+ PK11_R_ENCRYPTUPDATE, rv); -+ return (0); -+ } -+ } -+ else -+ { -+ rv = pFuncList->C_DecryptUpdate(sp->session, -+ (unsigned char *)in, inl, out, &outl); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CIPHER_DO_CIPHER, -+ PK11_R_DECRYPTUPDATE, rv); -+ return (0); -+ } -+ } -+ -+ /* -+ * For DES_CBC, DES3_CBC, AES_CBC, and RC4, the output size is always -+ * the same size of input. -+ * The application has guaranteed to call the block ciphers with -+ * correctly aligned buffers. -+ */ -+ if (inl != outl) -+ return (0); -+ -+ return (1); -+ } -+ -+/* -+ * Return the session to the pool. Calling C_EncryptFinal() and C_DecryptFinal() -+ * here is the right thing because in EVP_DecryptFinal_ex(), engine's -+ * do_cipher() is not even called, and in EVP_EncryptFinal_ex() it is called but -+ * the engine can't find out that it's the finalizing call. We wouldn't -+ * necessarily have to finalize the context here since reinitializing it with -+ * C_(Encrypt|Decrypt)Init() should be fine but for the sake of correctness, -+ * let's do it. Some implementations might leak memory if the previously used -+ * context is initialized without finalizing it first. -+ */ -+static int -+pk11_cipher_cleanup(EVP_CIPHER_CTX *ctx) -+ { -+ CK_RV rv; -+ CK_ULONG len = EVP_MAX_BLOCK_LENGTH; -+ CK_BYTE buf[EVP_MAX_BLOCK_LENGTH]; -+ PK11_CIPHER_STATE *state = ctx->cipher_data; -+ -+ if (state != NULL && state->sp != NULL) -+ { -+ /* -+ * We are not interested in the data here, we just need to get -+ * rid of the context. -+ */ -+ if (ctx->encrypt) -+ rv = pFuncList->C_EncryptFinal( -+ state->sp->session, buf, &len); -+ else -+ rv = pFuncList->C_DecryptFinal( -+ state->sp->session, buf, &len); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CIPHER_CLEANUP, ctx->encrypt ? -+ PK11_R_ENCRYPTFINAL : PK11_R_DECRYPTFINAL, rv); -+ pk11_return_session(state->sp, OP_CIPHER); -+ return (0); -+ } -+ -+ pk11_return_session(state->sp, OP_CIPHER); -+ state->sp = NULL; -+ } -+ -+ return (1); -+ } -+ -+/* -+ * Registered by the ENGINE when used to find out how to deal with -+ * a particular NID in the ENGINE. This says what we'll do at the -+ * top level - note, that list is restricted by what we answer with -+ */ -+/* ARGSUSED */ -+static int -+pk11_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher, -+ const int **nids, int nid) -+ { -+ if (!cipher) -+ return (pk11_usable_ciphers(nids)); -+ -+ switch (nid) -+ { -+ case NID_des_ede3_cbc: -+ *cipher = &pk11_3des_cbc; -+ break; -+ case NID_des_cbc: -+ *cipher = &pk11_des_cbc; -+ break; -+ case NID_des_ede3_ecb: -+ *cipher = &pk11_3des_ecb; -+ break; -+ case NID_des_ecb: -+ *cipher = &pk11_des_ecb; -+ break; -+ case NID_aes_128_cbc: -+ *cipher = &pk11_aes_128_cbc; -+ break; -+ case NID_aes_192_cbc: -+ *cipher = &pk11_aes_192_cbc; -+ break; -+ case NID_aes_256_cbc: -+ *cipher = &pk11_aes_256_cbc; -+ break; -+ case NID_aes_128_ecb: -+ *cipher = &pk11_aes_128_ecb; -+ break; -+ case NID_aes_192_ecb: -+ *cipher = &pk11_aes_192_ecb; -+ break; -+ case NID_aes_256_ecb: -+ *cipher = &pk11_aes_256_ecb; -+ break; -+ case NID_aes_128_ctr: -+ *cipher = &pk11_aes_128_ctr; -+ break; -+ case NID_aes_192_ctr: -+ *cipher = &pk11_aes_192_ctr; -+ break; -+ case NID_aes_256_ctr: -+ *cipher = &pk11_aes_256_ctr; -+ break; -+ case NID_bf_cbc: -+ *cipher = &pk11_bf_cbc; -+ break; -+ case NID_rc4: -+ *cipher = &pk11_rc4; -+ break; -+ default: -+ *cipher = NULL; -+ break; -+ } -+ return (*cipher != NULL); -+ } -+ -+/* ARGSUSED */ -+static int -+pk11_engine_digests(ENGINE *e, const EVP_MD **digest, -+ const int **nids, int nid) -+ { -+ if (!digest) -+ return (pk11_usable_digests(nids)); -+ -+ switch (nid) -+ { -+ case NID_md5: -+ *digest = &pk11_md5; -+ break; -+ /* -+ * A special case. For "openssl dgst -dss1 -engine pkcs11 ...", -+ * OpenSSL calls EVP_get_digestbyname() on "dss1" which ends up -+ * calling pk11_engine_digests() for NID_dsa. Internally, if an -+ * engine is not used, OpenSSL uses SHA1_Init() as expected for -+ * DSA. So, we must return pk11_sha1() for NID_dsa as well. Note -+ * that this must have changed between 0.9.8 and 1.0.0 since we -+ * did not have the problem with the 0.9.8 version. -+ */ -+ case NID_sha1: -+ case NID_dsa: -+ *digest = &pk11_sha1; -+ break; -+ case NID_sha224: -+ *digest = &pk11_sha224; -+ break; -+ case NID_sha256: -+ *digest = &pk11_sha256; -+ break; -+ case NID_sha384: -+ *digest = &pk11_sha384; -+ break; -+ case NID_sha512: -+ *digest = &pk11_sha512; -+ break; -+ default: -+ *digest = NULL; -+ break; -+ } -+ return (*digest != NULL); -+ } -+ -+ -+/* Create a secret key object in a PKCS#11 session */ -+static CK_OBJECT_HANDLE pk11_get_cipher_key(EVP_CIPHER_CTX *ctx, -+ const unsigned char *key, CK_KEY_TYPE key_type, PK11_SESSION *sp) -+ { -+ CK_RV rv; -+ CK_OBJECT_HANDLE h_key = CK_INVALID_HANDLE; -+ CK_OBJECT_CLASS obj_key = CKO_SECRET_KEY; -+ CK_ULONG ul_key_attr_count = 6; -+ -+ CK_ATTRIBUTE a_key_template[] = -+ { -+ {CKA_CLASS, (void*) NULL, sizeof (CK_OBJECT_CLASS)}, -+ {CKA_KEY_TYPE, (void*) NULL, sizeof (CK_KEY_TYPE)}, -+ {CKA_TOKEN, &pk11_false, sizeof (pk11_false)}, -+ {CKA_ENCRYPT, &pk11_true, sizeof (pk11_true)}, -+ {CKA_DECRYPT, &pk11_true, sizeof (pk11_true)}, -+ {CKA_VALUE, (void*) NULL, 0}, -+ }; -+ -+ /* -+ * Create secret key object in global_session. All other sessions -+ * can use the key handles. Here is why: -+ * OpenSSL will call EncryptInit and EncryptUpdate using a secret key. -+ * It may then call DecryptInit and DecryptUpdate using the same key. -+ * To use the same key object, we need to call EncryptFinal with -+ * a 0 length message. Currently, this does not work for 3DES -+ * mechanism. To get around this problem, we close the session and -+ * then create a new session to use the same key object. When a session -+ * is closed, all the object handles will be invalid. Thus, create key -+ * objects in a global session, an individual session may be closed to -+ * terminate the active operation. -+ */ -+ CK_SESSION_HANDLE session = global_session; -+ a_key_template[0].pValue = &obj_key; -+ a_key_template[1].pValue = &key_type; -+ a_key_template[5].pValue = (void *) key; -+ a_key_template[5].ulValueLen = (unsigned long) ctx->key_len; -+ -+ rv = pFuncList->C_CreateObject(session, -+ a_key_template, ul_key_attr_count, &h_key); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_GET_CIPHER_KEY, PK11_R_CREATEOBJECT, -+ rv); -+ goto err; -+ } -+ -+ /* -+ * Save the key information used in this session. -+ * The max can be saved is PK11_KEY_LEN_MAX. -+ */ -+ sp->opdata_key_len = ctx->key_len > PK11_KEY_LEN_MAX ? -+ PK11_KEY_LEN_MAX : ctx->key_len; -+ (void) memcpy(sp->opdata_key, key, sp->opdata_key_len); -+err: -+ -+ return (h_key); -+ } -+ -+static int -+md_nid_to_pk11(int nid) -+ { -+ int i; -+ -+ for (i = 0; i < PK11_DIGEST_MAX; i++) -+ if (digests[i].nid == nid) -+ return (digests[i].id); -+ return (-1); -+ } -+ -+static int -+pk11_digest_init(EVP_MD_CTX *ctx) -+ { -+ CK_RV rv; -+ CK_MECHANISM mech; -+ int index; -+ PK11_SESSION *sp; -+ PK11_DIGEST *pdp; -+ PK11_CIPHER_STATE *state = (PK11_CIPHER_STATE *) ctx->md_data; -+ -+ state->sp = NULL; -+ -+ index = md_nid_to_pk11(ctx->digest->type); -+ if (index < 0 || index >= PK11_DIGEST_MAX) -+ return (0); -+ -+ pdp = &digests[index]; -+ if ((sp = pk11_get_session(OP_DIGEST)) == NULL) -+ return (0); -+ -+ /* at present, no parameter is needed for supported digests */ -+ mech.mechanism = pdp->mech_type; -+ mech.pParameter = NULL; -+ mech.ulParameterLen = 0; -+ -+ rv = pFuncList->C_DigestInit(sp->session, &mech); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_DIGEST_INIT, PK11_R_DIGESTINIT, rv); -+ pk11_return_session(sp, OP_DIGEST); -+ return (0); -+ } -+ -+ state->sp = sp; -+ -+ return (1); -+ } -+ -+static int -+pk11_digest_update(EVP_MD_CTX *ctx, const void *data, size_t count) -+ { -+ CK_RV rv; -+ PK11_CIPHER_STATE *state = (PK11_CIPHER_STATE *) ctx->md_data; -+ -+ /* 0 length message will cause a failure in C_DigestFinal */ -+ if (count == 0) -+ return (1); -+ -+ if (state == NULL || state->sp == NULL) -+ return (0); -+ -+ rv = pFuncList->C_DigestUpdate(state->sp->session, (CK_BYTE *) data, -+ count); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_DIGEST_UPDATE, PK11_R_DIGESTUPDATE, rv); -+ pk11_return_session(state->sp, OP_DIGEST); -+ state->sp = NULL; -+ return (0); -+ } -+ -+ return (1); -+ } -+ -+static int -+pk11_digest_final(EVP_MD_CTX *ctx, unsigned char *md) -+ { -+ CK_RV rv; -+ unsigned long len; -+ PK11_CIPHER_STATE *state = (PK11_CIPHER_STATE *) ctx->md_data; -+ len = ctx->digest->md_size; -+ -+ if (state == NULL || state->sp == NULL) -+ return (0); -+ -+ rv = pFuncList->C_DigestFinal(state->sp->session, md, &len); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_DIGEST_FINAL, PK11_R_DIGESTFINAL, rv); -+ pk11_return_session(state->sp, OP_DIGEST); -+ state->sp = NULL; -+ return (0); -+ } -+ -+ if (ctx->digest->md_size != len) -+ return (0); -+ -+ /* -+ * Final is called and digest is returned, so return the session -+ * to the pool -+ */ -+ pk11_return_session(state->sp, OP_DIGEST); -+ state->sp = NULL; -+ -+ return (1); -+ } -+ -+static int -+pk11_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from) -+ { -+ CK_RV rv; -+ int ret = 0; -+ PK11_CIPHER_STATE *state, *state_to; -+ CK_BYTE_PTR pstate = NULL; -+ CK_ULONG ul_state_len; -+ -+ if (from->md_data == NULL || to->digest->ctx_size == 0) -+ return (1); -+ -+ /* The copy-from state */ -+ state = (PK11_CIPHER_STATE *) from->md_data; -+ if (state->sp == NULL) -+ goto err; -+ -+ /* Initialize the copy-to state */ -+ if (!pk11_digest_init(to)) -+ goto err; -+ state_to = (PK11_CIPHER_STATE *) to->md_data; -+ -+ /* Get the size of the operation state of the copy-from session */ -+ rv = pFuncList->C_GetOperationState(state->sp->session, NULL, -+ &ul_state_len); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_DIGEST_COPY, PK11_R_GET_OPERATION_STATE, -+ rv); -+ goto err; -+ } -+ if (ul_state_len == 0) -+ { -+ goto err; -+ } -+ -+ pstate = OPENSSL_malloc(ul_state_len); -+ if (pstate == NULL) -+ { -+ PK11err(PK11_F_DIGEST_COPY, PK11_R_MALLOC_FAILURE); -+ goto err; -+ } -+ -+ /* Get the operation state of the copy-from session */ -+ rv = pFuncList->C_GetOperationState(state->sp->session, pstate, -+ &ul_state_len); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_DIGEST_COPY, PK11_R_GET_OPERATION_STATE, -+ rv); -+ goto err; -+ } -+ -+ /* Set the operation state of the copy-to session */ -+ rv = pFuncList->C_SetOperationState(state_to->sp->session, pstate, -+ ul_state_len, 0, 0); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_DIGEST_COPY, -+ PK11_R_SET_OPERATION_STATE, rv); -+ goto err; -+ } -+ -+ ret = 1; -+err: -+ if (pstate != NULL) -+ OPENSSL_free(pstate); -+ -+ return (ret); -+ } -+ -+/* Return any pending session state to the pool */ -+static int -+pk11_digest_cleanup(EVP_MD_CTX *ctx) -+ { -+ PK11_CIPHER_STATE *state = ctx->md_data; -+ unsigned char buf[EVP_MAX_MD_SIZE]; -+ -+ if (state != NULL && state->sp != NULL) -+ { -+ /* -+ * If state->sp is not NULL then pk11_digest_final() has not -+ * been called yet. We must call it now to free any memory -+ * that might have been allocated in the token when -+ * pk11_digest_init() was called. pk11_digest_final() -+ * will return the session to the cache. -+ */ -+ if (!pk11_digest_final(ctx, buf)) -+ return (0); -+ } -+ -+ return (1); -+ } -+ -+/* -+ * Check if the new key is the same as the key object in the session. If the key -+ * is the same, no need to create a new key object. Otherwise, the old key -+ * object needs to be destroyed and a new one will be created. Return 1 for -+ * cache hit, 0 for cache miss. Note that we must check the key length first -+ * otherwise we could end up reusing a different, longer key with the same -+ * prefix. -+ */ -+static int check_new_cipher_key(PK11_SESSION *sp, const unsigned char *key, -+ int key_len) -+ { -+ if (sp->opdata_key_len != key_len || -+ memcmp(sp->opdata_key, key, key_len) != 0) -+ { -+ (void) pk11_destroy_cipher_key_objects(sp); -+ return (0); -+ } -+ return (1); -+ } -+ -+/* Destroy one or more secret key objects. */ -+static int pk11_destroy_cipher_key_objects(PK11_SESSION *session) -+ { -+ int ret = 0; -+ PK11_SESSION *sp = NULL; -+ PK11_SESSION *local_free_session; -+ -+ if (session != NULL) -+ local_free_session = session; -+ else -+ { -+ (void) pthread_mutex_lock(session_cache[OP_CIPHER].lock); -+ local_free_session = session_cache[OP_CIPHER].head; -+ } -+ -+ while ((sp = local_free_session) != NULL) -+ { -+ local_free_session = sp->next; -+ -+ if (sp->opdata_cipher_key != CK_INVALID_HANDLE) -+ { -+ /* -+ * The secret key object is created in the -+ * global_session. See pk11_get_cipher_key(). -+ */ -+ if (pk11_destroy_object(global_session, -+ sp->opdata_cipher_key, CK_FALSE) == 0) -+ goto err; -+ sp->opdata_cipher_key = CK_INVALID_HANDLE; -+ } -+ } -+ ret = 1; -+err: -+ -+ if (session == NULL) -+ (void) pthread_mutex_unlock(session_cache[OP_CIPHER].lock); -+ -+ return (ret); -+ } -+ -+ -+/* -+ * Public key mechanisms optionally supported -+ * -+ * CKM_RSA_X_509 -+ * CKM_RSA_PKCS -+ * CKM_DSA -+ * -+ * The first slot that supports at least one of those mechanisms is chosen as a -+ * public key slot. -+ * -+ * Symmetric ciphers optionally supported -+ * -+ * CKM_DES3_CBC -+ * CKM_DES_CBC -+ * CKM_AES_CBC -+ * CKM_DES3_ECB -+ * CKM_DES_ECB -+ * CKM_AES_ECB -+ * CKM_AES_CTR -+ * CKM_RC4 -+ * CKM_BLOWFISH_CBC -+ * -+ * Digests optionally supported -+ * -+ * CKM_MD5 -+ * CKM_SHA_1 -+ * CKM_SHA224 -+ * CKM_SHA256 -+ * CKM_SHA384 -+ * CKM_SHA512 -+ * -+ * The output of this function is a set of global variables indicating which -+ * mechanisms from RSA, DSA, DH and RAND are present, and also two arrays of -+ * mechanisms, one for symmetric ciphers and one for digests. Also, 3 global -+ * variables carry information about which slot was chosen for (a) public key -+ * mechanisms, (b) random operations, and (c) symmetric ciphers and digests. -+ */ -+static int -+pk11_choose_slots(int *any_slot_found) -+ { -+ CK_SLOT_ID_PTR pSlotList = NULL_PTR; -+ CK_ULONG ulSlotCount = 0; -+ CK_MECHANISM_INFO mech_info; -+ CK_TOKEN_INFO token_info; -+ int i; -+ CK_RV rv; -+ CK_SLOT_ID best_pubkey_slot_sofar; -+ CK_SLOT_ID current_slot = 0; -+ int best_number_of_mechs = 0; -+ int local_cipher_nids[PK11_CIPHER_MAX]; -+ int local_digest_nids[PK11_DIGEST_MAX]; -+ -+ /* let's initialize the output parameter */ -+ if (any_slot_found != NULL) -+ *any_slot_found = 0; -+ -+ /* Get slot list for memory allocation */ -+ rv = pFuncList->C_GetSlotList(CK_FALSE, NULL_PTR, &ulSlotCount); -+ -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CHOOSE_SLOT, PK11_R_GETSLOTLIST, rv); -+ return (0); -+ } -+ -+ /* it's not an error if we didn't find any providers */ -+ if (ulSlotCount == 0) -+ { -+ DEBUG_SLOT_SEL("%s: no crypto providers found\n", PK11_DBG); -+ return (1); -+ } -+ -+ pSlotList = OPENSSL_malloc(ulSlotCount * sizeof (CK_SLOT_ID)); -+ -+ if (pSlotList == NULL) -+ { -+ PK11err(PK11_F_CHOOSE_SLOT, PK11_R_MALLOC_FAILURE); -+ return (0); -+ } -+ -+ /* Get the slot list for processing */ -+ rv = pFuncList->C_GetSlotList(CK_FALSE, pSlotList, &ulSlotCount); -+ if (rv != CKR_OK) -+ { -+ PK11err_add_data(PK11_F_CHOOSE_SLOT, PK11_R_GETSLOTLIST, rv); -+ OPENSSL_free(pSlotList); -+ return (0); -+ } -+ -+ DEBUG_SLOT_SEL("%s: provider: %s\n", PK11_DBG, def_PK11_LIBNAME); -+ DEBUG_SLOT_SEL("%s: number of slots: %d\n", PK11_DBG, ulSlotCount); -+ -+ pubkey_SLOTID = pSlotList[0]; -+ for (i = 0; i < ulSlotCount; i++) -+ { -+ current_slot = pSlotList[i]; -+ DEBUG_SLOT_SEL("%s: == checking slot: %d ==\n", PK11_DBG, -+ current_slot); -+ rv = pFuncList->C_GetTokenInfo(current_slot, &token_info); -+ if (rv != CKR_OK) -+ continue; -+ -+ DEBUG_SLOT_SEL("%s: token label: %.32s\n", PK11_DBG, -+ token_info.label); -+ -+ pk11_choose_rand_slot(token_info, current_slot); -+ -+ pk11_choose_pubkey_slot(mech_info, token_info, current_slot, -+ rv, best_number_of_mechs, best_pubkey_slot_sofar); -+ -+ (void) memset(local_cipher_nids, 0, sizeof (local_cipher_nids)); -+ (void) memset(local_digest_nids, 0, sizeof (local_digest_nids)); -+ pk11_choose_cipher_digest(local_cipher_nids, -+ local_digest_nids, pFuncList, current_slot); -+ } -+ -+ if (best_number_of_mechs == 0) -+ { -+ DEBUG_SLOT_SEL("%s: no rsa/dsa/dh\n", PK11_DBG); -+ } -+ else -+ { -+ pubkey_SLOTID = best_pubkey_slot_sofar; -+ } -+ -+ DEBUG_SLOT_SEL("%s: chosen pubkey slot: %d\n", PK11_DBG, pubkey_SLOTID); -+ DEBUG_SLOT_SEL("%s: chosen rand slot: %d\n", PK11_DBG, rand_SLOTID); -+ DEBUG_SLOT_SEL("%s: chosen cipher/digest slot: %d\n", PK11_DBG, SLOTID); -+ DEBUG_SLOT_SEL("%s: pk11_have_rsa %d\n", PK11_DBG, pk11_have_rsa); -+ DEBUG_SLOT_SEL("%s: pk11_have_dsa %d\n", PK11_DBG, pk11_have_dsa); -+ DEBUG_SLOT_SEL("%s: pk11_have_dh %d\n", PK11_DBG, pk11_have_dh); -+ DEBUG_SLOT_SEL("%s: pk11_have_random %d\n", PK11_DBG, pk11_have_random); -+ DEBUG_SLOT_SEL("%s: cipher_count %d\n", PK11_DBG, cipher_count); -+ DEBUG_SLOT_SEL("%s: digest_count %d\n", PK11_DBG, digest_count); -+ -+ if (pSlotList != NULL) -+ OPENSSL_free(pSlotList); -+ -+#ifdef SOLARIS_HW_SLOT_SELECTION -+ OPENSSL_free(hw_cnids); -+ OPENSSL_free(hw_dnids); -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ -+ if (any_slot_found != NULL) -+ *any_slot_found = 1; -+ return (1); -+ } -+ -+static void pk11_choose_rand_slot(CK_TOKEN_INFO token_info, -+ CK_SLOT_ID current_slot) -+ { -+ DEBUG_SLOT_SEL("%s: checking rand slots\n", PK11_DBG); -+ if (((token_info.flags & CKF_RNG) != 0) && !pk11_have_random) -+ { -+ DEBUG_SLOT_SEL("%s: this token has CKF_RNG flag\n", PK11_DBG); -+ pk11_have_random = CK_TRUE; -+ rand_SLOTID = current_slot; -+ } -+ } -+ -+static void pk11_choose_pubkey_slot(CK_MECHANISM_INFO mech_info, -+ CK_TOKEN_INFO token_info, CK_SLOT_ID current_slot, CK_RV rv, -+ int best_number_of_mechs, CK_SLOT_ID best_pubkey_slot_sofar) -+ { -+ CK_BBOOL slot_has_rsa = CK_FALSE; -+ CK_BBOOL slot_has_dsa = CK_FALSE; -+ CK_BBOOL slot_has_dh = CK_FALSE; -+ int current_number_of_mechs = 0; -+ -+ DEBUG_SLOT_SEL("%s: checking pubkey slots\n", PK11_DBG); -+ -+#ifndef OPENSSL_NO_RSA -+ /* -+ * Check if this slot is capable of signing and -+ * verifying with CKM_RSA_PKCS. -+ */ -+ rv = pFuncList->C_GetMechanismInfo(current_slot, CKM_RSA_PKCS, -+ &mech_info); -+ -+ if (rv == CKR_OK && ((mech_info.flags & CKF_SIGN) && -+ (mech_info.flags & CKF_VERIFY))) -+ { -+ /* -+ * Check if this slot is capable of encryption, -+ * decryption, sign, and verify with CKM_RSA_X_509. -+ */ -+ rv = pFuncList->C_GetMechanismInfo(current_slot, -+ CKM_RSA_X_509, &mech_info); -+ -+ if (rv == CKR_OK && ((mech_info.flags & CKF_SIGN) && -+ (mech_info.flags & CKF_VERIFY) && -+ (mech_info.flags & CKF_ENCRYPT) && -+ (mech_info.flags & CKF_VERIFY_RECOVER) && -+ (mech_info.flags & CKF_DECRYPT))) -+ { -+ slot_has_rsa = CK_TRUE; -+ current_number_of_mechs++; -+ } -+ } -+#endif /* OPENSSL_NO_RSA */ -+ -+#ifndef OPENSSL_NO_DSA -+ /* -+ * Check if this slot is capable of signing and -+ * verifying with CKM_DSA. -+ */ -+ rv = pFuncList->C_GetMechanismInfo(current_slot, CKM_DSA, -+ &mech_info); -+ if (rv == CKR_OK && ((mech_info.flags & CKF_SIGN) && -+ (mech_info.flags & CKF_VERIFY))) -+ { -+ slot_has_dsa = CK_TRUE; -+ current_number_of_mechs++; -+ } -+#endif /* OPENSSL_NO_DSA */ -+ -+#ifndef OPENSSL_NO_DH -+ /* -+ * Check if this slot is capable of DH key generataion and -+ * derivation. -+ */ -+ rv = pFuncList->C_GetMechanismInfo(current_slot, -+ CKM_DH_PKCS_KEY_PAIR_GEN, &mech_info); -+ -+ if (rv == CKR_OK && (mech_info.flags & CKF_GENERATE_KEY_PAIR)) -+ { -+ rv = pFuncList->C_GetMechanismInfo(current_slot, -+ CKM_DH_PKCS_DERIVE, &mech_info); -+ if (rv == CKR_OK && (mech_info.flags & CKF_DERIVE)) -+ { -+ slot_has_dh = CK_TRUE; -+ current_number_of_mechs++; -+ } -+ } -+#endif /* OPENSSL_NO_DH */ -+ -+ if (current_number_of_mechs > best_number_of_mechs) -+ { -+ best_pubkey_slot_sofar = current_slot; -+ pk11_have_rsa = slot_has_rsa; -+ pk11_have_dsa = slot_has_dsa; -+ pk11_have_dh = slot_has_dh; -+ best_number_of_mechs = current_number_of_mechs; -+ /* -+ * Cache the flags for later use. We might need those if -+ * RSA keys by reference feature is used. -+ */ -+ pubkey_token_flags = token_info.flags; -+ DEBUG_SLOT_SEL("%s: pubkey flags changed to " -+ "%lu.\n", PK11_DBG, pubkey_token_flags); -+ } -+ } -+ -+static void pk11_choose_cipher_digest(int *local_cipher_nids, -+ int *local_digest_nids, CK_FUNCTION_LIST_PTR pflist, -+ CK_SLOT_ID current_slot) -+ { -+ int current_slot_n_cipher = 0; -+ int current_slot_n_digest = 0; -+ -+ DEBUG_SLOT_SEL("%s: checking cipher/digest\n", PK11_DBG); -+ -+ pk11_find_symmetric_ciphers(pFuncList, current_slot, -+ ¤t_slot_n_cipher, local_cipher_nids); -+ -+ pk11_find_digests(pFuncList, current_slot, -+ ¤t_slot_n_digest, local_digest_nids); -+ -+ DEBUG_SLOT_SEL("%s: current_slot_n_cipher %d\n", PK11_DBG, -+ current_slot_n_cipher); -+ DEBUG_SLOT_SEL("%s: current_slot_n_digest %d\n", PK11_DBG, -+ current_slot_n_digest); -+ /* -+ * If the current slot supports more ciphers/digests than -+ * the previous best one we change the current best to this one, -+ * otherwise leave it where it is. -+ */ -+ if ((current_slot_n_cipher + current_slot_n_digest) > -+ (cipher_count + digest_count)) -+ { -+ DEBUG_SLOT_SEL("%s: changing best slot to %d\n", -+ PK11_DBG, current_slot); -+ SLOTID = current_slot; -+ cipher_count = current_slot_n_cipher; -+ digest_count = current_slot_n_digest; -+ OPENSSL_assert(cipher_count <= PK11_CIPHER_MAX); -+ OPENSSL_assert(digest_count <= PK11_DIGEST_MAX); -+ (void) memcpy(cipher_nids, local_cipher_nids, -+ sizeof (int) * cipher_count); -+ (void) memcpy(digest_nids, local_digest_nids, -+ sizeof (int) * digest_count); -+ } -+ } -+ -+static void pk11_get_symmetric_cipher(CK_FUNCTION_LIST_PTR pflist, -+ int slot_id, int *current_slot_n_cipher, int *local_cipher_nids, -+ PK11_CIPHER *cipher) -+ { -+ static CK_MECHANISM_INFO mech_info; -+ static CK_RV rv; -+ static CK_MECHANISM_TYPE last_checked_mech = (CK_MECHANISM_TYPE)-1; -+ -+ OPENSSL_assert(cipher->mech_type != (CK_MECHANISM_TYPE)-1); -+ -+ DEBUG_SLOT_SEL("%s: checking mech: %x", PK11_DBG, cipher->mech_type); -+ if (cipher->mech_type != last_checked_mech) -+ { -+ rv = pflist->C_GetMechanismInfo(slot_id, cipher->mech_type, -+ &mech_info); -+ } -+ -+ last_checked_mech = cipher->mech_type; -+ -+ if (rv != CKR_OK) -+ { -+ DEBUG_SLOT_SEL(" not found\n"); -+ return; -+ } -+ -+ if ((mech_info.flags & CKF_ENCRYPT) && -+ (mech_info.flags & CKF_DECRYPT)) -+ { -+ if (mech_info.ulMinKeySize > cipher->min_key_len || -+ mech_info.ulMaxKeySize < cipher->max_key_len) -+ { -+ DEBUG_SLOT_SEL(" engine key size range <%i-%i> does not" -+ " match mech range <%lu-%lu>\n", -+ cipher->min_key_len, cipher->max_key_len, -+ mech_info.ulMinKeySize, mech_info.ulMaxKeySize); -+ return; -+ } -+#ifdef SOLARIS_HW_SLOT_SELECTION -+ if (nid_in_table(cipher->nid, hw_cnids)) -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ { -+ DEBUG_SLOT_SEL(" usable\n"); -+ local_cipher_nids[(*current_slot_n_cipher)++] = -+ cipher->nid; -+ } -+#ifdef SOLARIS_HW_SLOT_SELECTION -+ else -+ { -+ DEBUG_SLOT_SEL( -+ " rejected, software implementation only\n"); -+ } -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ } -+ else -+ { -+ DEBUG_SLOT_SEL(" unusable\n"); -+ } -+ -+ return; -+ } -+ -+static void pk11_get_digest(CK_FUNCTION_LIST_PTR pflist, int slot_id, -+ int *current_slot_n_digest, int *local_digest_nids, PK11_DIGEST *digest) -+ { -+ CK_MECHANISM_INFO mech_info; -+ CK_RV rv; -+ -+ DEBUG_SLOT_SEL("%s: checking mech: %x", PK11_DBG, digest->mech_type); -+ rv = pflist->C_GetMechanismInfo(slot_id, digest->mech_type, &mech_info); -+ -+ if (rv != CKR_OK) -+ { -+ DEBUG_SLOT_SEL(" not found\n"); -+ return; -+ } -+ -+ if (mech_info.flags & CKF_DIGEST) -+ { -+#ifdef SOLARIS_HW_SLOT_SELECTION -+ if (nid_in_table(digest->nid, hw_dnids)) -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ { -+ DEBUG_SLOT_SEL(" usable\n"); -+ local_digest_nids[(*current_slot_n_digest)++] = -+ digest->nid; -+ } -+#ifdef SOLARIS_HW_SLOT_SELECTION -+ else -+ { -+ DEBUG_SLOT_SEL( -+ " rejected, software implementation only\n"); -+ } -+#endif /* SOLARIS_HW_SLOT_SELECTION */ -+ } -+ else -+ { -+ DEBUG_SLOT_SEL(" unusable\n"); -+ } -+ -+ return; -+ } -+ -+/* Find what symmetric ciphers this slot supports. */ -+static void pk11_find_symmetric_ciphers(CK_FUNCTION_LIST_PTR pflist, -+ CK_SLOT_ID current_slot, int *current_slot_n_cipher, int *local_cipher_nids) -+ { -+ int i; -+ -+ for (i = 0; i < PK11_CIPHER_MAX; ++i) -+ { -+ pk11_get_symmetric_cipher(pflist, current_slot, -+ current_slot_n_cipher, local_cipher_nids, &ciphers[i]); -+ } -+ } -+ -+/* Find what digest algorithms this slot supports. */ -+static void pk11_find_digests(CK_FUNCTION_LIST_PTR pflist, -+ CK_SLOT_ID current_slot, int *current_slot_n_digest, int *local_digest_nids) -+ { -+ int i; -+ -+ for (i = 0; i < PK11_DIGEST_MAX; ++i) -+ { -+ pk11_get_digest(pflist, current_slot, current_slot_n_digest, -+ local_digest_nids, &digests[i]); -+ } -+ } -+ -+#ifdef SOLARIS_HW_SLOT_SELECTION -+/* -+ * It would be great if we could use pkcs11_kernel directly since this library -+ * offers hardware slots only. That's the easiest way to achieve the situation -+ * where we use the hardware accelerators when present and OpenSSL native code -+ * otherwise. That presumes the fact that OpenSSL native code is faster than the -+ * code in the soft token. It's a logical assumption - Crypto Framework has some -+ * inherent overhead so going there for the software implementation of a -+ * mechanism should be logically slower in contrast to the OpenSSL native code, -+ * presuming that both implementations are of similar speed. For example, the -+ * soft token for AES is roughly three times slower than OpenSSL for 64 byte -+ * blocks and still 20% slower for 8KB blocks. So, if we want to ship products -+ * that use the PKCS#11 engine by default, we must somehow avoid that regression -+ * on machines without hardware acceleration. That's why switching to the -+ * pkcs11_kernel library seems like a very good idea. -+ * -+ * The problem is that OpenSSL built with SunStudio is roughly 2x slower for -+ * asymmetric operations (RSA/DSA/DH) than the soft token built with the same -+ * compiler. That means that if we switched to pkcs11_kernel from the libpkcs11 -+ * library, we would have had a performance regression on machines without -+ * hardware acceleration for asymmetric operations for all applications that use -+ * the PKCS#11 engine. There is one such application - Apache web server since @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Mon Jun 27 12:03:14 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Mon, 27 Jun 2016 10:03:14 +0000 Subject: SF.net SVN: gar:[25790] csw/mgar/pkg/samba/branches/samba4 Message-ID: <3rdPdv11RzzMn@mail.opencsw.org> Revision: 25790 http://sourceforge.net/p/gar/code/25790 Author: janholzh Date: 2016-06-27 10:03:13 +0000 (Mon, 27 Jun 2016) Log Message: ----------- samba/branches/samba4: update to 4.4.4 Modified Paths: -------------- csw/mgar/pkg/samba/branches/samba4/Makefile csw/mgar/pkg/samba/branches/samba4/checksums Modified: csw/mgar/pkg/samba/branches/samba4/Makefile =================================================================== --- csw/mgar/pkg/samba/branches/samba4/Makefile 2016-06-27 07:58:30 UTC (rev 25789) +++ csw/mgar/pkg/samba/branches/samba4/Makefile 2016-06-27 10:03:13 UTC (rev 25790) @@ -1,5 +1,5 @@ NAME = samba -VERSION = 4.4.3 +VERSION = 4.4.4 GARTYPE = v2 DESCRIPTION = Tools to access a servers filespace and printers via SMB (server) @@ -73,7 +73,7 @@ #PATCHFILES +=idmap_fix #from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208767 -PATCHFILES += 0004-fix_clearenv.patch +#PATCHFILES += 0004-fix_clearenv.patch NOGITPATCH += 1 Modified: csw/mgar/pkg/samba/branches/samba4/checksums =================================================================== --- csw/mgar/pkg/samba/branches/samba4/checksums 2016-06-27 07:58:30 UTC (rev 25789) +++ csw/mgar/pkg/samba/branches/samba4/checksums 2016-06-27 10:03:13 UTC (rev 25790) @@ -1 +1 @@ -83b1af8a9899ab4de99f155fc42c83dd samba-4.4.3.tar.gz +b16919d43dfb5dd8c8ccf0af3a8e115b samba-4.4.4.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Tue Jun 28 13:30:25 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Tue, 28 Jun 2016 11:30:25 +0000 Subject: SF.net SVN: gar:[25791] csw/mgar/pkg/nrpe/trunk Message-ID: <3rf3X94B0CzyT@mail.opencsw.org> Revision: 25791 http://sourceforge.net/p/gar/code/25791 Author: dmichelsen Date: 2016-06-28 11:30:24 +0000 (Tue, 28 Jun 2016) Log Message: ----------- nrpe/trunk: Re-add nagios-user Modified Paths: -------------- csw/mgar/pkg/nrpe/trunk/Makefile Added Paths: ----------- csw/mgar/pkg/nrpe/trunk/files/cswusergroup Modified: csw/mgar/pkg/nrpe/trunk/Makefile =================================================================== --- csw/mgar/pkg/nrpe/trunk/Makefile 2016-06-27 10:03:13 UTC (rev 25790) +++ csw/mgar/pkg/nrpe/trunk/Makefile 2016-06-28 11:30:24 UTC (rev 25791) @@ -2,7 +2,6 @@ VERSION = 2.15 GARTYPE = v2 - define BLURB NRPE allows you to remotely execute Nagios plugins on other Linux/Unix machines. This allows you to monitor remote machine metrics (disk usage, CPU load, etc.). @@ -14,6 +13,7 @@ MASTER_SITES = $(SF_MIRRORS) DISTFILES += $(DISTNAME).tar.gz DISTFILES += cswnrpe +DISTFILES += cswusergroup DISTFILES += README_8k PATCHFILES_isa-sparcv8plus-size-8k += 0002-changing-packetbuffer-length-to-8k.patch @@ -34,7 +34,7 @@ PACKAGING_PLATFORMS += solaris11-sparc solaris11-i386 PRESERVECONF += $(sysconfdir)/nrpe.cfg -USERGROUP += $(sysconfdir)/pkg/CSWnrpe/cswusergroup +USERGROUP = $(sysconfdir)/pkg/CSWnrpe/cswusergroup INITSMF += $(sysconfdir)/init.d/cswnrpe PACKAGES += CSWnrpe @@ -106,6 +106,7 @@ ginstall -m 644 $(WORKSRC)/README.SSL $(DESTDIR)$(DOCDIR) ginstall -m 644 $(WORKSRC)/SECURITY $(DESTDIR)$(DOCDIR) ginstall -D -m 755 $(WORKDIR)/cswnrpe $(DESTDIR)$(sysconfdir)/init.d/cswnrpe + ginstall -D -m 644 $(WORKDIR)/cswusergroup $(DESTDIR)$(USERGROUP) @$(MAKECOOKIE) merge-copy-nrpe-only: Copied: csw/mgar/pkg/nrpe/trunk/files/cswusergroup (from rev 25632, csw/mgar/pkg/nrpe/trunk/files/cswusergroup) =================================================================== --- csw/mgar/pkg/nrpe/trunk/files/cswusergroup (rev 0) +++ csw/mgar/pkg/nrpe/trunk/files/cswusergroup 2016-06-28 11:30:24 UTC (rev 25791) @@ -0,0 +1 @@ +nagios:nagios:Nagios user:/opt/csw/nagios:/bin/false:m:r This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From dmichelsen at users.sourceforge.net Wed Jun 29 14:01:07 2016 From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net) Date: Wed, 29 Jun 2016 12:01:07 +0000 Subject: SF.net SVN: gar:[25792] csw/mgar/pkg/squid/trunk Message-ID: <3rfh9D25RJz1Mn@mail.opencsw.org> Revision: 25792 http://sourceforge.net/p/gar/code/25792 Author: dmichelsen Date: 2016-06-29 12:01:05 +0000 (Wed, 29 Jun 2016) Log Message: ----------- squid/trunk: Move to real SM manifest Modified Paths: -------------- csw/mgar/pkg/squid/trunk/Makefile csw/mgar/pkg/squid/trunk/files/cswsquid.xml Property Changed: ---------------- csw/mgar/pkg/squid/trunk/files/cswsquid.xml Modified: csw/mgar/pkg/squid/trunk/Makefile =================================================================== --- csw/mgar/pkg/squid/trunk/Makefile 2016-06-28 11:30:24 UTC (rev 25791) +++ csw/mgar/pkg/squid/trunk/Makefile 2016-06-29 12:01:05 UTC (rev 25792) @@ -16,7 +16,11 @@ V12 = $(shell echo $(VERSION) | cut -d. -f1,2) MASTER_SITES = http://www.squid-cache.org/Versions/v$(V1)/$(V12)/ DISTFILES += $(DISTNAME).tar.bz2 +DISTFILES += CSWsquid3.cswusergroup +DISTFILES += cswsquid.xml +PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386 + PACKAGES = CSWsquid RUNTIME_DEP_PKGS_CSWsquid += CSWliblber2-4-2 RUNTIME_DEP_PKGS_CSWsquid += CSWlibldap2-4-2 @@ -33,18 +37,19 @@ RUNTIME_DEP_PKGS_CSWsquid += CSWlibnettle6 RUNTIME_DEP_PKGS_CSWsquid += CSWlibgnutls28 +# This is the DTD for SMF +CHECKPKG_OVERRIDES_CSWsquid += file-with-bad-content|/usr/share|root/var/opt/csw/svc/manifest/cswsquid.xml + # Linker anomaly CHECKPKG_OVERRIDES_CSWsquid += surplus-dependency|CSWlibintl8 -PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386 +#INITSMF += /etc/opt/csw/init.d/cswsquid +PRESERVECONF += /etc/opt/csw/squid/cachemgr.conf +PRESERVECONF += /etc/opt/csw/squid/squid.conf +PRESERVECONF += /etc/opt/csw/squid/mime.conf +PRESERVECONF += /etc/opt/csw/squid/msntauth.conf +PRESERVECONF += /etc/opt/csw/squid/errorpage.css -INITSMF += /etc/opt/csw/init.d/csw$(NAME) -PRESERVECONF += /etc/opt/csw/$(NAME)/cachemgr.conf -PRESERVECONF += /etc/opt/csw/$(NAME)/squid.conf -PRESERVECONF += /etc/opt/csw/$(NAME)/mime.conf -PRESERVECONF += /etc/opt/csw/$(NAME)/msntauth.conf -PRESERVECONF += /etc/opt/csw/$(NAME)/errorpage.css - MIGRATE_SOURCE_DIR = /opt/csw/etc MIGRATE_DEST_DIR = /etc/opt/csw/$(NAME) MIGRATE_FILES += cachemgr.conf @@ -124,7 +129,7 @@ EXTRA_CPPFLAGS += -DDEFAULT_SQUID_CONF=\\\"$(sysconfdir)/$(NAME)/squid.conf\\\" # /opt/csw/bdb48/include/db_185.h needs slightly different type names than from sys/types.h -EXTRA_CPPFLAGS += -Du_int32_t=uint32_t -Du_int16_t=uint16_t +#EXTRA_CPPFLAGS += -Du_int32_t=uint32_t -Du_int16_t=uint16_t # Expose deprecated krb5 API as krb5_get_in_tkt_with_keytab is used in helpers/external_acl/kerberos_ldap_group/support_krb5.cc # Add #define until this is fixed: @@ -141,27 +146,31 @@ GARCOMPILER = GNU -EXTRA_LIB += $(prefix)/bdb48/lib -EXTRA_INC += $(prefix)/bdb48/include +#EXTRA_LIB += $(prefix)/bdb48/lib +#EXTRA_INC += $(prefix)/bdb48/include # The testsuite requires cppunit TEST_SCRIPTS = -USERGROUP = /etc/opt/csw/pkg/CSW$(NAME)/cswusergroup +USERGROUP = /etc/opt/csw/pkg/CSWsquid/cswusergroup -PROTOTYPE_MODIFIERS = varuser +PROTOTYPE_MODIFIERS += varuser PROTOTYPE_FILES_varuser = \/var\/opt\/csw\/$(NAME)\/cache PROTOTYPE_FILES_varuser += \/var\/opt\/csw\/$(NAME)\/logs PROTOTYPE_CLASS_varuser = ugfiles -PROTOTYPE_USER_varuser = $(NAME) -PROTOTYPE_GROUP_varuser = $(NAME) +PROTOTYPE_USER_varuser = squid +PROTOTYPE_GROUP_varuser = squid +PROTOTYPE_MODIFIERS += smf +PROTOTYPE_FILES_smf += /var/opt/csw/svc/manifest/cswsquid.xml +PROTOTYPE_CLASS_smf = manifest + REINPLACE_USRLOCAL = $(mandir)/man8/squid_session.8 REINPLACE_WHEN_USRLOCAL = postinstall REINPLACEMENTS += conf REINPLACE_MATCH_conf = /usr/local/squid/etc/ -REINPLACE_WITH_conf = $(sysconfdir)/$(NAME)/ +REINPLACE_WITH_conf = $(sysconfdir)/squid/ REINPLACE_FILES_conf += helpers/basic_auth/MSNT/msntauth.conf.default EXTRA_MERGE_EXCLUDE_FILES += .*\.default @@ -174,10 +183,10 @@ post-install-modulated: ginstall -d $(DESTDIR)/etc/opt/csw/init.d - ginstall -d $(DESTDIR)/var/opt/csw/$(NAME)/logs - ginstall -d $(DESTDIR)/var/opt/csw/$(NAME)/cache - ginstall -d $(DESTDIR)/etc/opt/csw/pkg/CSW$(NAME) - ginstall -m 755 $(FILEDIR)/cswsquid3 $(DESTDIR)/etc/opt/csw/init.d/csw$(NAME) - ginstall -m 644 $(FILEDIR)/CSWsquid3.cswusergroup $(DESTDIR)/etc/opt/csw/pkg/CSW$(NAME)/cswusergroup + ginstall -d $(DESTDIR)/var/opt/csw/squid/logs + ginstall -d $(DESTDIR)/var/opt/csw/squid/cache + #ginstall -m 755 $(FILEDIR)/cswsquid3 $(DESTDIR)/etc/opt/csw/init.d/csw$(NAME) + ginstall -D -m 0644 $(WORKDIR)/CSWsquid3.cswusergroup $(DESTDIR)/etc/opt/csw/pkg/CSWsquid/cswusergroup + ginstall -D -m 0644 $(WORKDIR)/cswsquid.xml $(DESTDIR)/var/opt/csw/svc/manifest/cswsquid.xml @$(MAKECOOKIE) Modified: csw/mgar/pkg/squid/trunk/files/cswsquid.xml =================================================================== (Binary files differ) Index: csw/mgar/pkg/squid/trunk/files/cswsquid.xml =================================================================== --- csw/mgar/pkg/squid/trunk/files/cswsquid.xml 2016-06-28 11:30:24 UTC (rev 25791) +++ csw/mgar/pkg/squid/trunk/files/cswsquid.xml 2016-06-29 12:01:05 UTC (rev 25792) Property changes on: csw/mgar/pkg/squid/trunk/files/cswsquid.xml ___________________________________________________________________ Modified: svn:mime-type ## -1 +1 ## -application/xml +text/plain \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Wed Jun 29 15:09:12 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Wed, 29 Jun 2016 13:09:12 +0000 Subject: SF.net SVN: gar:[25793] csw/mgar/pkg/openssl1/trunk Message-ID: <3rfjgb6sqrz1QT@mail.opencsw.org> Revision: 25793 http://sourceforge.net/p/gar/code/25793 Author: janholzh Date: 2016-06-29 13:09:11 +0000 (Wed, 29 Jun 2016) Log Message: ----------- openssl1/trunk: add new patch from oracle for HW crypto Modified Paths: -------------- csw/mgar/pkg/openssl1/trunk/Makefile Added Paths: ----------- csw/mgar/pkg/openssl1/trunk/files/049-use-srln.patch Modified: csw/mgar/pkg/openssl1/trunk/Makefile =================================================================== --- csw/mgar/pkg/openssl1/trunk/Makefile 2016-06-29 12:01:05 UTC (rev 25792) +++ csw/mgar/pkg/openssl1/trunk/Makefile 2016-06-29 13:09:11 UTC (rev 25793) @@ -138,6 +138,7 @@ PATCHFILES += 040-uninitialized_ctx.patch PATCHFILES += 043-x86_wrong_platform.patch PATCHFILES += 044-suppress_v8plus_abi_warnings.patch +PATCHFILES += 049-use-srln.patch #PATCHFILES += 046-weak-ciphers.patch LICENSE = LICENSE Added: csw/mgar/pkg/openssl1/trunk/files/049-use-srln.patch =================================================================== --- csw/mgar/pkg/openssl1/trunk/files/049-use-srln.patch (rev 0) +++ csw/mgar/pkg/openssl1/trunk/files/049-use-srln.patch 2016-06-29 13:09:11 UTC (rev 25793) @@ -0,0 +1,115 @@ +# This patch fixes the invalid use of 64-bit instruction (srlx) by 32-bit +# applications. This was developed in house and submitted to the upstream: +# https://github.com/openssl/openssl/pull/1259 +--- a/crypto/des/asm/dest4-sparcv9.pl 2016-05-03 06:44:42.000000000 -0700 ++++ b/crypto/des/asm/dest4-sparcv9.pl 2016-06-23 09:34:51.212075615 -0700 +@@ -110,7 +111,7 @@ + and $out, 7, %g4 + alignaddrl $out, %g0, $out + srl $omask, %g4, $omask +- srlx $len, 3, $len ++ srln $len, 3, $len + movrz %g4, 0, $omask + prefetch [$out], 22 + +@@ -211,7 +212,7 @@ + and $out, 7, %g4 + alignaddrl $out, %g0, $out + srl $omask, %g4, $omask +- srlx $len, 3, $len ++ srln $len, 3, $len + movrz %g4, 0, $omask + prefetch [$out], 22 + +@@ -319,7 +320,7 @@ + and $out, 7, %g4 + alignaddrl $out, %g0, $out + srl $omask, %g4, $omask +- srlx $len, 3, $len ++ srln $len, 3, $len + movrz %g4, 0, $omask + prefetch [$out], 22 + +@@ -471,7 +472,7 @@ + and $out, 7, %g4 + alignaddrl $out, %g0, $out + srl $omask, %g4, $omask +- srlx $len, 3, $len ++ srln $len, 3, $len + movrz %g4, 0, $omask + prefetch [$out], 22 + +--- a/crypto/perlasm/sparcv9_modes.pl 2016-05-03 06:44:42.000000000 -0700 ++++ b/crypto/perlasm/sparcv9_modes.pl 2016-06-23 09:34:10.707332695 -0700 +@@ -75,7 +75,7 @@ + srl $omask, $ooff, $omask + + alignaddrl $out, %g0, $out +- srlx $len, 4, $len ++ srln $len, 4, $len + prefetch [$out], 22 + + .L${bits}_cbc_enc_loop: +@@ -185,7 +185,7 @@ + and $blk_init, 63, $blk_init ! tail + sub $len, $blk_init, $len + add $blk_init, 15, $blk_init ! round up to 16n +- srlx $len, 4, $len ++ srln $len, 4, $len + srl $blk_init, 4, $blk_init + + .L${bits}_cbc_enc_blk_loop: +@@ -292,7 +292,7 @@ + srl $omask, $ooff, $omask + + andcc $len, 16, %g0 ! is number of blocks even? +- srlx $len, 4, $len ++ srln $len, 4, $len + alignaddrl $out, %g0, $out + bz %icc, .L${bits}_cbc_dec_loop2x + prefetch [$out], 22 +@@ -517,7 +517,7 @@ + and $blk_init, 63, $blk_init ! tail + sub $len, $blk_init, $len + add $blk_init, 15, $blk_init ! round up to 16n +- srlx $len, 4, $len ++ srln $len, 4, $len + srl $blk_init, 4, $blk_init + sub $len, 1, $len + add $blk_init, 1, $blk_init +@@ -648,7 +648,7 @@ + andcc $len, 16, %g0 ! is number of blocks even? + alignaddrl $out, %g0, $out + bz %icc, .L${bits}_ctr32_loop2x +- srlx $len, 4, $len ++ srln $len, 4, $len + .L${bits}_ctr32_loop: + ldx [$inp + 0], %o0 + brz,pt $ileft, 4f +@@ -819,7 +819,7 @@ + and $blk_init, 63, $blk_init ! tail + sub $len, $blk_init, $len + add $blk_init, 15, $blk_init ! round up to 16n +- srlx $len, 4, $len ++ srln $len, 4, $len + srl $blk_init, 4, $blk_init + sub $len, 1, $len + add $blk_init, 1, $blk_init +@@ -966,7 +966,7 @@ + $code.=<<___; + alignaddrl $out, %g0, $out + bz %icc, .L${bits}_xts_${dir}loop2x +- srlx $len, 4, $len ++ srln $len, 4, $len + .L${bits}_xts_${dir}loop: + ldx [$inp + 0], %o0 + brz,pt $ileft, 4f +@@ -1172,7 +1172,7 @@ + and $blk_init, 63, $blk_init ! tail + sub $len, $blk_init, $len + add $blk_init, 15, $blk_init ! round up to 16n +- srlx $len, 4, $len ++ srln $len, 4, $len + srl $blk_init, 4, $blk_init + sub $len, 1, $len + add $blk_init, 1, $blk_init This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From janholzh at users.sourceforge.net Wed Jun 29 15:48:26 2016 From: janholzh at users.sourceforge.net (janholzh at users.sourceforge.net) Date: Wed, 29 Jun 2016 13:48:26 +0000 Subject: SF.net SVN: gar:[25794] csw/mgar/pkg/samba/branches/samba4 Message-ID: <3rfkXt52D6z1T2@mail.opencsw.org> Revision: 25794 http://sourceforge.net/p/gar/code/25794 Author: janholzh Date: 2016-06-29 13:48:26 +0000 (Wed, 29 Jun 2016) Log Message: ----------- samba/branches/samba4: add patch to make zfs as sysvol work, still needs adjustment after provision in smb.conf Modified Paths: -------------- csw/mgar/pkg/samba/branches/samba4/Makefile Added Paths: ----------- csw/mgar/pkg/samba/branches/samba4/files/0004-Add-zfs-to-provision-support.patch Modified: csw/mgar/pkg/samba/branches/samba4/Makefile =================================================================== --- csw/mgar/pkg/samba/branches/samba4/Makefile 2016-06-29 13:09:11 UTC (rev 25793) +++ csw/mgar/pkg/samba/branches/samba4/Makefile 2016-06-29 13:48:26 UTC (rev 25794) @@ -27,7 +27,7 @@ LINKER_MAPS_5.10 ?= -M "$(abspath $(WORKDIR)/map.solaris)" LINKER_MAPS = $(LINKER_MAPS_$(GAROSREL)) -BUILD_DEP_PKGS += CSWlibtalloc-dev +#BUILD_DEP_PKGS += CSWlibtalloc-dev BUILD_DEP_PKGS += CSWlibpopt-dev BUILD_DEP_PKGS += CSWlibgamin-dev BUILD_DEP_PKGS += CSWlibintl8 @@ -75,6 +75,10 @@ #from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208767 #PATCHFILES += 0004-fix_clearenv.patch +# Add a patch to be able to do s3fs provison of AD. You need to edit smb.conf after that. +# http://markmail.org/message/n3iqsplcermy6ast#query:+page:1+mid:uu2drll22g2eo5jl+state:results +PATCHFILES += 0004-Add-zfs-to-provision-support.patch + NOGITPATCH += 1 # Filesystem layout @@ -89,10 +93,13 @@ SMB_VFS_MODULES_B = vfs_recycle,vfs_netatalk,vfs_readonly,vfs_cap,vfs_expand_msdfs,vfs_shadow_copy,vfs_shadow_copy2 #Solaris_acl needs to be linked static #SMB_VFS_MODULES_C = vfs_xattr_tdb,vfs_posix_eadb,vfs_solarisacl,vfs_zfsacl,vfs_catia -SMB_VFS_MODULES_C = vfs_xattr_tdb,vfs_posix_eadb,vfs_zfsacl,vfs_catia -SMB_VFS_MODULES_D = vfs_streams_xattr,vfs_streams_depot,vfs_cacheprime,vfs_prealloc,vfs_commit,vfs_notify_fam +#SMB_VFS_MODULES_C = vfs_xattr_tdb,vfs_posix_eadb,vfs_zfsacl,vfs_catia +SMB_VFS_MODULES_C = vfs_posix_eadb,vfs_zfsacl,vfs_catia +#SMB_VFS_MODULES_D = vfs_streams_xattr,vfs_streams_depot,vfs_cacheprime,vfs_prealloc,vfs_commit,vfs_notify_fam +SMB_VFS_MODULES_D = vfs_streams_depot,vfs_cacheprime,vfs_prealloc,vfs_commit,vfs_notify_fam SMB_VFS_MODULES_E = vfs_readahead,vfs_aio_pthread,vfs_aio_posix,vfs_preopen,vfs_syncops -SMB_VFS_MODULES_F = vfs_acl_xattr,vfs_acl_tdb,vfs_smb_traffic_analyzer,vfs_dirsort,vfs_scannedonly,vfs_crossrename +#SMB_VFS_MODULES_F = vfs_acl_xattr,vfs_acl_tdb,vfs_smb_traffic_analyzer,vfs_dirsort,vfs_scannedonly,vfs_crossrename +SMB_VFS_MODULES_F = vfs_acl_tdb,vfs_smb_traffic_analyzer,vfs_dirsort,vfs_scannedonly,vfs_crossrename SMB_VFS_MODULES_G = vfs_time_audit,vfs_media_harmony,vfs_dfs_samba4 SMB_VFS_MODULES = $(SMB_VFS_MODULES_A),$(SMB_VFS_MODULES_B),$(SMB_VFS_MODULES_C),$(SMB_VFS_MODULES_D),$(SMB_VFS_MODULES_E),$(SMB_VFS_MODULES_F),$(SMB_VFS_MODULES_G) SMB_IDMAP_MODULES = idmap_ad,idmap_adex,idmap_autorid,idmap_hash,idmap_ldap,idmap_nss,idmap_rid,idmap_tdb,idmap_tdb2 Added: csw/mgar/pkg/samba/branches/samba4/files/0004-Add-zfs-to-provision-support.patch =================================================================== --- csw/mgar/pkg/samba/branches/samba4/files/0004-Add-zfs-to-provision-support.patch (rev 0) +++ csw/mgar/pkg/samba/branches/samba4/files/0004-Add-zfs-to-provision-support.patch 2016-06-29 13:48:26 UTC (rev 25794) @@ -0,0 +1,70 @@ +From a9dafdbbf5bc5aca2982f2d7a791c47ecc6f7259 Mon Sep 17 00:00:00 2001 +From: Jan Holzhueter +Date: Wed, 29 Jun 2016 13:36:36 +0200 +Subject: [PATCH] Add zfs to provision support + +--- + python/samba/provision/__init__.py | 6 ++++-- + source3/smbd/pysmbd.c | 15 +++++++++++++++ + 2 files changed, 19 insertions(+), 2 deletions(-) + +diff --git a/python/samba/provision/__init__.py b/python/samba/provision/__init__.py +index b36a7d2..849394b 100644 +--- a/python/samba/provision/__init__.py ++++ b/python/samba/provision/__init__.py +@@ -1545,7 +1545,8 @@ def setsysvolacl(samdb, netlogon, sysvol, uid, gid, domainsid, dnsdomain, + file = tempfile.NamedTemporaryFile(dir=os.path.abspath(sysvol)) + try: + try: +- smbd.set_simple_acl(file.name, 0755, gid) ++ if not smbd.have_zfs_acls(): ++ smbd.set_simple_acl(file.name, 0755, gid) + except OSError: + if not smbd.have_posix_acls(): + # This clue is only strictly correct for RPM and +@@ -1557,7 +1558,8 @@ def setsysvolacl(samdb, netlogon, sysvol, uid, gid, domainsid, dnsdomain, + raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. " + "Try the mounting the filesystem with the 'acl' option.") + try: +- smbd.chown(file.name, uid, gid) ++ if not smbd.have_zfs_acls(): ++ smbd.chown(file.name, uid, gid) + except OSError: + raise ProvisioningError("Unable to chown a file on your filesystem. " + "You may not be running provision as root.") +diff --git a/source3/smbd/pysmbd.c b/source3/smbd/pysmbd.c +index df8d079..5e648b4 100644 +--- a/source3/smbd/pysmbd.c ++++ b/source3/smbd/pysmbd.c +@@ -450,6 +450,18 @@ static PyObject *py_smbd_have_posix_acls(PyObject *self) + #endif + } + ++/* check whether ZFS acl support has been added ++ */ ++static PyObject *py_smbd_have_zfs_acls(PyObject *self) ++{ ++#ifdef vfs_zfsacl_init ++ return PyBool_FromLong(true); ++#else ++ return PyBool_FromLong(false); ++#endif ++} ++ ++ + /* + set the NT ACL on a file + */ +@@ -627,6 +639,9 @@ static PyMethodDef py_smbd_methods[] = { + { "have_posix_acls", + (PyCFunction)py_smbd_have_posix_acls, METH_NOARGS, + NULL }, ++ { "have_zfs_acls", ++ (PyCFunction)py_smbd_have_zfs_acls, METH_NOARGS, ++ NULL }, + { "set_simple_acl", + (PyCFunction)py_smbd_set_simple_acl, METH_VARARGS|METH_KEYWORDS, + NULL }, +-- +2.4.0 + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.