root/experimental/installation/specs/working/omniORB.spec @ 5176

Revision 5176, 10.3 KB (checked in by bhilburn, 6 years ago)

Moved directories around.

Line 
1# defined empty to enable automatic uid/gid selection.
2# set values to select specific user/group ids.
3%define omniuid -1
4%define omnigid -1
5
6%define _name omniORB
7
8%define lib_name %{?mklibname:%mklibname %{_name} 4.0}%{!?mklibname:lib%{_name}4.0}
9
10Summary: Object Request Broker (ORB), modified for OSSIE.
11Name:    %{_name}
12Version: 4.0.7
13Release: 1
14License: GPL / LGPL
15Group:   System/Libraries
16Source0: %{_name}-%{version}.tar.gz
17Prefix:  /usr
18URL:     http://omniorb.sourceforge.net/
19BuildRequires:  python glibc-devel
20BuildRequires:  python-devel openssl-devel
21Buildroot:      %{_tmppath}/%{name}-%{version}-root
22
23%description
24%{_name} is an Object Request Broker (ORB) which implements
25specification 2.6 of the Common Object Request Broker Architecture
26(CORBA).
27This package contains the libraries needed to run programs dynamically
28linked with %{_name}.  This package has been modified by the OSSIE team.
29
30%package -n %{lib_name}
31Summary: Object Request Broker (ORB)
32Group:     System/Libraries
33Prereq:    /sbin/ldconfig
34#Provides:  corba
35Provides:  libomniorb = %{version}-%{release} %{_name} = %{version}-%{release}
36Obsoletes: omniORB
37
38%description -n %{lib_name}
39%{_name} is an Object Request Broker (ORB) which implements
40specification 2.6 of the Common Object Request Broker Architecture
41(CORBA).
42This package contains the libraries needed to run programs dynamically
43linked with %{_name}.
44
45# servers
46
47%package servers
48Summary: Utility programs
49Group:          Development/C++
50Prereq:         /usr/sbin/groupadd /usr/sbin/groupdel
51Prereq:         /usr/sbin/useradd /usr/sbin/userdel
52Requires:       %{lib_name} = %{version}-%{release}
53Provides:       libomniorb-servers = %{version}-%{release}
54Obsoletes:      omniORB-servers omniorb
55
56%description servers
57%{_name} CORBA services including a Naming Service.
58
59%package bootscripts
60Summary: Utility programs
61Group: Development/C++
62%if "%{_vendor}" == "suse"
63Prereq:         /sbin/insserv
64%else
65Prereq:         /sbin/service /sbin/chkconfig
66%endif
67Requires: %{name}-servers = %{version}-%{release} %{name}-utils = %{version}-%{release}
68Provides: %{_name}-bootscripts = %{version}-%{release}
69Obsoletes: omniORB-bootscripts omniorb
70
71%description bootscripts
72Automatic starting of the %{_name} CORBA Naming Service.
73
74# utilities
75
76%package utils
77Summary: Utility programs
78Group:          Development/C++
79Requires:       %{lib_name} = %{version}-%{release}
80Provides:       libomniorb-utils = %{version}-%{release}
81Obsoletes:      omniORB-utils omniorb
82
83%description utils
84%{_name} utility programs which may be useful at runtime.
85
86# devel part of the bundle
87
88%package -n %{lib_name}-devel
89Summary: Header files and libraries needed for %{_name} development
90Group:          Development/C++
91Requires:       %{lib_name} = %{version}-%{release}
92Provides:       libomniorb-devel = %{version}-%{release}
93Conflicts:      libomniorb-devel < %{version}-%{release}
94Obsoletes:      omniORB-devel
95
96%description -n %{lib_name}-devel
97The header files and libraries needed for developing programs using
98%{_name}.
99
100# docs and examples are in a separate package
101
102%package doc
103Summary: Documentation and examples for %{_name}
104Group:           Development/C++
105Obsoletes:       omniORB-doc libomniorb-doc
106Provides:        libomniorb-doc = %{version}-%{release}
107#Requires:       %{lib_name} = %{version}-%{release}
108
109%description doc
110Developer documentation and examples.
111
112
113%define py_ver    %(python -c 'import sys;print(sys.version[0:3])')
114
115
116%prep
117%setup -n %{_name}-%{version}
118
119%if "%{_vendor}" == "suse"
120# Replace the init script with something appropriate for SUSE.
121# Note that we hardcode a relative path here, since we are replacing
122# a file in the source distribution tree.
123cp -f etc/init.d/omniNames.SuSE.in etc/init.d/omniNames.in
124%endif
125
126%{?configure:%configure}%{!?configure:./configure --prefix=%{_prefix} --libdir=%{_libdir}} --with-openssl=%{_prefix}
127
128
129%build
130# We abuse the CPPFLAGS to pass optimisation options through.
131%{?make:%make}%{!?make:make IMPORT_CPPFLAGS+="$RPM_OPT_FLAGS"} all
132
133
134%install
135[ -z %{buildroot} ] || rm -rf %{buildroot}
136
137%{?makeinstall_std:%makeinstall_std}%{!?makeinstall_std:make DESTDIR=%{buildroot} install}
138
139mkdir -p %{buildroot}%{_initrddir}
140mkdir -p %{buildroot}%{_sysconfdir}
141cp sample.cfg %{buildroot}%{_sysconfdir}/omniORB.cfg
142cp etc/init.d/omniNames %{buildroot}%{_initrddir}
143
144mkdir -p %{buildroot}%{_mandir}/man{1,5}
145cp -r man/* %{buildroot}%{_mandir}
146
147mkdir -p %{buildroot}%{_var}/omniNames
148mkdir -p %{buildroot}%{_localstatedir}/omniMapper
149
150# Run the OSSIE configuration script
151sh omni-conf.sh
152
153# Rename catior to avoid naming conflict with TAO
154mv %{buildroot}%{_bindir}/catior %{buildroot}%{_bindir}/catior.omni
155mv %{buildroot}%{_mandir}/man1/catior.1 %{buildroot}%{_mandir}/man1/catior.omni.1
156
157%if "%{_vendor}" == "suse"
158  # Most SUSE service scripts have a corresponding link into /usr/sbin
159  mkdir -p %{buildroot}%{_sbindir}
160  ln -sf %{_initrddir}/omniNames %{buildroot}%{_sbindir}/rcomniNames
161%endif
162
163%{?multiarch_includes:%multiarch_includes %{buildroot}%{_includedir}/omniORB4/acconfig.h}
164%{?multiarch_includes:%multiarch_includes %{buildroot}%{_includedir}/omniORB4/CORBA_sysdep_trad.h}
165
166
167%clean
168[ -z %{buildroot} ] || rm -rf %{buildroot}
169
170
171%pre -n %{lib_name}
172
173%post -n %{lib_name}
174/sbin/ldconfig
175
176%pre servers
177%if "%{omnigid}" == "-1"
178OMNIGIDOPT="-r"
179%else
180OMNIGIDOPT="-g %{omnigid}"
181%endif
182%if "%{omniuid}" == "-1"
183OMNIUIDOPT="-r"
184%else
185OMNIUIDOPT="-u %{omniuid}"
186%endif
187/usr/sbin/groupadd ${OMNIGIDOPT} omni >/dev/null 2>&1 || :
188/usr/sbin/useradd ${OMNIUIDOPT} -M -g omni -d /var/omniNames \
189  -s /bin/bash -c "omniORB servers" omni >/dev/null 2>&1 || :
190
191%pre bootscripts
192# A previous version is already installed?
193if [ $1 -ge 2 ]; then
194%if "%{_vendor}" == "suse"
195  %{_sbindir}/rcomniNames stop >/dev/null 2>&1
196%else
197  /sbin/service omniNames stop >/dev/null 2>&1
198%endif
199fi
200
201%post bootscripts
202%if "%{_vendor}" == "suse"
203/sbin/insserv omniNames
204#%{_sbindir}/rcomniNames restart >/dev/null 2>&1
205%else
206/sbin/chkconfig --add omniNames
207#/sbin/service omniNames restart >/dev/null 2>&1
208%endif
209
210%preun bootscripts
211# Are we removing the package completely?
212if [ $1 -eq 0 ]; then
213%if "%{_vendor}" == "suse"
214  %{_sbindir}/rcomniNames stop >/dev/null 2>&1
215  /sbin/insserv -r omniNames
216%else
217  /sbin/service omniNames stop >/dev/null 2>&1
218  /sbin/chkconfig --del omniNames
219%endif
220  rm -rf /var/omniNames/*
221  rm -rf /var/lib/omniMapper/*
222fi
223
224%postun -n %{lib_name}
225/sbin/ldconfig
226
227%postun servers
228# uninstalling all versions?
229if [ $1 -eq 0 ] ; then
230  /usr/sbin/userdel omni >/dev/null 2>&1 || :
231  /usr/sbin/groupdel omni >/dev/null 2>&1 || :
232fi
233
234
235%files -n %{lib_name}
236%defattr (-,root,root)
237%doc CREDITS COPYING COPYING.LIB
238%config(noreplace) %{_sysconfdir}/*.cfg
239%{_libdir}/*.so.*
240
241
242%files servers
243%defattr (-,root,root)
244%dir %attr(700,omni,omni) %{_var}/omniNames
245%dir %attr(700,omni,omni) %{_localstatedir}/omniMapper
246%attr(644,root,man) %{_mandir}/man1/omniNames*
247#%attr(644,root,man) %{_mandir}/man1/omniMapper*
248%attr(755,root,root) %{_bindir}/omniMapper
249%attr(755,root,root) %{_bindir}/omniNames
250# Thin substitute for standard Linux init script
251
252
253%files bootscripts
254%defattr (-,root,root)
255%config(noreplace) %attr(775,root,root) %{_initrddir}/*
256%if "%{_vendor}" == "suse"
257%{_sbindir}/rcomniNames
258%endif
259
260
261%files utils
262%defattr (-,root,root)
263%attr(644,root,man) %{_mandir}/man1/catior*
264%attr(644,root,man) %{_mandir}/man1/genior*
265%attr(644,root,man) %{_mandir}/man1/nameclt*
266%{_bindir}/catior.omni
267%{_bindir}/convertior
268%{_bindir}/genior
269%{_bindir}/nameclt
270
271
272%files -n %{lib_name}-devel
273%defattr(-,root,root)
274%doc readmes/*
275%attr(644,root,man) %{_mandir}/man1/omniidl*
276%{_bindir}/omnicpp
277%{_bindir}/omniidl
278%{_bindir}/omniidlrun.py
279%{_bindir}/omniidlrun.pyo
280%{_bindir}/omniidlrun.pyc
281%{_bindir}/omkdepend
282%{_libdir}/*.a
283%{_libdir}/*.so
284%{_includedir}/*
285%{_datadir}/idl/*
286%{_libdir}/python%{py_ver}/site-packages/omniidl/*
287%{_libdir}/python%{py_ver}/site-packages/omniidl_be/*.py*
288%{_libdir}/python%{py_ver}/site-packages/omniidl_be/cxx/*.py*
289%{_libdir}/python%{py_ver}/site-packages/omniidl_be/cxx/header/*
290%{_libdir}/python%{py_ver}/site-packages/omniidl_be/cxx/skel/*
291%{_libdir}/python%{py_ver}/site-packages/omniidl_be/cxx/dynskel/*
292%{_libdir}/python%{py_ver}/site-packages/omniidl_be/cxx/impl/*
293%{_libdir}/python%{py_ver}/site-packages/_omniidlmodule.so*
294%{_libdir}/pkgconfig/*.pc
295
296
297%files doc
298%defattr(-,root,root)
299%doc doc/*
300
301
302%changelog
303* Thu May 05 2005 Dirk Siebnich <dok@dok-net.net> 4.1.0-1
304- rework package names to support x86_64, co-existance of 4.0
305  and 4.1 libraries
306
307* Mon Jul 26 2004 Duncan Grisby <duncan@grisby.org> 4.0.4-1
308- Bump version number; integrate SUSE changes. Don't automatically
309  start omniNames upon RPM install.
310
311* Thu Jul 22 2004 Thomas Lockhart <lockhart@fourpalms.org> 4.0.3-7
312- Incorporate additional SUSE features per Dirk O. Siebnich <dok@dok-net.net>
313- Use additional standard RPM substitution parameters rather than
314  hardcoded paths
315
316* Wed Dec 24 2003 Thomas Lockhart <lockhart@fourpalms.org> 4.0.3
317- Fix ownership of boot scripts per Bastiann Bakker
318- Clean up pre- and post-install actions to support servers
319
320* Tue Dec 08 2003 Thomas Lockhart <lockhart@fourpalms.org> 4.0.3
321- Include additional build dependencies for redhat per Bastiann Bakker
322- Put man pages for all distros into %{prefix}/share/man per FHS conventions
323- Run omniNames under user "omni" per Jan Holst Jensen
324
325* Mon Dec 01 2003 Thomas Lockhart <lockhart@fourpalms.org> 4.0.3
326- Merge SuSE spec contributions from Johan Cronje
327
328* Wed Nov 19 2003 Duncan Grisby <duncan@grisby.org> 4.0.3
329- Merge contributed updates, bump version number.
330
331* Fri Aug 08 2003 Thomas Lockhart <lockhart@fourpalms.org> 4.0.2
332- Rename catior man page to match catior.omni binary name
333
334* Wed Aug  6 2003 Duncan Grisby <dgrisby@apasphere.com> 4.0.2
335- Bump version number.
336
337* Tue Jun 10 2003 Duncan Grisby <dgrisby@apasphere.com> 4.0.2pre1
338- Fix some text, bump version number, add init script, minor tweaks.
339
340* Wed Feb 12 2003 Thomas Lockhart <lockhart@fourpalms.org> 4.0.0
341- Rename catior to catior.omni to avoid name conflict with TAO
342
343* Tue Oct 01 2002 Thomas Lockhart <lockhart@fourpalms.org> 4.0.0
344- Track down changes in documentation for 4.0.0
345- Omit patches required to build the previous beta
346
347* Mon Jul 29 2002 Thomas Lockhart <lockhart@fourpalms.org> 4.0.0beta
348- Separate out utility programs to manage name conflict for catior with TAO
349
350* Wed Jul 03 2002 Thomas Lockhart <lockhart@fourpalms.org> 4.0.0beta
351- Start from 3.04 spec files
352- Strip workarounds from the spec file since 4.0 builds more cleanly
353
Note: See TracBrowser for help on using the browser.