-Summary: Electric Fence C memory debugging library
-Summary(de): Electric Fence C Memory-Debugging-Library
+Summary: A debugger which detects memory allocation violations
+Summary(cs): Nástroj pro odhalování chyb pøi alokaci dynamické pamìti
+Summary(da): En afluser som finder problemer ved hukommelsesallokering
+Summary(de): Debugger zum Erkennen von Speicherzugriffsverletzungen
+Summary(es): Electric Fence biblioteca de depuración de memoria en C
Summary(fr): Bibliothèque C de débuggage mémoire Electric Fence
-Summary(pl): Biblioteka Electric Fence
+Summary(id): Debugger untuk menditeksi memory allocation violations
+Summary(is): Aflúsunartól sem finnur villur í minnismeðhöndlun
+Summary(it): Debugger che rileva le violazioni dell'allocazione di memoria
+Summary(ja): ¥á¥â¥ê³ä¤êÅö¤Æ¤Î¿¯Î¬¤ò¸¡½Ð¤¹¤ë¥Ç¥Ð¥Ã¥¬
+Summary(no): Et avlusingsprogram som finner overtramp ved minneallokering
+Summary(pl): Biblioteka do wykrywania b³êdów alokacji pamiêci
+Summary(pt): Um depurador que detecta violações à memória alocada
+Summary(pt_BR): Electric Fence biblioteca de depuração de memória em C
+Summary(ru): ïÔÌÁÄÞÉË, ×ÙÑ×ÌÑÀÝÉÊ ÏÛÉÂËÉ × ÒÁÓÐÒÅÄÅÌÅÎÉÉ ÐÁÍÑÔÉ
+Summary(sk): Debugger pre vyhµadávanie chybných prístupov k alokovanej pamäti
+Summary(sl): Razhro¹èevalnik, ki najde prekoraèitve dodeljenega pomnilnika
+Summary(sv): Ett avlusningsprogram som upptäcker minnesallokeringsfel
Summary(tr): C için bellek hatasý ayýklama kitaplýðý
+Summary(zh_CN): Ò»ÖÖµ÷ÊÔÆ÷ÓÃÓÚ¼ì²âÄÚ´æ·ÖÅä´íÎó
Name: ElectricFence
-Version: 2.2.0
-Release: 4
-Copyright: GPL
+Version: 2.2.2
+Release: 13
+License: GPL
Group: Development/Debuggers
-Group(pl): Programowanie/Odpluskwiacze
-Source: ftp://perens.com/pub/ElectricFence/%{name}-%{version}.tar.gz
-Patch0: ElectricFence-longjmp.patch
-patch1: ElectricFence-shlib.patch
-BuildRoot: /tmp/%{name}-%{version}-root
+Source0: ftp://ftp.perens.com/pub/ElectricFence/Beta/%{name}-%{version}.tar.gz
+Patch0: %{name}-longjmp.patch
+Patch1: %{name}-no_bash.spec
+Patch2: %{name}-va_arg.patch
+Patch3: %{name}-ac_am.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Obsoletes: libefence0
%description
-Electric Fence is a libary that can be used for C programming and debugging.
-Package contain shared library libefence which can be loaded by LD_PRELOAD
-without relinking debuged program. Package contain also ef shell script
-which preloads libefence and runs program passed as parameter.
+If you know what malloc() violations are, you'll be interested in
+ElectricFence. ElectricFence is a tool which can be used for C
+programming and debugging. It uses the virtual memory hardware of your
+system to detect when software overruns malloc() buffer boundaries,
+and/or to detect any accesses of memory released by free().
+ElectricFence will then stop the program on the first instruction that
+caused a bounds violation and you can use your favorite debugger to
+display the offending statement.
%description -l de
-Electric Fence ist eine Library, die für das Programmieren in C und für
-Debugging-Zwecke benutzt werden kann. Sie wird beim Kompilieren gelinkt und
-warnt vor möglichen Probleme, etwa vor der Freigabe von nicht existierendem
-Speicher und ähnlichem.
+Wenn Sie wissen, was malloc()-Verletzungen sind, sind Sie
+wahrscheinlich an ElectricFence interessiert. ElectricFence ist ein
+Tool, das zur C- Programmierung und zum Debugging benutzt werden kann.
+Es benutzt virtuelle Speicherhardware, um zu erkennen, wenn Software
+malloc()-Buffergrenzen übersteigt, und wenn Speicher mit free()
+freigegeben wird. ElectricFence beendet das Programm bei der
+Instruktion, die die Speicherverletzung ausgelöst hat, und Sie können
+Ihren Lieblingsdebugger benutzen, um den Befehl anzuzeigen.
+
+%description -l es
+ElectricFence es una herramienta que puede usarse para programación y
+depuración en lenguaje C. A través del uso del hardware de memoria
+virtual del sistema, detecta accesos que sobrepasan los límites de la
+memoria asignada con malloc(), o acceso a la memoria liberada por
+free(). En esas situaciones, ElectricFence interrumpe la ejecución del
+programa en la primera instrucción que causó la violación, y puede
+usarse un debugger para verificar la causa del problema.
%description -l fr
-Electric Fence est une bibliothéque utilisée pour la programmation en C et
-le débogage. Vous pouvez la lier à la compilation et elle vous avertira des
-problèmes éventuels de désallocation de mémoire, etc.
+Electric Fence est une bibliothéque utilisée pour la programmation en
+C et le débogage. Vous pouvez la lier à la compilation et elle vous
+avertira des problèmes éventuels de désallocation de mémoire, etc.
%description -l pl
-Electric Fence jest bibliotek± pomocn± podczas programowania w
-jêzyku C i "odpluskwianiu".
-Pakiet zawiera bibliotekê wspó³dzielon± która mo¿e byæ za³adowana przez
-zmienn± LD_PRELOAD w trakcie uruchamiania dowolnego programu dziêki temu nie
-potrzeba linkowaæ z t± bibliotek± ¶ledzonego programu. Pakiet zawiera tak¿e
-skrypt shellowy ef, któremu mo¿na ³aduje do pamiêci przez LD_PRELOAD
-libliotekê libefence i uruchamia program przekazyny do tego skryptu jako
-parametr.
+Electric Fence jest bibliotek± pomocn± podczas programowania w jêzyku
+C i "odpluskwiania". Pakiet zawiera bibliotekê wspó³dzielon±, która
+mo¿e byæ za³adowana przez zmienn± LD_PRELOAD w trakcie uruchamiania
+dowolnego programu dziêki temu nie potrzeba linkowaæ z t± bibliotek±
+¶ledzonego programu. Pakiet zawiera tak¿e skrypt pow³oki ef, który
+³aduje do pamiêci przez LD_PRELOAD bibliotekê libefence i uruchamia
+program przekazany do tego skryptu jako parametr.
+
+%description -l pt_BR
+ElectricFence é uma ferramenta que pode ser usada com programação e
+depuracao em linguagem C. Através do uso do hardware de memoria
+virtual do sistema, o ElectricFence detecta acessos além dos limites
+da memória alocada com malloc(), ou acesso a memória liberada por
+free(). Nessas situações, o ElectricFence interrompe a execução do
+programa na primeira instrução que causou a violação, e um debugger
+pode ser usado para verificar a causa do problema.
%description -l tr
-Electric Fence, C'de programlama ve hata ayýklama için kullanýlabilen bir
-kitaplýktýr. Derleme esnasýnda programýnýza baðlarsanýz, sizi ortaya
-çýkabilecek sorunlar (var olmayan bir bellek parçasýnýn serbest býrakýlmasý
-gibi) konusunda uyarýr.
+Electric Fence, C'de programlama ve hata ayýklama için kullanýlabilen
+bir kitaplýktýr. Derleme esnasýnda programýnýza baðlarsanýz, sizi
+ortaya çýkabilecek sorunlar (var olmayan bir bellek parçasýnýn serbest
+býrakýlmasý gibi) konusunda uyarýr.
%package static
-Summary: Satatic Electric Fence library
+Summary: Static Electric Fence library
Summary(pl): Biblioteka statyczna Electric Fence
Group: Development/Debuggers
-Group(pl): Programowanie/Odpluskwiacze
+Obsoletes: libefence0-devel
%description static
-Satatic Electric Fence library.
+Static Electric Fence library.
%description -l pl static
Biblioteka statyczna Electric Fence.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
-make CFLAGS="$RPM_OPT_FLAGS"
+libtoolize --copy --force
+aclocal
+autoconf
+automake -a -c -f
+CFLAGS="%{rpmcflags} -DUSE_SEMAPHORE"
+%configure
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/usr/{bin,lib,share/man/man3}
-make BIN_INSTALL_DIR=$RPM_BUILD_ROOT/usr/bin \
- LIB_INSTALL_DIR=$RPM_BUILD_ROOT/usr/lib \
- MAN_INSTALL_DIR=$RPM_BUILD_ROOT/usr/share/man/man3 \
- install
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
-strip --strip-unneeded $RPM_BUILD_ROOT/usr/lib/lib*so.*.*
+gzip -9nf README NEWS
-gzip -9nf $RPM_BUILD_ROOT/usr/share/man/man3/* \
- README CHANGES
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc *gz
-%attr(755,root,root) /usr/bin/ef
-%attr(755,root,root) /usr/lib/lib*.so.*.*
-/usr/share/man/man3/*
+%attr(755,root,root) %{_bindir}/ef
+%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%attr(755,root,root) %{_libdir}/lib*.so
+%ghost %{_libdir}/libefence.so.0
+%{_mandir}/man3/*
%files static
%defattr(644,root,root,755)
-/usr/lib/lib*.a
-
-%changelog
-* Sun May 9 1999 Tomasz K³oczko <kloczek@rudy.mif.pg.gda.pl>
- [2.2-4]
-- now package is FHS 2.0 compliat.
-
-* Sat Apr 24 1999 Tomasz K³oczko <kloczek@rudy.mif.pg.gda.pl>
- [2.2-3]
-- fixed makin man page for EF,
-- recompiles on new rpm.
-
-* Thu Apr 15 1999 Tomasz K³oczko <kloczek@rudy.mif.pg.gda.pl>
- [2.2-2]
-- removed "Excludearch: alpha",
-- added a patch to properly build the shared library (Maciej W. Ró¿ycki
- <macro@ds2.pg.gda.pl>).
-
-* Mon Apr 12 1999 Tomasz K³oczko <kloczek@rudy.mif.pg.gda.pl>
- [2.2-1]
-- added static subpackage; main package contains now shared library which
- can be preloaded for any executable without relinking,
-- added static subpackage.
-
-* Sun Apr 11 1999 Tomasz K³oczko <kloczek@rudy.mif.pg.gda.pl>
- [2.1-1]
-- added Group(pl),
-- gzipping %doc.
-
-* Wed Dec 30 1998 Wojtek ¦lusarczyk <wojtek@shadow.eu.org>
- [2.0.5-11d]
-- build for PLD,
-- major changes.
-
-* Fri Aug 21 1998 Jeff Johnson <jbj@redhat.com>
-- create efence.3 (problem #830)
-
-* Tue Aug 4 1998 Jeff Johnson <jbj@redhat.com>
-- build root
-
-* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
-- translations modified for de
-
-* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
-- need to use sigsetjmp() and siglongjmp() for proper testing
-
-* Fri May 01 1998 Prospector System <bugs@redhat.com>
-- translations modified for de, fr, tr
-
-* Thu Apr 30 1998 Cristian Gafton <gafton@redhat.com>
-- use ExcludeArch instead of Exclude
-
-* Thu Jul 10 1997 Erik Troan <ewt@redhat.com>
-- built against glibc
+%{_libdir}/lib*.a