[115007] trunk/dports/security/certsync

landonf at macports.org landonf at macports.org
Sat Dec 21 14:12:35 PST 2013


Revision: 115007
          https://trac.macports.org/changeset/115007
Author:   landonf at macports.org
Date:     2013-12-21 14:12:35 -0800 (Sat, 21 Dec 2013)
Log Message:
-----------
Use a custom launchd plist to handle on-demand launching of certsync.

By watching the target directories with WatchPaths, we can avoid keeping certsync memory resident entirely.
This also makes it easier to support Tiger, where FSEvents is not available.

Modified Paths:
--------------
    trunk/dports/security/certsync/Portfile
    trunk/dports/security/certsync/files/update-ca-certificates

Added Paths:
-----------
    trunk/dports/security/certsync/files/certsync.plist

Modified: trunk/dports/security/certsync/Portfile
===================================================================
--- trunk/dports/security/certsync/Portfile	2013-12-21 20:45:17 UTC (rev 115006)
+++ trunk/dports/security/certsync/Portfile	2013-12-21 22:12:35 UTC (rev 115007)
@@ -3,8 +3,7 @@
 PortSystem		1.0
 
 name			certsync
-version			1.0.5
-revision		1
+version			1.0.6
 categories		security
 conflicts		curl-ca-bundle
 maintainers		landonf openmaintainer
@@ -21,23 +20,24 @@
 
 extract.mkdir		yes
 post-extract {
-	xinstall -m 644 -W ${filespath} certsync.m update-ca-certificates ${worksrcpath}
+	xinstall -m 644 -W ${filespath} certsync.m certsync.plist update-ca-certificates ${worksrcpath}
 }
 
 post-patch {
-	reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/update-ca-certificates
+	reinplace "s|@PREFIX@|${prefix}|g" \
+		${worksrcpath}/update-ca-certificates \
+		${worksrcpath}/certsync.plist
+
+	reinplace "s|@LABEL@|${startupitem.uniquename}|g" ${worksrcpath}/certsync.plist
 }
 
 use_configure		no
 
 variant universal {}
 
-startupitem.create	yes
-startupitem.executable	${prefix}/bin/certsync -s -o ${prefix}/etc/openssl/cert.pem
-# trunk forward compatibility
-if {[info exists startupitem.autostart]} {
-	startupitem.autostart	yes
-}
+# We inject our own launchd plist to allow the use of WatchPaths
+startupitem.create	no
+startupitem.autostart	yes
 
 build {
 	system -W ${worksrcpath} "${configure.objc} \
@@ -51,8 +51,20 @@
 }
 
 destroot {
-	xinstall -m 755 -W ${worksrcpath} certsync update-ca-certificates ${destroot}${prefix}/bin
+	# Install the binaries
+	xinstall -m 755 -W ${worksrcpath} certsync ${destroot}${prefix}/libexec
+	xinstall -m 755 -W ${worksrcpath} update-ca-certificates ${destroot}${prefix}/bin
 
+	# Install our custom plist
+	set launchd_dir "${prefix}/etc/${startupitem.location}/${startupitem.uniquename}"
+	xinstall -m 755 -d ${destroot}/${launchd_dir}
+	xinstall -m 644 -W ${worksrcpath} certsync.plist  ${destroot}/${launchd_dir}/${startupitem.plist}
+
+	if {[getuid] == 0 && ${startupitem.install} != "no"} {
+		file mkdir "${destroot}/Library/${startupitem.location}"
+		ln -sf "${launchd_dir}/${startupitem.plist}" "${destroot}/Library/${startupitem.location}"
+	}
+
 	# Provide backwards compatibility with curl-ca-bundle
 	xinstall -d "${destroot}${prefix}/share/curl"
 	ln -s ${prefix}/etc/openssl/cert.pem ${destroot}${prefix}/share/curl/curl-ca-bundle.crt

Added: trunk/dports/security/certsync/files/certsync.plist
===================================================================
(Binary files differ)


Property changes on: trunk/dports/security/certsync/files/certsync.plist
___________________________________________________________________
Added: svn:mime-type
   + application/xml

Modified: trunk/dports/security/certsync/files/update-ca-certificates
===================================================================
--- trunk/dports/security/certsync/files/update-ca-certificates	2013-12-21 20:45:17 UTC (rev 115006)
+++ trunk/dports/security/certsync/files/update-ca-certificates	2013-12-21 22:12:35 UTC (rev 115007)
@@ -1,3 +1,3 @@
 #!/bin/sh
 mkdir -p "@PREFIX@/etc/openssl"
-exec "@PREFIX@/bin/certsync" -o "@PREFIX@/etc/openssl/cert.pem"
+exec "@PREFIX@/libexec/certsync" -o "@PREFIX@/etc/openssl/cert.pem"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20131221/9f92519a/attachment.html>


More information about the macports-changes mailing list