2 # - FHS, currently everything is packaged under /usr/share/APP
3 # - fix files, do not need to package stuff as dedicated user (http should be fine, if any)
4 Summary: Systems Management web application
9 Group: Applications/WWW
10 Source0: https://downloads.puppetlabs.com/dashboard/%{name}-%{version}.tar.gz
11 # Source0-md5: e445194f1ac96946e6755cb94f21a1e5
12 URL: http://www.puppetlabs.com/
13 BuildRequires: rpmbuild(macros) >= 1.228
14 Requires(post,preun): /sbin/chkconfig
18 Requires: ruby-rubygems
20 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
23 Puppet Dashboard is a systems management web application for managing
24 Puppet installations and is written using the Ruby on Rails framework.
30 rm -rf $RPM_BUILD_ROOT
31 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/{log,public,tmp,vendor,certs,spool,examples}
32 install -p -d $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
34 cp -a app bin config db ext lib public Rakefile script spec examples vendor $RPM_BUILD_ROOT%{_datadir}/%{name}
35 install -Dp config/database.yml.example $RPM_BUILD_ROOT%{_datadir}/%{name}/config/database.yml
36 install -Dp config/settings.yml.example $RPM_BUILD_ROOT%{_datadir}/%{name}/config/settings.yml
37 install -Dp VERSION $RPM_BUILD_ROOT%{_datadir}/%{name}/VERSION
38 chmod a+x $RPM_BUILD_ROOT%{_datadir}/%{name}/script/*
40 # Add sysconfig and init script
41 install -Dp ext/redhat/%{name}.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppet-dashboard
42 install -Dp ext/redhat/puppet-dashboard-workers.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppet-dashboard-workers
43 install -Dp ext/redhat/%{name}.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/puppet-dashboard
44 install -Dp ext/redhat/%{name}.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/puppet-dashboard
46 # Put logs in /var/log and symlink in %{_datadir} (FHS work)
48 install -d $RPM_BUILD_ROOT/var/log/%{name}
49 if stat $RPM_BUILD_ROOT%{_datadir}/%{name}/log/*; then
50 rsync -avx $RPM_BUILD_ROOT%{_datadir}/%{name}/log/* $RPM_BUILD_ROOT/var/log/%{name}
52 rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/log
53 ls -l $RPM_BUILD_ROOT%{_datadir}/%{name}
54 cd $RPM_BUILD_ROOT/var/log
55 ln -sf %{name} ../..%{_datadir}/%{name}/log
58 rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{redhat,debian,build_defaults.yaml,project_data.yaml}
61 rm -rf $RPM_BUILD_ROOT
65 %groupadd -r puppet-dashboard
66 %useradd -r -g puppet-dashboard -d %{_datadir}/puppet-dashboard -s /sbin/nologin -c "Puppet Dashboard" puppet-dashboard
70 /sbin/chkconfig --add puppet-dashboard
71 /sbin/chkconfig --add puppet-dashboard-workers
74 if [ "$1" = 0 ] ; then
75 %service puppet-dashboard stop
76 %service puppet-dashboard-workers stop
77 /sbin/chkconfig --del puppet-dashboard
78 /sbin/chkconfig --del puppet-dashboard-workers
82 if [ "$1" -ge 1 ]; then
83 %service puppet-dashboard condrestart
84 %service puppet-dashboard-workers condrestart
88 %defattr(644,root,root,755)
89 %doc LICENSE README.markdown README_PACKAGES.markdown
90 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/puppet-dashboard
91 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/puppet-dashboard
92 %attr(754,root,root) /etc/rc.d/init.d/puppet-dashboard
93 %attr(754,root,root) /etc/rc.d/init.d/puppet-dashboard-workers
94 %dir %{_datadir}/puppet-dashboard
95 %attr(-,puppet-dashboard,puppet-dashboard) %dir %{_datadir}/%{name}/config
96 %attr(-,puppet-dashboard,puppet-dashboard) %config(noreplace) %verify(not md5 mtime size) %{_datadir}/%{name}/config/*
97 %attr(-,puppet-dashboard,puppet-dashboard) %doc %{_datadir}/%{name}/VERSION
98 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/Rakefile
99 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/app
100 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/bin
101 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/db
102 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/ext
103 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/lib
104 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/log
105 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/public
106 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/script
107 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/spec
108 %attr(-,puppet-dashboard,puppet-dashboard) %dir %{_datadir}/%{name}/spool
109 %attr(-,puppet-dashboard,puppet-dashboard) %dir %{_datadir}/%{name}/tmp
110 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/vendor
111 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/certs
112 %attr(-,puppet-dashboard,puppet-dashboard) %{_datadir}/%{name}/examples
113 #%attr(-,puppet-dashboard,puppet-dashboard) %dir /var/log/%{name}