From a3cc1c95d2fb023a6cc89e7fdfc4a7037f1e62b5 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 08:08:52 +0100 Subject: [PATCH] package created using the webbuild interface [release 3.11-1mamba;Tue Jun 24 2014] --- README.md | 2 + open-fcoe-3.11-add_systemd_service_file.patch | 100 ++++++++++++ open-fcoe-3.11-bootstrap.patch | 11 ++ open-fcoe-3.11-fix-hbaapi-prototypes.patch | 60 +++++++ open-fcoe-3.11-libHBAAPI-add-ldl.patch | 29 ++++ open-fcoe-3.11-properly_use_inttypes.patch | 81 +++++++++ ...-fcoe-3.11-systemd_socket_activation.patch | 131 +++++++++++++++ open-fcoe.spec | 154 ++++++++++++++++++ 8 files changed, 568 insertions(+) create mode 100644 open-fcoe-3.11-add_systemd_service_file.patch create mode 100644 open-fcoe-3.11-bootstrap.patch create mode 100644 open-fcoe-3.11-fix-hbaapi-prototypes.patch create mode 100644 open-fcoe-3.11-libHBAAPI-add-ldl.patch create mode 100644 open-fcoe-3.11-properly_use_inttypes.patch create mode 100644 open-fcoe-3.11-systemd_socket_activation.patch create mode 100644 open-fcoe.spec diff --git a/README.md b/README.md index eaa43d7..6054410 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # open-fcoe +Fibre Channel over Ethernet implementation for the Linux operating system. + diff --git a/open-fcoe-3.11-add_systemd_service_file.patch b/open-fcoe-3.11-add_systemd_service_file.patch new file mode 100644 index 0000000..eefa3b7 --- /dev/null +++ b/open-fcoe-3.11-add_systemd_service_file.patch @@ -0,0 +1,100 @@ +From 41e9d79bd4bf9af4aa422615453333e860acabcd Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Fri, 6 Dec 2013 19:51:56 +0000 +Subject: [PATCH] fcoemon: add systemd service file + +Add fcoe.service file to start fcoemon from systemd + +Signed-off-by: Hannes Reinecke +Signed-off-by: Robert Love +--- + Makefile.am | 5 +++++ + configure.ac | 8 ++++++++ + doc/fcoemon.8 | 2 +- + doc/fcoemon.txt | 1 + + etc/systemd/fcoe.service | 13 +++++++++++++ + 5 files changed, 28 insertions(+), 1 deletions(-) + create mode 100644 etc/systemd/fcoe.service + +diff --git a/Makefile.am b/Makefile.am +index ba08924..012b560 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -41,6 +41,11 @@ noinst_HEADERS = fcoeadm_display.h fcoe_clif.h fcoemon.h \ + fcoe_configdir = ${sysconfdir}/fcoe + dist_fcoe_config_DATA = etc/cfg-ethx + ++## install systemd service files ++if HAVE_SYSTEMD ++systemdsystemunit_DATA = etc/systemd/fcoe.service ++endif ++ + ## man pages for fcoeadm and fcoemon + dist_man_MANS = doc/fcoeadm.8 doc/fcoemon.8 doc/fipvlan.8 doc/fcrls.8 \ + doc/fcnsq.8 doc/fcping.8 +diff --git a/configure.ac b/configure.ac +index bb1385b..107d039 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -17,6 +17,14 @@ AC_SUBST([LLDPAD_CFLAGS]) + PKG_CHECK_MODULES([LIBHBALINUX], [libhbalinux >= 1.0.13]) + AC_SUBST([LIBHBALINUX_CFLAGS]) + ++PKG_PROG_PKG_CONFIG ++AC_ARG_WITH([systemdsystemunitdir], ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], ++ [Directory for systemd service files]), [], ++ [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) ++AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"]) ++ + AC_CONFIG_FILES([Makefile fcoe-utils.spec include/fcoe_utils_version.h]) + AC_OUTPUT + +diff --git a/doc/fcoemon.8 b/doc/fcoemon.8 +index e9a045b..020394e 100644 +--- a/doc/fcoemon.8 ++++ b/doc/fcoemon.8 +@@ -358,7 +358,7 @@ indicates whether a FIP responder should be activated on this device to support + Note that the attached Ethernet peer device (e\&.g\&. FCoE capable switch port) must have compatible settings For DCB and FCoE to function properly\&. + .SS "/etc/init\&.d/fcoe" + .sp +-This is the \fBfcoe\fR system service script\&. This script is invoked by the init process or by the service command to start and stop the \fBfcoemon\fR\&. ++This is the \fBfcoe\fR system service script\&. This script is invoked by the init process or by the service command to start and stop the \fBfcoemon\fR\&. On systemd-enabled systems, \fBfcoemon\fR is controlled via the \fBfcoe.service\fR unit. + .SH "VLAN NAMING CONVENTIONS" + .sp + If a new VLAN device is created (see the description of the \fIAUTO_VLAN\fR setting above), it will have the name \fIdev\fR\&.\fIvlan\fR\-fcoe; where \fIdev\fR is the name of the Ethernet parent device and \fIvlan\fR is the discovered VLAN ID number\&. +diff --git a/doc/fcoemon.txt b/doc/fcoemon.txt +index ec15197..09ee5a2 100644 +--- a/doc/fcoemon.txt ++++ b/doc/fcoemon.txt +@@ -214,6 +214,7 @@ must have compatible settings For DCB and FCoE to function properly. + ~~~~~~~~~~~~~~~~ + This is the *fcoe* system service script. This script is invoked by the + init process or by the service command to start and stop the *fcoemon*. ++On systemd-enabled systems, *fcoemon* is controlled via the *fcoe.service* unit. + + VLAN NAMING CONVENTIONS + ----------------------- +diff --git a/etc/systemd/fcoe.service b/etc/systemd/fcoe.service +new file mode 100644 +index 0000000..4834e43 +--- /dev/null ++++ b/etc/systemd/fcoe.service +@@ -0,0 +1,13 @@ ++[Unit] ++Description=Open-FCoE initiator daemon ++After=syslog.target network.target ++ ++[Service] ++Type=forking ++EnvironmentFile=/etc/sysconfig/fcoe ++ExecStartPre=/sbin/modprobe -qa $SUPPORTED_DRIVERS ++ExecStart=/usr/sbin/fcoemon $FCOEMON_OPTS ++ ++[Install] ++WantedBy=multi-user.target ++Also=lldpad.socket +-- +1.7.1 + diff --git a/open-fcoe-3.11-bootstrap.patch b/open-fcoe-3.11-bootstrap.patch new file mode 100644 index 0000000..4caab7a --- /dev/null +++ b/open-fcoe-3.11-bootstrap.patch @@ -0,0 +1,11 @@ +diff -Nru open-fcoe-3.11.orig/fcoe-utils/configure.ac open-fcoe-3.11/fcoe-utils/configure.ac +--- open-fcoe-3.11.orig/fcoe-utils/configure.ac 2013-10-14 19:16:02.000000000 +0200 ++++ open-fcoe-3.11/fcoe-utils/configure.ac 2014-06-24 00:45:50.021288671 +0200 +@@ -2,7 +2,6 @@ + AM_INIT_AUTOMAKE([foreign]) + + m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) +-AM_INIT_AUTOMAKE([foreign]) + + AC_PROG_CC + AM_PROG_CC_C_O diff --git a/open-fcoe-3.11-fix-hbaapi-prototypes.patch b/open-fcoe-3.11-fix-hbaapi-prototypes.patch new file mode 100644 index 0000000..e1e3863 --- /dev/null +++ b/open-fcoe-3.11-fix-hbaapi-prototypes.patch @@ -0,0 +1,60 @@ +diff -Nru open-fcoe-3.11.orig/libHBAAPI/hbaapi.h open-fcoe-3.11/libHBAAPI/hbaapi.h +--- open-fcoe-3.11.orig/libHBAAPI/hbaapi.h 2013-10-14 19:16:02.000000000 +0200 ++++ open-fcoe-3.11/libHBAAPI/hbaapi.h 2014-06-24 01:31:20.505015831 +0200 +@@ -523,17 +523,17 @@ + #define HBA_EVENT_LINK_UNKNOWN 0x500 + #define HBA_EVENT_LINK_INCIDENT 0x501 + +-HBA_API HBA_UINT32 HBA_GetVersion(); ++HBA_API HBA_UINT32 HBA_GetVersion(void); + + /* + * Make sure HBA_LoadLibrary returns before any other threads + * make calls to the library + */ +-HBA_API HBA_STATUS HBA_LoadLibrary(); ++HBA_API HBA_STATUS HBA_LoadLibrary(void); + +-HBA_API HBA_STATUS HBA_FreeLibrary(); ++HBA_API HBA_STATUS HBA_FreeLibrary(void); + +-HBA_API HBA_UINT32 HBA_GetNumberOfAdapters(); ++HBA_API HBA_UINT32 HBA_GetNumberOfAdapters(void); + + HBA_API HBA_STATUS HBA_GetAdapterName( + HBA_UINT32 adapterindex, +@@ -602,7 +602,7 @@ + HBA_UINT32 RspBufferSize + ); + +-HBA_API void HBA_RefreshAdapterConfiguration(); ++HBA_API void HBA_RefreshAdapterConfiguration(void); + + HBA_API HBA_STATUS HBA_GetEventBuffer( + HBA_HANDLE handle, +--- open-fcoe-3.11.orig/libHBAAPI/vendorhbaapi.h 2013-10-14 19:16:02.000000000 +0200 ++++ open-fcoe-3.11/libHBAAPI/vendorhbaapi.h 2014-06-24 01:43:51.728306594 +0200 +@@ -44,10 +44,10 @@ + + + /* 6.10.1 HBA Library Function Table */ +-typedef HBA_UINT32 (* HBAGetVersionFunc)(); +-typedef HBA_STATUS (* HBALoadLibraryFunc)(); +-typedef HBA_STATUS (* HBAFreeLibraryFunc)(); +-typedef HBA_UINT32 (* HBAGetNumberOfAdaptersFunc)(); ++typedef HBA_UINT32 (* HBAGetVersionFunc)(void); ++typedef HBA_STATUS (* HBALoadLibraryFunc)(void); ++typedef HBA_STATUS (* HBAFreeLibraryFunc)(void); ++typedef HBA_UINT32 (* HBAGetNumberOfAdaptersFunc)(void); + typedef HBA_STATUS (* HBAGetAdapterNameFunc)(HBA_UINT32, char *); + /* + * Open Adapter.... the vendor function is limmited to 16 bits, +@@ -72,7 +72,7 @@ + typedef HBA_STATUS (* HBASendCTPassThruV2Func) + (HBA_HANDLE, HBA_WWN, void *, HBA_UINT32, void *, HBA_UINT32 *); + typedef void (* HBARefreshInformationFunc)(HBA_HANDLE); +-typedef void (* HBARefreshAdapterConfigurationFunc) (); ++typedef void (* HBARefreshAdapterConfigurationFunc) (void); + typedef void (* HBAResetStatisticsFunc)(HBA_HANDLE, HBA_UINT32); + typedef HBA_STATUS (* HBAGetFcpTargetMappingV2Func) + (HBA_HANDLE, HBA_WWN, HBA_FCPTARGETMAPPINGV2 *); diff --git a/open-fcoe-3.11-libHBAAPI-add-ldl.patch b/open-fcoe-3.11-libHBAAPI-add-ldl.patch new file mode 100644 index 0000000..3528ac2 --- /dev/null +++ b/open-fcoe-3.11-libHBAAPI-add-ldl.patch @@ -0,0 +1,29 @@ +From 7c19af12660189a1980e96373b9e56f35583f07a Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Fri, 6 Dec 2013 19:58:07 +0000 +Subject: [PATCH] Add '-ldl' during link + +Adding '-ld' to avoid link failures of dependent +libraries / applications. + +Signed-off-by: Hannes Reinecke +Signed-off-by: Robert Love +--- + Makefile.am | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index ffb53b9..ab14cb2 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,6 +2,7 @@ lib_LTLIBRARIES = libHBAAPI.la + libHBAAPI_la_SOURCES = hbaapi.h vendorhbaapi.h + nodist_libHBAAPI_la_SOURCES = hbaapilib.c + libHBAAPI_la_LDFLAGS = -version-info 2:2:0 ++libHBAAPI_la_LIBADD = -ldl + + nobase_include_HEADERS = hbaapi.h vendorhbaapi.h + +-- +1.7.1 + diff --git a/open-fcoe-3.11-properly_use_inttypes.patch b/open-fcoe-3.11-properly_use_inttypes.patch new file mode 100644 index 0000000..07a6157 --- /dev/null +++ b/open-fcoe-3.11-properly_use_inttypes.patch @@ -0,0 +1,81 @@ +From e566b3ecac367cf59a1d3995b32591bba2ad2972 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Fri, 6 Dec 2013 19:51:53 +0000 +Subject: [PATCH] Fix integer formatting + +Properly use inttypes when printing 64bit values. + +Signed-off-by: Hannes Reinecke +Signed-off-by: Robert Love +--- + fcoeadm_display.c | 4 ++-- + fcoemon.c | 2 +- + fcping.c | 11 ++++++----- + 3 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/fcoeadm_display.c b/fcoeadm_display.c +index 287e370..9b96aa7 100644 +--- a/fcoeadm_display.c ++++ b/fcoeadm_display.c +@@ -1417,8 +1417,8 @@ static void print_fcoe_fcf_device(void *ep, UNUSED void *arg) + if (!buf) + buf = temp; + printf(" Connection Mode: %s\n", buf); +- printf(" Fabric Name: 0x%016lx\n", fcf->fabric_name); +- printf(" Switch Name 0x%016lx\n", fcf->switch_name); ++ printf(" Fabric Name: 0x%016" PRIx64 "\n", fcf->fabric_name); ++ printf(" Switch Name 0x%016" PRIx64 "\n", fcf->switch_name); + mac2str(fcf->mac, mac, MAX_STR_LEN); + printf(" MAC Address: %s\n", mac); + printf(" FCF Priority: %u\n", fcf->priority); +diff --git a/fcoemon.c b/fcoemon.c +index a5babfa..be4c74d 100644 +--- a/fcoemon.c ++++ b/fcoemon.c +@@ -2637,7 +2637,7 @@ static void fcm_dcbd_get_oper(struct fcm_netif *ff, char *resp, char *cp) + + if (ep) { + FCM_LOG_DEV(ff, "Invalid get oper response " +- "parse error byte %ld, resp %s", ep - cp, cp); ++ "parse error byte %td, resp %s", ep - cp, cp); + fcm_dcbd_state_set(ff, FCD_ERROR); + } else { + if (val && fcoe_config.debug) +diff --git a/fcping.c b/fcping.c +index c6f74a6..399b778 100644 +--- a/fcping.c ++++ b/fcping.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -810,17 +811,17 @@ static void fp_check_data_len(void) + printf("Maximum ECHO data allowed by the Fabric (0x%06x) : %d bytes.\n" + "Maximum ECHO data allowed by the Source (0x%06x) : %d bytes.\n" + "Maximum ECHO data allowed by the Target (0x%06x) : %d bytes.\n" +- "Maximum ECHO data requested from user input (-s) : %lu " ++ "Maximum ECHO data requested from user input (-s) : %" PRIu32 " " + "(default %d) bytes.\n", + FC_WKA_FABRIC_CONTROLLER, flen, sid, slen, fp_did, dlen, +- fp_len - FP_LEN_ECHO, FP_LEN_DEF); ++ (uint32_t)(fp_len - FP_LEN_ECHO), FP_LEN_DEF); + + /* fp_len is the total payload, including 4 bytes for ECHO command */ + fp_len = MIN(fp_len, plen + FP_LEN_ECHO); +- printf("Actual FC ELS ECHO data size used : %lu bytes.\n" ++ printf("Actual FC ELS ECHO data size used : %" PRIu32 " bytes.\n" + "Actual FC ELS ECHO payload size used : %d bytes " +- "(including %ld bytes ECHO command).\n", +- fp_len - FP_LEN_ECHO, fp_len, FP_LEN_ECHO); ++ "(including %zu bytes ECHO command).\n", ++ (uint32_t)(fp_len - FP_LEN_ECHO), fp_len, FP_LEN_ECHO); + } + + /* +-- +1.7.1 + diff --git a/open-fcoe-3.11-systemd_socket_activation.patch b/open-fcoe-3.11-systemd_socket_activation.patch new file mode 100644 index 0000000..d95fcab --- /dev/null +++ b/open-fcoe-3.11-systemd_socket_activation.patch @@ -0,0 +1,131 @@ +From 09caead4ae14c868cee0ad71f8bb8648746a81a0 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Fri, 6 Dec 2013 19:51:57 +0000 +Subject: [PATCH] fcoemon: systemd socket activation + +Implement systemd socket activation on the CLIF socket. + +Signed-off-by: Hannes Reinecke +Signed-off-by: Robert Love +--- + Makefile.am | 2 +- + etc/systemd/fcoe.service | 3 ++- + etc/systemd/fcoemon.socket | 6 ++++++ + fcoemon.c | 44 +++++++++++++++++++++++++++++++++++++++++++- + 4 files changed, 52 insertions(+), 3 deletions(-) + create mode 100644 etc/systemd/fcoemon.socket + +diff --git a/Makefile.am b/Makefile.am +index 012b560..e7df6f5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -43,7 +43,7 @@ dist_fcoe_config_DATA = etc/cfg-ethx + + ## install systemd service files + if HAVE_SYSTEMD +-systemdsystemunit_DATA = etc/systemd/fcoe.service ++systemdsystemunit_DATA = etc/systemd/fcoe.service etc/systemd/fcoemon.socket + endif + + ## man pages for fcoeadm and fcoemon +diff --git a/etc/systemd/fcoe.service b/etc/systemd/fcoe.service +index 4834e43..5e5c8a2 100644 +--- a/etc/systemd/fcoe.service ++++ b/etc/systemd/fcoe.service +@@ -3,7 +3,7 @@ Description=Open-FCoE initiator daemon + After=syslog.target network.target + + [Service] +-Type=forking ++Type=simple + EnvironmentFile=/etc/sysconfig/fcoe + ExecStartPre=/sbin/modprobe -qa $SUPPORTED_DRIVERS + ExecStart=/usr/sbin/fcoemon $FCOEMON_OPTS +@@ -11,3 +11,4 @@ ExecStart=/usr/sbin/fcoemon $FCOEMON_OPTS + [Install] + WantedBy=multi-user.target + Also=lldpad.socket ++Also=fcoemon.socket +diff --git a/etc/systemd/fcoemon.socket b/etc/systemd/fcoemon.socket +new file mode 100644 +index 0000000..4de8715 +--- /dev/null ++++ b/etc/systemd/fcoemon.socket +@@ -0,0 +1,6 @@ ++[Socket] ++ListenDatagram=@/com/intel/fcoemon ++PassCredentials=true ++ ++[Install] ++WantedBy=sockets.target +diff --git a/fcoemon.c b/fcoemon.c +index be4c74d..5e4f8d7 100644 +--- a/fcoemon.c ++++ b/fcoemon.c +@@ -3546,12 +3546,54 @@ err: + sendto(snum, rbuf, MSG_RBUF, 0, (struct sockaddr *)&from, fromlen); + } + ++static int fcm_systemd_socket(void) ++{ ++ char *env, *ptr; ++ unsigned int p, l; ++ ++ env = getenv("LISTEN_PID"); ++ if (!env) ++ return -1; ++ ++ p = strtoul(env, &ptr, 10); ++ if (ptr && ptr == env) { ++ FCM_LOG_DBG("Invalid value '%s' for LISTEN_PID\n", env); ++ return -1; ++ } ++ if ((pid_t)p != getpid()) { ++ FCM_LOG_DBG("Invalid PID '%d' from LISTEN_PID\n", p); ++ return -1; ++ } ++ env = getenv("LISTEN_FDS"); ++ if (!env) { ++ FCM_LOG_DBG("LISTEN_FDS is not set\n"); ++ return -1; ++ } ++ l = strtoul(env, &ptr, 10); ++ if (ptr && ptr == env) { ++ FCM_LOG_DBG("Invalid value '%s' for LISTEN_FDS\n", env); ++ return -1; ++ } ++ if (l != 1) { ++ FCM_LOG_DBG("LISTEN_FDS specified %d fds\n", l); ++ return -1; ++ } ++ /* systemd returns fds with an offset of '3' */ ++ return 3; ++} ++ + static int fcm_srv_create(struct fcm_srv_info *srv_info) + { + socklen_t addrlen; + struct sockaddr_un addr; + int rc = 0; + ++ srv_info->srv_sock = fcm_systemd_socket(); ++ if (srv_info->srv_sock > 0) { ++ FCM_LOG_DBG("Using systemd socket\n"); ++ goto out_done; ++ } ++ + srv_info->srv_sock = socket(AF_LOCAL, SOCK_DGRAM, 0); + if (srv_info->srv_sock < 0) { + FCM_LOG_ERR(errno, "Failed to create socket\n"); +@@ -3570,7 +3612,7 @@ static int fcm_srv_create(struct fcm_srv_info *srv_info) + rc = errno; + goto err_close; + } +- ++out_done: + sa_select_add_fd(srv_info->srv_sock, fcm_srv_receive, + NULL, NULL, srv_info); + +-- +1.7.1 + diff --git a/open-fcoe.spec b/open-fcoe.spec new file mode 100644 index 0000000..d625cd2 --- /dev/null +++ b/open-fcoe.spec @@ -0,0 +1,154 @@ +Name: open-fcoe +Version: 3.11 +Release: 1mamba +Summary: Fibre Channel over Ethernet implementation for the Linux operating system +Group: System/Kernel and Hardware +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://open-fcoe.org/ +Source: http://ftp-osl.osuosl.org/pub/open-fcoe/open-fcoe-%{version}.tar.gz +Patch0: open-fcoe-3.11-bootstrap.patch +Patch1: open-fcoe-3.11-fix-hbaapi-prototypes.patch +Patch2: open-fcoe-3.11-libHBAAPI-add-ldl.patch +Patch3: open-fcoe-3.11-add_systemd_service_file.patch +Patch4: open-fcoe-3.11-systemd_socket_activation.patch +Patch5: open-fcoe-3.11-properly_use_inttypes.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: ldconfig +BuildRequires: libpciaccess-devel +## AUTOBUILDREQ-END +BuildRequires: libopen-lldp-devel +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Fibre Channel over Ethernet implementation for the Linux operating system. + +%package -n lib%{name} +Group: System/Libraries +Summary: Shared libraries for %{name} + +%description -n lib%{name} +This package contains shared libraries for %{name}. + +%package -n lib%{name}-devel +Group: Development/Libraries +Summary: Development files for %{name} +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: pkg-config + +%description -n lib%{name}-devel +This package contains libraries and header files for developing applications that use %{name}. + +%debug_package + +%prep +%setup -q -c +%patch0 -p1 +%patch1 -p1 +cd libHBAAPI +%patch2 -p1 +cd .. +cd fcoe-utils +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +cd .. + +%build +cd libHBAAPI +./bootstrap.sh +%configure +%make + +cd ../libhbalinux +./bootstrap.sh +%configure \ + HBAAPI_LIBS="-L../libHBAAPI/.libs/ -lHBAAPI" HBAAPI_CFLAGS="-I../libHBAAPI" +%make + +cd ../fcoe-utils +./bootstrap.sh +%configure \ + --with-systemdsystemunitdir=%{_unitdir} \ + HBAAPI_LIBS="-L../libHBAAPI/.libs/ -lHBAAPI" HBAAPI_CFLAGS="-I../libHBAAPI" \ + LIBHBALINUX_CFLAGS="../libhbalinux/" LIBHBALINUX_LIBS="-L../libhbalinux/.libs" \ + CFLAGS="-I../libHBAAPI %{optflags} -Wno-error" + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +cd libHBAAPI +%makeinstall + +cd ../libhbalinux +%makeinstall + +cd ../fcoe-utils +%makeinstall \ + BASH_COMPLETION_DIR=%{buildroot}%{_sysconfdir}/bash_completion.d/ + +rm -f %{buildroot}%{_sysconfdir}/init.d/fcoe + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +if [ $1 -ge 1 ]; then + systemctl -q daemon-reload +fi +: + +%post -n lib%{name} -p /sbin/ldconfig +%postun -n lib%{name} -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_sysconfdir}/bash_completion.d/fcoeadm +%{_sysconfdir}/bash_completion.d/fcoemon +%dir %{_sysconfdir}/fcoe +%config(noreplace) %{_sysconfdir}/fcoe/cfg-ethx +%config(noreplace) %{_sysconfdir}/fcoe/config +%config(noreplace) %{_sysconfdir}/hba.conf +%{_sbindir}/fcnsq +%{_sbindir}/fcoeadm +%{_sbindir}/fcoemon +%{_sbindir}/fcping +%{_sbindir}/fcrls +%{_sbindir}/fipvlan +%{_unitdir}/fcoe.service +%{_unitdir}/fcoemon.socket +%{_mandir}/man8/fcnsq.8* +%{_mandir}/man8/fcoeadm.8* +%{_mandir}/man8/fcoemon.8* +%{_mandir}/man8/fcping.8* +%{_mandir}/man8/fcrls.8* +%{_mandir}/man8/fipvlan.8* +%doc fcoe-utils/COPYING + +%files -n lib%{name} +%defattr(-,root,root) +%{_libdir}/libHBAAPI.so.* +%{_libdir}/libhbalinux.so.* +%doc libHBAAPI/COPYING + +%files -n lib%{name}-devel +%defattr(-,root,root) +%{_includedir}/hbaapi.h +%{_includedir}/vendorhbaapi.h +%{_libdir}/libHBAAPI.a +%{_libdir}/libHBAAPI.la +%{_libdir}/libHBAAPI.so +%{_libdir}/libhbalinux.a +%{_libdir}/libhbalinux.la +%{_libdir}/libhbalinux.so +%{_libdir}/pkgconfig/HBAAPI.pc +%{_libdir}/pkgconfig/libhbalinux.pc + +%changelog +* Tue Jun 24 2014 Silvan Calarco 3.11-1mamba +- package created using the webbuild interface