source: branches/fc15-dev/server/fedora/specs/zephyr.spec @ 1930

Last change on this file since 1930 was 1830, checked in by achernya, 12 years ago
Make RPMs for Zephyr built by F15 installable. A change in RPM's Provides and Requries detection means that libraries need to be executable, or they will not get processed. Until zephyr's Makefiles are updated to do this correctly, we have to chmod as a workaround.
File size: 4.3 KB
Line 
1Name:           zephyr
2Version:        3.0.1
3Release:        0.%{scriptsversion}%{?dist}
4Summary:        Client programs for the Zephyr real-time messaging system
5
6Group:          Applications/Communications
7License:        MIT
8URL:            http://zephyr.1ts.org/
9Source0:        http://zephyr.1ts.org/export/HEAD/distribution/%{name}-%{version}.tar.gz
10Source1:        zhm.init
11BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
12
13BuildRequires:  krb5-devel hesiod-devel libss-devel libcom_err-devel readline-devel bison
14Requires:       %{name}-libs = %{version}-%{release}
15Requires(post): chkconfig
16Requires(preun): chkconfig
17Requires(preun): initscripts
18Requires(postun): initscripts
19
20%description
21Zephyr is an institutional/enterprise-scale distributed real-time messaging and
22notification system.  Zephyr's design choices seem to imbue it with a specific
23culture.  It is impossible to explain what Zephyr is, you must experience it
24for yourself.
25
26
27%package        server
28Summary:        Server for the Zephyr real-time messaging system
29Group:          System Environment/Daemons
30
31Requires:       %{name}-libs = %{version}-%{release}
32
33%description    server
34The %{name}-server package contains the server daemon for the Zephyr
35messaging service.  It maintains a location and subscription database
36for all the receiving clients, and routes all zephyrgrams to the
37intended recipients.
38
39
40%package        libs
41Summary:        Shared libraries for Zephyr real-time messaging system
42Group:          System Environment/Libraries
43
44%description    libs
45The %{name}-libs package contains shared libraries for applications
46that use %{name}.
47
48
49%package        devel
50Summary:        Development files for Zephyr real-time messaging system
51Group:          Development/Libraries
52
53Requires:       %{name}-libs = %{version}-%{release}, libcom_err-devel
54
55%description    devel
56The %{name}-devel package contains libraries and header files for
57developing applications that use %{name}.
58
59
60%prep
61%setup -q
62cp -p %{SOURCE1} .
63
64
65%build
66# Mitch wants to make an awesome specfile which makes hesiod/krb5 and friends
67# all fully configurable.  This configure line will have to do for now.
68%configure --with-hesiod --with-krb5 --disable-static
69sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
70sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
71make %{?_smp_mflags}
72
73%install
74rm -rf $RPM_BUILD_ROOT
75make install DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir}
76find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
77
78mkdir -p $RPM_BUILD_ROOT%{_initddir}
79install -m755 zhm.init \
80        $RPM_BUILD_ROOT%{_initddir}/zhm
81# Make RPM's Provide: searcher actually search the .so files! A recent
82# change in how RPM detects Provides automatically means that only
83# files that are executable get searched. Without this hack, all of
84# the zephyr client tools are Requires: libzephyr.so.4 which is never
85# Provides:, leading to uninstallable RPMS. This can be removed when
86# zephyr starts installing the libraries with mode 755 rather than
87# 644. (Zephyr #79)
88chmod a+x $RPM_BUILD_ROOT%{_libdir}/libzephyr.so.*
89
90%post
91/sbin/chkconfig --add zhm
92
93
94%preun
95if [ $1 = 0 ] ; then
96    /sbin/service zhm stop >/dev/null 2>&1
97    /sbin/chkconfig --del zhm
98fi
99
100
101%postun
102if [ "$1" -ge "1" ] ; then
103    /sbin/service zhm condrestart >/dev/null 2>&1 || :
104fi
105
106
107%post           libs -p /sbin/ldconfig
108
109%postun         libs -p /sbin/ldconfig
110
111
112%clean
113rm -rf $RPM_BUILD_ROOT
114
115
116%files
117%defattr(-,root,root,-)
118%doc README USING
119%{_bindir}/*
120%{_sbindir}/zhm
121%{_sbindir}/zshutdown_notify
122%{_mandir}/man1/*
123%{_mandir}/man8/zhm.8*
124%{_mandir}/man8/zstat.8*
125%{_mandir}/man8/zshutdown_notify.8*
126%{_datadir}/zephyr
127%{_initddir}/zhm
128
129
130%files          server
131%doc OPERATING
132%{_sysconfdir}/zephyr
133%{_sbindir}/zephyrd
134%{_mandir}/man8/zephyrd.8*
135
136
137%files          libs
138%{_libdir}/*.so.*
139
140
141%files          devel
142%{_libdir}/*.so
143%{_includedir}/*
144
145
146%changelog
147* Sat Apr 16 2011 Alexander Chernyakhovsky <achernya@mit.edu> 3.0.1-0
148- Zephyr 3.0.1
149
150* Sun Sep 19 2010 Anders Kaseorg <andersk@mit.edu> - 3.0-0
151- Decrease version below a hypothetical Fedora package.
152- Split out -server, -libs, and -devel into subpackages.
153- Disable the static library and remove the libtool archive.
154
155* Thu Sep 09 2010 Edward Z. Yang <ezyang@mit.edu> 3.0-1
156- Initial packaging release, superseding mit-zephyr.
Note: See TracBrowser for help on using the repository browser.