You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
calendar-contacts-server: Fix build; Migrate to postgresql17; Deprecate APNS
This commit is contained in:
committed by
Renee Otten
parent
8ba5ff5aef
commit
1880595227
@@ -5,14 +5,12 @@ PortGroup conflicts_build 1.0
|
||||
PortGroup github 1.0
|
||||
|
||||
github.setup apple ccs-calendarserver 13c706b985fb728b9aab42dc0fef85aae21921c3
|
||||
# Change github.tarball_from to 'releases' or 'archive' next update
|
||||
github.tarball_from tarball
|
||||
|
||||
name calendar-contacts-server
|
||||
# version from https://github.com/apple/ccs-calendarserver/blob/master/setup.py
|
||||
# with date of git commit appended
|
||||
version 9.3.20200212
|
||||
revision 3
|
||||
revision 4
|
||||
categories net mail
|
||||
platforms {darwin any}
|
||||
supported_archs noarch
|
||||
@@ -23,7 +21,7 @@ description Apple Calendar and Contacts Server configuration
|
||||
|
||||
long_description ccs-calendarserver is a standards-compliant server \
|
||||
implementing the CalDAV and CardDAV protocols, \
|
||||
including iMIP and APNS. It provides a shared \
|
||||
including iMIP. It provides a shared \
|
||||
location on the network allowing multiple users to \
|
||||
store and edit calendaring and contact \
|
||||
information. This port provides a basic, working, \
|
||||
@@ -37,25 +35,33 @@ checksums rmd160 5fd33bb11370e40d3fb8e6550963ec3587156d24 \
|
||||
sha256 e08d8d1a911d408dfd2f9716a1a02d77801b0d28401186d868d7ca3af198f4c6 \
|
||||
size 3713620
|
||||
|
||||
# diff -NaurdwB ./calendar-contacts-server-orig ./calendar-contacts-server-new | sed -E -e 's/\.\/calendar-contacts-server-(orig|new)/\./g' | sed -E -e 's|/opt/local|@PREFIX@|g' > ~/Downloads/patch-build_python_venv.diff
|
||||
patchfiles-append patch-build_python_venv.diff
|
||||
|
||||
post-patch {
|
||||
reinplace -q "s|@PREFIX@|${prefix}|g" ${worksrcpath}/bin/_build.sh
|
||||
}
|
||||
|
||||
# use these to specify python versions, python2 required
|
||||
# use ${prefix}/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/python-1.0.tcl
|
||||
set python2_version 27
|
||||
set python2_branch [string index ${python2_version} 0].[string range ${python2_version} 1 end]
|
||||
|
||||
# use these to specify PostgreSQL versions, postgresql9 required
|
||||
set postgresql9_version 96
|
||||
set postgresql9_branch [string index ${postgresql9_version} 0].[string range ${postgresql9_version} 1 end]
|
||||
# use these to specify PostgreSQL versions, >=postgresql17 required
|
||||
set postgresql_previous_version 96
|
||||
set postgresql_version 17
|
||||
|
||||
depends_build-append \
|
||||
port:py${python2_version}-setuptools
|
||||
|
||||
depends_lib-append port:cyrus-sasl2 \
|
||||
depends_lib-append port:curl-ca-bundle \
|
||||
port:cyrus-sasl2 \
|
||||
port:libffi \
|
||||
port:mail-server \
|
||||
port:memcached \
|
||||
port:nginx \
|
||||
port:openssl \
|
||||
port:postgresql${postgresql9_version}-server \
|
||||
port:postgresql${postgresql_version}-server \
|
||||
port:python${python2_version} \
|
||||
port:py${python2_version}-asn1 \
|
||||
port:py${python2_version}-asn1-modules \
|
||||
@@ -63,6 +69,7 @@ depends_lib-append port:cyrus-sasl2 \
|
||||
port:py${python2_version}-constantly \
|
||||
port:py${python2_version}-cryptography \
|
||||
port:py${python2_version}-dateutil \
|
||||
port:py${python2_version}-docutils \
|
||||
port:py${python2_version}-enum34 \
|
||||
port:py${python2_version}-incremental \
|
||||
port:py${python2_version}-ldap \
|
||||
@@ -77,7 +84,8 @@ depends_lib-append port:cyrus-sasl2 \
|
||||
port:py${python2_version}-virtualenv \
|
||||
port:py${python2_version}-zopeinterface \
|
||||
|
||||
depends_run-append port:pip_select \
|
||||
depends_run-append port:curl \
|
||||
port:pip_select \
|
||||
port:postgresql_select
|
||||
|
||||
# this conflicts with the requirement sqlparse==0.2.0
|
||||
@@ -85,8 +93,9 @@ conflicts_build-append \
|
||||
py${python2_version}-sqlparse
|
||||
|
||||
set calendarserverUser calendarserver
|
||||
set calendarserverGroup _calendar
|
||||
add_users ${calendarserverUser} \
|
||||
group=_calendar \
|
||||
group=${calendarserverGroup} \
|
||||
home=${prefix}/var/${calendarserverUser}
|
||||
|
||||
set ccsname ${github.project}
|
||||
@@ -112,10 +121,9 @@ proc correct_horse_battery_staple {} {
|
||||
# * Keep personal data **outside** of ${prefix}, but provide symlinks
|
||||
|
||||
post-extract {
|
||||
# Use postgresql96
|
||||
# ccs-calendarserver's postgres code points to `PSQL = "../postgresql/_root/bin/psql"`
|
||||
# https://github.com/apple/ccs-calendarserver/blob/master/calendarserver/tools/checkdatabaseschema.py
|
||||
reinplace "s|\"../postgresql/_root/bin/psql\"|\"${prefix}/lib/postgresql${postgresql9_version}/bin/psql\"|g" \
|
||||
reinplace "s|\"../postgresql/_root/bin/psql\"|\"${prefix}/lib/postgresql${postgresql_version}/bin/psql\"|g" \
|
||||
${worksrcpath}/calendarserver/tools/checkdatabaseschema.py
|
||||
}
|
||||
|
||||
@@ -164,7 +172,7 @@ destroot {
|
||||
Library/CalendarServer/postgresql
|
||||
Library/CalendarServer/run
|
||||
} {
|
||||
xinstall -m 0750 -o ${calendarserverUser} -g _calendar -d \
|
||||
xinstall -m 0750 -o ${calendarserverUser} -g ${calendarserverGroup} -d \
|
||||
${destroot}${calendarserverdir}/${d}
|
||||
destroot.keepdirs-append \
|
||||
${destroot}${calendarserverdir}/${d}
|
||||
@@ -180,7 +188,7 @@ destroot {
|
||||
caldavd
|
||||
caldavd_requests
|
||||
} {
|
||||
xinstall -m 0770 -o ${calendarserverUser} -g _calendar -d \
|
||||
xinstall -m 0770 -o ${calendarserverUser} -g ${calendarserverGroup} -d \
|
||||
${destroot}${calendarserverdir}/Library/CalendarServer/run/${d}
|
||||
destroot.keepdirs-append \
|
||||
${destroot}${calendarserverdir}/Library/CalendarServer/run/${d}
|
||||
@@ -197,20 +205,20 @@ destroot {
|
||||
close ${dot_profile_fd}
|
||||
|
||||
# calenderserver configuration
|
||||
xinstall -m 0600 -o ${calendarserverUser} -g _calendar \
|
||||
xinstall -m 0600 -o ${calendarserverUser} -g ${calendarserverGroup} \
|
||||
${filespath}/calendarserver.plist \
|
||||
${destroot}${calendarserverdir}/Library/CalendarServer/Config/calendarserver.plist.macports
|
||||
|
||||
# Directory Service
|
||||
xinstall -m 0660 -o ${calendarserverUser} -g _calendar \
|
||||
xinstall -m 0660 -o ${calendarserverUser} -g ${calendarserverGroup} \
|
||||
${worksrcpath}/conf/test/accounts.xml \
|
||||
${destroot}${calendarserverdir}/Library/CalendarServer/auth/accounts.xml.macports
|
||||
|
||||
# nginx reverse proxy
|
||||
xinstall -m 0640 -o ${calendarserverUser} -g _calendar \
|
||||
xinstall -m 0640 -o ${calendarserverUser} -g ${calendarserverGroup} \
|
||||
${filespath}/nginx.conf \
|
||||
${destroot}${calendarserverdir}/Library/CalendarServer/etc/nginx.conf.macports
|
||||
xinstall -m 0644 -o ${calendarserverUser} -g _calendar \
|
||||
xinstall -m 0644 -o ${calendarserverUser} -g ${calendarserverGroup} \
|
||||
${filespath}/default.html \
|
||||
${destroot}${calendarserverdir}/Library/CalendarServer/etc/nginx_root
|
||||
|
||||
@@ -265,18 +273,18 @@ post-activate {
|
||||
# personal data outside of ${prefix}
|
||||
if { ![file exists \
|
||||
/private/var/calendarserver/Library/CalendarServer] } {
|
||||
xinstall -o ${calendarserverUser} -g _calendar -d \
|
||||
xinstall -o ${calendarserverUser} -g ${calendarserverGroup} -d \
|
||||
/private/var/calendarserver/Library/CalendarServer
|
||||
}
|
||||
if { ![file exists \
|
||||
/private/var/calendarserver/Library/CalendarServer/Data] } {
|
||||
xinstall -m 0700 -o ${calendarserverUser} -g _calendar -d \
|
||||
xinstall -m 0700 -o ${calendarserverUser} -g ${calendarserverGroup} -d \
|
||||
/private/var/calendarserver/Library/CalendarServer/Data
|
||||
}
|
||||
|
||||
# package/install calendarserver binaries
|
||||
system -W ${worksrcpath} \
|
||||
"sh <<PACKAGE_CALENDARSERVER
|
||||
"sh <<PACKAGE${CALENDARSERVERGROUP}SERVER
|
||||
# Don't use SecureTransport, prefer MacPorts Python binaries and libraries
|
||||
export USE_OPENSSL=1
|
||||
export CPPFLAGS='${configure.cppflags}'
|
||||
@@ -285,7 +293,7 @@ post-activate {
|
||||
export PATH='${workpath}/bin:${prefix}/bin:/usr/bin:/bin:/usr/sbin:/sbin:$env(PATH)'
|
||||
./bin/package \
|
||||
${calendarserverpackage}
|
||||
PACKAGE_CALENDARSERVER
|
||||
PACKAGE${CALENDARSERVERGROUP}SERVER
|
||||
"
|
||||
|
||||
# use network settings for installed example configuration
|
||||
@@ -400,7 +408,7 @@ PACKAGE_CALENDARSERVER
|
||||
"s|@CALENDARSERVERUSER@|${calendarserverUser}|g" \
|
||||
"s|@CALENDARSERVERDIR@|${calendarserverdir}|g" \
|
||||
"s|@TLS_CERTIFICATE_NAME@|${tls_certificate_name}|g" \
|
||||
"s|@POSTGRESQL9_VERSION@|${postgresql9_version}|g" \
|
||||
"s|@POSTGRESQL_VERSION@|${postgresql_version}|g" \
|
||||
] {
|
||||
reinplace -q ${cmd} ${f}
|
||||
}
|
||||
@@ -427,7 +435,7 @@ PACKAGE_CALENDARSERVER
|
||||
org.macports.calendarserver.plist"
|
||||
system -W \
|
||||
${prefix}/etc/${startupitem.location}/org.macports.calendarserver \
|
||||
"/usr/bin/plutil -insert GroupName -string _calendar \
|
||||
"/usr/bin/plutil -insert GroupName -string ${calendarserverGroup} \
|
||||
org.macports.calendarserver.plist"
|
||||
system -W \
|
||||
${prefix}/etc/${startupitem.location}/org.macports.calendarserver \
|
||||
@@ -475,7 +483,7 @@ PACKAGE_CALENDARSERVER
|
||||
"s|<string>${calendarserverpackage}/bin/caldavd</string>$|&\\
|
||||
\t\t<!--\\
|
||||
\t\t<string>-u</string> <string>calendarserver</string>\\
|
||||
\t\t<string>-g</string> <string>_calendar</string>\\
|
||||
\t\t<string>-g</string> <string>${calendarserverGroup}</string>\\
|
||||
\t\t -->\\
|
||||
\t\t<string>-X</string>\\
|
||||
\t\t<string>-R</string>\\
|
||||
@@ -511,7 +519,7 @@ PACKAGE_CALENDARSERVER
|
||||
${calendarserverdir} {
|
||||
if { [file type ${f_or_d}] ne "link" } {
|
||||
file attributes ${f_or_d} \
|
||||
-owner ${calendarserverUser} -group _calendar
|
||||
-owner ${calendarserverUser} -group ${calendarserverGroup}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -638,107 +646,112 @@ if { [variant_isset "initialize_always"] } {
|
||||
working deployments."
|
||||
}
|
||||
|
||||
# remove after 2026-01-01
|
||||
variant apns \
|
||||
description "Use Apple Push Notification Service (APNS)" {
|
||||
if {[exists notes]} {
|
||||
# leave a blank line after the existing notes
|
||||
notes-append ""
|
||||
}
|
||||
description "Use Apple Push Notification Service (APNS) \[deprecated]" {
|
||||
notes-append \
|
||||
"Calendar and Contacts Server may be configured to use\
|
||||
Apple Push Notification Service (APNS) with these steps:
|
||||
|
||||
1. Acquire APNS Mail certificates from a (virtual) macOS\
|
||||
High Sierra 10.13 and Server.app version 5.6. Export\
|
||||
the APNS certificates and keys from the Keychain into the\
|
||||
files com.apple.servermgrd.apns.calendar.cer and\
|
||||
com.apple.servermgrd.apns.calendar.key.p12. APNS certificates\
|
||||
appear separately with names APSP:<UUID> that correspond to the\
|
||||
certificate's User ID field, com.apple.calendar.XServer.<UUID>.\
|
||||
APNS keys are simply named com.apple.servermgrd.apns.calendar.\
|
||||
Repeat for the certificate com.apple.servermgrd.apns.contact.cer\
|
||||
and key com.apple.servermgrd.apns.contact.key.p12.\
|
||||
*Note*: APNS Mail certificate creation is deprecated on\
|
||||
Server.app version 5.7+.
|
||||
|
||||
1. Acquire APNS Mail certificates from a (virtual) macOS\
|
||||
High Sierra 10.13 and Server.app version 5.6. Export\
|
||||
the certificates from the Keychain into the files\
|
||||
com.apple.servermgrd.apns.calendar.p12 and\
|
||||
com.apple.servermgrd.apns.contact.p12. *Note*: APNS Mail\
|
||||
certificate creation is deprecated on Server.app version 5.7\+.
|
||||
|
||||
2. Convert the APNS Mail certificates to cert, key, and chain PEM files,\
|
||||
all named \"apns:com.apple.*.pem\":
|
||||
|
||||
openssl x509 -inform der -in com.apple.servermgrd.apns.calendar.cer \\
|
||||
| sed '/BEGIN CERTIFICATE/,\$!d' > com.apple.calendar.cert.pem
|
||||
openssl x509 -inform der -in com.apple.servermgrd.apns.contact.cer \\
|
||||
| sed '/BEGIN CERTIFICATE/,\$!d' > com.apple.contact.cert.pem
|
||||
openssl pkcs12 -in com.apple.servermgrd.apns.calendar.key.p12 \\
|
||||
-nodes -nocerts | sed '/BEGIN PRIVATE KEY/,\$!d' \\
|
||||
> com.apple.calendarserver.key.pem.decrypted
|
||||
openssl pkcs12 -in com.apple.servermgrd.apns.contact.key.p12 \\
|
||||
-nodes -nocerts | sed '/BEGIN PRIVATE KEY/,\$!d' \\
|
||||
> com.apple.contact.key.pem.decrypted
|
||||
sudo security add-generic-password -a apns:com.apple.calendar \\
|
||||
-s 'MacPorts Calendar and Contacts Server' \\
|
||||
-T /usr/bin/security \\
|
||||
-w \$(openssl rand -base64 24) \\
|
||||
-U /Library/Keychains/System.keychain
|
||||
sudo security add-generic-password -a apns:com.apple.contact \\
|
||||
-s 'MacPorts Calendar and Contacts Server' \\
|
||||
-T /usr/bin/security \\
|
||||
-w \$(openssl rand -base64 24) \\
|
||||
-U /Library/Keychains/System.keychain
|
||||
# encrypt the keys with these passphrases
|
||||
openssl rsa -aes256 -in com.apple.calendar.key.pem.decrypted \\
|
||||
-out com.apple.calendar.key.pem
|
||||
openssl rsa -aes256 -in com.apple.contact.key.pem.decrypted \\
|
||||
-out com.apple.contact.key.pem
|
||||
# create the full PKI chain of trust
|
||||
curl -LO https://www.apple.com/certificateauthority/AppleAAI2CA.cer
|
||||
curl -LO https://www.apple.com/appleca/AppleIncRootCertificate.cer
|
||||
openssl x509 -inform der -in AppleAAI2CA.cer \\
|
||||
-out AppleAAI2CA.cert.pem
|
||||
openssl x509 -inform der -in AppleIncRootCertificate.cer \\
|
||||
-out AppleIncRootCertificate.cert.pem
|
||||
cat com.apple.calendar.cert.pem \\
|
||||
AppleAAI2CA.cert.pem \\
|
||||
AppleIncRootCertificate.cert.pem \\
|
||||
> com.apple.calendar.chain.pem
|
||||
cat com.apple.contact.cert.pem \\
|
||||
AppleAAI2CA.cert.pem \\
|
||||
AppleIncRootCertificate.cert.pem \\
|
||||
> com.apple.contact.chain.pem
|
||||
openssl verify -CAfile com.apple.calendar.chain.pem \\
|
||||
com.apple.calendar.cert.pem
|
||||
openssl verify -CAfile com.apple.contact.chain.pem \\
|
||||
com.apple.contact.cert.pem
|
||||
sudo install -m 0644 -o ${calendarserverUser} -g _calendar \\
|
||||
com.apple.calendar.cert.pem com.apple.contact.cert.pem \\
|
||||
com.apple.calendar.key.pem com.apple.contact.key.pem \\
|
||||
com.apple.calendar.chain.pem com.apple.contact.chain.pem \\
|
||||
${calendarserverdir}/Library/CalendarServer/Config/Certificates
|
||||
sudo bash -c 'cd ${calendarserverdir}/Library/CalendarServer/Config/Certificates \; \\
|
||||
for f in com.apple.*.pem\; do mv -f \"\${f}\" \"apns:\${f}\"\; done'
|
||||
|
||||
3. Configure calendarserver for APNS by uncommenting this block in\
|
||||
the file ${calendarserverdir}/Library/CalendarServer/Config/calendarserver.plist:
|
||||
|
||||
<key>Notifications</key>
|
||||
<dict>
|
||||
<key>Services</key>
|
||||
<dict>
|
||||
<key>APNS</key>
|
||||
<dict>
|
||||
<key>Enabled</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>"
|
||||
"Apple no longer supports APNS certificates for Calendar and Contacts.\
|
||||
This variant will be removed in a future update. See:\
|
||||
https://discussions.apple.com/thread/255898876"
|
||||
}
|
||||
|
||||
default_variants +apns
|
||||
if {${postgresql_previous_version} ne ${postgresql_version}} {
|
||||
notes-append \
|
||||
"Migration of the caldav PostgreSQL database from\
|
||||
postgresql${postgresql_previous_version} to postgresql${postgresql_version} may be required.
|
||||
|
||||
Issue the following commands, possibly modified for your own specific\
|
||||
database location and previous version:
|
||||
|
||||
# shutdown calendar-contacts-server and associated database
|
||||
sudo port unload calendar-contacts-server
|
||||
|
||||
# move original db cluster.pg directory
|
||||
sudo ls -l \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database
|
||||
sudo mv \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster.pg \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster_postgresql${postgresql_previous_version}.pg
|
||||
|
||||
# create socket to original db and dump the db
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
install -o ${calendarserverUser} -g ${calendarserverGroup} -m 0700 \\
|
||||
-d /tmp/ccs-migration
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
install -o ${calendarserverUser} -g ${calendarserverGroup} -m 0700 \\
|
||||
-d /tmp/ccs-migration/PostgresSocket-${postgresql_previous_version}
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_previous_version}/bin/pg_ctl \\
|
||||
-U caldav -D \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster_postgresql${postgresql_previous_version}.pg \\
|
||||
-o \"-k /tmp/ccs-migration/PostgresSocket-${postgresql_previous_version}\" \\
|
||||
-l /tmp/ccs-migration/postgresql${postgresql_previous_version}_logfile.txt start
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_previous_version}/bin/pg_dumpall \\
|
||||
--username=caldav --host=/tmp/ccs-migration/PostgresSocket-${postgresql_previous_version} \\
|
||||
--file=/tmp/ccs-migration/caldav${postgresql_previous_version}.dump
|
||||
sudo chmod 0600 /tmp/ccs-migration/caldav${postgresql_previous_version}.dump
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_previous_version}/bin/pg_ctl \\
|
||||
-U caldav -D \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster_postgresql${postgresql_previous_version}.pg \\
|
||||
-o \"-k /tmp/ccs-migration/PostgresSocket-${postgresql_previous_version}\" \\
|
||||
-l /tmp/ccs-migration/postgresql${postgresql_previous_version}_logfile.txt stop
|
||||
|
||||
# import the data into a new database
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
install -o ${calendarserverUser} -g ${calendarserverGroup} -m 0700 -d \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster_postgresql${postgresql_version}.pg
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
install -o ${calendarserverUser} -g ${calendarserverGroup} -m 0700 -d \\
|
||||
/tmp/ccs-migration/PostgresSocket-${postgresql_version}
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_version}/bin/initdb -E UTF8 -U caldav \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster_postgresql${postgresql_version}.pg
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_version}/bin/pg_ctl -U caldav -D \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster_postgresql${postgresql_version}.pg \\
|
||||
-o \"-k /tmp/ccs-migration/PostgresSocket-${postgresql_version}\" \\
|
||||
-l /tmp/ccs-migration/postgresql${postgresql_version}_logfile.txt start
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_version}/bin/createdb -U caldav \\
|
||||
-h /tmp/ccs-migration/PostgresSocket-${postgresql_version} caldav
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} bash -c \\
|
||||
'${prefix}/lib/postgresql${postgresql_version}/bin/psql -U caldav \\
|
||||
-h /tmp/ccs-migration/PostgresSocket-${postgresql_version} \\
|
||||
< /tmp/ccs-migration/caldav${postgresql_previous_version}.dump'
|
||||
# dump the new db to compare
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_version}/bin/pg_dumpall --username=caldav \\
|
||||
-h /tmp/ccs-migration/PostgresSocket-${postgresql_version} \\
|
||||
--file=/tmp/ccs-migration/caldav${postgresql_version}.dump
|
||||
sudo chmod 0600 /tmp/ccs-migration/caldav${postgresql_version}.dump
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
${prefix}/lib/postgresql${postgresql_version}/bin/pg_ctl -U caldav -D \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster_postgresql${postgresql_version}.pg \\
|
||||
-o \"-k /tmp/ccs-migration/PostgresSocket-${postgresql_version}\" \\
|
||||
-l /tmp/ccs-migration/postgresql${postgresql_version}_logfile.txt stop
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} \\
|
||||
ls -l /tmp/ccs-migration
|
||||
|
||||
# symlink `cluster.pg` to new db data
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} ln -s \\
|
||||
./cluster_postgresql${postgresql_version}.pg \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Data/Database/cluster.pg
|
||||
|
||||
# port select the new PostgreSQL version
|
||||
sudo port select --set postgresql postgresql${postgresql_version}
|
||||
# edit by hand previously installed configuration file
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} sed -i \"\" \\
|
||||
's|postgresql${postgresql_previous_version}|postgresql${postgresql_version}|g' \\
|
||||
${prefix}/var/${calendarserverUser}/Library/${calendarserverUser}/Config/calendarserver.plist
|
||||
|
||||
# clean up
|
||||
sudo -u ${calendarserverUser} -g ${calendarserverGroup} rm -fr \\
|
||||
/tmp/ccs-migration
|
||||
|
||||
sudo port load calendar-contacts-server
|
||||
"
|
||||
}
|
||||
|
||||
livecheck.type none
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
<key>Postgres</key>
|
||||
<dict>
|
||||
<key>Ctl</key>
|
||||
<string>@PREFIX@/lib/postgresql@POSTGRESQL9_VERSION@/bin/pg_ctl</string>
|
||||
<string>@PREFIX@/lib/postgresql@POSTGRESQL_VERSION@/bin/pg_ctl</string>
|
||||
<key>Options</key>
|
||||
<array>
|
||||
<!-- <string>-c log_statement=all</string> -->
|
||||
@@ -151,7 +151,7 @@
|
||||
<!-- If the DBType is '', and we're spawning postgres ourselves,
|
||||
where is the initdb tool to create its database cluster with? -->
|
||||
<key>Init</key>
|
||||
<string>@PREFIX@/lib/postgresql@POSTGRESQL9_VERSION@/bin/initdb</string>
|
||||
<string>@PREFIX@/lib/postgresql@POSTGRESQL_VERSION@/bin/initdb</string>
|
||||
</dict>
|
||||
|
||||
<!-- Data root -->
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
diff -NaurdwB ./bin/_build.sh ./bin/_build.sh
|
||||
--- ./bin/_build.sh 2024-12-28 13:40:15
|
||||
+++ ./bin/_build.sh 2024-12-28 13:40:10
|
||||
@@ -788,7 +788,7 @@
|
||||
virtualenv==15.0.2 \
|
||||
; do
|
||||
ruler "Installing ${pkg}";
|
||||
- "${bootstrap_python}" -m pip install -I ${NESTED} "${pkg}";
|
||||
+ "${bootstrap_python}" -m pip install -I ${NESTED} --cert @PREFIX@/share/curl/curl-ca-bundle.crt "${pkg}";
|
||||
done;
|
||||
}
|
||||
|
||||
@@ -802,6 +802,7 @@
|
||||
--pre \
|
||||
--no-cache-dir \
|
||||
--log-file="${dev_home}/pip.log" \
|
||||
+ --cert @PREFIX@/share/curl/curl-ca-bundle.crt \
|
||||
"$@";
|
||||
}
|
||||
|
||||
@@ -815,6 +816,7 @@
|
||||
--find-links="${dev_patches}" \
|
||||
--find-links="${dev_home}/pip_downloads" \
|
||||
--log-file="${dev_home}/pip.log" \
|
||||
+ --cert @PREFIX@/share/curl/curl-ca-bundle.crt \
|
||||
"$@";
|
||||
}
|
||||
|
||||
@@ -826,6 +828,7 @@
|
||||
--no-cache-dir \
|
||||
--find-links="${dev_patches}" \
|
||||
--log-file="${dev_home}/pip.log" \
|
||||
+ --cert @PREFIX@/share/curl/curl-ca-bundle.crt \
|
||||
"$@";
|
||||
}
|
||||
|
||||
diff -NaurdwB ./requirements-cs.txt ./requirements-cs.txt
|
||||
--- ./requirements-cs.txt 2024-12-28 13:40:15
|
||||
+++ ./requirements-cs.txt 2024-12-28 13:40:10
|
||||
@@ -37,5 +37,5 @@
|
||||
|
||||
psutil==5.0.0
|
||||
setproctitle==1.1.10
|
||||
- # xattr==0.7.5 # Only needed for upgrades from ancient versions. Added in _cache_deps.
|
||||
+ xattr==0.7.5 # Only needed for upgrades from ancient versions. Added in _cache_deps.
|
||||
#cffi
|
||||
diff -NaurdwB ./requirements-twisted-default.txt ./requirements-twisted-default.txt
|
||||
--- ./requirements-twisted-default.txt 2024-12-28 13:40:15
|
||||
+++ ./requirements-twisted-default.txt 2024-12-28 20:47:02
|
||||
@@ -10,7 +10,7 @@
|
||||
# but doesn't specify them as dependencies, so that are explicitly
|
||||
# added to calendarserver.
|
||||
#pyOpenSSL
|
||||
- service_identity==16.0.0
|
||||
+ service_identity
|
||||
characteristic==14.3.0
|
||||
pyasn1==0.1.9
|
||||
pyasn1-modules==0.0.8
|
||||
@@ -18,7 +18,7 @@
|
||||
pycrypto==2.6.1
|
||||
|
||||
pyOpenSSL==16.2.0
|
||||
- cryptography==1.6
|
||||
+ cryptography
|
||||
idna
|
||||
#pyasn1
|
||||
#cffi
|
||||
Reference in New Issue
Block a user