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

Last change on this file since 2011 was 1830, checked in by achernya, 13 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
RevLine 
[1633]1Name:           zephyr
[1807]2Version:        3.0.1
[1664]3Release:        0.%{scriptsversion}%{?dist}
4Summary:        Client programs for the Zephyr real-time messaging system
[1633]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
[1665]13BuildRequires:  krb5-devel hesiod-devel libss-devel libcom_err-devel readline-devel bison
[1664]14Requires:       %{name}-libs = %{version}-%{release}
[1633]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
[1664]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
[1665]53Requires:       %{name}-libs = %{version}-%{release}, libcom_err-devel
[1664]54
55%description    devel
56The %{name}-devel package contains libraries and header files for
57developing applications that use %{name}.
58
59
[1633]60%prep
61%setup -q
[1635]62cp -p %{SOURCE1} .
[1633]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.
[1664]68%configure --with-hesiod --with-krb5 --disable-static
[1633]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}
[1664]76find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
[1633]77
[1635]78mkdir -p $RPM_BUILD_ROOT%{_initddir}
79install -m755 zhm.init \
80        $RPM_BUILD_ROOT%{_initddir}/zhm
[1830]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.*
[1633]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
[1664]107%post           libs -p /sbin/ldconfig
108
109%postun         libs -p /sbin/ldconfig
110
111
[1633]112%clean
113rm -rf $RPM_BUILD_ROOT
114
115
116%files
117%defattr(-,root,root,-)
[1664]118%doc README USING
[1633]119%{_bindir}/*
[1664]120%{_sbindir}/zhm
121%{_sbindir}/zshutdown_notify
[1633]122%{_mandir}/man1/*
[1664]123%{_mandir}/man8/zhm.8*
124%{_mandir}/man8/zstat.8*
125%{_mandir}/man8/zshutdown_notify.8*
126%{_datadir}/zephyr
[1635]127%{_initddir}/zhm
[1633]128
129
[1664]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
[1633]146%changelog
[1807]147* Sat Apr 16 2011 Alexander Chernyakhovsky <achernya@mit.edu> 3.0.1-0
148- Zephyr 3.0.1
149
[1664]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
[1633]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.