diff --git a/net/foreman-proxy/Makefile b/net/foreman-proxy/Makefile index e83765a5ccbc..2ca0f3721e77 100644 --- a/net/foreman-proxy/Makefile +++ b/net/foreman-proxy/Makefile @@ -1,107 +1,107 @@ PORTNAME= foreman-proxy -PORTVERSION= 3.1.2 +PORTVERSION= 3.4.0 CATEGORIES= net MASTER_SITES= https://downloads.theforeman.org/foreman-proxy/ MAINTAINER= freebsd@moov.de COMMENT= Foreman Proxy Agent WWW= https://theforeman.org/ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= rubygem-bundler_ext>=0.4:sysutils/rubygem-bundler_ext \ rubygem-concurrent-ruby>=1.0:devel/rubygem-concurrent-ruby \ rubygem-json>=1.8.1:devel/rubygem-json \ rubygem-logging>=0:devel/rubygem-logging \ rubygem-rack>=2.0:www/rubygem-rack \ rubygem-rb-kqueue>=0.2.2:devel/rubygem-rb-kqueue \ rubygem-rsec>=0.4.3:devel/rubygem-rsec \ rubygem-sd_notify>=0.1.1:devel/rubygem-sd_notify \ rubygem-sinatra>=2.0:www/rubygem-sinatra \ + rubygem-webrick>=1.7:www/rubygem-webrick \ curl:ftp/curl USES= shebangfix tar:bzip2 OPTIONS_DEFINE= BMC PUPPET7 BMC_DESC= Depend on rubyipmi and redfish_client for BMC support PUPPET7_DESC= Depend on Puppet 7 NO_ARCH= yes NO_BUILD= yes USE_RC_SUBR= foreman-proxy USE_RUBY= yes FOREMAN_PROXY_USER?= foreman_proxy FOREMAN_PROXY_GROUP?= foreman_proxy -FOREMAN_PROXY_LOGDIR?= /var/log/foreman-proxy -FOREMAN_PROXY_RUNDIR?= /var/run/foreman-proxy +FOREMAN_PROXY_LOGDIR?= ${DESTDIR}/var/log/foreman-proxy +FOREMAN_PROXY_RUNDIR?= ${DESTDIR}/var/run/foreman-proxy USERS= ${FOREMAN_PROXY_USER} GROUPS= ${FOREMAN_PROXY_GROUP} SUB_LIST= RUBY="${RUBY}" \ FOREMAN_PROXY_USER="${FOREMAN_PROXY_USER}" \ FOREMAN_PROXY_GROUP="${FOREMAN_PROXY_GROUP}" \ FOREMAN_PROXY_RUNDIR="${FOREMAN_PROXY_RUNDIR}" \ FOREMAN_PROXY_LOGDIR="${FOREMAN_PROXY_LOGDIR}" PLIST_SUB= ${SUB_LIST} MKDIR="${MKDIR}" SHEBANG_FILES= extra/foreman-debug-proxy BMC_RUN_DEPENDS= rubygem-rubyipmi>=0.10.0:sysutils/rubygem-rubyipmi \ rubygem-redfish_client>=0.5.1:sysutils/rubygem-redfish_client PUPPET7_RUN_DEPENDS= puppet:sysutils/puppet7 \ rubygem-ruby-augeas>=0.5:textproc/rubygem-ruby-augeas post-patch: @${REINPLACE_CMD} \ -e "s|/usr/bin/env ruby|${RUBY}|g" \ -e "s|/usr/bin/ruby|${RUBY}|g" \ -e "s|%%PREFIX%%|${PREFIX}|g" \ -e "s|%%DATADIR%%|${DATADIR}|g" \ ${WRKSRC}/bin/smart-proxy \ ${WRKSRC}/extra/dhcpd_config_check.rb \ ${WRKSRC}/extra/foreman-debug-proxy \ ${WRKSRC}/extra/migrate_settings.rb \ ${WRKSRC}/extra/puppet_sign.rb \ ${WRKSRC}/extra/query.rb \ ${WRKSRC}/extra/register_service.rb @${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \ -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \ ${WRKSRC}/config/settings.d/*.yml.example \ ${WRKSRC}/lib/proxy/http_download.rb do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/foreman-proxy/settings.d ${MKDIR} ${STAGEDIR}${DATADIR}/extra ${LN} -s ${PREFIX}/etc/foreman-proxy ${STAGEDIR}${DATADIR}/config ${INSTALL_SCRIPT} ${WRKSRC}/bin/smart-proxy \ ${STAGEDIR}${PREFIX}/sbin/smart-proxy .for file in CHANGELOG Contributors Gemfile LICENSE README.md \ smart_proxy.gemspec VERSION bundler.d config.ru lib modules ${CP} -r ${WRKSRC}/${file} ${STAGEDIR}${DATADIR} .endfor ${LN} -s Gemfile ${STAGEDIR}${DATADIR}/Gemfile.in .for script in dhcpd_config_check.rb foreman-debug-proxy \ migrate_settings.rb puppet_sign.rb query.rb register_service.rb ${INSTALL_SCRIPT} ${WRKSRC}/extra/${script} \ ${STAGEDIR}${DATADIR}/extra/${script} .endfor ${CP} -r ${WRKSRC}/extra/migrations ${STAGEDIR}${DATADIR}/extra ${INSTALL_DATA} ${WRKSRC}/config/settings.yml.example \ ${STAGEDIR}${PREFIX}/etc/foreman-proxy/settings.yml.sample .for cfg in bmc dhcp_isc dhcp_libvirt dhcp_native_ms dhcp dns_dnscmd \ - dns_libvirt dns_nsupdate_gss dns_nsupdate dns facts httpboot \ - logs puppet_proxy_puppet_api puppet \ - puppetca_hostname_whitelisting puppetca_http_api \ - puppetca_puppet_cert puppetca_token_whitelisting \ - puppetca realm_freeipa realm registration templates tftp + dns_libvirt dns_nsupdate_gss dns_nsupdate dns facts httpboot logs \ + puppet_proxy_puppet_api puppet puppetca_hostname_whitelisting \ + puppetca_http_api puppetca_token_whitelisting puppetca realm_freeipa \ + realm registration templates tftp ${INSTALL_DATA} ${WRKSRC}/config/settings.d/${cfg}.yml.example \ ${STAGEDIR}${PREFIX}/etc/foreman-proxy/settings.d/${cfg}.yml.sample .endfor ${MKDIR} -m 0700 ${STAGEDIR}${FOREMAN_PROXY_LOGDIR} \ ${STAGEDIR}${FOREMAN_PROXY_RUNDIR} .include diff --git a/net/foreman-proxy/distinfo b/net/foreman-proxy/distinfo index ffa4444487b8..5f63713e5c40 100644 --- a/net/foreman-proxy/distinfo +++ b/net/foreman-proxy/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1646448265 -SHA256 (foreman-proxy-3.1.2.tar.bz2) = 14a21af2e735e266f5e22ec64e4597bf4821b53fb7a2393a5146587f1400a1eb -SIZE (foreman-proxy-3.1.2.tar.bz2) = 199897 +TIMESTAMP = 1667679385 +SHA256 (foreman-proxy-3.4.0.tar.bz2) = 5846625b59ee0c0da4b9af4eac97f5f5d7020b48b31ee0b28b2946f1b94181cf +SIZE (foreman-proxy-3.4.0.tar.bz2) = 195061 diff --git a/net/foreman-proxy/files/foreman-proxy.in b/net/foreman-proxy/files/foreman-proxy.in index e66423c40a20..5f4a4cee9d87 100644 --- a/net/foreman-proxy/files/foreman-proxy.in +++ b/net/foreman-proxy/files/foreman-proxy.in @@ -1,26 +1,28 @@ #!/bin/sh # PROVIDE: foreman-proxy # BEFORE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable foreman-proxy: # foreman_proxy_enable (bool): Set to "NO" by default # Set it to "YES" to enable nsca. . /etc/rc.subr name="foreman_proxy" rcvar="foreman_proxy_enable" -command="%%PREFIX%%/sbin/smart-proxy" +command="/usr/sbin/daemon" +procname="%%PREFIX%%/sbin/smart-proxy" command_interpreter="%%RUBY%%" pidfile="%%FOREMAN_PROXY_RUNDIR%%/foreman-proxy.pid" +command_args="-p ${pidfile} -t ${procname} ${command_interpreter} ${procname}" foreman_proxy_enable=${foreman_proxy_enable:-"NO"} foreman_proxy_user=${foreman_proxy_user-"%%FOREMAN_PROXY_USER%%"} load_rc_config "${name}" required_files="%%PREFIX%%/etc/foreman-proxy/settings.yml" run_rc_command "$1" diff --git a/net/foreman-proxy/files/patch-bin-smart-proxy b/net/foreman-proxy/files/patch-bin-smart-proxy index 3df6da1863db..01f0fac5fdc9 100644 --- a/net/foreman-proxy/files/patch-bin-smart-proxy +++ b/net/foreman-proxy/files/patch-bin-smart-proxy @@ -1,10 +1,10 @@ ---- bin/smart-proxy.orig 2017-05-08 15:18:42 UTC +--- bin/smart-proxy.orig 2017-05-08 15:18:42 UTC +++ bin/smart-proxy @@ -1,6 +1,7 @@ #!/usr/bin/env ruby $LOAD_PATH.unshift(*Dir[File.expand_path('../lib', __dir__), File.expand_path('../modules', __dir__)]) +$LOAD_PATH.unshift(*Dir["%%DATADIR%%/lib", "%%DATADIR%%/modules"]) require 'smart_proxy_main' Proxy::Launcher.new.launch diff --git a/net/foreman-proxy/files/patch-config-settings.yml.example b/net/foreman-proxy/files/patch-config-settings.yml.example deleted file mode 100644 index ff3ac32eedde..000000000000 --- a/net/foreman-proxy/files/patch-config-settings.yml.example +++ /dev/null @@ -1,11 +0,0 @@ ---- config/settings.yml.example.orig 2018-12-06 13:30:25.000000000 +0100 -+++ config/settings.yml.example 2019-02-11 22:25:42.626500000 +0100 -@@ -43,7 +43,7 @@ - #:foreman_ssl_key: ssl/private_keys/fqdn.pem - - # by default smart_proxy runs in the foreground. To enable running as a daemon, uncomment 'daemon' setting --#:daemon: true -+:daemon: true - # Only used when 'daemon' is set to true. - # Uncomment and modify if you want to change the default pid file '/var/run/foreman-proxy/foreman-proxy.pid' - #:daemon_pid: /var/run/foreman-proxy/foreman-proxy.pid diff --git a/net/foreman-proxy/files/patch-config-settings.d-puppet_proxy_puppet_api.yml.example b/net/foreman-proxy/files/patch-config_settings.d_puppet__proxy__puppet__api.yml.example similarity index 82% rename from net/foreman-proxy/files/patch-config-settings.d-puppet_proxy_puppet_api.yml.example rename to net/foreman-proxy/files/patch-config_settings.d_puppet__proxy__puppet__api.yml.example index 84cff78da77f..5493d15ada23 100644 --- a/net/foreman-proxy/files/patch-config-settings.d-puppet_proxy_puppet_api.yml.example +++ b/net/foreman-proxy/files/patch-config_settings.d_puppet__proxy__puppet__api.yml.example @@ -1,15 +1,15 @@ ---- config/settings.d/puppet_proxy_puppet_api.yml.example.orig 2018-12-06 13:30:25.000000000 +0100 -+++ config/settings.d/puppet_proxy_puppet_api.yml.example 2019-02-11 22:22:53.410247000 +0100 -@@ -9,9 +9,9 @@ +--- config/settings.d/puppet_proxy_puppet_api.yml.example.orig 2022-09-08 13:50:11 UTC ++++ config/settings.d/puppet_proxy_puppet_api.yml.example +@@ -3,9 +3,9 @@ #:puppet_url: https://puppet.example.com:8140 # # SSL certificates used to access the puppet API -#:puppet_ssl_ca: /var/lib/puppet/ssl/certs/ca.pem -#:puppet_ssl_cert: /var/lib/puppet/ssl/certs/puppet.example.com.pem -#:puppet_ssl_key: /var/lib/puppet/ssl/private_keys/puppet.example.com.pem +#:puppet_ssl_ca: /var/puppet/ssl/certs/ca.pem +#:puppet_ssl_cert: /var/puppet/ssl/certs/puppet.example.com.pem +#:puppet_ssl_key: /var/puppet/ssl/private_keys/puppet.example.com.pem # # Smart Proxy api timeout when Puppet's environment classes api is used and classes cache is disabled #:api_timeout: 30 diff --git a/net/foreman-proxy/files/patch-config-settings.d-puppetca_hostname_whitelisting.yml.example b/net/foreman-proxy/files/patch-config_settings.d_puppetca__hostname__whitelisting.yml.example similarity index 78% rename from net/foreman-proxy/files/patch-config-settings.d-puppetca_hostname_whitelisting.yml.example rename to net/foreman-proxy/files/patch-config_settings.d_puppetca__hostname__whitelisting.yml.example index 644021449e3c..4d33a0dac6b4 100644 --- a/net/foreman-proxy/files/patch-config-settings.d-puppetca_hostname_whitelisting.yml.example +++ b/net/foreman-proxy/files/patch-config_settings.d_puppetca__hostname__whitelisting.yml.example @@ -1,8 +1,8 @@ ---- config/settings.d/puppetca_hostname_whitelisting.yml.example.orig 2021-10-26 14:48:17.000000000 +0200 -+++ config/settings.d/puppetca_hostname_whitelisting.yml.example 2021-11-24 11:59:39.227846000 +0100 +--- config/settings.d/puppetca_hostname_whitelisting.yml.example.orig 2022-09-08 13:50:11 UTC ++++ config/settings.d/puppetca_hostname_whitelisting.yml.example @@ -3,4 +3,4 @@ # Configuration of the PuppetCA hostname_whitelisting provider # -#:autosignfile: /etc/puppet/autosign.conf +#:autosignfile: %%LOCALBASE%%/etc/puppet/autosign.conf diff --git a/net/foreman-proxy/files/patch-config-settings.d-puppetca_http_api.yml.example b/net/foreman-proxy/files/patch-config_settings.d_puppetca__http__api.yml.example similarity index 74% rename from net/foreman-proxy/files/patch-config-settings.d-puppetca_http_api.yml.example rename to net/foreman-proxy/files/patch-config_settings.d_puppetca__http__api.yml.example index b6f1d195b004..a1bc798173b9 100644 --- a/net/foreman-proxy/files/patch-config-settings.d-puppetca_http_api.yml.example +++ b/net/foreman-proxy/files/patch-config_settings.d_puppetca__http__api.yml.example @@ -1,12 +1,12 @@ ---- config/settings.d/puppetca_http_api.yml.example.orig 2021-10-26 14:48:17.000000000 +0200 -+++ config/settings.d/puppetca_http_api.yml.example 2021-11-24 12:00:12.367622000 +0100 +--- config/settings.d/puppetca_http_api.yml.example.orig 2022-09-08 13:50:11 UTC ++++ config/settings.d/puppetca_http_api.yml.example @@ -3,6 +3,6 @@ #:puppet_url: https://puppet.example.com:8140 # # SSL certificates used to access the CA API. -#:puppet_ssl_ca: /etc/puppetlabs/ssl/certs/ca.pem -#:puppet_ssl_cert: /etc/puppetlabs/ssl/certs/puppet.example.com.pem -#:puppet_ssl_key: /etc/puppetlabs/ssl/private_keys/puppet.example.com.pem +#:puppet_ssl_ca: %%LOCALBASE%%/etc/puppetlabs/ssl/certs/ca.pem +#:puppet_ssl_cert: %%LOCALBASE%%/etc/puppetlabs/ssl/certs/puppet.example.com.pem +#:puppet_ssl_key: %%LOCALBASE%%/etc/puppetlabs/ssl/private_keys/puppet.example.com.pem diff --git a/net/foreman-proxy/files/patch-config_settings.d_puppetca__puppet__cert.yml.example b/net/foreman-proxy/files/patch-config_settings.d_puppetca__puppet__cert.yml.example deleted file mode 100644 index a236513fca8e..000000000000 --- a/net/foreman-proxy/files/patch-config_settings.d_puppetca__puppet__cert.yml.example +++ /dev/null @@ -1,9 +0,0 @@ ---- config/settings.d/puppetca_puppet_cert.yml.example.orig 2019-12-22 22:37:03 UTC -+++ config/settings.d/puppetca_puppet_cert.yml.example -@@ -1,4 +1,4 @@ - --- --#:ssldir: /var/lib/puppet/ssl -+#:ssldir: /var/puppet/ssl - #:puppetca_use_sudo: true --#:sudo_command: /usr/bin/sudo -+#:sudo_command: %%LOCALBASE%%/bin/sudo diff --git a/net/foreman-proxy/files/patch-config-settings.d-realm_freeipa.yml.example b/net/foreman-proxy/files/patch-config_settings.d_realm__freeipa.yml.example similarity index 67% rename from net/foreman-proxy/files/patch-config-settings.d-realm_freeipa.yml.example rename to net/foreman-proxy/files/patch-config_settings.d_realm__freeipa.yml.example index c7eb5e8a5d54..a8f00ac16ab6 100644 --- a/net/foreman-proxy/files/patch-config-settings.d-realm_freeipa.yml.example +++ b/net/foreman-proxy/files/patch-config_settings.d_realm__freeipa.yml.example @@ -1,13 +1,14 @@ ---- config/settings.d/realm_freeipa.yml.example.orig 2021-10-26 14:48:17.000000000 +0200 -+++ config/settings.d/realm_freeipa.yml.example 2021-11-24 12:26:05.935474000 +0100 +--- config/settings.d/realm_freeipa.yml.example.orig 2022-09-08 13:50:11 UTC ++++ config/settings.d/realm_freeipa.yml.example @@ -1,9 +1,9 @@ --- # Authentication for Kerberos-based Realms -:keytab_path: /etc/foreman-proxy/freeipa.keytab +:keytab_path: %%LOCALBASE%%/etc/foreman-proxy/freeipa.keytab :principal: realm-proxy@EXAMPLE.COM -:ipa_config: /etc/ipa/default.conf +:ipa_config: %%LOCALBASE%%/etc/ipa/default.conf # Remove from DNS when deleting the FreeIPA entry :remove_dns: true + diff --git a/net/foreman-proxy/files/patch-config-settings.d-tftp.yml.example b/net/foreman-proxy/files/patch-config_settings.d_tftp.yml.example similarity index 64% rename from net/foreman-proxy/files/patch-config-settings.d-tftp.yml.example rename to net/foreman-proxy/files/patch-config_settings.d_tftp.yml.example index 5aae4bfc8a6a..e86fbfa5a9de 100644 --- a/net/foreman-proxy/files/patch-config-settings.d-tftp.yml.example +++ b/net/foreman-proxy/files/patch-config_settings.d_tftp.yml.example @@ -1,11 +1,11 @@ ---- config/settings.d/tftp.yml.example.orig 2018-12-06 13:30:25.000000000 +0100 -+++ config/settings.d/tftp.yml.example 2019-02-11 22:24:46.060855000 +0100 +--- config/settings.d/tftp.yml.example.orig 2022-09-08 13:50:11 UTC ++++ config/settings.d/tftp.yml.example @@ -2,7 +2,7 @@ # Can be true, false, or http/https to enable just one of the protocols :enabled: false -#:tftproot: /var/lib/tftpboot +#:tftproot: /tftpboot # Defines the TFTP Servername to use, overrides the name in the subnet declaration #:tftp_servername: tftp.domain.com diff --git a/net/foreman-proxy/files/patch-lib_proxy_http__download.rb b/net/foreman-proxy/files/patch-lib_proxy_http__download.rb index 030c87085c8e..354fd915f8e7 100644 --- a/net/foreman-proxy/files/patch-lib_proxy_http__download.rb +++ b/net/foreman-proxy/files/patch-lib_proxy_http__download.rb @@ -1,11 +1,11 @@ ---- lib/proxy/http_download.rb.orig 2022-02-16 01:16:26 UTC +--- lib/proxy/http_download.rb.orig 2022-09-08 13:50:11 UTC +++ lib/proxy/http_download.rb @@ -10,7 +10,7 @@ module Proxy - logger.warn('Deprecated: HttpDownload read_timeout is deprecated and will be removed in 4.0') if read_timeout - logger.warn('Deprecated: HttpDownload dns_timeout is deprecated and will be removed in 4.0') if dns_timeout + logger.warn('Deprecated: HttpDownload read_timeout is deprecated and will be removed in 3.5') if read_timeout + logger.warn('Deprecated: HttpDownload dns_timeout is deprecated and will be removed in 3.5') if dns_timeout connect_timeout ||= DEFAULT_CONNECT_TIMEOUT - args = [which('curl')] + args = ["%%LOCALBASE%%/bin/curl"] # no cert verification if set args << "--insecure" unless verify_server_cert diff --git a/net/foreman-proxy/pkg-message b/net/foreman-proxy/pkg-message index 451fa7a16cc4..61c3256bd9c7 100644 --- a/net/foreman-proxy/pkg-message +++ b/net/foreman-proxy/pkg-message @@ -1,17 +1,15 @@ [ { type: upgrade - maximum_version: 1.11 + maximum_version: 3.4 message: <