File open-fcoe-multi-arch.diff of Package open-fcoe
Index: open-fcoe/usr/tools/fcoeadm/Makefile
===================================================================
--- open-fcoe.orig/usr/tools/fcoeadm/Makefile
+++ open-fcoe/usr/tools/fcoeadm/Makefile
@@ -2,6 +2,7 @@
# set the following corresepondingly to your preferred locations
DESTDIR ?=
+#LIBDIR = $(libdir)/openfcoe-1.0.3/
#
# Installation directory of the tools
@@ -11,24 +12,6 @@ SBINDIR = $(EXEC_PREFIX)sbin
PREFIX = /usr/
MANDIR = $(PREFIX)share/man
-#
-# List of legal build component names
-#
-LEGAL_ARCH = i386 i486 i586 i686 x86_64
-LEGAL_OS = linux Linux
-
-#
-#
-# Validating OS and the machine architecture.
-#
-ifneq "$(filter-out $(LEGAL_ARCH), $(shell uname -i))" ""
- $(error bad build architecture $(shell uname -i))
-else
-ifneq "$(filter-out $(LEGAL_OS), $(shell uname -s))" ""
- $(error bad build OS $(shell uname -s))
-else
-
-
CC = gcc
LD = gcc
INSTALL = install
@@ -43,13 +26,7 @@ CFLAGS += -D$(OSNAME)
CFLAGS += -I.
CFLAGS += -I$(LIBHBALINUX)/include
CFLAGS += -I$(LIBHBALINUX)/hbaapi_src_2.2
-
-ifeq ($(shell uname -i),x86_64)
- CFLAGS += -m64
-else
- CFLAGS += -m32
- LDFLAGS += -melf_i386
-endif
+LDFLAGS += -L$(LIBHBALINUX)/hbaapi_src_2.2
PROGRAMS = fcoeadm
@@ -66,9 +43,9 @@ clean:
fcoeadm: version.o fcoeadm_display.o fcoeadm.o
@echo ' LINK' $@
- @$(LD) -o $@ $(LDFLAGS) -ldl -lHBAAPI $^
+ $(LD) -o $@ $(LDFLAGS) -Wl,-rpath -Wl,$(LIBDIR) -ldl -lHBAAPI $^
-install: all install_doc
+install: install_doc
@$(if $(PROGRAMS), $(foreach i, $(PROGRAMS), \
$(INSTALL) -v -m 775 $(i) $(DESTDIR)$(SBINDIR) ; ))
@@ -94,5 +71,3 @@ version.c: FORCE
.PHONY: FORCE
-endif
-endif
Index: open-fcoe/usr/tools/fcoemon/Makefile
===================================================================
--- open-fcoe.orig/usr/tools/fcoemon/Makefile
+++ open-fcoe/usr/tools/fcoemon/Makefile
@@ -12,23 +12,6 @@ SBINDIR = $(EXEC_PREFIX)sbin
PREFIX = /usr/
MANDIR = $(PREFIX)share/man
-#
-# List of legal build component names
-#
-LEGAL_ARCH = i386 i486 i586 i686 x86_64
-LEGAL_OS = linux Linux
-
-#
-#
-# Validating OS and the machine architecture.
-#
-ifneq "$(filter-out $(LEGAL_ARCH), $(shell uname -i))" ""
- $(error bad build architecture $(shell uname -i))
-else
-ifneq "$(filter-out $(LEGAL_OS), $(shell uname -s))" ""
- $(error bad build OS $(shell uname -s))
-else
-
CC = gcc
LD = gcc
INSTALL = install
@@ -44,13 +27,6 @@ CFLAGS += -I.
CFLAGS += -I$(LIBHBALINUX)/include
CFLAGS += -I$(DCB_SRC)/include
-ifeq ($(shell uname -i),x86_64)
- CFLAGS += -m64
-else
- CFLAGS += -m32
- LDFLAGS += -melf_i386
-endif
-
PROGRAMS = fcoemon
default: all
@@ -106,5 +82,3 @@ version.c: FORCE
.PHONY: FORCE
-endif
-endif
Index: open-fcoe/libhbalinux/Makefile.hbaapi
===================================================================
--- open-fcoe.orig/libhbalinux/Makefile.hbaapi
+++ open-fcoe/libhbalinux/Makefile.hbaapi
@@ -1,53 +1,51 @@
#
# Makefile for hbaapi_src_2.2
#
-
+DESTDIR=$(DESTDIR)
+LIBDIR = $(libdir)
CC = cc
LD = ld
RM = rm
CHMOD = chmod
CHOWN = chown
-LDCONFIG = ldconfig
+LDCONFIG = /sbin/ldconfig
INSTALL = install
+LIB = libHBAAPI.so.1.0.0
DATE=`date "+%D-%T"`
CFLAGS += -DBUILD_DATE="\"${DATE}\""
CFLAGS += -fPIC -DVENDOR='"Intel Corporation"' \
-DREVISION='"Rev 2.2"' -DREVNUM=2 -DMINREVNUM=2 \
-DLICENSE='"Subject to SNIA Public License"'
+#LDFLAGS += -G
-ifeq ($(shell uname -i),x86_64)
- LDFLAGS += -G
+ifeq ("$(LIBDIR)","/usr/lib64")
HBA_ID="org.openfc64"
- HBAAPI_INSTALL_DIR = /usr/lib64
- LIBHBALINUX_INSTALL_DIR = /usr/local/lib64
else
- CFLAGS += -m32
- LDFLAGS += -melf_i386 -G
HBA_ID="org.openfc"
- HBAAPI_INSTALL_DIR = /usr/lib
- LIBHBALINUX_INSTALL_DIR = /usr/local/lib
endif
-all: libHBAAPI.so
+all: $(LIB)
+
-libHBAAPI.so: HBAAPILIB.c hbaapi.h vendorhbaapi.h
+libHBAAPI.so.1.0.0: HBAAPILIB.c hbaapi.h vendorhbaapi.h
@echo ' CC PIC' $<
- @$(CC) $(CFLAGS) -c HBAAPILIB.c
+ $(CC) $(CFLAGS) -c HBAAPILIB.c
@echo ' LINK' $<
- @$(LD) $(LDFLAGS) HBAAPILIB.o -o libHBAAPI.so
+ $(CC) $(LDFLAGS) -shared HBAAPILIB.o -Wl,-soname=libHBAAPI.so.1 -o $@
+ ln -s $@ libHBAAPI.so
+ ln -s $@ libHBAAPI.so.1
clean:
@$(RM) -f *.o *.so > /dev/null 2>&1
-install: libHBAAPI.so
+install:
@echo ' INSTALL' $<
- @$(INSTALL) libHBAAPI.so $(HBAAPI_INSTALL_DIR)
- @echo "$(HBA_ID) $(LIBHBALINUX_INSTALL_DIR)/libhbalinux.so" > /etc/hba.conf
- @$(CHMOD) 644 /etc/hba.conf
- @$(CHOWN) root.root /etc/hba.conf
- @$(LDCONFIG)
+ @$(INSTALL) -D $(LIB) $(DESTDIR)$(LIBDIR)
+ $(INSTALL) *.so.1 $(DESTDIR)$(LIBDIR)
+ @echo $(HBA_ID) $(LIBDIR)$(LIB) > $(DESTDIR)/etc/hba.conf
+ @$(CHMOD) 644 $(DESTDIR)/etc/hba.conf
uninstall:
- @$(RM) -f $(HBAAPI_INSTALL_DIR)/libHBAAPI.so > /dev/null 2>&1
- @$(RM) -f /etc/hba.conf > /dev/null 2>&1
+ @$(RM) -f $(LIBDIR)$(LIB) > /dev/null 2>&1
+ @$(RM) -f $(DESTDIR)/etc/hba.conf > /dev/null 2>&1
Index: open-fcoe/libhbalinux/src/Makefile
===================================================================
--- open-fcoe.orig/libhbalinux/src/Makefile
+++ open-fcoe/libhbalinux/src/Makefile
@@ -5,13 +5,8 @@
#
# The target shared library to be built
#
-LIB = libhbalinux.so
-#
-# List of legal build component names
-#
-LEGAL_ARCH = i386 i486 i586 i686 x86_64
-LEGAL_OS = linux Linux
+LIB = libhbalinux.so.1.0.0
#
# Default build directory
@@ -26,29 +21,6 @@ RM = rm
SED = sed
INSTALL = install
-#
-#
-# Validating OS and the machine architecture.
-#
-ifneq "$(filter-out $(LEGAL_ARCH), $(shell uname -i))" ""
- $(error bad build architecture $(shell uname -i))
-else
-ifneq "$(filter-out $(LEGAL_OS), $(shell uname -s))" ""
- $(error bad build OS $(shell uname -s))
-else
-
-ifeq ($(shell uname -i),x86_64)
- CFLAGS += -m64
- .LIBPATTERNS = /usr/lib64/lib%.so /usr/lib64/lib%.a
- INSTALL_DIR := /usr/local/lib64
-else
- .LIBPATTERNS = /usr/lib/lib%.so \
- /usr/lib/lib%.a \
- /usr/local/lib/lib%.a \
- /usr/local/lib/lib%.so
- INSTALL_DIR := /usr/local/lib
-endif
-
LIBRARIES = -lrt -lpciaccess
#
@@ -83,13 +55,13 @@ SOURCES += \
all: $(LIB)
-LIB_SO := $(filter %.so, $(LIB))
+LIB_SO := $(filter %.so.1.0.0, $(LIB))
PICS := $(basename $(SOURCES))
PICS := $(PICS:%=$(BUILD_DIR)/%.o)
$(LIB_SO): $(PICS)
@echo ' LINK' $@; \
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ $(LIBRARIES)
+ $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname=libhbalinux.so.1 -shared -o $@ $^ $(LIBRARIES)
$(BUILD_DIR)/%.o: %.c
@echo ' CC PIC' $<; \
@@ -101,14 +73,12 @@ $(BUILD_DIR)/%.o: %.c
clean:
@$(RM) -f *.o *.d $(LIB) > /dev/null 2>&1
-install: libhbalinux.so
+install: $(LIB)
@echo ' INSTALL' $<
- @$(INSTALL) libhbalinux.so $(INSTALL_DIR)
+ @$(INSTALL) $(LIB) $(INSTALL_DIR)
uninstall:
- @$(RM) -f $(INSTALL_DIR)/libhbalinux.so > /dev/null 2>&1
+ @$(RM) -f $(INSTALL_DIR)/$(LIB) > /dev/null 2>&1
-include $(PICS:%.o=%.d)
-endif
-endif
Index: open-fcoe/usr/Makefile
===================================================================
--- open-fcoe.orig/usr/Makefile
+++ open-fcoe/usr/Makefile
@@ -1,23 +1,8 @@
# File: /open-fcoe/usr/Makefile
-#
-# List of legal build component names
-#
-LEGAL_ARCH = i386 i486 i586 i686 x86_64
-LEGAL_OS = linux Linux
-
-#
-# Validating OS and the machine architecture.
-#
-ifneq "$(filter-out $(LEGAL_ARCH), $(shell uname -i))" ""
- $(error bad build architecture $(shell uname -i))
-else
-ifneq "$(filter-out $(LEGAL_OS), $(shell uname -s))" ""
- $(error bad build OS $(shell uname -s))
-else
-
# set the following corresepondingly to your preferred locations
DESTDIR ?=
+#LIBDIR=$(libdir)/open-fcoe-1.0.3
ETCDIR = /etc
INITDDIR = $(ETCDIR)/init.d
@@ -30,13 +15,13 @@ RM = rm
default: all
all:
- @$(foreach i, $(wildcard tools/*), $(MAKE) -C $(i) ; )
+ $(foreach i, $(wildcard tools/*), $(MAKE) -C $(i) LIBDIR=$(LIBDIR); )
clean:
@$(foreach i, $(wildcard tools/*), $(MAKE) -C $(i) clean ; )
install: install_initd
- @$(foreach i, $(wildcard tools/*), $(MAKE) -C $(i) install ; )
+ $(foreach i, $(wildcard tools/*), $(MAKE) -C $(i) install ; )
uninstall: uninstall_initd
@$(foreach i, $(wildcard tools/*), $(MAKE) -C $(i) uninstall ; )
@@ -70,5 +55,3 @@ install_initd_suse:
uninstall_initd:
@$(RM) -vf $(DESTDIR)$(ETCDIR)/fcoe/open-fcoe.conf
@$(RM) -vf $(DESTDIR)$(INITDDIR)/open-fcoe
-endif
-endif
Index: open-fcoe/Makefile
===================================================================
--- open-fcoe.orig/Makefile
+++ open-fcoe/Makefile
@@ -4,9 +4,11 @@
# set the following corresepondingly to your preferred locations
DESTDIR ?=
+LIBDIR = $(libdir)/open-fcoe-1.0.3
prefix = /usr
exec_prefix = /
+
sbindir = $(exec_prefix)/sbin
bindir = $(exec_prefix)/bin
mandir = $(prefix)/share/man
@@ -15,18 +17,19 @@ initddir = $(etcdir)/init.d
MANPAGES = doc/fcoeadm.8 doc/fcoemon.8
PROGRAMS = usr/fcoeadm usr/fcoemon
+LIBS = libhbalinux/hbaapi_src_2.2/libHBAAPI.so libhbalinux/src/libhbalinux.so
INSTALL = install
default: all
all:
$(MAKE) -C libhbalinux
- $(MAKE) -C usr
+ $(MAKE) -C usr LIBDIR=$(LIBDIR)
clean:
$(MAKE) -C usr clean
-install: all install_usr
+install: install_usr
@echo
@echo -------------------------------------------------
@echo Please check README file for detailed information.
@@ -34,11 +37,11 @@ install: all install_usr
@echo -e "\t$(DESTDIR)$(etcdir)/fcoe/open-fcoe.conf"
@echo
-install_usr: install_programs install_doc install_initd
+install_usr: install_programs install_doc install_initd install_libs
-install_programs: $(PROGRAMS)
+install_programs:
$(INSTALL) -d $(DESTDIR)$(sbindir)
- $(INSTALL) -m 755 $^ $(DESTDIR)$(sbindir)
+ $(MAKE) -C usr install
install_initd:
$(INSTALL) -d $(DESTDIR)$(initddir)
@@ -51,3 +54,8 @@ install_initd:
install_doc: $(MANPAGES)
$(INSTALL) -d $(DESTDIR)$(mandir)/man8
$(INSTALL) -m 644 $^ $(DESTDIR)$(mandir)/man8
+
+install_libs:
+ @echo LIBDIR: $(DESTTDIR)$(LIBDIR)
+ $(INSTALL) -d $(DESTDIR)$(LIBDIR)
+ $(MAKE) -C libhbalinux install LIBDIR=$(LIBDIR)
Index: open-fcoe/libhbalinux/Makefile
===================================================================
--- open-fcoe.orig/libhbalinux/Makefile
+++ open-fcoe/libhbalinux/Makefile
@@ -12,7 +12,7 @@ all:
install:
(cd $(HBAAPI); $(MAKE) -f ../Makefile.hbaapi install)
- $(MAKE) HBAAPI=$(HBAAPI) -C src install
+ $(MAKE) HBAAPI=$(HBAAPI) -C src install INSTALL_DIR=$(DESTDIR)$(LIBDIR)
uninstall:
(cd $(HBAAPI); $(MAKE) -f ../Makefile.hbaapi uninstall)
Index: open-fcoe/libhbalinux/hbaapi_src_2.2/makefile.unix
===================================================================
--- open-fcoe.orig/libhbalinux/hbaapi_src_2.2/makefile.unix
+++ open-fcoe/libhbalinux/hbaapi_src_2.2/makefile.unix
@@ -25,7 +25,7 @@
#************************************************************************
# GNU Make is probably required for this makefile
#************************************************************************
-
+LIB = libHBAAPI.so.1.0.0
CC = gcc
BUILD_DATE := $(shell date "+%Y/%m/%d %T %Z")
REVNUM := 2
@@ -60,20 +60,20 @@ hbatest: hbaapi.h
libHBAAPI.so: HBAAPILIB.c hbaapi.h vendorhbaapi.h
${VERS}
- ${CC} HBAAPILIB.c version.o ${CFLAGS} -DBUILD_DATE=\"'${BUILD_DATE}'\" -G -o libHBAAPI.so
+ ${CC} HBAAPILIB.c version.o ${CFLAGS} -DBUILD_DATE=\"'${BUILD_DATE}'\" -G -Wl,-soname=libHBAAPI.so.1 -o libHBAAPI.so.1.0.0
@rm version.o
test: FORCE
${CC} -DBUILD_DATE=\"'${BUILD_DATE}'\" test.c -o test
-hbasample: hbaapi.h libHBAAPI.so vendorhbaapi.h
+hbasample: hbaapi.h $(LIB) vendorhbaapi.h
${CC} hbasample.c -G -o hbasample.so
hbaapitest.o: hbaapitest.c
${CC} -c hbaapitest.c
hbaapitest: hbaapitest.o libHBAAPI.so
- ${CC} hbaapitest.o -ldl libHBAAPI.so -o hbaapitest
+ ${CC} hbaapitest.o -ldl $(LIB) -o hbaapitest
FORCE:
@@ -86,4 +86,4 @@ tarball:
../makefile.nt ../makefile.unix ../readme.txt \
.)
tar cf - hbaapi_src_$(REVNUM).$(MINREVNUM) | gzip -9 > hbaapi_src_$(REVNUM).$(MINREVNUM).tgz
- rm -rf hbaapi_src_$(REVNUM).$(MINREVNUM)
\ No newline at end of file
+ rm -rf hbaapi_src_$(REVNUM).$(MINREVNUM)