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)
openSUSE Build Service is sponsored by