199 lines
5.9 KiB
RPMSpec
199 lines
5.9 KiB
RPMSpec
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
|
|
|
%define with_console %{?_without_console: 0} %{?!_without_console: 1}
|
|
%define alphatag 20080221git
|
|
|
|
Summary: Tools for managing the Ocfs2 cluster file system
|
|
Name: ocfs2-tools
|
|
Version: 1.3.9
|
|
Release: 7.%{?alphatag:.%{alphatag}}%{?dist}
|
|
License: GPLv2
|
|
Group: System Environment/Base
|
|
# The source for this package was pulled from upstream's git repo and manually
|
|
# turned into a release tarball. Use the following commands to generate the
|
|
# tarball:
|
|
# git clone git://oss.oracle.com/git/ocfs2-tools.git ocfs2-tools-1.3.9
|
|
# cd ocfs2-tools-1.3.9
|
|
# git checkout -b 20080221git 22fb58d0318a2946479833bb5e2fd58864499c78
|
|
# ./autogen.sh
|
|
# cd ..
|
|
# tar -czvf ocfs2-tools-1.3.9.tar.gz ocfs2-tools-1.3.9
|
|
Source: %{name}-%{version}.tar.gz
|
|
URL: http://oss.oracle.com/projects/ocfs2-tools/
|
|
Requires(post): chkconfig
|
|
Requires(preun): chkconfig
|
|
Requires(preun): initscripts
|
|
Requires: bash, coreutils, net-tools, modutils
|
|
Requires: e2fsprogs, chkconfig, glib2 >= 2.2.3
|
|
BuildRequires: e2fsprogs-devel, glib2-devel >= 2.2.3
|
|
BuildRequires: pygtk2 >= 1.99.16, python-devel >= 2.5
|
|
BuildRequires: ncurses-devel, readline-devel, desktop-file-utils
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
|
|
|
%description
|
|
Programs to manage the Ocfs2 cluster file system, including mkfs.ocfs2,
|
|
tunefs.ocfs2 and fsck.ocfs2.
|
|
|
|
Ocfs2 is a general purpose extent based shared disk cluster file
|
|
system. It supports 64 bit inode numbers, and has automatically
|
|
extending metadata groups which may also make it attractive for
|
|
non-clustered use. Ocfs2 leverages some well tested kernel
|
|
technologies, such as JBD - the same journaling subsystem in use by
|
|
ext3.
|
|
|
|
%if %{with_console}
|
|
%package -n ocfs2console
|
|
Summary: GUI frontend for Ocfs2 management
|
|
Group: System Environment/Kernel
|
|
Requires: e2fsprogs, glib2 >= 2.2.3, vte >= 0.11.10, pygtk2 >= 1.99.16
|
|
Requires: python >= 2.5, %{name} = %{version}-%{release}
|
|
|
|
|
|
%description -n ocfs2console
|
|
Ocfs2console can make it easier to manage an Ocfs2 cluster by
|
|
providing a gui front-end to common tasks, including initial cluster
|
|
setup. In addition to cluster setup, Ocfs2console can format and
|
|
mount Ocfs2 volumes.
|
|
%endif
|
|
|
|
%package devel
|
|
Summary: Headers and static archives for ocfs2-tools
|
|
Group: Development/Libraries
|
|
Requires: e2fsprogs-devel, glib2-devel >= 2.2.3, pkgconfig
|
|
Requires: %{name} = %{version}-%{release}
|
|
Provides: %{name}-static = %{version}-%{release}
|
|
|
|
%description devel
|
|
ocfs2-tools-devel contains the libraries and header files needed to
|
|
develop Ocfs2 filesystem-specific programs.
|
|
|
|
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
|
|
%build
|
|
%configure \
|
|
%if ! %{with_console}
|
|
--enable-ocfs2console=no \
|
|
%endif
|
|
--enable-dynamic-fsck=yes
|
|
|
|
# parallel build currently fails, so no %{_smp_mflags}
|
|
make
|
|
|
|
|
|
%install
|
|
rm -rf "$RPM_BUILD_ROOT"
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/%{_initrddir}
|
|
cp -f vendor/common/o2cb.init $RPM_BUILD_ROOT/%{_initrddir}/o2cb
|
|
cp -f vendor/common/ocfs2.init $RPM_BUILD_ROOT/%{_initrddir}/ocfs2
|
|
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
|
|
cp -f vendor/common/o2cb.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/o2cb
|
|
|
|
make DESTDIR="$RPM_BUILD_ROOT" install
|
|
|
|
chmod 644 $RPM_BUILD_ROOT/%{_libdir}/*.a
|
|
|
|
%if %{with_console}
|
|
%{__python} -c "import compileall; compileall.compile_dir('$RPM_BUILD_ROOT/%{python_sitearch}/ocfs2interface', ddir='%{python_sitearch}/ocfs2interface')"
|
|
# rpm autostripper needs to see these as executable
|
|
chmod 755 $RPM_BUILD_ROOT/%{python_sitearch}/ocfs2interface/*.so
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ocfs2console/
|
|
cp -f vendor/common/ocfs2console.png $RPM_BUILD_ROOT%{_datadir}/ocfs2console/
|
|
desktop-file-install --vendor="fedora" \
|
|
--dir=$RPM_BUILD_ROOT%{_datadir}/applications/ \
|
|
vendor/common/ocfs2console.desktop
|
|
%endif
|
|
|
|
|
|
%clean
|
|
rm -rf "$RPM_BUILD_ROOT"
|
|
|
|
|
|
%post
|
|
/sbin/chkconfig --add o2cb
|
|
/sbin/chkconfig --add ocfs2
|
|
|
|
%preun
|
|
if [ $1 = 0 ]; then # execute this only if we are NOT doing an upgrade
|
|
/sbin/service ocfs2 stop >/dev/null 2>&1 || :
|
|
/sbin/service o2cb stop >/dev/null 2>&1 || :
|
|
/sbin/chkconfig --del ocfs2
|
|
/sbin/chkconfig --del o2cb
|
|
fi
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%doc README.O2CB COPYING CREDITS MAINTAINERS
|
|
%doc documentation/users_guide.txt
|
|
/sbin/fsck.ocfs2
|
|
/sbin/mkfs.ocfs2
|
|
/sbin/mounted.ocfs2
|
|
/sbin/tunefs.ocfs2
|
|
/sbin/debugfs.ocfs2
|
|
/sbin/o2cb_ctl
|
|
/sbin/mount.ocfs2
|
|
/sbin/ocfs2cdsl
|
|
/sbin/ocfs2_hb_ctl
|
|
%{_initrddir}/o2cb
|
|
%{_initrddir}/ocfs2
|
|
%config(noreplace) /etc/sysconfig/o2cb
|
|
%{_mandir}/man8/debugfs.ocfs2.8.gz
|
|
%{_mandir}/man8/fsck.ocfs2.8.gz
|
|
%{_mandir}/man8/fsck.ocfs2.checks.8.gz
|
|
%{_mandir}/man8/mkfs.ocfs2.8.gz
|
|
%{_mandir}/man8/tunefs.ocfs2.8.gz
|
|
%{_mandir}/man8/mount.ocfs2.8.gz
|
|
%{_mandir}/man8/mounted.ocfs2.8.gz
|
|
%{_mandir}/man8/o2cb_ctl.8.gz
|
|
%{_mandir}/man8/ocfs2_hb_ctl.8.gz
|
|
%{_mandir}/man8/ocfs2cdsl.8.gz
|
|
|
|
|
|
%if %{with_console}
|
|
%files -n ocfs2console
|
|
%defattr(-,root,root,-)
|
|
%dir %{python_sitearch}/ocfs2interface
|
|
%{python_sitearch}/ocfs2interface/*
|
|
%{_sbindir}/ocfs2console
|
|
%{_mandir}/man8/ocfs2console.8.gz
|
|
%{_datadir}/applications/fedora-ocfs2console.desktop
|
|
%dir %{_datadir}/ocfs2console/
|
|
%{_datadir}/ocfs2console/*
|
|
%endif
|
|
|
|
%files devel
|
|
%defattr(-,root,root,-)
|
|
%{_libdir}/*.a
|
|
%{_libdir}/pkgconfig/*.pc
|
|
%dir %{_includedir}/ocfs2-kernel
|
|
%dir %{_includedir}/o2cb
|
|
%dir %{_includedir}/o2dlm
|
|
%dir %{_includedir}/ocfs2
|
|
%{_includedir}/ocfs2-kernel/*
|
|
%{_includedir}/o2cb/*
|
|
%{_includedir}/o2dlm/*
|
|
%{_includedir}/ocfs2/*
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
* Fri Apr 18 2008 Mark Fasheh <mark@fasheh.com> - 1.3.9-7.20080221git.fc8
|
|
- Use 'Fedora' as vendor for desktop-file-install
|
|
|
|
* Thu Feb 21 2008 Mark Fasheh <mark@fasheh.com> - 1.3.9-6.20080221git.fc8
|
|
- Move to git revision 22fb58d0318a2946479833bb5e2fd58864499c78
|
|
|
|
* Mon Feb 4 2008 Mark Fasheh <mark@fasheh.com> - 1.3.9-5.20080131git
|
|
- Incorporate feedback via bugzilla during review process.
|
|
|
|
* Thu Jan 31 2008 Mark Fasheh <mark@fasheh.com> - 1.3.9-4.20080131git
|
|
- Initial Fedora spec, heavily modified from ocfs2-tools distribution. Thanks
|
|
to Eric Sandeen for helping with this.
|