Merge Stefan's changes for TIDS init scripts for Centos.
[trust_router.git] / trust_router.spec
1 %global optflags %{optflags} -Wno-parentheses
2 Name:           trust_router
3 Version:        1.4
4 Release:        1%{?dist}
5 Summary:        Moonshot Trust Router
6
7 Group:          System Environment/Libraries
8 License:        BSD
9 URL:            http://www.project-moonshot.org/
10 Source0:        %{name}-%{version}.tar.gz
11 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
12
13 BuildRequires:  krb5-devel 
14 BuildRequires: jansson-devel >= 2.4
15 BuildRequires: sqlite-devel, openssl-devel, libtalloc-devel
16 Requires:       moonshot-gss-eap, sqlite
17
18 %description
19 The trust router provides a mechanism for discovering the topology of
20 trust graphs in a topology and establishing temporary identities
21 between them.
22
23
24 %package        devel
25 Summary:        Development files for %{name}
26 Group:          Development/Libraries
27 Requires:       %{name}-libs = %{version}-%{release}
28
29 %description    devel
30 The %{name}-devel package contains libraries and header files for
31 developing applications that use %{name}-libs.
32
33 %package libs
34 Summary: Libraries needed by %{Name}
35
36 %description libs
37 This package includes libraries needed by the %{Name} package or
38 packages that wish trust_router functionality.
39
40
41
42
43 %prep
44 %setup -q
45
46
47 %build
48 %configure --disable-static
49 make %{?_smp_mflags}
50
51
52 %install
53 rm -rf $RPM_BUILD_ROOT
54 make install DESTDIR=$RPM_BUILD_ROOT
55 find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
56
57 # Install config files
58 install -D -m 755 redhat/init $RPM_BUILD_ROOT/%{_initrddir}/trust_router
59 install -D -m 640 redhat/trusts.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/trust_router/trusts.cfg
60 install -D -m 640 redhat/default-main.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/trust_router/conf.d/default/main.cfg
61 install -D -m 640 redhat/tr-test-main.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/trust_router/conf.d/tr-test/main.cfg
62 install -D -m 640 redhat/sysconfig $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/trust_router
63 install -D -m 640 redhat/sysconfig.tids $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/tids
64 install -D -m 755 tids.initd $RPM_BUILD_ROOT/%{_initrddir}/tids
65
66 # Link shared config
67 ln -s ../../trusts.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/trust_router/conf.d/default/trusts.cfg
68 ln -s ../../trusts.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/trust_router/conf.d/tr-test/trusts.cfg
69
70 # Install wrapper scripts
71 install -D -m 755 redhat/tidc-wrapper $RPM_BUILD_ROOT/%{_bindir}/tidc-wrapper
72 install -D -m 755 redhat/tids-wrapper $RPM_BUILD_ROOT/%{_bindir}/tids-wrapper
73 install -D -m 755 redhat/trust_router-wrapper $RPM_BUILD_ROOT/%{_bindir}/trust_router-wrapper
74
75 # As we're building an RPM, we don't need the init scripts etc. in /usr/share
76 rm -rf $RPM_BUILD_ROOT/%{_datadir}/trust_router/redhat
77
78
79 %clean
80 rm -rf $RPM_BUILD_ROOT
81
82
83 %pre
84 getent group trustrouter > /dev/null || groupadd -r trustrouter
85 getent passwd trustrouter > /dev/null || useradd -r -g trustrouter -d /var/lib/trustrouter -s /sbin/nologin -c "GSS-EAP Trust Router service account" trustrouter
86 exit 0
87
88
89 %post libs -p /sbin/ldconfig
90
91 %postun libs -p /sbin/ldconfig
92
93 %post
94 # Data directory
95 test -d /var/lib/trust_router ||mkdir /var/lib/trust_router
96 chown trustrouter:trustrouter /var/lib/trust_router
97 sqlite3 </usr/share/trust_router/schema.sql /var/lib/trust_router/keys
98 chown trustrouter:trustrouter /var/lib/trust_router/keys
99 chmod 660 /var/lib/trust_router/keys
100
101 # Log Directory
102 test -d /var/log/trust_router ||mkdir /var/log/trust_router
103 chown root:trustrouter /var/log/trust_router
104 chmod 770 /var/log/trust_router
105
106
107
108 %files
109 %defattr(-,root,root,-)
110 %doc README
111 %{_bindir}/*
112 %{_datadir}/trust_router/schema.sql
113 #/lib/systemd/system/tids.service
114
115 %{_initrddir}/tids
116 %{_initrddir}/trust_router
117
118 %config(noreplace) %{_sysconfdir}/sysconfig/tids
119 %config(noreplace) %{_sysconfdir}/sysconfig/trust_router
120
121 %dir %attr(755,root,trustrouter) %{_sysconfdir}/trust_router
122 %dir %attr(755,root,trustrouter) %{_sysconfdir}/trust_router/conf.d/
123 %dir %attr(755,root,trustrouter) %{_sysconfdir}/trust_router/conf.d/default
124 %dir %attr(755,root,trustrouter) %{_sysconfdir}/trust_router/conf.d/tr-test
125
126 %attr(640,root,trustrouter) %config(noreplace) %{_sysconfdir}/trust_router/trusts.cfg
127 %attr(640,root,trustrouter) %config(noreplace) %{_sysconfdir}/trust_router/conf.d/default/main.cfg
128 %attr(640,root,trustrouter) %config(noreplace) %{_sysconfdir}/trust_router/conf.d/tr-test/main.cfg
129 %attr(640,root,trustrouter) %config(noreplace) %{_sysconfdir}/trust_router/conf.d/default/trusts.cfg
130 %attr(640,root,trustrouter) %config(noreplace) %{_sysconfdir}/trust_router/conf.d/tr-test/trusts.cfg
131
132 %files libs
133 %defattr(-,root,root,-)
134 %{_libdir}/*.so.*
135
136 %files devel
137 %defattr(-,root,root,-)
138 %{_includedir}/*
139 %{_libdir}/*.so