From patchwork Thu Oct 20 15:33:56 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jarod Wilson X-Patchwork-Id: 9387233 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6C47160487 for ; Thu, 20 Oct 2016 15:34:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5BF1329CCF for ; Thu, 20 Oct 2016 15:34:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5102D29CD1; Thu, 20 Oct 2016 15:34:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B64A329CCF for ; Thu, 20 Oct 2016 15:34:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965358AbcJTPed (ORCPT ); Thu, 20 Oct 2016 11:34:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38094 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965360AbcJTPeF (ORCPT ); Thu, 20 Oct 2016 11:34:05 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C204781252 for ; Thu, 20 Oct 2016 15:34:04 +0000 (UTC) Received: from hp-dl360pgen8-07.khw.lab.eng.bos.redhat.com (hp-dl360pgen8-07.khw.lab.eng.bos.redhat.com [10.16.184.47]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u9KFY1CY030071; Thu, 20 Oct 2016 11:34:04 -0400 From: Jarod Wilson To: linux-rdma@vger.kernel.org Cc: Jarod Wilson Subject: [PATCH rdma-core v2 3/4] redhat: copy stock spec for RH customization Date: Thu, 20 Oct 2016 11:33:56 -0400 Message-Id: <20161020153357.27286-4-jarod@redhat.com> In-Reply-To: <20161020153357.27286-1-jarod@redhat.com> References: <20161014192136.11731-1-jarod@redhat.com> <20161020153357.27286-1-jarod@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 20 Oct 2016 15:34:04 +0000 (UTC) Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We're going to need to do a bit of majorly invasive surgery, and we're not sure everyone else is going to want to package things this way, so we'll make a copy of our own spec here, starting from the one in the tree. Signed-off-by: Jarod Wilson --- redhat/rdma-core.spec | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 redhat/rdma-core.spec diff --git a/redhat/rdma-core.spec b/redhat/rdma-core.spec new file mode 100644 index 0000000..47b7d87 --- /dev/null +++ b/redhat/rdma-core.spec @@ -0,0 +1,125 @@ +Name: rdma-core +Version: 11 +Release: 1%{?dist} +Summary: RDMA core userspace libraries and daemons + +# Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license +# providers/ipathverbs/ Dual licensed using a BSD license with an extra patent clause +# providers/rxe/ Incorporates code from ipathverbs and contains the patent clause +# providers/hfi1verbs Uses the 3 Clause BSD license +License: (GPLv2 or BSD) and (GPLv2 or PathScale-BSD) +Url: http://openfabrics.org/ +Source: rdma-core-%{version}.tgz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root + +BuildRequires: binutils +BuildRequires: cmake >= 2.8.11 +BuildRequires: gcc +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libnl-3.0) +BuildRequires: pkgconfig(libnl-route-3.0) +BuildRequires: valgrind-devel + +# Since we recommend developers use Ninja, so should packagers, for consistency. +%define CMAKE_FLAGS %{nil} +%if 0%{?suse_version} +# SuSE releases have it, and sometime around cmake 3.3.2-1.2 the macros learned to use it. +BuildRequires: ninja,make +%define __builder ninja +# cmake_install,make_jobs is specified by opensuse + +# Tumbleweed's cmake RPM macro adds -Wl,--no-undefined to the module flags +# which is totally inappropriate and breaks building 'ENABLE_EXPORTS' style +# module libraries (eg ibacmp). +%define CMAKE_FLAGS -DCMAKE_MODULE_LINKER_FLAGS="" +%else +%if 0%{?fedora} >= 23 +# Ninja was introduced in FC23 +BuildRequires: ninja-build +%define CMAKE_FLAGS -GNinja +%define make_jobs ninja -v %{?_smp_mflags} +%define cmake_install DESTDIR=%{buildroot} ninja-build install +%else +# Fallback to make otherwise +BuildRequires: make +%define make_jobs make -v %{?_smp_mflags} +%define cmake_install DESTDIR=%{buildroot} make install +%endif +%endif + +%description +Temporary packaging + +This is a simple example without the split sub packages to get things started. + +%prep +%setup + +%build + +# Detect if systemd is supported on this system +%if 0%{?_unitdir:1} +%define my_unitdir %{_unitdir} +%else +%define my_unitdir /tmp/ +%endif + +# New RPM defines _rundir, usually as /run +%if 0%{?_rundir:1} +%else +%define _rundir /var/run +%endif + +# Pass all of the rpm paths directly to GNUInstallDirs and our other defines. +%cmake %{CMAKE_FLAGS} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \ + -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=%{_sharedstatedir} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \ + -DCMAKE_INSTALL_INFODIR:PATH=%{_infodir} \ + -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{my_unitdir} \ + -DCMAKE_INSTALL_INITDDIR:PATH=%{_initrddir} \ + -DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \ + -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} +%make_jobs + +%install +%cmake_install + +%if 0%{?_unitdir:1} +rm -rf %{buildroot}/%{_initrddir}/ +%else +rm -rf %{buildroot}/%{my_unitdir}/ +%endif + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%doc %{_mandir}/man*/* +%{_bindir}/* +%{_includedir}/* +%{_libdir}/lib*.so* +%{_libdir}/libibverbs/* +%{_libdir}/ibacm/* +%{_libdir}/rsocket/* +%{_sbindir}/* +%{_libexecdir}/* +%{_docdir}/%{name}-%{version}/* +%if 0%{?_unitdir:1} +%{_unitdir}/* +%else +%config %{_initrddir}/* +%endif +%config %{_sysconfdir}/iwpmd.conf +%config %{_sysconfdir}/srp_daemon.conf +%config %{_sysconfdir}/libibverbs.d/* +%config %{_sysconfdir}/logrotate.d/srp_daemon +%{_sysconfdir}/modprobe.d/* +%config %{_sysconfdir}/rsyslog.d/srp_daemon.conf