SHA256
1
0
forked from pool/libzbc

- Add 0001-build-avoid-double-definition-of-zbc_log_drv-etc.patch [boo#1166503]

OBS-URL: https://build.opensuse.org/package/show/hardware/libzbc?expand=0&rev=31
This commit is contained in:
Jan Engelhardt 2020-03-16 07:20:26 +00:00 committed by Git OBS Bridge
parent 40ccd17bb9
commit 73b5685822
3 changed files with 73 additions and 1 deletions

View File

@ -0,0 +1,65 @@
From abf34849c0b4e43900535a3a5d68753ab1107b65 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 16 Mar 2020 08:01:44 +0100
Subject: [PATCH] build: avoid double definition of zbc_log_drv etc.
Upstream: https://github.com/hgst/libzbc/pull/37
When -fno-common is in use, what compiler writers are trying to make
a standard, libzbc fails to build.
$ make V=1
Making all in .
make[1]: Entering directory '~/libzbc'
/bin/sh ./libtool --tag=CC --mode=link gcc -fPIC -fno-common -O2 -g -pthread -Wl,--version-script,./exports -release '5.8.5' -o libzbc.la -rpath /usr/lib lib/libzbc_la-zbc.lo lib/libzbc_la-zbc_block.lo lib/libzbc_la-zbc_sg.lo lib/libzbc_la-zbc_scsi.lo lib/libzbc_la-zbc_ata.lo lib/libzbc_la-zbc_fake.lo
libtool: link: gcc -shared -fPIC -DPIC lib/.libs/libzbc_la-zbc.o lib/.libs/libzbc_la-zbc_block.o lib/.libs/libzbc_la-zbc_sg.o lib/.libs/libzbc_la-zbc_scsi.o lib/.libs/libzbc_la-zbc_ata.o lib/.libs/libzbc_la-zbc_fake.o -O2 -g -pthread -Wl,--version-script -Wl,./exports -pthread -Wl,-soname -Wl,libzbc-5.8.5.so -o .libs/libzbc-5.8.5.so
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: lib/.libs/libzbc_la-zbc_block.o:~/libzbc/lib/zbc.h:269: multiple definition of `zbc_log_level'; lib/.libs/libzbc_la-zbc.o:~/libzbc/lib/zbc.h:269: first defined here
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: lib/.libs/libzbc_la-zbc_block.o:~/libzbc/lib/zbc.h:195: multiple definition of `zbc_fake_drv'; lib/.libs/libzbc_la-zbc.o:~/libzbc/lib/zbc.h:195: first defined here
References: https://bugzilla.suse.com/show_bug.cgi?id=1160244
---
lib/zbc.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/zbc.h b/lib/zbc.h
index 7dec298..73d76db 100644
--- a/lib/zbc.h
+++ b/lib/zbc.h
@@ -177,22 +177,22 @@ static inline void zbc_set_errno(enum zbc_sk sk, enum zbc_asc_ascq asc_ascq)
/**
* Block device driver (requires kernel support).
*/
-struct zbc_drv zbc_block_drv;
+extern struct zbc_drv zbc_block_drv;
/**
* ZAC (ATA) device driver (uses SG_IO).
*/
-struct zbc_drv zbc_ata_drv;
+extern struct zbc_drv zbc_ata_drv;
/**
* ZBC (SCSI) device driver (uses SG_IO).
*/
-struct zbc_drv zbc_scsi_drv;
+extern struct zbc_drv zbc_scsi_drv;
/**
* ZBC emulation driver (file or block device).
*/
-struct zbc_drv zbc_fake_drv;
+extern struct zbc_drv zbc_fake_drv;
#define container_of(ptr, type, member) \
((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
@@ -266,7 +266,7 @@ enum {
/**
* Library log level.
*/
-int zbc_log_level;
+extern int zbc_log_level;
#define zbc_print(stream,format,args...) \
do { \
--
2.25.1

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Mar 16 07:20:10 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Add 0001-build-avoid-double-definition-of-zbc_log_drv-etc.patch
[boo#1166503]
-------------------------------------------------------------------
Mon Mar 9 12:49:33 UTC 2020 - Jan Engelhardt <jengelh@inai.de>

View File

@ -26,6 +26,7 @@ Group: Hardware/Other
URL: https://github.com/hgst/libzbc
Source: https://github.com/hgst/libzbc/archive/v%version.tar.gz
Patch1: 0001-build-avoid-double-definition-of-zbc_log_drv-etc.patch
BuildRequires: autoconf-archive
BuildRequires: libtool >= 2
BuildRequires: pkg-config
@ -84,7 +85,7 @@ autoreconf -fi
mkdir obj
pushd obj/
%define _configure ../configure
%configure --disable-static --includedir="%_includedir/%name"
%configure --disable-static --includedir="%_includedir/%name" CFLAGS="%optflags -fno-common"
make %{?_smp_mflags}
popd