[packages/libelf: 1/2] - resurrected from old PLD package
qboosh
qboosh at pld-linux.org
Tue Mar 26 17:25:23 CET 2013
commit f24f051a190f99e3f516cb9c94fc96114b09c3a4
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Mar 26 16:56:23 2013 +0100
- resurrected from old PLD package
libelf-DESTDIR.patch | 114 ++++++++++++++++++++++++++++++++++++
libelf-hash.patch | 20 +++++++
libelf-symver.patch | 30 ++++++++++
libelf.spec | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 323 insertions(+)
---
diff --git a/libelf.spec b/libelf.spec
new file mode 100644
index 0000000..a2c838b
--- /dev/null
+++ b/libelf.spec
@@ -0,0 +1,159 @@
+Summary: ELF object file access library
+Summary(de): Objektdateizugriffs-Library ELF
+Summary(pt_BR): Biblioteca para acesso a arquivos objeto ELF
+Summary(es): Biblioteca para acceso a archivos objeto ELF
+Summary(fr): Bibliothčque de gestion de fichiers ELF
+Summary(pl): Biblioteka dostępu do plików ELF
+Summary(pt_BR): Biblioteca para acesso a arquivos objeto ELF
+Summary(ru): âÉÂĚÉĎÔĹËÁ ÄĎÓÔŐĐÁ Ë ĎÂßĹËÔÎŮÍ ĆÁĘĚÁÍ × ĆĎŇÍÁÔĹ ELF
+Summary(tr): ELF ara kod eriţim kitaplýđý
+Summary(uk): âŚÂĚŚĎÔĹËÁ ÄĎÓÔŐĐŐ ÄĎ ĎÂ'¤ËÔÎÉČ ĆÁĘĚŚ× ĆĎŇÍÁÔŐ ELF
+Name: libelf
+Version: 0.8.2
+Release: 4
+License: LGPL
+Group: Libraries
+Source0: http://www.stud.uni-hannover.de/~michael/software/%{name}-%{version}.tar.gz
+Patch0: %{name}-DESTDIR.patch
+Patch1: %{name}-hash.patch
+Patch2: %{name}-symver.patch
+URL: http://www.stud.uni-hannover.de/~michael/software/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Obsoletes: libelf0
+
+%description
+The libelf package contains a library for accessing ELF object files.
+Libelf allows you to access the internals of the ELF object file
+format, so you can see the different sections of an ELF file.
+
+%description -l de
+Diese Library gibt Ihnen Zugang zum Inneren des ELF-Objekt-
+Dateiformats. Sie können damit in den verschiedenen Teilen einer
+ELF-Datei umherstochern, die Symbole überprüfen und ähnliches.
+
+%description -l es
+Esta biblioteca ofrece acceso a datos internos del formato de archivo
+objeto ELF. Permite visualizar varias secciones diferentes de un
+archivo ELF, observar los símbolos, etc.
+
+%description -l fr
+La bibliothčque libelf permet de manipuler des fichiers ELF (format de
+programmes exécutables communs ŕ plusieurs Unix dont Linux) et leurs
+différentes sections.
+
+%description -l pl
+Biblioteka elf umożliwia dostęp do struktury wewnętrznej plików w
+formacie ELF. Udostępnia ona funkcje do przeglądania poszczególnych
+części ELF-a, a także sprawdzanie symboli itp.
+
+%description -l pt_BR
+Esta biblioteca fornece acesso a dados internos do formato de arquivo
+objeto ELF. Ele permite visualizar várias seçőes diferentes de um
+arquivo ELF, observar os símbolos, etc.
+
+%description -l uk
+ăŃ ÂŚÂĚŚĎÔĹËÁ ÎÁÄÁ¤ ÄĎÓÔŐĐ ÄĎ ×ÎŐÔŇŚŰÎŘϧ ÓÔŇŐËÔŐŇÉ ĎÂ'¤ËÔÎÉČ ĆÁĘĚŚ×
+ĆĎŇÍÁÔŐ ELF. ÷ĎÎÁ ÄĎÚ×ĎĚѤ ×É×ŢÁÔÉ ŇŚÚÎŚ ÓĹËĂŚ§ ELF-ĆÁĘĚŐ, ĐĹŇĹ׌ŇŃÔÉ
+ÓÉÍ×ĎĚÉ Ś Ô.Đ.
+
+%description -l ru
+üÔÁ ÂÉÂĚÉĎÔĹËÁ ĐŇĹÄĎÓÔÁ×ĚŃĹÔ ÄĎÓÔŐĐ Ë ×ÎŐÔŇĹÎÎĎÓÔŃÍ ĎÂßĹËÔÎŮČ ĆÁĘĚĎ× ×
+ĆĎŇÍÁÔĹ ELF. ďÎÁ ĐĎÚ×ĎĚŃĹÔ ÉÚŐŢÁÔŘ ŇÁÚĚÉŢÎŮĹ ÓĹËĂÉÉ ELF-ĆÁĘĚÁ,
+ĐŇĎ×ĹŇŃÔŘ ÓÉÍ×ĎĚŮ É Ô.Ä.
+
+%description -l tr
+Bu kitaplýk, ELF ara kod dosyasý içeriđine eriţimi sađlar. ELF
+dosyalarýnýn çeţitli yerleri ile oynama, sembolleri kontrol etme gibi
+olanaklar sunar.
+
+%description -l uk
+ăŃ ÂŚÂĚŚĎÔĹËÁ ÎÁÄÁ¤ ÄĎÓÔŐĐ ÄĎ ×ÎŐÔŇŚŰÎŘϧ ÓÔŇŐËÔŐŇÉ ĎÂ'¤ËÔÎÉČ ĆÁĘĚŚ×
+ĆĎŇÍÁÔŐ ELF. ÷ĎÎÁ ÄĎÚ×ĎĚѤ ×É×ŢÁÔÉ ŇŚÚÎŚ ÓĹËĂŚ§ ELF-ĆÁĘĚŐ, ĐĹŇĹ׌ŇŃÔÉ
+ÓÉÍ×ĎĚÉ Ś Ô.Đ.
+
+%package devel
+Summary: Development files for libelf
+Summary(pl): Pliki dla programistów libelf
+Summary(ru): ćÁĘĚŮ ÄĚŃ ŇÁÚŇÁÂĎÔËÉ Ó ÉÓĐĎĚŘÚĎ×ÁÎÉĹÍ ÂÉÂĚÉĎÔĹËÉ libelf
+Summary(uk): ćÁĘĚÉ ÄĚŃ ŇĎÚŇĎÂËÉ Ú ×ÉËĎŇÉÓÔÁÎÎŃÍ ÂŚÂĚŚĎÔĹËÉ libelf
+Group: Development/Libraries
+Requires: %{name} = %{version}
+Obsoletes: libelf0-devel
+
+%description devel
+Development files for libelf.
+
+%description devel -l pl
+Pliki dla programistów tworzących programy używające libelf.
+
+%description devel -l ru
+üÔĎÔ ĐÁËĹÔ ÓĎÄĹŇÖÉÔ ĆÁĘĚŮ, ÎĹĎÂČĎÄÉÍŮĹ ÄĚŃ ŇÁÚŇÁÂĎÔËÉ ĐŇĎÇŇÁÍÍ Ó
+ÉÓĐĎĚŘÚĎ×ÁÎÉĹÍ ÂÉÂĚÉĎÔĹËÉ libelf.
+
+%description devel -l uk
+ăĹĘ ĐÁËĹÔ ÍŚÓÔÉÔŘ ĆÁĘĚÉ, ÎĹĎÂČŚÄÎŚ ÄĚŃ ŇĎÚŇĎÂËÉ ĐŇĎÇŇÁÍ Ú
+×ÉËĎŇÉÓÔÁÎÎŃÍ ÂŚÂĚŚĎÔĹËÉ libelf.
+
+%package static
+Summary: Static libelf library
+Summary(pl): Statyczna biblioteka libelf
+Summary(ru): óÔÁÔÉŢĹÓËÉĹ ÂÉÂĚÉĎÔĹËÉ ÄĚŃ ŇÁÚŇÁÂĎÔËÉ Ó ÉÓĐĎĚŘÚĎ×ÁÎÉĹÍ libelf
+Summary(uk): óÔÁÔÉŢÎŚ ÂŚÂĚŚĎÔĹËÉ ÄĚŃ ŇĎÚŇĎÂËÉ Ú ×ÉËĎŇÉÓÔÁÎÎŃÍ libelf
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}
+
+%description static
+Static libelf library.
+
+%description static -l pl
+Statyczna biblioteka libelf.
+
+%description static -l ru
+üÔĎÔ ĐÁËĹÔ ÓĎÄĹŇÖÉÔ ÓÔÁÔÉŢĹÓËÉĹ ÂÉÂĚÉĎÔĹËÉ ÄĚŃ ŇÁÚŇÁÂĎÔËÉ ĐŇĎÇŇÁÍÍ.
+
+%description static -l uk
+ăĹĘ ĐÁËĹÔ ÍŚÓÔÉÔŘ ÓÔÁÔÉŢÎŚ ÂŚÂŚĚŚĎÔĹËÉ ÄĚŃ ŇĎÚŇĎÂËÉ ĐŇĎÇŇÁÍ.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+%build
+install -m755 /usr/share/automake/config.{sub,guess} .
+%{__aclocal}
+%{__autoconf}
+%configure \
+ --enable-shared
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%find_lang %{name}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files -f %{name}.lang
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so.*.*
+
+%files devel
+%defattr(644,root,root,755)
+%doc README
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_includedir}/libelf
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libelf.a
diff --git a/libelf-DESTDIR.patch b/libelf-DESTDIR.patch
new file mode 100644
index 0000000..bc929b5
--- /dev/null
+++ b/libelf-DESTDIR.patch
@@ -0,0 +1,114 @@
+--- libelf-0.8.2/lib/Makefile.in.orig Sat Oct 13 23:35:22 2001
++++ libelf-0.8.2/lib/Makefile.in Fri Jul 26 01:16:42 2002
+@@ -21,7 +21,6 @@
+ exec_prefix = @exec_prefix@
+ libdir = @libdir@
+ includedir = @includedir@
+-installdirs = $(libdir) $(includedir) $(includedir)/libelf
+
+ CC = @CC@
+ LD = @LD@
+@@ -164,20 +163,18 @@
+ @$(RM) -r $(picdir)
+ mkdir $(picdir)
+
+-install: all installdirs install-data \
++install: all install-data \
+ install-shared-$(DO_SHLIB) install-compat-$(DO_COMPAT)
+
+-installdirs: $(top_srcdir)/mkinstalldirs
+- $(SHELL) $(top_srcdir)/mkinstalldirs $(installdirs)
+-
+ install-data:
+- $(INSTALL_DATA) libelf.a $(libdir)
++ $(INSTALL) -d $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)/libelf
++ $(INSTALL_DATA) libelf.a $(DESTDIR)$(libdir)
+ -cd $(libdir) && $(RANLIB) libelf.a
+ files="$(HDRS) $(AUXHDRS) elf_repl.h"; for file in $$files; do \
+ if test -r $$file; then \
+- $(INSTALL_DATA) $$file $(includedir)/libelf; \
++ $(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/libelf; \
+ else \
+- $(INSTALL_DATA) $(srcdir)/$$file $(includedir)/libelf; \
++ $(INSTALL_DATA) $(srcdir)/$$file $(DESTDIR)$(includedir)/libelf; \
+ fi; \
+ done
+
+@@ -185,31 +182,33 @@
+ uninstall-shared-$(DO_SHLIB) uninstall-compat-$(DO_COMPAT)
+
+ uninstall-data:
+- $(RM) $(libdir)/libelf.a
+- $(RM) -r $(includedir)/libelf
++ $(RM) $(DESTDIR)$(libdir)/libelf.a
++ $(RM) -r $(DESTDIR)$(includedir)/libelf
+
+ install-shared-yes: install-shared
+ install-shared-no:
+ install-shared: $(SHLIB)
+- $(INSTALL_SHLIB) $(SHLIB) $(libdir)
++ $(INSTALL) -d $(DESTDIR)$(libdir)
++ $(INSTALL_SHLIB) $(SHLIB) $(DESTDIR)$(libdir)
+ if test "$(SONAME)" = "$(SHLIB)"; then true; else \
+- cd $(libdir) && $(RM) $(SONAME) && $(LN_S) $(SHLIB) $(SONAME); \
++ cd $(DESTDIR)$(libdir) && $(RM) $(SONAME) && $(LN_S) $(SHLIB) $(SONAME); \
+ fi
+ if test "$(SHLINK)" = "$(SHLIB)"; then true; else \
+- cd $(libdir) && $(RM) $(SHLINK) && $(LN_S) $(SHLIB) $(SHLINK); \
++ cd $(DESTDIR)$(libdir) && $(RM) $(SHLINK) && $(LN_S) $(SHLIB) $(SHLINK); \
+ fi
+
+ uninstall-shared-yes: uninstall-shared
+ uninstall-shared-no:
+ uninstall-shared:
+- cd $(libdir) && $(RM) $(SHLIB) $(SONAME) $(SHLINK)
++ cd $(DESTDIR)$(libdir) && $(RM) $(SHLIB) $(SONAME) $(SHLINK)
+
+ install-compat-yes: install-compat
+ install-compat-no:
+ install-compat:
++ $(INSTALL) -d $(DESTDIR)$(includedir)
+ files="$(HDRS)"; for file in $$files; do \
+- if test -f $(includedir)/$$file; then true; else \
+- echo "#include <libelf/$$file>" > $(includedir)/$$file; \
++ if test -f $(DESTDIR)$(includedir)/$$file; then true; else \
++ echo "#include <libelf/$$file>" > $(DESTDIR)$(includedir)/$$file; \
+ fi; \
+ done
+
+@@ -217,8 +216,8 @@
+ uninstall-compat-no:
+ uninstall-compat:
+ files="$(HDRS)"; for file in $$files; do \
+- if grep "^#include <libelf/$$file>$" $(includedir)/$$file >/dev/null 2>&1; then \
+- $(RM) $(includedir)/$$file; \
++ if grep "^#include <libelf/$$file>$" $(DESTDIR)$(includedir)/$$file >/dev/null 2>&1; then \
++ $(RM) $(DESTDIR)$(includedir)/$$file; \
+ else true; fi; \
+ done
+
+--- libelf-0.8.2/po/Makefile.in~ Fri Jul 26 01:29:01 2002
++++ libelf-0.8.2/po/Makefile.in Fri Jul 26 01:27:42 2002
+@@ -91,18 +91,18 @@
+ catalogs="$(CATALOGS)"; for cat in $$catalogs; do \
+ lang=`echo $$cat | sed 's,$(CATOBJEXT)$$,,'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+- $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
++ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$$dir; \
+ if test -r $$cat; then \
+- $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(INSTOBJEXT); \
+ else \
+- $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
++ $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE)$(INSTOBJEXT); \
+ fi; \
+ done
+
+ uninstall:
+ catalogs="$(CATALOGS)"; for cat in $$catalogs; do \
+ lang=`echo $$cat | sed 's,$(CATOBJEXT)$$,,'`; \
+- $(RM) $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
++ $(RM) $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
+ done
+
+ mostlyclean:
diff --git a/libelf-hash.patch b/libelf-hash.patch
new file mode 100644
index 0000000..7fcf7f3
--- /dev/null
+++ b/libelf-hash.patch
@@ -0,0 +1,20 @@
+2002-06-14 Jakub Jelinek <jakub at redhat.com>
+
+ * update.c (_elf64_layout): Don't overwrite sh_entsize
+ unconditionally for ELF64 - some platforms use
+ 64 bit DT_HASH entries.
+
+--- libelf-0.7.0/lib/update.c.jj Fri Jun 12 15:42:39 1998
++++ libelf-0.7.0/lib/update.c Fri Jun 14 10:22:19 2002
+@@ -317,7 +317,10 @@ _elf64_layout(Elf *elf, unsigned *flag)
+
+ entsize = scn_entsize(elf, version, shdr->sh_type);
+ if (entsize > 1) {
+- rewrite(shdr->sh_entsize, entsize, scn->s_shdr_flags);
++ /* Some architectures use 64-bit hash entries. */
++ if (shdr->sh_type != SHT_HASH
++ || shdr->sh_entsize != _fsize(elf->e_class, version, ELF_T_ADDR))
++ rewrite(shdr->sh_entsize, entsize, scn->s_shdr_flags);
+ }
+
+ if (layout) {
diff --git a/libelf-symver.patch b/libelf-symver.patch
new file mode 100644
index 0000000..09f01ce
--- /dev/null
+++ b/libelf-symver.patch
@@ -0,0 +1,30 @@
+2002-08-26 Jakub Jelinek <jakub at redhat.com>
+
+ * lib/verdef.h (xlt_verdef): Don't crash if calculating size of
+ section which hasn't been loaded yet.
+ * lib/verneed.h (xlt_verneed): Likewise.
+
+--- libelf-0.8.2/lib/verdef.h.jj 2001-10-07 22:03:02.000000000 +0200
++++ libelf-0.8.2/lib/verdef.h 2002-08-26 19:04:54.000000000 +0200
+@@ -138,6 +138,9 @@ xlt_verdef(unsigned char *dst, const uns
+ if (n < sizeof(verdef_stype)) {
+ return 0;
+ }
++ if (dst == NULL && src == NULL) {
++ return n;
++ }
+ soff = doff = 0;
+ for (;;) {
+ const verdef_stype *svd;
+--- libelf-0.8.2/lib/verneed.h.jj 2001-10-07 22:03:02.000000000 +0200
++++ libelf-0.8.2/lib/verneed.h 2002-08-26 19:05:18.000000000 +0200
+@@ -142,6 +142,9 @@ xlt_verneed(unsigned char *dst, const un
+ if (n < sizeof(verneed_stype)) {
+ return 0;
+ }
++ if (dst == NULL && src == NULL) {
++ return n;
++ }
+ soff = doff = 0;
+ for (;;) {
+ const verneed_stype *svn;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libelf.git/commitdiff/2a88245a78a6983fda2ea15ffb1d0dd014baac63
More information about the pld-cvs-commit
mailing list