From 40ac42ba36f8971ca4a962a19c091b7096a6f4e0 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Thu, 22 Nov 2007 19:08:40 +0000 Subject: [PATCH] fix build with internal libdvdread --- libdvdnav-destdir.patch | 38 ++++++----- libdvdnav-external-dvdread.patch | 107 +++++++++++++++++++++++++++++++ libdvdnav.spec | 7 +- 3 files changed, 135 insertions(+), 17 deletions(-) create mode 100644 libdvdnav-external-dvdread.patch diff --git a/libdvdnav-destdir.patch b/libdvdnav-destdir.patch index 5ace138..7b31d30 100644 --- a/libdvdnav-destdir.patch +++ b/libdvdnav-destdir.patch @@ -1,18 +1,20 @@ diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile ---- libdvdnav-4.1.1/Makefile.destdir 2007-11-21 21:00:45.000000000 +0100 -+++ libdvdnav-4.1.1/Makefile 2007-11-21 21:01:59.000000000 +0100 -@@ -112,39 +112,39 @@ ${DVDREAD_SHLIB}: version.h $(.OBJDIR) $ +--- libdvdnav-4.1.1/Makefile.destdir 2007-11-21 19:18:49.000000000 +0100 ++++ libdvdnav-4.1.1/Makefile 2007-11-21 19:19:10.000000000 +0100 +@@ -115,45 +115,45 @@ endif # Install targets install-headers: - install -d $(incdir) - install -m 644 $(HEADERS) $(incdir) -- install -d $(dvdread_incdir) -- install -m 644 $(DVDREAD_HEADERS) $(dvdread_incdir) + install -d $(DESTDIR)$(incdir) + install -m 644 $(HEADERS) $(DESTDIR)$(incdir) + ifeq ($(DVDREAD),internal) +- install -d $(dvdread_incdir) +- install -m 644 $(DVDREAD_HEADERS) $(dvdread_incdir) + install -d $(DESTDIR)$(dvdread_incdir) + install -m 644 $(DVDREAD_HEADERS) $(DESTDIR)$(dvdread_incdir) + endif install-shared: $(SHLIB) - install -d $(shlibdir) @@ -24,9 +26,6 @@ diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(MINI_SHLIB) \ - $(shlibdir)/$(MINI_SHLIB).$(SHLIB_VERSION) + $(DESTDIR)$(shlibdir)/$(MINI_SHLIB).$(SHLIB_VERSION) - install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \ -- $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION) -+ $(DESTDIR)$(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION) - cd $(shlibdir) && \ + cd $(DESTDIR)$(shlibdir) && \ @@ -35,30 +34,37 @@ diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile + cd $(DESTDIR)$(shlibdir) && \ ln -sf $(MINI_SHLIB).$(SHLIB_VERSION) $(MINI_SHLIB).$(SHLIB_MAJOR) - cd $(shlibdir) && \ -+ cd $(DESTDIR)$(shlibdir) && \ - ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR) -- cd $(shlibdir) && \ + cd $(DESTDIR)$(shlibdir) && \ ln -sf $(SHLIB).$(SHLIB_MAJOR) $(SHLIB) - cd $(shlibdir) && \ + cd $(DESTDIR)$(shlibdir) && \ ln -sf $(MINI_SHLIB).$(SHLIB_MAJOR) $(MINI_SHLIB) + + ifeq ($(DVDREAD),internal) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \ +- $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION) +- cd $(shlibdir) && \ ++ $(DESTDIR)$(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION) ++ cd $(DESTDIR)$(shlibdir) && \ + ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR) - cd $(shlibdir) && \ + cd $(DESTDIR)$(shlibdir) && \ ln -sf $(DVDREAD_SHLIB).$(SHLIB_MAJOR) $(DVDREAD_SHLIB) + endif install-static: $(LIB) - install -d $(libdir) + install -d $(DESTDIR)$(libdir) - install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(libdir)/$(LIB) -- install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(libdir)/$(DVDREAD_LIB) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(DESTDIR)$(libdir)/$(LIB) + ifeq ($(DVDREAD),internal) +- install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(libdir)/$(DVDREAD_LIB) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(DESTDIR)$(libdir)/$(DVDREAD_LIB) + endif - # Clean targets -@@ -168,8 +168,8 @@ dvdnav-config: $(.OBJDIR) +@@ -178,8 +178,8 @@ dvdnav-config: $(.OBJDIR) chmod 0755 $(SRC_PATH_BARE)/$(.OBJDIR)/dvdnav-config install-dvdnav-config: dvdnav-config @@ -70,8 +76,8 @@ diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile vpath %.so ${.OBJDIR} diff -up libdvdnav-4.1.1/configure2.destdir libdvdnav-4.1.1/configure2 ---- libdvdnav-4.1.1/configure2.destdir 2007-11-21 21:00:45.000000000 +0100 -+++ libdvdnav-4.1.1/configure2 2007-11-21 21:00:45.000000000 +0100 +--- libdvdnav-4.1.1/configure2.destdir 2007-11-21 19:18:49.000000000 +0100 ++++ libdvdnav-4.1.1/configure2 2007-11-21 19:18:49.000000000 +0100 @@ -127,11 +127,11 @@ esac cat > config.mak << EOF # Automatically generated by configure, do not edit diff --git a/libdvdnav-external-dvdread.patch b/libdvdnav-external-dvdread.patch new file mode 100644 index 0000000..b7fd85e --- /dev/null +++ b/libdvdnav-external-dvdread.patch @@ -0,0 +1,107 @@ +diff -up libdvdnav-4.1.1/Makefile.dvdread libdvdnav-4.1.1/Makefile +--- libdvdnav-4.1.1/Makefile.dvdread 2007-11-22 20:02:30.000000000 +0100 ++++ libdvdnav-4.1.1/Makefile 2007-11-22 20:03:06.000000000 +0100 +@@ -21,10 +21,12 @@ CFLAGS += -I$(CURDIR) -I$(SRC_PATH)/src + CFLAGS += -DDVDNAV_COMPILE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE + CFLAGS += -DHAVE_CONFIG_H -DHAVE_DLFCN_H + +-ifeq ($(DVDREAD),internal) + L=libdvdnav + MINI_L=libdvdnavmini ++ifeq ($(DVDREAD),internal) + DVDREAD_L=libdvdread ++DVDREAD_LIB = $(DVDREAD_L).a ++DVDREAD_SHLIB = $(DVDREAD_L).so + VPATH+= $(SRC_PATH_BARE)/src/dvdread + DVDREAD_HEADERS = src/dvdread/dvd_reader.h \ + src/dvdread/ifo_print.h \ +@@ -38,15 +40,12 @@ DVDREAD_SRCS = dvd_input.c dvd_reader.c + md5.c nav_print.c nav_read.c + CFLAGS += -I$(SRC_PATH)/src/dvdread + else +-L=libdvdnavmini + CFLAGS += -I$(DVDREAD_DIR) + endif + + LIB = $(L).a +-DVDREAD_LIB = $(DVDREAD_L).a + SHLIB = $(L).so + MINI_SHLIB = $(MINI_L).so +-DVDREAD_SHLIB = $(DVDREAD_L).so + + .OBJDIR= obj + DEPFLAG = -M +@@ -91,16 +90,25 @@ $(.OBJDIR): + ${LIB}: version.h $(.OBJDIR) $(OBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(AR) rc $@ $(OBJS) + cd $(.OBJDIR) && $(RANLIB) $@ ++ifeq ($(DVDREAD),internal) + ${DVDREAD_LIB}: version.h $(.OBJDIR) $(DVDREAD_OBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(AR) rc $@ $(DVDREAD_OBJS) + cd $(.OBJDIR) && $(RANLIB) $@ ++endif + ++ifeq ($(DVDREAD),internal) ++${SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS) $(DVDREAD_SHLIB) ++ cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -L. -Wl,-soname=$(SHLIB).$(SHLIB_MAJOR) -o $@ $(SHOBJS) -ldvdread $(THREADLIB) ++else + ${SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -Wl,-soname=$(SHLIB).$(SHLIB_MAJOR) -o $@ $(SHOBJS) -ldvdread $(THREADLIB) ++endif + ${MINI_SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -Wl,-soname=$(MINI_SHLIB).$(SHLIB_MAJOR) -o $@ $(SHOBJS) $(THREADLIB) ++ifeq ($(DVDREAD),internal) + ${DVDREAD_SHLIB}: version.h $(.OBJDIR) $(DVDREAD_SHOBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -ldl -Wl,-soname=$(DVDREAD_SHLIB).$(SHLIB_MAJOR) -o $@ $(DVDREAD_SHOBJS) ++endif + + .c.so: $(BUILDDEPS) + cd $(.OBJDIR) && $(CC) -fPIC -DPIC -MD $(CFLAGS) -c -o $@ $< +@@ -114,8 +122,10 @@ ${DVDREAD_SHLIB}: version.h $(.OBJDIR) $ + install-headers: + install -d $(incdir) + install -m 644 $(HEADERS) $(incdir) ++ifeq ($(DVDREAD),internal) + install -d $(dvdread_incdir) + install -m 644 $(DVDREAD_HEADERS) $(dvdread_incdir) ++endif + + install-shared: $(SHLIB) + install -d $(shlibdir) +@@ -124,27 +134,32 @@ install-shared: $(SHLIB) + $(shlibdir)/$(SHLIB).$(SHLIB_VERSION) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(MINI_SHLIB) \ + $(shlibdir)/$(MINI_SHLIB).$(SHLIB_VERSION) +- install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \ +- $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION) + + cd $(shlibdir) && \ + ln -sf $(SHLIB).$(SHLIB_VERSION) $(SHLIB).$(SHLIB_MAJOR) + cd $(shlibdir) && \ + ln -sf $(MINI_SHLIB).$(SHLIB_VERSION) $(MINI_SHLIB).$(SHLIB_MAJOR) + cd $(shlibdir) && \ +- ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR) +- cd $(shlibdir) && \ + ln -sf $(SHLIB).$(SHLIB_MAJOR) $(SHLIB) + cd $(shlibdir) && \ + ln -sf $(MINI_SHLIB).$(SHLIB_MAJOR) $(MINI_SHLIB) ++ ++ifeq ($(DVDREAD),internal) ++ install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \ ++ $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION) ++ cd $(shlibdir) && \ ++ ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR) + cd $(shlibdir) && \ + ln -sf $(DVDREAD_SHLIB).$(SHLIB_MAJOR) $(DVDREAD_SHLIB) ++endif + + install-static: $(LIB) + install -d $(libdir) + + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(libdir)/$(LIB) ++ifeq ($(DVDREAD),internal) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(libdir)/$(DVDREAD_LIB) ++endif + + + # Clean targets diff --git a/libdvdnav.spec b/libdvdnav.spec index e5bb531..efe0293 100644 --- a/libdvdnav.spec +++ b/libdvdnav.spec @@ -1,6 +1,6 @@ Name: libdvdnav Version: 4.1.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A library for reading DVD video discs based on Ogle code Group: System Environment/Libraries @@ -10,6 +10,7 @@ Patch1: %{name}-svn.patch Patch2: %{name}-version.patch Patch3: %{name}-libdir.patch Patch4: %{name}-soname.patch +Patch5: %{name}-external-dvdread.patch Patch6: %{name}-destdir.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -54,6 +55,7 @@ This package contains development files for libdvdread. %patch2 -p1 %patch3 -p0 %patch4 -p0 +%patch5 -p1 -b .dvdread %patch6 -p1 -b .destdir %build @@ -115,6 +117,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libdvdread.so %changelog +* Thu Nov 22 2007 Dominik Mierzejewski 4.1.1-3 +- fix build with internal libdvdread + * Wed Nov 21 2007 Dominik Mierzejewski 4.1.1-2 - use upstream non-autotools buildsystem - build with external libdvdread for older releases