Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37039006
en ru br
Репозитории ALT
S:7.24.0.161-alt2
www.altlinux.org/Changes

Группа :: Разработка/Ruby
Пакет: gem-puppet

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define        _unpackaged_files_terminate_build 1
%define        gemname puppet

Name:          gem-puppet
Version:       7.24.0.161
Release:       alt1
Summary:       A network tool for managing many disparate systems
License:       Apache-2.0
Group:         Development/Ruby
Url:           https://puppet.com/
Vcs:           https://github.com/puppetlabs/puppet.git
Packager:      Ruby Maintainers Team <ruby at packages.altlinux.org>
BuildArch:     noarch

Source:        %name-%version.tar
Source1:       client.init
Source2:       puppet.service
Source3:       puppet-nm-dispatcher
Source4:       auth.conf
Source5:       puppet.conf
Patch1:        puppet-alt-adjust-default-paths.patch
Patch2:        puppet-fix-locale-loading.patch
Patch3:        puppet-alt-aptrpm-osfamily.patch
Patch4:        fix_yaml.patch
Patch5:        fix_dep.patch
BuildRequires(pre): rpm-build-ruby
%if_with check
BuildRequires: gem(facter) >= 4.3.0
BuildRequires: gem(semantic_puppet) >= 1.0
BuildRequires: gem(puppet-resource_api) >= 1.5
BuildRequires: gem(diff-lcs) >= 1.3
BuildRequires: gem(hiera-eyaml) >= 0
BuildRequires: gem(hocon) >= 1.0
BuildRequires: gem(minitar) >= 0.9
BuildRequires: gem(msgpack) >= 1.2
BuildRequires: gem(puppetserver-ca) >= 2.0
BuildRequires: gem(ffi) >= 0
BuildRequires: gem(json-schema) >= 2.0
BuildRequires: gem(rake) >= 13.0
BuildRequires: gem(rspec) >= 3.1
BuildRequires: gem(rspec-its) >= 1.1
BuildRequires: gem(vcr) >= 6.1
BuildRequires: gem(webmock) >= 3.0
BuildRequires: gem(webrick) >= 1.7
BuildRequires: gem(yard) >= 0
BuildRequires: gem(rubocop) >= 1.15.0
BuildRequires: gem(rubocop-i18n) >= 3.0
BuildRequires: gem(memory_profiler) >= 0
BuildRequires: gem(pry) >= 0
BuildRequires: gem(racc) >= 1.5.2
BuildRequires: gem(ruby-prof) >= 0.16.0
BuildRequires: gem(packaging) >= 0.99
BuildRequires: gem(gettext-setup) >= 1.0
BuildRequires: gem(ronn) >= 0.7.3
BuildRequires: gem(fast_gettext) >= 2.1
BuildRequires: gem(locale) >= 2.1
BuildRequires: gem(multi_json) >= 1.13
BuildRequires: gem(concurrent-ruby) >= 1.0
BuildRequires: gem(deep_merge) >= 1.0
BuildRequires: gem(scanf) >= 1.0
BuildRequires: gem(CFPropertyList) >= 2.2
BuildConflicts: gem(facter) >= 5
BuildConflicts: gem(semantic_puppet) >= 2.0
BuildConflicts: gem(puppet-resource_api) >= 2.0
BuildConflicts: gem(diff-lcs) >= 2
BuildConflicts: gem(hocon) >= 2
BuildConflicts: gem(minitar) >= 1
BuildConflicts: gem(msgpack) >= 2
BuildConflicts: gem(rdoc) >= 7
BuildConflicts: gem(puppetserver-ca) >= 3
BuildConflicts: gem(json-schema) >= 3
BuildConflicts: gem(rake) >= 14
BuildConflicts: gem(rspec) >= 4
BuildConflicts: gem(rspec-its) >= 2
BuildConflicts: gem(vcr) >= 7
BuildConflicts: gem(webmock) >= 4
BuildConflicts: gem(webrick) >= 2
BuildConflicts: gem(rubocop) >= 2
BuildConflicts: gem(rubocop-i18n) >= 4
BuildConflicts: gem(packaging) >= 1
BuildConflicts: gem(gettext-setup) >= 2
BuildConflicts: gem(ronn) >= 0.8
BuildConflicts: gem(fast_gettext) >= 3
BuildConflicts: gem(locale) >= 3
BuildConflicts: gem(multi_json) >= 2
BuildConflicts: gem(concurrent-ruby) >= 2
BuildConflicts: gem(deep_merge) >= 2
BuildConflicts: gem(scanf) >= 2
BuildConflicts: gem(CFPropertyList) >= 4
%endif

%add_findreq_skiplist %ruby_gemslibdir/**/*
%add_findprov_skiplist %ruby_gemslibdir/**/*
%ruby_use_gem_dependency rdoc >= 6.1.1,rdoc < 7
%ruby_use_gem_dependency rubocop >= 1.15.0,rubocop < 2
%ruby_use_gem_dependency rspec-expectations >= 3.10.1,rspec-expectations < 4
%ruby_use_gem_dependency CFPropertyList >= 3.0.2,CFPropertyList < 4
%ruby_use_gem_dependency racc >= 1.6.1,racc < 2
Requires:      gem(facter) >= 4.3.0
Requires:      gem(semantic_puppet) >= 1.0
Requires:      gem(puppet-resource_api) >= 1.5
Requires:      gem(fast_gettext) >= 2.1
Requires:      gem(locale) >= 2.1
Requires:      gem(multi_json) >= 1.13
Requires:      gem(concurrent-ruby) >= 1.0
Requires:      gem(deep_merge) >= 1.0
Requires:      gem(scanf) >= 1.0
Requires:      gem(CFPropertyList) >= 2.2
Requires:      puppet = %EVR
Conflicts:     gem(facter) >= 5
Conflicts:     gem(semantic_puppet) >= 2.0
Conflicts:     gem(puppet-resource_api) >= 2.0
Conflicts:     gem(fast_gettext) >= 3
Conflicts:     gem(locale) >= 3
Conflicts:     gem(multi_json) >= 2
Conflicts:     gem(concurrent-ruby) >= 2
Conflicts:     gem(deep_merge) >= 2
Conflicts:     gem(scanf) >= 2
Conflicts:     gem(CFPropertyList) >= 4
Provides:      gem(puppet) = 7.24.0.161

%ruby_use_gem_version puppet:7.24.0.161

%description
Puppet lets you centrally manage every important aspect of your system using a
cross-platform specification language that manages all the separate elements
normally aggregated in different files, like users, cron jobs, and hosts, along
with obviously discrete elements like packages, services, and files.


%package       -n puppet
Version:       7.24.0.161
Release:       alt1
Summary:       A network tool for managing many disparate systems executable(s)
Summary(ru_RU.UTF-8): п≤я│п©п╬п╩п╫я▐п╪п╨п╟ п╢п╩я▐ я│п╟п╪п╬я├п╡п╣я┌п╟ puppet
Group:         System/Servers
BuildArch:     noarch

Requires:      gem(puppet) = 7.24.0.161
Requires:      shadow-change
Requires(preun,post): %name = %EVR

%description   -n puppet
A network tool for managing many disparate systems executable(s).

Puppet lets you centrally manage every important aspect of your system using a
cross-platform specification language that manages all the separate elements
normally aggregated in different files, like users, cron jobs, and hosts, along
with obviously discrete elements like packages, services, and files.

%description   -n puppet -l ru_RU.UTF-8
п≤я│п©п╬п╩п╫я▐п╪п╨п╟ п╢п╩я▐ я│п╟п╪п╬я├п╡п╣я┌п╟ puppet.


%package       -n gem-puppet-doc
Version:       7.24.0.161
Release:       alt1
Summary:       A network tool for managing many disparate systems documentation files
Summary(ru_RU.UTF-8): п╓п╟п╧п╩я▀ я│п╡п╣п╢п╣п╫п╦п╧ п╢п╩я▐ я│п╟п╪п╬я├п╡п╣я┌п╟ puppet
Group:         Development/Documentation
BuildArch:     noarch

Requires:      gem(puppet) = 7.24.0.161

%description   -n gem-puppet-doc
A network tool for managing many disparate systems documentation files.

Puppet lets you centrally manage every important aspect of your system using a
cross-platform specification language that manages all the separate elements
normally aggregated in different files, like users, cron jobs, and hosts, along
with obviously discrete elements like packages, services, and files.

%description   -n gem-puppet-doc -l ru_RU.UTF-8
п╓п╟п╧п╩я▀ я│п╡п╣п╢п╣п╫п╦п╧ п╢п╩я▐ я│п╟п╪п╬я├п╡п╣я┌п╟ puppet.


%package       -n gem-puppet-devel
Version:       7.24.0.161
Release:       alt1
Summary:       A network tool for managing many disparate systems development package
Summary(ru_RU.UTF-8): п╓п╟п╧п╩я▀ п╢п╩я▐ я─п╟п╥я─п╟п╠п╬я┌п╨п╦ я│п╟п╪п╬я├п╡п╣я┌п╟ puppet
Group:         Development/Ruby
BuildArch:     noarch

Requires:      gem(puppet) = 7.24.0.161
Requires:      gem(diff-lcs) >= 1.3
Requires:      gem(hiera-eyaml) >= 0
Requires:      gem(hocon) >= 1.0
Requires:      gem(minitar) >= 0.9
Requires:      gem(msgpack) >= 1.2
Requires:      gem(puppetserver-ca) >= 2.0
Requires:      gem(ffi) >= 0
Requires:      gem(json-schema) >= 2.0
Requires:      gem(rake) >= 13.0
Requires:      gem(rspec) >= 3.1
Requires:      gem(rspec-its) >= 1.1
Requires:      gem(vcr) >= 6.1
Requires:      gem(webmock) >= 3.0
Requires:      gem(webrick) >= 1.7
Requires:      gem(yard) >= 0
Requires:      gem(rubocop) >= 1.15.0
Requires:      gem(rubocop-i18n) >= 3.0
Requires:      gem(memory_profiler) >= 0
Requires:      gem(pry) >= 0
Requires:      gem(racc) >= 1.5.2
Requires:      gem(ruby-prof) >= 0.16.0
Requires:      gem(packaging) >= 0.99
Requires:      gem(gettext-setup) >= 1.0
Requires:      gem(ronn) >= 0.7.3
Conflicts:     gem(diff-lcs) >= 2
Conflicts:     gem(hocon) >= 2
Conflicts:     gem(minitar) >= 1
Conflicts:     gem(msgpack) >= 2
Conflicts:     gem(rdoc) >= 7
Conflicts:     gem(puppetserver-ca) >= 3
Conflicts:     gem(json-schema) >= 3
Conflicts:     gem(rake) >= 14
Conflicts:     gem(rspec) >= 4
Conflicts:     gem(rspec-its) >= 2
Conflicts:     gem(vcr) >= 7
Conflicts:     gem(webmock) >= 4
Conflicts:     gem(webrick) >= 2
Conflicts:     gem(rubocop) >= 2
Conflicts:     gem(rubocop-i18n) >= 4
Conflicts:     gem(packaging) >= 1
Conflicts:     gem(gettext-setup) >= 2
Conflicts:     gem(ronn) >= 0.8

%description   -n gem-puppet-devel
A network tool for managing many disparate systems development package.

Puppet lets you centrally manage every important aspect of your system using a
cross-platform specification language that manages all the separate elements
normally aggregated in different files, like users, cron jobs, and hosts, along
with obviously discrete elements like packages, services, and files.

%description   -n gem-puppet-devel -l ru_RU.UTF-8
п╓п╟п╧п╩я▀ п╢п╩я▐ я─п╟п╥я─п╟п╠п╬я┌п╨п╦ я│п╟п╪п╬я├п╡п╣я┌п╟ puppet.


%prep
%setup
%autopatch

%build
%ruby_build

%install
%ruby_install

# SysVInit files

install -Dp -m0644 ./ext/redhat/client.sysconfig %buildroot%_sysconfdir/sysconfig/puppet
install -Dp -m0755 %SOURCE1 %buildroot%_initrddir/puppet
# Systemd files
install -Dp -m0644 %SOURCE2 %buildroot%_unitdir/puppet.service
ln -s %_unitdir/puppet.service %buildroot%_unitdir/puppetagent.service

install -Dp -m0644 conf/fileserver.conf %buildroot%_sysconfdir/puppet/fileserver.conf

# Create other configuration directories

mkdir -p %buildroot%_sysconfdir/puppet/ssl/{public_keys,certificate_requests,certs,ca/requests,ca/private,ca/signed,private,private_keys}
mkdir -p %buildroot%_sysconfdir/puppet/code/environments/production/manifests

# Setup tmpfiles.d config

mkdir -p %buildroot%_tmpfilesdir
echo "D /run/%gemname 0755 _%gemname %gemname -" > \
   %buildroot%_tmpfilesdir/%gemname.conf

# Create puppet modules directory for puppet module tool

mkdir -p %buildroot%_sysconfdir/%gemname/code/modules
touch %buildroot%_sysconfdir/puppet/code/modules/.dir

# Create service directory

mkdir -p %buildroot{%_cachedir,%_logdir,/run}/puppet

# Create puppet modules link

ln -s %_libexecdir/puppet-modules %buildroot%ruby_gemlibdir/vendor_modules

# Install NetworkManager dispatcher

install -Dpv %SOURCE3 \
   %buildroot%_sysconfdir/NetworkManager/dispatcher.d/98-%{name}

touch %buildroot%_sysconfdir/puppet/autosign.conf
install -Dm644 %SOURCE4 %buildroot%_sysconfdir/puppet/auto.conf
install -Dm644 %SOURCE5 %buildroot%_sysconfdir/puppet/puppet.conf

# link to gem library code base

ln -s %ruby_gemlibdir %buildroot%_datadir/%gemname

# TODO fix backward link to a foreman ? from theforeman-foreman

ln -s %_libexecdir/puppet-modules/theforeman-foreman/files/foreman-report_v2.rb %buildroot%ruby_gemlibdir/lib/puppet/reports/foreman.rb

# Create public subdirectory

mkdir -p %buildroot%ruby_gemlibdir/public
touch %buildroot%ruby_gemlibdir/public/.dir

# Create locale and modules directories

mkdir -p %buildroot%_datadir/puppet-locale %buildroot%_libexecdir/puppet-modules
touch %buildroot%_datadir/puppet-locale/.dir %buildroot%_libexecdir/puppet-modules/.dir

# Remove demo files

rm -rf %buildroot%_libexecdir/demo %buildroot%_datadir/ri/demo

%check
%ruby_test

%pre           -n puppet
[ ! -d %_sysconfdir/puppetlabs/puppet/ssl ] || (
  cp -rf %_sysconfdir/puppetlabs/puppet/ssl %_sysconfdir/puppet &&
  rm -rf %_sysconfdir/puppetlabs/puppet/ssl)
getent group foreman >/dev/null || %_sbindir/groupadd -r foreman
getent group puppet >/dev/null || %_sbindir/groupadd -r puppet
%_sbindir/useradd -r -N -G puppet,foreman -d %_cachedir/puppet -s /dev/null -c Puppet _puppet >/dev/null 2>&1 ||:

%post          -n puppet
%post_service puppet
sed -e "s,sample.server.name,$(hostname)," \
   -i %_sysconfdir/puppet/puppet.conf

%preun         -n puppet
%preun_service puppet

%files
%doc README.md
%ruby_gemspec
%ruby_gemlibdir
%_libexecdir/puppet-modules

%files         -n puppet
%doc README.md
%_bindir/puppet
%_initdir/puppet
%_unitdir/puppet.service
%_unitdir/puppetagent.service
%config(noreplace) %_tmpfilesdir/%gemname.conf
%dir %_sysconfdir/puppet
%attr(0771,_puppet,puppet) %dir %_sysconfdir/puppet/ssl
%attr(0755,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/public_keys
%attr(0755,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/certificate_requests
%attr(0755,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/certs
%attr(0755,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/ca
%attr(0755,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/ca/requests
%attr(0750,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/ca/private
%attr(0755,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/ca/signed
%attr(0750,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/private
%attr(0750,_puppet,puppet) %dir %_sysconfdir/puppet/ssl/private_keys
%dir %_sysconfdir/puppet/code/environments
%dir %_sysconfdir/puppet/code/environments/production
%dir %_sysconfdir/puppet/code/environments/production/manifests
%dir %_sysconfdir/puppet/code
%_sysconfdir/puppet/code
%attr(0664,_puppet,puppet) %config(noreplace) %_sysconfdir/puppet/autosign.conf
%config(noreplace) %_sysconfdir/puppet/auto.conf
%config(noreplace) %_sysconfdir/puppet/puppet.conf
%config(noreplace) %_sysconfdir/sysconfig/puppet
%config(noreplace) %_sysconfdir/puppet/fileserver.conf
%_sysconfdir/NetworkManager/dispatcher.d/98-%{name}
%_datadir/puppet
%_datadir/puppet-locale
%attr(1770,_puppet,puppet) %dir %_cachedir/puppet
%_cachedir/puppet/
%attr(1770,_puppet,puppet) %dir %_logdir/puppet
%attr(1770,_puppet,puppet) %dir /run/puppet
%doc %_man8dir/*
%doc %_man5dir/puppet.conf.5*

%files         -n gem-puppet-doc
%doc README.md
%ruby_gemdocdir

%files         -n gem-puppet-devel
%doc README.md


%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin