1# 2# spec file for package salt 3# 4# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. 5# 6# All modifications and additions to the file contributed by third parties 7# remain the property of their copyright owners, unless otherwise agreed 8# upon. The license for this file, and modifications and additions to the 9# file, is the same license as for the pristine package itself (unless the 10# license for the pristine package is not an Open Source License, in which 11# case the license is the MIT License). An "Open Source License" is a 12# license that conforms to the Open Source Definition (Version 1.9) 13# published by the Open Source Initiative. 14 15# Please submit bugfixes or comments via http://bugs.opensuse.org/ 16# 17 18 19%if 0%{?suse_version} > 1210 20%bcond_without systemd 21%else 22%bcond_with systemd 23%endif 24%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} 25%if 0%{?suse_version} > 1110 26%bcond_without bash_completion 27%bcond_without fish_completion 28%bcond_without zsh_completion 29%else 30%bcond_with bash_completion 31%bcond_with fish_completion 32%bcond_with zsh_completion 33%endif 34%bcond_with test 35%bcond_with raet 36%bcond_without docs 37 38Name: salt 39Version: 2015.8.1 40Release: 0 41Summary: A parallel remote execution system 42License: Apache-2.0 43Group: System/Monitoring 44Url: http://saltstack.org/ 45Source0: http://pypi.python.org/packages/source/s/%{name}/%{name}-%{version}.tar.gz 46Source1: README.SUSE 47Source2: salt-tmpfiles.d 48# PATCH-FIX-OPENSUSE use-forking-daemon.patch tserong@suse.com -- We don't have python-systemd, so notify can't work 49Patch1: use-forking-daemon.patch 50# PATCH-OPENSUSE use-salt-user-for-master.patch -- Run salt master as dedicated salt user 51Patch2: use-salt-user-for-master.patch 52BuildRoot: %{_tmppath}/%{name}-%{version}-build 53BuildRequires: logrotate 54BuildRequires: python 55BuildRequires: python-devel 56# requirements/base.txt 57BuildRequires: python-Jinja2 58BuildRequires: python-futures >= 2.0 59BuildRequires: python-markupsafe 60BuildRequires: python-msgpack-python > 0.3 61BuildRequires: python-psutil 62BuildRequires: python-requests >= 1.0.0 63BuildRequires: python-tornado >= 4.2.1 64BuildRequires: python-yaml 65# requirements/opt.txt (not all) 66# BuildRequires: python-MySQL-python 67# BuildRequires: python-timelib 68# BuildRequires: python-gnupg 69# BuildRequires: python-cherrypy >= 3.2.2 70%if %{with raet} 71# requirements/raet.txt 72BuildRequires: python-libnacl >= 1.0.0 73BuildRequires: python-ioflo >= 1.1.7 74BuildRequires: python-raet >= 0.6.0 75%endif 76# requirements/zeromq.txt 77BuildRequires: pycryptodomex >= 3.9.7 78BuildRequires: python-pyzmq >= 2.2.0 79%if %{with test} 80# requirements/dev_python27.txt 81BuildRequires: python-boto >= 2.32.1 82BuildRequires: python-mock 83BuildRequires: python-moto >= 0.3.6 84BuildRequires: python-pip 85BuildRequires: python-salt-testing >= 2015.2.16 86BuildRequires: python-unittest2 87BuildRequires: python-xml 88%endif 89%if %{with docs} 90#for docs 91BuildRequires: python-sphinx 92%endif 93 94Requires(pre): %{_sbindir}/groupadd 95Requires(pre): %{_sbindir}/useradd 96%if 0%{?suse_version} 97Requires(pre): %fillup_prereq 98Requires(pre): pwdutils 99%endif 100Requires: logrotate 101Requires: python 102# 103%if ! 0%{?suse_version} > 1110 104Requires: python-certifi 105%endif 106# requirements/base.txt 107Requires: python-Jinja2 108Requires: python-futures >= 2.0 109Requires: python-markupsafe 110Requires: python-msgpack-python > 0.3 111Requires: python-psutil 112Requires: python-requests >= 1.0.0 113Requires: python-tornado >= 4.2.1 114Requires: python-yaml 115%if 0%{?suse_version} 116# requirements/opt.txt (not all) 117Recommends: python-MySQL-python 118Recommends: python-timelib 119Recommends: python-gnupg 120# requirements/raet.txt 121# Recommends: salt-raet 122# requirements/zeromq.txt 123%endif 124Requires: pycryptodomex >= 3.9.7 125Requires: python-pyzmq >= 2.2.0 126# 127%if 0%{?suse_version} 128# python-xml is part of python-base in all rhel versions 129Requires: python-xml 130Recommends: python-Mako 131Recommends: python-netaddr 132%endif 133 134%if %{with systemd} 135BuildRequires: systemd 136%{?systemd_requires} 137%else 138%if 0%{?suse_version} 139Requires(pre): %insserv_prereq 140%endif 141%endif 142 143%if %{with fish_completion} 144%define fish_dir %{_datadir}/fish/ 145%define fish_completions_dir %{_datadir}/fish/completions/ 146%endif 147 148%if %{with bash_completion} 149%if 0%{?suse_version} >= 1140 150BuildRequires: bash-completion 151%else 152BuildRequires: bash 153%endif 154%endif 155 156%if %{with zsh_completion} 157BuildRequires: zsh 158%endif 159 160%description 161Salt is a distributed remote execution system used to execute commands and 162query data. It was developed in order to bring the best solutions found in 163the world of remote execution together and make them better, faster and more 164malleable. Salt accomplishes this via its ability to handle larger loads of 165information, and not just dozens, but hundreds or even thousands of individual 166servers, handle them quickly and through a simple and manageable interface. 167 168%package api 169Summary: The api for Salt a parallel remote execution system 170Group: System/Monitoring 171Requires: %{name} = %{version} 172Requires: %{name}-master = %{version} 173Requires: python-CherryPy >= 3.2.2 174 175%description api 176salt-api is a modular interface on top of Salt that can provide a variety of entry points into a running Salt system. 177 178%package cloud 179Summary: Generic cloud provisioning tool for Saltstack 180Group: System/Monitoring 181Requires: %{name} = %{version} 182Requires: %{name}-master = %{version} 183Requires: python-apache-libcloud 184%if 0%{?suse_version} 185Recommends: python-botocore 186Recommends: python-netaddr 187%endif 188 189%description cloud 190public cloud VM management system 191provision virtual machines on various public clouds via a cleanly 192controlled profile and mapping system. 193 194%if %{with docs} 195%package doc 196Summary: Documentation for salt, a parallel remote execution system 197Group: Documentation/HTML 198Requires: %{name} = %{version} 199 200%description doc 201This contains the documentation of salt, it is an offline version of https://docs.saltproject.io. 202%endif 203 204%package master 205Summary: The management component of Saltstack both protocols zmq and raet supported 206Group: System/Monitoring 207Requires: %{name} = %{version} 208%if 0%{?suse_version} 209Recommends: python-pygit2 >= 0.20.3 210%endif 211%ifarch %{ix86} x86_64 212%if 0%{?suse_version} 213Requires: dmidecode 214%endif 215%endif 216%if %{with systemd} 217%{?systemd_requires} 218%else 219%if 0%{?suse_version} 220Requires(pre): %insserv_prereq 221%endif 222%endif 223%if 0%{?suse_version} 224Requires(pre): %fillup_prereq 225%endif 226 227%description master 228The Salt master is the central server to which all minions connect. 229Enabled commands to remote systems to be called in parallel rather 230than serially. 231 232%package minion 233Summary: The client component for Saltstack 234Group: System/Monitoring 235Requires: %{name} = %{version} 236%if %{with systemd} 237%{?systemd_requires} 238%else 239%if 0%{?suse_version} 240Requires(pre): %insserv_prereq 241%endif 242%endif 243%if 0%{?suse_version} 244Requires(pre): %fillup_prereq 245%endif 246 247%description minion 248Salt minion is queried and controlled from the master. 249Listens to the salt master and execute the commands. 250 251%package raet 252Summary: Raet Support for Saltstack 253Group: System/Monitoring 254Requires: %{name} = %{version} 255Requires: python-enum34 256Requires: python-ioflo >= 1.1.7 257Requires: python-libnacl >= 1.0.0 258Requires: python-raet >= 0.6.0 259 260%description raet 261The Reliable Asynchronous Event Transport, or RAET, is an alternative transport 262medium developed specifically with Salt in mind. It has been developed to allow 263queuing to happen up on the application layer and comes with socket layer 264encryption. It also abstracts a great deal of control over the socket layer and 265makes it easy to bubble up errors and exceptions. 266 267RAET also offers very powerful message routing capabilities, allowing for 268messages to be routed between processes on a single machine all the way up to 269processes on multiple machines. Messages can also be restricted, allowing 270processes to be sent messages of specific types from specific sources allowing 271for trust to be established. 272 273%package proxy 274Summary: Component for salt that enables controlling arbitrary devices 275Group: System/Monitoring 276Requires: %{name} = %{version} 277%if %{with systemd} 278%{?systemd_requires} 279%else 280%if 0%{?suse_version} 281Requires(pre): %insserv_prereq 282%endif 283%endif 284%if 0%{?suse_version} 285Requires(pre): %fillup_prereq 286%endif 287 288%description proxy 289Proxy minions are a developing Salt feature that enables controlling devices that, 290for whatever reason, cannot run a standard salt-minion. 291Examples include network gear that has an API but runs a proprietary OS, 292devices with limited CPU or memory, or devices that could run a minion, but for 293security reasons, will not. 294 295 296%package syndic 297Summary: The syndic component for saltstack 298Group: System/Monitoring 299Requires: %{name} = %{version} 300Requires: %{name}-master = %{version} 301%if %{with systemd} 302%{?systemd_requires} 303%else 304%if 0%{?suse_version} 305Requires(pre): %insserv_prereq 306%endif 307%endif 308%if 0%{?suse_version} 309Requires(pre): %fillup_prereq 310%endif 311 312%description syndic 313Salt syndic is the master-of-masters for salt 314The master of masters for salt-- it enables 315the management of multiple masters at a time.. 316 317%package ssh 318Summary: Management component for Saltstack with ssh protocol 319Group: System/Monitoring 320Requires: %{name} = %{version} 321Requires: %{name}-master = %{version} 322%if 0%{?suse_version} 323Recommends: sshpass 324%endif 325%if %{with systemd} 326%{?systemd_requires} 327%else 328%if 0%{?suse_version} 329Requires(pre): %insserv_prereq 330%endif 331%endif 332%if 0%{?suse_version} 333Requires(pre): %fillup_prereq 334%endif 335 336%description ssh 337Salt ssh is a master running without zmq. 338it enables the management of minions over a ssh connection. 339 340%if %{with bash_completion} 341%package bash-completion 342Summary: Bash Completion for %{name} 343Group: System/Management 344Requires: %{name} = %{version} 345Requires: bash-completion 346%if 0%{?suse_version} > 1110 347BuildArch: noarch 348%endif 349 350%description bash-completion 351Bash command line completion support for %{name}. 352 353%endif 354 355%if %{with fish_completion} 356%package fish-completion 357Summary: Fish Completion for %{name} 358Group: System/Management 359Requires: %{name} = %{version} 360 361%if 0%{?suse_version} > 1110 362BuildArch: noarch 363%endif 364 365%description fish-completion 366Fish command line completion support for %{name}. 367%endif 368 369%if %{with zsh_completion} 370%package zsh-completion 371Summary: Zsh Completion for %{name} 372Group: System/Management 373Requires: %{name} = %{version} 374Requires: zsh 375%if 0%{?suse_version} > 1110 376BuildArch: noarch 377%endif 378 379%description zsh-completion 380Zsh command line completion support for %{name}. 381 382%endif 383 384%prep 385%setup -q -n salt-%{version} 386cp %{S:1} . 387%patch1 -p1 388%patch2 -p1 389 390%build 391python setup.py --salt-transport=both build 392 393%if %{with docs} 394## documentation 395cd doc && make html && rm _build/html/.buildinfo && rm _build/html/_images/proxy_minions.png && cd _build/html && chmod -R -x+X * 396%endif 397 398%install 399python setup.py --salt-transport=both install --prefix=%{_prefix} --root=%{buildroot} 400## create missing directories 401install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/master.d 402install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/minion.d 403install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/cloud.maps.d 404install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/cloud.profiles.d 405install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/cloud.providers.d 406install -Dd -m 0750 %{buildroot}%{_localstatedir}/log/salt 407install -Dd -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d/ 408install -Dd -m 0755 %{buildroot}%{_sbindir} 409install -Dd -m 0750 %{buildroot}%{_localstatedir}/log/salt 410install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/minion/extmod 411install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/master 412install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/master/jobs 413install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/master/proc 414install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/master/queues 415install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/master/roots 416install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/master/syndics 417install -Dd -m 0750 %{buildroot}%{_localstatedir}/cache/salt/master/tokens 418install -Dd -m 0750 %{buildroot}/srv/salt 419install -Dd -m 0750 %{buildroot}/srv/pillar 420install -Dd -m 0750 %{buildroot}/srv/spm 421install -Dd -m 0755 %{buildroot}%{_docdir}/salt 422install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/ 423install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/cloud.maps.d 424install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/cloud.profiles.d 425install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/cloud.providers.d 426install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/master.d 427install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/minion.d 428install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki 429install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki/master 430install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki/master/minions 431install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki/master/minions_autosign 432install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki/master/minions_denied 433install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki/master/minions_pre 434install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki/master/minions_rejected 435install -Dd -m 0750 %{buildroot}%{_sysconfdir}/salt/pki/minion 436 437## install init and systemd scripts 438%if %{with systemd} 439install -Dpm 0644 pkg/salt-master.service %{buildroot}%{_unitdir}/salt-master.service 440install -Dpm 0644 pkg/salt-minion.service %{buildroot}%{_unitdir}/salt-minion.service 441install -Dpm 0644 pkg/salt-syndic.service %{buildroot}%{_unitdir}/salt-syndic.service 442install -Dpm 0644 pkg/salt-api.service %{buildroot}%{_unitdir}/salt-api.service 443ln -s service %{buildroot}%{_sbindir}/rcsalt-master 444ln -s service %{buildroot}%{_sbindir}/rcsalt-syndic 445ln -s service %{buildroot}%{_sbindir}/rcsalt-minion 446ln -s service %{buildroot}%{_sbindir}/rcsalt-api 447install -Dpm 644 %{S:2} %{buildroot}/usr/lib/tmpfiles.d/salt.conf 448%else 449mkdir -p %{buildroot}%{_initddir} 450## install init scripts 451install -Dpm 0755 pkg/suse/salt-master %{buildroot}%{_initddir}/salt-master 452install -Dpm 0755 pkg/suse/salt-syndic %{buildroot}%{_initddir}/salt-syndic 453install -Dpm 0755 pkg/suse/salt-minion %{buildroot}%{_initddir}/salt-minion 454install -Dpm 0755 pkg/suse/salt-api %{buildroot}%{_initddir}/salt-api 455ln -sf %{_initddir}/salt-master %{buildroot}%{_sbindir}/rcsalt-master 456ln -sf %{_initddir}/salt-syndic %{buildroot}%{_sbindir}/rcsalt-syndic 457ln -sf %{_initddir}/salt-minion %{buildroot}%{_sbindir}/rcsalt-minion 458ln -sf %{_initddir}/salt-api %{buildroot}%{_sbindir}/rcsalt-api 459%endif 460 461# 462## install config files 463install -Dpm 0640 conf/minion %{buildroot}%{_sysconfdir}/salt/minion 464install -Dpm 0640 /dev/null %{buildroot}%{_sysconfdir}/salt/minion_id 465install -Dpm 0640 conf/master %{buildroot}%{_sysconfdir}/salt/master 466install -Dpm 0640 conf/roster %{buildroot}%{_sysconfdir}/salt/roster 467install -Dpm 0640 conf/cloud %{buildroot}%{_sysconfdir}/salt/cloud 468install -Dpm 0640 conf/cloud.profiles %{buildroot}%{_sysconfdir}/salt/cloud.profiles 469install -Dpm 0640 conf/cloud.providers %{buildroot}%{_sysconfdir}/salt/cloud.providers 470# 471## install logrotate file 472install -Dpm 0644 pkg/salt-common.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/salt 473# 474## install SuSEfirewall2 rules 475install -Dpm 0644 pkg/suse/salt.SuSEfirewall2 %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/salt 476# 477## install completion scripts 478%if %{with bash_completion} 479install -Dpm 0644 pkg/salt.bash %{buildroot}%{_sysconfdir}/bash_completion.d/salt 480%endif 481%if %{with zsh_completion} 482install -Dpm 0644 pkg/salt.zsh %{buildroot}%{_sysconfdir}/zsh_completion.d/salt 483%endif 484 485%if %{with fish_completion} 486mkdir -p %{buildroot}%{fish_completions_dir} 487install -Dpm 0644 pkg/fish-completions/* %{buildroot}%{fish_completions_dir} 488%endif 489 490# raet transport config 491echo "transport: raet" > %{buildroot}%{_sysconfdir}/salt/master.d/transport-raet.conf 492echo "transport: raet" > %{buildroot}%{_sysconfdir}/salt/minion.d/transport-raet.conf 493 494%check 495%if %{with test} 496python setup.py test --runtests-opts=-u 497%endif 498 499%pre 500getent group salt >/dev/null || %{_sbindir}/groupadd -r salt 501getent passwd salt >/dev/null || %{_sbindir}/useradd -r -g salt -d /srv/salt -s /bin/false -c "salt-master daemon" salt 502 503%if %{with systemd} 504%post 505systemd-tmpfiles --create /usr/lib/tmpfiles.d/salt.conf || true 506%endif 507 508%preun syndic 509%if %{with systemd} 510%service_del_preun salt-syndic.service 511%else 512%if 0%{?suse_version} 513%stop_on_removal salt-syndic 514%else 515 if [ $1 -eq 0 ] ; then 516 /sbin/service salt-syndic stop >/dev/null 2>&1 517 /sbin/chkconfig --del salt-syndic 518 fi 519%endif 520%endif 521 522%pre syndic 523%if %{with systemd} 524%service_add_pre salt-syndic.service 525%endif 526 527%post syndic 528%if %{with systemd} 529%service_add_post salt-syndic.service 530%fillup_only 531%else 532%if 0%{?suse_version} 533%fillup_and_insserv 534%endif 535%endif 536 537%postun syndic 538%if %{with systemd} 539%service_del_postun salt-syndic.service 540%else 541%if 0%{?suse_version} 542%insserv_cleanup 543%restart_on_update salt-syndic 544%endif 545%endif 546 547%preun master 548%if %{with systemd} 549%service_del_preun salt-master.service 550%else 551%if 0%{?suse_version} 552%stop_on_removal salt-master 553%else 554 if [ $1 -eq 0 ] ; then 555 /sbin/service salt-master stop >/dev/null 2>&1 556 /sbin/chkconfig --del salt-master 557 fi 558%endif 559%endif 560 561%pre master 562%if %{with systemd} 563%service_add_pre salt-master.service 564%endif 565 566%post master 567%if %{with systemd} 568%service_add_post salt-master.service 569%fillup_only 570%else 571%if 0%{?suse_version} 572%fillup_and_insserv 573%else 574 /sbin/chkconfig --add salt-master 575%endif 576%endif 577 578%postun master 579%if %{with systemd} 580%service_del_postun salt-master.service 581%else 582%if 0%{?suse_version} 583%restart_on_update salt-master 584%insserv_cleanup 585%else 586 if [ "$1" -ge "1" ] ; then 587 /sbin/service salt-master condrestart >/dev/null 2>&1 || : 588 fi 589%endif 590%endif 591 592%preun minion 593%if %{with systemd} 594%service_del_preun salt-minion.service 595%else 596%if 0%{?suse_version} 597%stop_on_removal salt-minion 598%else 599 if [ $1 -eq 0 ] ; then 600 /sbin/service salt-minion stop >/dev/null 2>&1 601 /sbin/chkconfig --del salt-minion 602 fi 603%endif 604%endif 605 606%pre minion 607%if %{with systemd} 608%service_add_pre salt-minion.service 609%endif 610 611%post minion 612%if %{with systemd} 613%service_add_post salt-minion.service 614%fillup_only 615%else 616%if 0%{?suse_version} 617%fillup_and_insserv 618%else 619 /sbin/chkconfig --add salt-minion 620%endif 621%endif 622 623%postun minion 624%if %{with systemd} 625%service_del_postun salt-minion.service 626%else 627%if 0%{?suse_version} 628%insserv_cleanup 629%restart_on_update salt-minion 630%else 631 if [ "$1" -ge "1" ] ; then 632 /sbin/service salt-minion condrestart >/dev/null 2>&1 || : 633 fi 634%endif 635%endif 636 637%preun api 638%if %{with systemd} 639%service_del_preun salt-api.service 640%else 641%stop_on_removal 642%endif 643 644%pre api 645%if %{with systemd} 646%service_add_pre salt-api.service 647%endif 648 649%post api 650%if %{with systemd} 651%service_add_post salt-api.service 652%else 653%if 0%{?suse_version} 654%fillup_and_insserv 655%endif 656%endif 657 658%postun api 659%if %{with systemd} 660%service_del_postun salt-api.service 661%else 662%if 0%{?suse_version} 663%insserv_cleanup 664%restart_on_update 665%endif 666%endif 667 668%files api 669%defattr(-,root,root) 670%{_bindir}/salt-api 671%{_sbindir}/rcsalt-api 672%if %{with systemd} 673%{_unitdir}/salt-api.service 674%else 675%{_initddir}/salt-api 676%endif 677%{_mandir}/man1/salt-api.1.* 678 679%files cloud 680%defattr(-,root,root) 681%{_bindir}/salt-cloud 682%dir %attr(0750, root, salt) %{_sysconfdir}/salt/cloud.maps.d 683%dir %attr(0750, root, salt) %{_sysconfdir}/salt/cloud.profiles.d 684%dir %attr(0750, root, salt) %{_sysconfdir}/salt/cloud.providers.d 685%config(noreplace) %attr(0640, root, salt) %{_sysconfdir}/salt/cloud 686%config(noreplace) %attr(0640, root, salt) %{_sysconfdir}/salt/cloud.profiles 687%config(noreplace) %attr(0640, root, salt) %{_sysconfdir}/salt/cloud.providers 688%{_mandir}/man1/salt-cloud.1.* 689 690%files ssh 691%defattr(-,root,root) 692%{_bindir}/salt-ssh 693%{_mandir}/man1/salt-ssh.1.gz 694 695%files syndic 696%defattr(-,root,root) 697%{_bindir}/salt-syndic 698%{_mandir}/man1/salt-syndic.1.gz 699%{_sbindir}/rcsalt-syndic 700%if %{with systemd} 701%{_unitdir}/salt-syndic.service 702%else 703%{_initddir}/salt-syndic 704%endif 705 706%files minion 707%defattr(-,root,root) 708%{_bindir}/salt-minion 709%{_mandir}/man1/salt-minion.1.gz 710%config(noreplace) %attr(0640, root, root) %{_sysconfdir}/salt/minion 711%config(noreplace) %attr(0640, root, root) %ghost %{_sysconfdir}/salt/minion_id 712%dir %attr(0750, root, root) %{_sysconfdir}/salt/minion.d/ 713%dir %attr(0750, root, root) %{_sysconfdir}/salt/pki/minion/ 714%dir %attr(0750, root, root) %{_localstatedir}/cache/salt/minion/ 715%{_sbindir}/rcsalt-minion 716%if %{with systemd} 717%{_unitdir}/salt-minion.service 718%else 719%config(noreplace) %{_initddir}/salt-minion 720%endif 721 722%files proxy 723%defattr(-,root,root) 724%{_bindir}/salt-proxy 725%{_mandir}/man1/salt-proxy.1.gz 726 727%files master 728%defattr(-,root,root) 729%{_bindir}/salt 730%{_bindir}/salt-master 731%{_bindir}/salt-cp 732%{_bindir}/salt-key 733%{_bindir}/salt-run 734%{_mandir}/man1/salt-master.1.gz 735%{_mandir}/man1/salt-cp.1.gz 736%{_mandir}/man1/salt-key.1.gz 737%{_mandir}/man1/salt-run.1.gz 738%{_mandir}/man7/salt.7.gz 739%config(noreplace) %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/salt 740%{_sbindir}/rcsalt-master 741%if %{with systemd} 742%{_unitdir}/salt-master.service 743%else 744%config(noreplace) %{_initddir}/salt-master 745%endif 746# 747%config(noreplace) %attr(0640, root, salt) %{_sysconfdir}/salt/master 748%config(noreplace) %attr(0640, root, salt) %{_sysconfdir}/salt/roster 749%dir %attr(0755, root, salt) %{_sysconfdir}/salt/master.d/ 750%dir %attr(0750, salt, salt) %{_sysconfdir}/salt/pki/master/ 751%dir %attr(0750, salt, salt) %{_sysconfdir}/salt/pki/master/minions/ 752%dir %attr(0750, salt, salt) %{_sysconfdir}/salt/pki/master/minions_autosign/ 753%dir %attr(0750, salt, salt) %{_sysconfdir}/salt/pki/master/minions_denied/ 754%dir %attr(0750, salt, salt) %{_sysconfdir}/salt/pki/master/minions_pre/ 755%dir %attr(0750, salt, salt) %{_sysconfdir}/salt/pki/master/minions_rejected/ 756%dir %attr(0755, root, salt) /srv/salt 757%dir %attr(0755, root, salt) /srv/pillar 758%dir %attr(0750, salt, salt) %{_localstatedir}/cache/salt/master/ 759%dir %attr(0750, salt, salt) %{_localstatedir}/cache/salt/master/jobs/ 760%dir %attr(0750, salt, salt) %{_localstatedir}/cache/salt/master/proc/ 761%dir %attr(0750, salt, salt) %{_localstatedir}/cache/salt/master/queues/ 762%dir %attr(0750, salt, salt) %{_localstatedir}/cache/salt/master/roots/ 763%dir %attr(0750, salt, salt) %{_localstatedir}/cache/salt/master/syndics/ 764%dir %attr(0750, salt, salt) %{_localstatedir}/cache/salt/master/tokens/ 765 766%files raet 767%defattr(-,root,root,-) 768%config(noreplace) %attr(0640, root, salt) %{_sysconfdir}/salt/master.d/transport-raet.conf 769%config(noreplace) %attr(0640, root, root) %{_sysconfdir}/salt/minion.d/transport-raet.conf 770 771%files 772%defattr(-,root,root,-) 773%{_bindir}/spm 774%{_bindir}/salt-call 775%{_bindir}/salt-unity 776%{_mandir}/man1/salt-unity.1.gz 777%{_mandir}/man1/salt-call.1.gz 778%config(noreplace) %{_sysconfdir}/logrotate.d/salt 779%{python_sitelib}/* 780%exclude %{python_sitelib}/salt/cloud/deploy/*.sh 781%attr(755,root,root)%{python_sitelib}/salt/cloud/deploy/*.sh 782%doc LICENSE AUTHORS README.rst HACKING.rst README.SUSE 783# 784%dir %attr(0750, root, salt) %{_sysconfdir}/salt 785%dir %attr(0750, root, salt) %{_sysconfdir}/salt/pki 786%dir %attr(0750, salt, salt) %{_localstatedir}/log/salt 787%dir %attr(0750, root, salt) %{_localstatedir}/cache/salt 788%dir %attr(0750, root, salt) /srv/spm 789%if %{with systemd} 790/usr/lib/tmpfiles.d/salt.conf 791%endif 792 793%if %{with docs} 794%files doc 795%defattr(-,root,root) 796%doc doc/_build/html 797%endif 798 799%if %{with bash_completion} 800%files bash-completion 801%defattr(-,root,root) 802%dir %{_sysconfdir}/bash_completion.d/ 803%config %{_sysconfdir}/bash_completion.d/%{name} 804%endif 805 806%if %{with zsh_completion} 807%files zsh-completion 808%defattr(-,root,root) 809%dir %{_sysconfdir}/zsh_completion.d/ 810%config %{_sysconfdir}/zsh_completion.d/%{name} 811%endif 812 813%if %{with fish_completion} 814%files fish-completion 815%defattr(-,root,root) 816%{fish_completions_dir}/salt* 817%dir %{fish_completions_dir} 818%dir %{fish_dir} 819%endif 820 821%changelog 822