Skip to content

Commit 8803af8

Browse files
committed
libbtrfs: create all .so links
There will be an unplanned update to libbtrfs (fixing send/receive stream parsing and unaligned data access). The current ABI is frozen and won't change but at least the patch level should change. Update the build to create all links up to the major.minor.patch. Until now it was just major.minor: - libbtrfs.so -> libbtrfs.so.0.1.2 - libbtrfs.so.0 -> libbtrfs.so.0.1.2 - libbtrfs.so.0.1 -> libbtrfs.so.0.1.2 - libbtrfs.so.0.1.2 Signed-off-by: David Sterba <[email protected]>
1 parent 5fa48a0 commit 8803af8

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

Makefile

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@ libbtrfs_objects = \
253253
libbtrfs_headers = libbtrfs/send-stream.h libbtrfs/send-utils.h libbtrfs/send.h kernel-lib/rbtree.h \
254254
kernel-lib/list.h kernel-lib/rbtree_types.h libbtrfs/kerncompat.h \
255255
libbtrfs/ioctl.h libbtrfs/ctree.h libbtrfs/version.h
256+
libbtrfs_version = $(LIBBTRFS_MAJOR).$(LIBBTRFS_MINOR).$(LIBBTRFS_PATCHLEVEL)
257+
256258
libbtrfsutil_major := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MAJOR ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
257259
libbtrfsutil_minor := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MINOR ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
258260
libbtrfsutil_patch := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_PATCH ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
@@ -428,8 +430,9 @@ static_mkfs_objects = $(patsubst %.o, %.static.o, $(mkfs_objects))
428430
static_image_objects = $(patsubst %.o, %.static.o, $(image_objects))
429431
static_tune_objects = $(patsubst %.o, %.static.o, $(tune_objects))
430432

431-
libs_shared = libbtrfs.so.0.1 libbtrfsutil.so.$(libbtrfsutil_version)
432-
lib_links = libbtrfs.so.0 libbtrfs.so libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so
433+
libs_shared = libbtrfs.so.$(libbtrfs_version) libbtrfsutil.so.$(libbtrfsutil_version)
434+
lib_links = libbtrfs.so libbtrfs.so.$(LIBBTRFS_MAJOR) libbtrfs.so.$(LIBBTRFS_MAJOR).$(LIBBTRFS_MINOR) \
435+
libbtrfsutil.so libbtrfsutil.so.$(libbtrfsutil_major)
433436
libs_build =
434437
ifeq ($(BUILD_SHARED_LIBRARIES),1)
435438
libs_build += $(libs_shared) $(lib_links)
@@ -612,7 +615,7 @@ kernel-lib/tables.c:
612615
@echo " [TABLE] $@"
613616
$(Q)./mktables > $@ || ($(RM) -f $@ && exit 1)
614617

615-
libbtrfs.so.0.1: $(libbtrfs_objects) libbtrfs/libbtrfs.sym
618+
libbtrfs.so.$(libbtrfs_version): $(libbtrfs_objects) libbtrfs/libbtrfs.sym
616619
@echo " [LD] $@"
617620
$(Q)$(CC) $(CFLAGS) $(filter %.o,$^) $(LDFLAGS) $(LIBBTRFS_LIBS) \
618621
-shared -Wl,-soname,libbtrfs.so.0 -Wl,--version-script=libbtrfs/libbtrfs.sym -o $@
@@ -621,7 +624,7 @@ libbtrfs.a: $(libbtrfs_objects)
621624
@echo " [AR] $@"
622625
$(Q)$(AR) cr $@ $^
623626

624-
libbtrfs.so.0 libbtrfs.so: libbtrfs.so.0.1 libbtrfs/libbtrfs.sym
627+
libbtrfs.so libbtrfs.so.$(LIBBTRFS_MAJOR) libbtrfs.so.$(LIBBTRFS_MAJOR).$(LIBBTRFS_MINOR): libbtrfs.so.$(libbtrfs_version) libbtrfs/libbtrfs.sym
625628
@echo " [LN] $@"
626629
$(Q)$(LN_S) -f $< $@
627630

@@ -788,10 +791,10 @@ library-test: tests/library-test.c libbtrfs.so
788791
@echo " [TEST PREP] $@"$(eval TMPD=$(shell mktemp -d))
789792
$(Q)mkdir -p $(TMPD)/include/btrfs && \
790793
cp $(libbtrfs_headers) $(TMPD)/include/btrfs && \
791-
cp libbtrfs.so.0.1 $(TMPD) && \
794+
cp libbtrfs.so.$(libbtrfs_version) $(TMPD) && \
792795
cd $(TMPD) && $(CC) -I$(TMPD)/include -o $@ $(addprefix $(ABSTOPDIR)/,$^) -Wl,-rpath=$(ABSTOPDIR)
793796
@echo " [TEST RUN] $@"
794-
$(Q)cd $(TMPD) && LD_PRELOAD=libbtrfs.so.0.1 ./$@
797+
$(Q)cd $(TMPD) && LD_PRELOAD=libbtrfs.so.$(libbtrfs_version) ./$@
795798
@echo " [TEST CLEAN] $@"
796799
$(Q)$(RM) -rf -- $(TMPD)
797800

Makefile.inc.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ HAVE_GLIBC = @HAVE_GLIBC@
3434
SUBST_CFLAGS = @CFLAGS@
3535
SUBST_LDFLAGS = @LDFLAGS@
3636

37+
LIBBTRFS_MAJOR=@LIBBTRFS_MAJOR@
38+
LIBBTRFS_MINOR=@LIBBTRFS_MINOR@
39+
LIBBTRFS_PATCHLEVEL=@LIBBTRFS_PATCHLEVEL@
3740
LIBS_BASE = @UUID_LIBS@ @BLKID_LIBS@ @LIBUDEV_LIBS@ -L. -pthread
3841
LIBS_COMP = @ZLIB_LIBS@ @LZO2_LIBS@ @ZSTD_LIBS@
3942
LIBS_PYTHON = @PYTHON_LIBS@

0 commit comments

Comments
 (0)