From 271720e69d9a9afd21b60f3580adfc75dca46aa3 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Sat, 20 Oct 2012 16:42:59 +0400 Subject: Package shared library, going to link with CDDL code --- debian/changelog | 10 ++++++ debian/control | 12 +++++-- debian/patches/0001-fix_mapages.patch | 21 ++++++++++++ debian/patches/0002-dwarfutils_hurd.patch | 35 +++++++++++++++++++ debian/patches/0003-Use-soname-libdwarf.so.0.patch | 40 ++++++++++++++++++++++ debian/patches/dwarfutils_hurd.patch | 26 -------------- debian/patches/fix_mapages.patch | 13 ------- debian/patches/series | 5 +-- debian/rules | 31 +++++++++++++---- debian/source/format | 1 + debian/source/local-options | 1 + 11 files changed, 146 insertions(+), 49 deletions(-) create mode 100644 debian/patches/0001-fix_mapages.patch create mode 100644 debian/patches/0002-dwarfutils_hurd.patch create mode 100644 debian/patches/0003-Use-soname-libdwarf.so.0.patch delete mode 100644 debian/patches/dwarfutils_hurd.patch delete mode 100644 debian/patches/fix_mapages.patch create mode 100644 debian/source/format create mode 100644 debian/source/local-options diff --git a/debian/changelog b/debian/changelog index 58fc260..3e9ee6c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +dwarfutils (20120410-2+dyson3) unstable; urgency=low + + * Built for Dyson + * Build depends on libelfg0-dev and dh-autoreconf + * Put libraries in multiarch dirs + * Package shared library, going to link with CDDL code. + soname is libdwarf.so.0 + + -- Igor Pashev Sat, 20 Oct 2012 16:22:54 +0400 + dwarfutils (20120410-2) unstable; urgency=low * Fix FTBFS on Debian GNU/Hurd by Barry deFreese diff --git a/debian/control b/debian/control index e494c62..8478af8 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: libs Priority: optional Maintainer: Troy Heber Uploaders: -Build-Depends: debhelper (>> 9), quilt (>= 0.47), libelf-dev, binutils-dev +Build-Depends: debhelper (>> 9), libelfg0-dev, binutils-dev, dh-autoreconf Standards-Version: 3.9.3.1 Package: dwarfdump @@ -20,9 +20,17 @@ Package: libdwarf-dev Section: libdevel Architecture: any Conflicts: libdw-dev +Depends: ${shlibs:Depends}, ${misc:Depends}, libdwarf0 (= ${binary:Version}) +Description: library to consume and produce DWARF debug information + This package contains the header and development files needed + to build programs and packages using libdwarf. + +Package: libdwarf0 +Section: libs +Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: library to consume and produce DWARF debug information - The libdwarf package provides a shared library which allows reading/consumer + The libdwarf0 package provides a shared library which allows reading/consumer and writing/producer of DWARF debugging information from object files, shared libraries, and executables. . diff --git a/debian/patches/0001-fix_mapages.patch b/debian/patches/0001-fix_mapages.patch new file mode 100644 index 0000000..b78f807 --- /dev/null +++ b/debian/patches/0001-fix_mapages.patch @@ -0,0 +1,21 @@ +From: Troy Heber +Date: Sat, 20 Oct 2012 14:47:43 +0400 +Subject: fix_mapages + +--- + dwarfdump2/dwarfdump.1 | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/dwarfdump2/dwarfdump.1 b/dwarfdump2/dwarfdump.1 +index bb7ee37..cca179d 100644 +--- a/dwarfdump2/dwarfdump.1 ++++ b/dwarfdump2/dwarfdump.1 +@@ -500,8 +500,6 @@ dwarfdump + + dwarfdump.conf + +-./dwarfdump.conf +- + $(HOME)/.dwarfdump.conf + + $(HOME)/dwarfdump.conf diff --git a/debian/patches/0002-dwarfutils_hurd.patch b/debian/patches/0002-dwarfutils_hurd.patch new file mode 100644 index 0000000..939ede5 --- /dev/null +++ b/debian/patches/0002-dwarfutils_hurd.patch @@ -0,0 +1,35 @@ +From: Troy Heber +Date: Sat, 20 Oct 2012 14:47:43 +0400 +Subject: dwarfutils_hurd + +=================================================================== +--- + dwarfdump2/print_die.cc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/dwarfdump2/print_die.cc b/dwarfdump2/print_die.cc +index 61e1844..b4754e8 100644 +--- a/dwarfdump2/print_die.cc ++++ b/dwarfdump2/print_die.cc +@@ -1222,8 +1222,8 @@ traverse_attribute(Dwarf_Debug dbg, Dwarf_Die die, Dwarf_Half attr, + /* Get the global offset for reference */ + res = dwarf_global_formref(attrib, &ref_off, &err); + if (res != DW_DLV_OK) { +- int errno = dwarf_errno(err); +- if (errno == DW_DLE_REF_SIG8_NOT_HANDLED ) { ++ int ferrno = dwarf_errno(err); ++ if (ferrno == DW_DLE_REF_SIG8_NOT_HANDLED ) { + // No need to stop, ref_sig8 refers out of + // the current section. + break; +@@ -1234,8 +1234,8 @@ traverse_attribute(Dwarf_Debug dbg, Dwarf_Die die, Dwarf_Half attr, + } + res = dwarf_dieoffset(die, &die_off, &err); + if (res != DW_DLV_OK) { +- int errno = dwarf_errno(err); +- if (errno == DW_DLE_REF_SIG8_NOT_HANDLED ) { ++ int ferrno = dwarf_errno(err); ++ if (ferrno == DW_DLE_REF_SIG8_NOT_HANDLED ) { + // No need to stop, ref_sig8 refers out of + // the current section. + break; diff --git a/debian/patches/0003-Use-soname-libdwarf.so.0.patch b/debian/patches/0003-Use-soname-libdwarf.so.0.patch new file mode 100644 index 0000000..d64b36c --- /dev/null +++ b/debian/patches/0003-Use-soname-libdwarf.so.0.patch @@ -0,0 +1,40 @@ +From: Igor Pashev +Date: Sat, 20 Oct 2012 15:02:54 +0400 +Subject: Use soname libdwarf.so.0 + +--- + libdwarf/Makefile.in | 4 ++-- + libdwarf/configure.in | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libdwarf/Makefile.in b/libdwarf/Makefile.in +index a2f3f0c..6593540 100644 +--- a/libdwarf/Makefile.in ++++ b/libdwarf/Makefile.in +@@ -131,8 +131,8 @@ all: @build_shared@ @build_nonshared@ + libdwarf.a: dwarf_names.h dwarf_names.c $(OBJS) dwarf_names.o + $(AR) $(ARFLAGS) $@ $(OBJS) dwarf_names.o + +-libdwarf.so: dwarf_names.h dwarf_names.c $(OBJS) dwarf_names.o +- $(CC) $(CFLAGS) -shared $(OBJS) dwarf_names.o -o $@ ++libdwarf.so.0: dwarf_names.h dwarf_names.c $(OBJS) dwarf_names.o ++ $(CC) $(CFLAGS) -shared $(OBJS) -Wl,-soname -Wl,$@ dwarf_names.o -o $@ + + none: + echo "do nothing" +diff --git a/libdwarf/configure.in b/libdwarf/configure.in +index c8770f3..445da5f 100644 +--- a/libdwarf/configure.in ++++ b/libdwarf/configure.in +@@ -71,9 +71,9 @@ dnl default-disabled shared + AC_SUBST(build_shared,[none]) + AC_SUBST(dwfpic,[]) + AC_ARG_ENABLE(shared,AC_HELP_STRING([--enable-shared], +- [build shared library libdwarf.so])) ++ [build shared library libdwarf.so.0])) + AS_IF([ test "x$enable_shared" = "xyes"], [ +- AC_SUBST(build_shared,[libdwarf.so]) ++ AC_SUBST(build_shared,[libdwarf.so.0]) + AC_SUBST(dwfpic,[-fPIC]) + ]) + diff --git a/debian/patches/dwarfutils_hurd.patch b/debian/patches/dwarfutils_hurd.patch deleted file mode 100644 index 0f09007..0000000 --- a/debian/patches/dwarfutils_hurd.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: dwarfutils-20120410/dwarfdump2/print_die.cc -=================================================================== ---- dwarfutils-20120410.orig/dwarfdump2/print_die.cc 2012-06-19 16:52:34.000000000 +0000 -+++ dwarfutils-20120410/dwarfdump2/print_die.cc 2012-06-19 16:53:19.000000000 +0000 -@@ -1222,8 +1222,8 @@ - /* Get the global offset for reference */ - res = dwarf_global_formref(attrib, &ref_off, &err); - if (res != DW_DLV_OK) { -- int errno = dwarf_errno(err); -- if (errno == DW_DLE_REF_SIG8_NOT_HANDLED ) { -+ int ferrno = dwarf_errno(err); -+ if (ferrno == DW_DLE_REF_SIG8_NOT_HANDLED ) { - // No need to stop, ref_sig8 refers out of - // the current section. - break; -@@ -1234,8 +1234,8 @@ - } - res = dwarf_dieoffset(die, &die_off, &err); - if (res != DW_DLV_OK) { -- int errno = dwarf_errno(err); -- if (errno == DW_DLE_REF_SIG8_NOT_HANDLED ) { -+ int ferrno = dwarf_errno(err); -+ if (ferrno == DW_DLE_REF_SIG8_NOT_HANDLED ) { - // No need to stop, ref_sig8 refers out of - // the current section. - break; diff --git a/debian/patches/fix_mapages.patch b/debian/patches/fix_mapages.patch deleted file mode 100644 index 6cb5ca8..0000000 --- a/debian/patches/fix_mapages.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/dwarfdump2/dwarfdump.1 b/dwarfdump2/dwarfdump.1 -index 4e7a40b..22c15cb 100644 ---- a/dwarfdump2/dwarfdump.1 -+++ b/dwarfdump2/dwarfdump.1 -@@ -500,8 +500,6 @@ dwarfdump - - dwarfdump.conf - --./dwarfdump.conf -- - $(HOME)/.dwarfdump.conf - - $(HOME)/dwarfdump.conf diff --git a/debian/patches/series b/debian/patches/series index 94543f7..685fa7c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ -fix_mapages.patch -dwarfutils_hurd.patch +0001-fix_mapages.patch +0002-dwarfutils_hurd.patch +0003-Use-soname-libdwarf.so.0.patch diff --git a/debian/rules b/debian/rules index 8a24d86..4ea6435 100755 --- a/debian/rules +++ b/debian/rules @@ -1,29 +1,44 @@ #!/usr/bin/make -f +include /usr/share/dpkg/architecture.mk + # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 +shared = libdwarf.so.0 + #!/usr/bin/make -f %: - dh $@ --with quilt + dh $@ --with autoreconf + +override_dh_autoreconf: + dh_autoreconf autoreconf -- -i -f \ + libdwarf override_dh_auto_build: + # configure and build shared library + cd libdwarf && ./configure --enable-shared --disable-nonshared + cd libdwarf && make $(shared) && cp $(shared) ../ && make distclean # configure and build library cd libdwarf; ./configure --prefix=$(CURDIR)/debian/libdwarf-dev cd libdwarf; make + # We will link to shared library: + ln -sf ../$(shared) libdwarf/libdwarf.so # configure and build dwarfdump cd dwarfdump; ./configure --prefix=$(CURDIR)/debian/dwarfdump - cd dwarfdump; make + cd dwarfdump; LD_LIBRARY_PATH=../libdwarf make # configure and build dwarfdump2 cd dwarfdump2; ./configure --prefix=$(CURDIR)/debian/dwarfdump2 - cd dwarfdump2; make + cd dwarfdump2; LD_LIBRARY_PATH=../libdwarf make dh_auto_build override_dh_auto_clean: + rm -f libdwarf.so.* + rm -f libdwarf/libdwarf.so* # configure and build library - cd libdwarf; ./configure --prefix=$(CURDIR)/debian/libdwarf-dev - cd libdwarf; make distclean + cd libdwarf; ./configure --prefix=$(CURDIR)/debian/libdwarf-dev || true + cd libdwarf; make distclean || true # configure and build dwarfdump cd dwarfdump; ./configure --prefix=$(CURDIR)/debian/dwarfdump cd dwarfdump; make distclean @@ -33,7 +48,11 @@ override_dh_auto_clean: dh_auto_clean override_dh_auto_install: - cp libdwarf/libdwarf.a $(CURDIR)/debian/libdwarf-dev/usr/lib/ + mkdir -p $(CURDIR)/debian/libdwarf0/usr/lib/$(DEB_HOST_MULTIARCH) + mkdir -p $(CURDIR)/debian/libdwarf-dev/usr/lib/$(DEB_HOST_MULTIARCH) + cp $(shared) $(CURDIR)/debian/libdwarf0/usr/lib/$(DEB_HOST_MULTIARCH)/ + ln -sf $(shared) $(CURDIR)/debian/libdwarf-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdwarf.so + cp libdwarf/libdwarf.a $(CURDIR)/debian/libdwarf-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ cp libdwarf/dwarf.h libdwarf/libdwarf.h $(CURDIR)/debian/libdwarf-dev/usr/include/ cp libdwarf/*.pdf $(CURDIR)/debian/libdwarf-dev/usr/share/doc/libdwarf-dev cp libdwarf/[NR]* $(CURDIR)/debian/libdwarf-dev/usr/share/doc/libdwarf-dev diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/local-options b/debian/source/local-options new file mode 100644 index 0000000..4aceb10 --- /dev/null +++ b/debian/source/local-options @@ -0,0 +1 @@ +unapply-patches -- cgit v1.2.3