Index: head/net/foreman-proxy/Makefile =================================================================== --- head/net/foreman-proxy/Makefile (revision 358417) +++ head/net/foreman-proxy/Makefile (revision 358418) @@ -1,91 +1,91 @@ # Created by: Martin Matuska # $FreeBSD$ PORTNAME= foreman-proxy -PORTVERSION= 1.4.1 +PORTVERSION= 1.5.1 CATEGORIES= net MASTER_SITES= GH MAINTAINER= mm@FreeBSD.org COMMENT= Foreman Smart Proxy LICENSE= GPLv3 RUN_DEPENDS= rubygem-sinatra>=1.4.3:${PORTSDIR}/www/rubygem-sinatra \ rubygem-json>=1.8.1:${PORTSDIR}/devel/rubygem-json OPTIONS_DEFINE= BMC PUPPET BMC_DESC= Depend on rubyipmi for BMC support PUPPET_DESC= Depend on Puppet USE_GITHUB= yes GH_ACCOUNT= theforeman GH_PROJECT= smart-proxy -GH_COMMIT= b3e190d +GH_COMMIT= 2924287 USE_RUBY= yes USE_RAKE= yes USE_RC_SUBR= foreman-proxy NO_BUILD= yes PKGINSTALL= ${WRKDIR}/pkg-install FOREMAN_PROXY_USER?= foreman_proxy FOREMAN_PROXY_GROUP?= foreman_proxy FOREMAN_PROXY_LOGDIR?= /var/log/foreman-proxy FOREMAN_PROXY_RUNDIR?= /var/run/foreman-proxy USERS= ${FOREMAN_PROXY_USER} GROUPS= ${FOREMAN_PROXY_GROUP} SUB_FILES+= pkg-install 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}" .include .if ${PORT_OPTIONS:MBMC} RUN_DEPENDS+= rubygem-rubyipmi>=0.7:${PORTSDIR}/sysutils/rubygem-rubyipmi .endif .if ${PORT_OPTIONS:MPUPPET} RUN_DEPENDS+= puppet:${PORTSDIR}/sysutils/puppet .endif .include post-patch: @${REINPLACE_CMD} \ -e "s|/usr/bin/env ruby|${RUBY}|g" \ -e "s|#{File.dirname(__FILE__)}/..|${DATADIR}|g" \ ${WRKSRC}/bin/smart-proxy @${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \ -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \ ${WRKSRC}/config/settings.yml.example do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/etc/foreman-proxy @${MKDIR} ${STAGEDIR}${DATADIR} @${LN} -s ${PREFIX}/etc/foreman-proxy ${STAGEDIR}${DATADIR}/config @${INSTALL_SCRIPT} ${WRKSRC}/bin/smart-proxy \ ${STAGEDIR}${PREFIX}/sbin/smart-proxy .for file in Rakefile config.ru lib public views @${CP} -r ${WRKSRC}/${file} ${STAGEDIR}${DATADIR} .endfor - @${INSTALL_DATA} ${WRKSRC}/config/settings.yml.example \ + ${INSTALL} ${COPY} -m 644 ${WRKSRC}/config/settings.yml.example \ ${STAGEDIR}${PREFIX}/etc/foreman-proxy/settings.yml.sample .if !exists(${STAGEDIR}${PREFIX}/etc/foreman-proxy/settings.yml) - @${INSTALL_DATA} ${WRKSRC}/config/settings.yml.example \ + @${INSTALL} ${COPY} -m 644 ${WRKSRC}/config/settings.yml.example \ ${STAGEDIR}${PREFIX}/etc/foreman-proxy/settings.yml .endif post-install: @${MKDIR} -m 0700 ${STAGEDIR}${FOREMAN_PROXY_LOGDIR} \ ${STAGEDIR}${FOREMAN_PROXY_RUNDIR} @${SH} ${PKGINSTALL} STAGEDIR=${STAGEDIR} .include Index: head/net/foreman-proxy/distinfo =================================================================== --- head/net/foreman-proxy/distinfo (revision 358417) +++ head/net/foreman-proxy/distinfo (revision 358418) @@ -1,2 +1,2 @@ -SHA256 (foreman-proxy-1.4.1.tar.gz) = 5404f88f428cade97ae9fc08a4670a5219fe8302b0d879747905864a2a59f712 -SIZE (foreman-proxy-1.4.1.tar.gz) = 85109 +SHA256 (foreman-proxy-1.5.1.tar.gz) = d3b5012b4db87c957b1707fdb8c26d539b3d8ff82601b6b688f02d2fd8b5c3ac +SIZE (foreman-proxy-1.5.1.tar.gz) = 90017 Index: head/net/foreman-proxy/files/patch-config-settings.yml.example =================================================================== --- head/net/foreman-proxy/files/patch-config-settings.yml.example (revision 358417) +++ head/net/foreman-proxy/files/patch-config-settings.yml.example (revision 358418) @@ -1,90 +1,102 @@ ---- config/settings.yml.example.orig 2014-01-28 19:55:58.769179974 +0100 -+++ config/settings.yml.example 2014-01-28 20:06:51.840135157 +0100 +--- config/settings.yml.example.orig 2014-06-18 10:54:21.000000000 +0200 ++++ config/settings.yml.example 2014-06-19 15:42:56.264085917 +0200 @@ -23,7 +23,7 @@ # Enable TFTP management :tftp: 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 @@ -35,14 +35,14 @@ # nsupdate_gss (for GSS-TSIG support) # virsh (simple implementation for libvirt) :dns_provider: nsupdate -#:dns_key: /etc/rndc.key -+#:dns_key: /usr/local/etc/namedb/rndc.key ++#:dns_key: %%LOCALBASE%%/etc/namedb/rndc.key # use this setting if you are managing a dns server which is not localhost though this proxy #:dns_server: dns.domain.com # use this setting if you want to override default TTL setting (86400) #:dns_ttl: 86400 # use dns_tsig_* for GSS-TSIG updates using Kerberos. Required for Windows MS DNS with # Secure Dynamic Updates, or BIND as used in FreeIPA. Set dns_provider to nsupdate_gss. -#:dns_tsig_keytab: /usr/share/foreman-proxy/dns.keytab -+#:dns_tsig_keytab: /usr/local/share/foreman-proxy/dns.keytab ++#:dns_tsig_keytab: %%PREFIX%%/share/foreman-proxy/dns.keytab #:dns_tsig_principal: DNS/host.example.com@EXAMPLE.COM # Enable DHCP management @@ -55,15 +55,8 @@ - # dhcp_subnets is a Native MS implementation setting. It restricts the subnets queried to a + # dhcp_subnets is an ISC & Native MS implementation setting. It restricts the subnets queried to a # subset, so as to reduce the query time. #:dhcp_subnets: [192.168.205.0/255.255.255.128, 192.168.205.128/255.255.255.128] -# Settings for Ubuntu ISC -#:dhcp_config: /etc/dhcp3/dhcpd.conf -#:dhcp_leases: /var/lib/dhcp3/dhcpd.leases -# Settings for Redhat ISC -# Redhat 5 -#:dhcp_config: /etc/dhcpd.conf -# Redhat 6 -#:dhcp_config: /etc/dhcp/dhcpd.conf -#:dhcp_leases: /var/lib/dhcpd/dhcpd.leases +#:dhcp_config: %%LOCALBASE%%/etc/dhcpd.conf +#:dhcp_leases: /var/db/dhcpd.leases #:dhcp_key_name: secret_key_name #:dhcp_key_secret: secret_key -@@ -72,8 +65,8 @@ +@@ -72,10 +65,10 @@ # enable PuppetCA management :puppetca: false -#:ssldir: /var/lib/puppet/ssl -#:puppetdir: /etc/puppet +#:ssldir: /var/puppet/ssl +#:puppetdir: %%LOCALBASE%%/etc/puppet + #:puppetca_use_sudo: true +-#:sudo_command: /usr/bin/sudo ++#:sudo_command: %%LOCALBASE%%/bin/sudo # enable Puppet management :puppet: false -@@ -87,19 +80,19 @@ +@@ -89,19 +82,19 @@ # customrun command details # Set :customrun_cmd to the full path of the script you want to run, instead of /bin/false -:customrun_cmd: /bin/false +:customrun_cmd: /usr/bin/false # Set :customrun_args to any args you want to pass to your custom script. The hostname of the # system to run against will be appended after the custom commands. :customrun_args: -ay -f -s -:puppet_conf: /etc/puppet/puppet.conf +:puppet_conf: %%LOCALBASE%%/etc/puppet/puppet.conf # whether to use sudo before the ssh command :puppetssh_sudo: false # the command which will be sent to the host -:puppetssh_command: /usr/bin/puppet agent --onetime --no-usecacheonfailure +:puppetssh_command: %%LOCALBASE%%/bin/puppet agent --onetime --no-usecacheonfailure # With which user should the proxy connect #:puppetssh_user: root -#:puppetssh_keyfile: /etc/foreman-proxy/id_rsa +#:puppetssh_keyfile: %%PREFIX%%/etc/foreman-proxy/id_rsa # Which user to invoke sudo as to run puppet commands #:puppet_user: root -@@ -111,7 +104,7 @@ +@@ -113,7 +106,7 @@ # smart-proxy client node needs to have some admin right on chef-server # in order to retrive all nodes public keys # :chef_smartproxy_clientname: 'host.example.net' -# :chef_smartproxy_privatekey: '/etc/chef/client.pem' +# :chef_smartproxy_privatekey: '%%LOCALBASE%%/etc/chef/client.pem' # enable BMC management (Bare metal power and bios controls) # Available providers: +@@ -130,7 +123,7 @@ + :realm_provider: freeipa + + # Authentication for Kerberos-based Realms +-:realm_keytab: /etc/foreman-proxy/freeipa.keytab ++:realm_keytab: %%PREFIX%%/etc/foreman-proxy/freeipa.keytab + :realm_principal: realm-proxy@EXAMPLE.COM + + # FreeIPA specific settings Index: head/net/foreman-proxy/files/patch-lib-proxy-tftp.rb =================================================================== --- head/net/foreman-proxy/files/patch-lib-proxy-tftp.rb (revision 358417) +++ head/net/foreman-proxy/files/patch-lib-proxy-tftp.rb (revision 358418) @@ -1,14 +1,14 @@ ---- lib/proxy/tftp.rb.orig 2014-01-29 11:01:36.000000000 +0100 -+++ lib/proxy/tftp.rb 2014-02-08 12:38:15.087475784 +0100 -@@ -105,8 +105,9 @@ +--- lib/proxy/tftp.rb.orig 2014-06-18 10:54:21.000000000 +0200 ++++ lib/proxy/tftp.rb 2014-06-19 15:34:09.887122187 +0200 +@@ -107,8 +107,9 @@ # as the dst might contain another sub directory FileUtils.mkdir_p destination.parent - wget = which("wget") -- cmd = "#{wget} --timeout=10 --tries=3 --no-check-certificate -nv -c #{src} -O \"#{destination}\"" -+ # wget = which("wget") -+ # cmd = "#{wget} --timeout=10 --tries=3 --no-check-certificate -nv -c #{src} -O \"#{destination}\"" -+ cmd = "/usr/bin/fetch --timeout=10 --no-verify-hostname --no-verify-peer -a -m -q -o \"#{destination}\" #{src}" +- cmd = "#{wget} --timeout=10 --tries=3 --no-check-certificate -nv -c \"#{escape_for_shell(src.to_s)}\" -O \"#{escape_for_shell(destination.to_s)}\"" ++# wget = which("wget") ++# cmd = "#{wget} --timeout=10 --tries=3 --no-check-certificate -nv -c \"#{escape_for_shell(src.to_s)}\" -O \"#{escape_for_shell(destination.to_s)}\"" ++ cmd = "/usr/bin/fetch --timeout=10 --no-verify-hostname --no-verify-peer -a -m -q -o \"#{escape_for_shell(destination.to_s)}\" \"#{escape_for_shell(src.to_s)}\"" CommandTask.new(cmd) end end Index: head/net/foreman-proxy/pkg-plist =================================================================== --- head/net/foreman-proxy/pkg-plist (revision 358417) +++ head/net/foreman-proxy/pkg-plist (revision 358418) @@ -1,90 +1,94 @@ sbin/smart-proxy -@unexec if cmp -s %D/etc/foreman-proxy/settings.yml %D/etc/foreman-proxy/settings.yml.sample; then rm -f %D/etc/foreman-proxy/settings.yml; fi -etc/foreman-proxy/settings.yml.sample -@exec [ -f %B/settings.yml ] || cp %B/%f %B/settings.yml +@sample etc/foreman-proxy/settings.yml.sample %%DATADIR%%/Rakefile %%DATADIR%%/config.ru %%DATADIR%%/config %%DATADIR%%/lib/bmc_api.rb %%DATADIR%%/lib/checks.rb %%DATADIR%%/lib/chefproxy_api.rb %%DATADIR%%/lib/daemon.rb %%DATADIR%%/lib/dhcp_api.rb %%DATADIR%%/lib/dns_api.rb %%DATADIR%%/lib/facts_api.rb %%DATADIR%%/lib/features_api.rb %%DATADIR%%/lib/helpers.rb %%DATADIR%%/lib/proxy.rb %%DATADIR%%/lib/proxy/authentication.rb %%DATADIR%%/lib/proxy/bmc.rb %%DATADIR%%/lib/proxy/bmc/base.rb %%DATADIR%%/lib/proxy/bmc/ipmi.rb %%DATADIR%%/lib/proxy/bmc/shell.rb %%DATADIR%%/lib/proxy/chefproxy.rb %%DATADIR%%/lib/proxy/dhcp.rb %%DATADIR%%/lib/proxy/dhcp/monkey_patch_subnet.rb %%DATADIR%%/lib/proxy/dhcp/monkey_patches.rb %%DATADIR%%/lib/proxy/dhcp/record.rb %%DATADIR%%/lib/proxy/dhcp/record/lease.rb %%DATADIR%%/lib/proxy/dhcp/record/reservation.rb %%DATADIR%%/lib/proxy/dhcp/server.rb %%DATADIR%%/lib/proxy/dhcp/server/isc.rb %%DATADIR%%/lib/proxy/dhcp/server/ms.rb %%DATADIR%%/lib/proxy/dhcp/server/native_ms.rb %%DATADIR%%/lib/proxy/dhcp/server/virsh.rb %%DATADIR%%/lib/proxy/dhcp/subnet.rb %%DATADIR%%/lib/proxy/dns.rb %%DATADIR%%/lib/proxy/dns/default_dns_settings.rb %%DATADIR%%/lib/proxy/dns/dnscmd.rb %%DATADIR%%/lib/proxy/dns/nsupdate.rb %%DATADIR%%/lib/proxy/dns/nsupdate_gss.rb %%DATADIR%%/lib/proxy/dns/virsh.rb %%DATADIR%%/lib/proxy/error.rb +%%DATADIR%%/lib/proxy/kerberos.rb %%DATADIR%%/lib/proxy/log.rb %%DATADIR%%/lib/proxy/puppet.rb %%DATADIR%%/lib/proxy/puppet/class_scanner.rb %%DATADIR%%/lib/proxy/puppet/class_scanner_eparser.rb +%%DATADIR%%/lib/proxy/puppet/config_reader.rb %%DATADIR%%/lib/proxy/puppet/customrun.rb %%DATADIR%%/lib/proxy/puppet/default_puppet_settings.rb %%DATADIR%%/lib/proxy/puppet/environment.rb %%DATADIR%%/lib/proxy/puppet/initializer.rb %%DATADIR%%/lib/proxy/puppet/mcollective.rb %%DATADIR%%/lib/proxy/puppet/puppet_class.rb %%DATADIR%%/lib/proxy/puppet/puppet_ssh.rb %%DATADIR%%/lib/proxy/puppet/puppetrun.rb %%DATADIR%%/lib/proxy/puppet/salt.rb %%DATADIR%%/lib/proxy/puppetca.rb +%%DATADIR%%/lib/proxy/realm.rb +%%DATADIR%%/lib/proxy/realm/freeipa.rb %%DATADIR%%/lib/proxy/settings.rb %%DATADIR%%/lib/proxy/tftp.rb %%DATADIR%%/lib/proxy/util.rb %%DATADIR%%/lib/proxy/validations.rb %%DATADIR%%/lib/proxy/virsh.rb %%DATADIR%%/lib/puppet_api.rb %%DATADIR%%/lib/puppetca_api.rb +%%DATADIR%%/lib/realm_api.rb %%DATADIR%%/lib/sinatra-patch.rb %%DATADIR%%/lib/smart_proxy.rb %%DATADIR%%/lib/tftp_api.rb %%DATADIR%%/public/css/styles.css %%DATADIR%%/views/dhcp/index.erb %%DATADIR%%/views/dhcp/show.erb %%DATADIR%%/views/features/index.erb %%DATADIR%%/views/layout.erb @dirrm %%DATADIR%%/views/features @dirrm %%DATADIR%%/views/dhcp @dirrm %%DATADIR%%/views @dirrm %%DATADIR%%/public/css @dirrm %%DATADIR%%/public @dirrm %%DATADIR%%/lib/proxy/bmc @dirrm %%DATADIR%%/lib/proxy/dhcp/record @dirrm %%DATADIR%%/lib/proxy/dhcp/server @dirrm %%DATADIR%%/lib/proxy/dhcp @dirrm %%DATADIR%%/lib/proxy/dns @dirrm %%DATADIR%%/lib/proxy/puppet +@dirrm %%DATADIR%%/lib/proxy/realm @dirrm %%DATADIR%%/lib/proxy @dirrm %%DATADIR%%/lib @dirrmtry %%DATADIR%% @dirrmtry etc/foreman-proxy @cwd / @exec %%MKDIR%% -m 0700 %%FOREMAN_PROXY_LOGDIR%% %%FOREMAN_PROXY_RUNDIR%% @unexec rmdir %%FOREMAN_PROXY_LOGDIR%% >/dev/null 2>&1 || : @unexec rmdir %%FOREMAN_PROXY_RUNDIR%% >/dev/null 2>&1 || :