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