OSDN Git Service

update 0.6.3
[pysilhouette/pysilhouette.git.git] / doc / redhat.spec
1 %define name pysilhouette
2 %define version 0.6.3
3 %define release 1
4 %define date %(echo `LANG=C date +%%Y%%m%%d%%H%%M%%S`)
5
6 %define _prefix /opt
7
8 %define __python $(which python)
9 %define __app pysilhouette
10 %define __prog silhouette
11 %define __progd %{__prog}d
12 %define __sysconfdir %{_sysconfdir}/opt/%{__app}
13 %define __bindir %{_prefix}/%{__app}/bin
14 %define __datadir %{_var}/opt/%{__app}
15 %define _defaultdocdir %{_prefix}/%{__app}/share/doc
16 %define python_sitelib  %{_prefix}/%{__app}/lib/python
17
18 %define _user           pysilhouette
19 %define _group          pysilhouette
20 %define _uid_min        300
21 %define _uid_max        350
22
23 Summary: A python-based background job manager
24 Summary(ja): オープンソースのバックグラウンドジョブマネージャー
25 Name: %{name}
26 Version: %{version}
27 #Release: %{release}.%{date}
28 Release: %{release}
29 Source0: %{name}-%{version}.tar.gz
30 License: MIT/X11
31 Group: System Environment/Daemons
32 Vendor: Karesansui Project
33 URL: http://sourceforge.jp/projects/pysilhouette/
34 Packager: Taizo ITO <taizo@karesansui-project.info>
35 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
36 Prefix: %{_prefix}
37 BuildArch: noarch
38
39 %description
40 Pysilhouette is a python-based background job manager,
41 intended to co-work with various python-based web applications.
42 It makes it available to get job status to programmers,
43 which was difficult in http-based stateless/interactive session before.
44 100% Pure Python.
45
46 %prep
47 %setup
48
49 %build
50 python setup.py build
51
52 %install
53 python setup.py install --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES --home=%{_prefix}/%{__app}
54
55 mkdir -p $RPM_BUILD_ROOT%{__sysconfdir}
56 mkdir -p $RPM_BUILD_ROOT%{__bindir}
57 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
58 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
59 mkdir -p $RPM_BUILD_ROOT/var/log/%{__app}/
60
61 install -c -m 644 doc/log.conf.example $RPM_BUILD_ROOT%{__sysconfdir}/log.conf.example
62 install -c -m 644 doc/log.conf.example $RPM_BUILD_ROOT%{__sysconfdir}/log.conf
63
64 install -c -m 644 doc/%{__prog}.conf.example $RPM_BUILD_ROOT%{__sysconfdir}/%{__prog}.conf.example
65 install -c -m 644 doc/%{__prog}.conf.example $RPM_BUILD_ROOT%{__sysconfdir}/%{__prog}.conf
66
67 install -c -m 644 doc/whitelist.conf.example $RPM_BUILD_ROOT%{__sysconfdir}/whitelist.conf.example
68 install -c -m 644 doc/whitelist.conf.example $RPM_BUILD_ROOT%{__sysconfdir}/whitelist.conf
69
70 install -c -m 644 doc/rc.d/init.d/* $RPM_BUILD_ROOT%{_initrddir}/
71 install -c -m 644 doc/sysconfig/%{__progd} $RPM_BUILD_ROOT/etc/sysconfig/%{__progd}
72
73 chmod +x $RPM_BUILD_ROOT%{python_sitelib}/%{__app}/%{__prog}.py
74 %{__ln_s} %{python_sitelib}/%{__app}/%{__prog}.py $RPM_BUILD_ROOT%{__bindir}
75
76 %clean
77 rm -rf $RPM_BUILD_ROOT
78
79 %pre
80 # Add group
81 getent group | %{__grep} "^%{_group}:" >/dev/null 2>&1
82 if [ $? -ne 0 ]; then
83   __uid=%{_uid_min}
84   while test ${__uid} -le %{_uid_max}
85   do
86     getent group | %{__grep} "^[^:]*:x:${__uid}:" >/dev/null 2>&1
87     if [ $? -ne 0 ]; then
88       _gid=${__uid}
89       break
90     fi
91     __uid=`expr ${__uid} + 1`
92   done
93   /usr/sbin/groupadd -g ${_gid} -f %{_group}
94 fi
95
96 # Add user
97 getent passwd | %{__grep} "^%{_user}:" >/dev/null 2>&1
98 if [ $? -ne 0 ]; then
99   __uid=%{_uid_min}
100   while test ${__uid} -le %{_uid_max}
101   do
102     getent passwd | %{__grep} "^[^:]*:x:${__uid}:" >/dev/null 2>&1
103     if [ $? -ne 0 ]; then
104       _uid=${__uid}
105       break
106     fi
107     __uid=`expr ${__uid} + 1`
108   done
109   /usr/sbin/useradd -c "pysilhouette" -u ${_uid} -g %{_group} -s /bin/false -r %{_user} 2> /dev/null || :
110 fi
111
112 %post
113 if [ ! -e %{__datadir} ]; then
114   mkdir -p %{__datadir} 2> /dev/null
115 fi
116
117 %postun
118 if [ $1 = 0 ]; then
119   /usr/sbin/userdel %{_user} 2> /dev/null || :
120   /usr/sbin/groupdel %{_group} 2> /dev/null || :
121 fi
122
123
124 %files -f INSTALLED_FILES
125 %defattr(-,root,root)
126 %doc doc tool MANIFEST.in LICENSE example AUTHORS ChangeLog INSTALL INSTALL.ja README README.ja setup.cfg setup.py debian
127 %dir %attr(0755, root, root) %{__sysconfdir}
128 %attr(0755, root, root) %{_initrddir}/*
129 %attr(0644, root, root) %config(noreplace) %{__sysconfdir}/log.conf
130 %attr(0644, root, root) %{__sysconfdir}/log.conf.example
131 %attr(0644, root, root) %config(noreplace) %{__sysconfdir}/%{__prog}.conf
132 %attr(0644, root, root) %{__sysconfdir}/%{__prog}.conf.example
133 %attr(0644, root, root) %config(noreplace) %{__sysconfdir}/whitelist.conf
134 %attr(0644, root, root) %{__sysconfdir}/whitelist.conf.example
135 %attr(0644, root, root) %config(noreplace) /etc/sysconfig/%{__progd}
136 %{__bindir}/%{__prog}.py
137 %dir /var/log/%{__app}
138
139 %changelog
140 * Tue Aug 04 2009 Kei Funagayama <kei@karesansui-project.info> - 0.6.3-1
141 - Add Command Tools.
142 - Add Debian packaging.
143
144 * Fri Jul 24 2009 Kei Funagayama <kei@karesansui-project.info> - 0.6.2-2
145 - Add documentation.
146
147 * Tue Jun 16 2009 Kei Funagayama <kei@karesansui-project.info> - 0.6.2-1
148 - Add Database copy command.
149 - SQLite time to register with the system, had not added the time zone information.
150
151 * Tue May 19 2009 Taizo ITO <taizo@karesansui-project.info> - 0.6.1-1
152 - Update version.
153
154 * Tue Feb 4 2009 HDE Package Maintainer <info@hde.co.jp> - 0.1.0-1
155 - Initial build.
156