-Summary: Electric Fence C memory debugging library
-Summary(de): Electric Fence C Memory-Debugging-Library
-Summary(fr): Bibliothèque C de débuggage mémoire Electric Fence
-Summary(pl): Biblioteka Electric Fence
-Summary(tr): C için bellek hatasý ayýklama kitaplýðý
+Summary: A debugger which detects memory allocation violations
+Summary(cs.UTF-8): Nástroj pro odhalování chyb při alokaci dynamické paměti
+Summary(da.UTF-8): En afluser som finder problemer ved hukommelsesallokering
+Summary(de.UTF-8): Debugger zum Erkennen von Speicherzugriffsverletzungen
+Summary(es.UTF-8): Electric Fence biblioteca de depuración de memoria en C
+Summary(fr.UTF-8): Bibliothèque C de débuggage mémoire Electric Fence
+Summary(id.UTF-8): Debugger untuk menditeksi memory allocation violations
+Summary(is.UTF-8): Aflúsunartól sem finnur villur í minnismeðhöndlun
+Summary(it.UTF-8): Debugger che rileva le violazioni dell'allocazione di memoria
+Summary(ja.UTF-8): メモリ割り当ての侵略を検出するデバッガ
+Summary(nb.UTF-8): Et avlusingsprogram som finner overtramp ved minneallokering
+Summary(pl.UTF-8): Biblioteka do wykrywania błędów alokacji pamięci
+Summary(pt.UTF-8): Um depurador que detecta violações à memória alocada
+Summary(pt_BR.UTF-8): Electric Fence biblioteca de depuração de memória em C
+Summary(ru.UTF-8): Отладчик, выявляющий ошибки в распределении памяти
+Summary(sk.UTF-8): Debugger pre vyhľadávanie chybných prístupov k alokovanej pamäti
+Summary(sl.UTF-8): Razhroščevalnik, ki najde prekoračitve dodeljenega pomnilnika
+Summary(sv.UTF-8): Ett avlusningsprogram som upptäcker minnesallokeringsfel
+Summary(tr.UTF-8): C için bellek hatası ayıklama kitaplığı
+Summary(zh_CN.UTF-8): 一种调试器用于检测内存分配错误
Name: ElectricFence
-Version: 2.2.0
-Release: 4
-Copyright: GPL
+Version: 2.2.6
+Release: 1
+License: GPL v2
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: http://ftp.debian.org/debian/pool/main/e/electric-fence/electric-fence_%{version}.tar.gz
+# Source0-md5: b8219270f2010bf1953db3f15cec04a3
+Source1: ef.sh
+Obsoletes: libefence0 < 2.3
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%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.
-
-%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.
-
-%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.
-
-%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.
-
-%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.
+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.UTF-8
+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.UTF-8
+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.UTF-8
+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.UTF-8
+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 konsolidować 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.UTF-8
+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.UTF-8
+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(pl): Biblioteka statyczna Electric Fence
+Summary: Static Electric Fence library
+Summary(pl.UTF-8): Biblioteka statyczna Electric Fence
Group: Development/Debuggers
-Group(pl): Programowanie/Odpluskwiacze
+Obsoletes: libefence0-devel < 2.3
%description static
-Satatic Electric Fence library.
+Static Electric Fence library.
-%description -l pl static
+%description static -l pl.UTF-8
Biblioteka statyczna Electric Fence.
%prep
-%setup -q
-%patch0 -p1
-%patch1 -p1
+%setup -q -c
%build
-make CFLAGS="$RPM_OPT_FLAGS"
+%{__make} -C work \
+ CC="%{__cc}" \
+ CFLAGS="%{rpmcflags} -fPIC -DUSE_SEMAPHORE"
%install
rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/usr/{bin,lib,share/man/man3}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_mandir}/man3}
-make BIN_INSTALL_DIR=$RPM_BUILD_ROOT/usr/bin \
- LIB_INSTALL_DIR=$RPM_BUILD_ROOT%{_libdir} \
- MAN_INSTALL_DIR=$RPM_BUILD_ROOT%{_mandir}/man3 \
- install
-
-strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*so.*.*
-
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man3/* \
- README CHANGES
+install %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ef
+install work/libefence.a $RPM_BUILD_ROOT%{_libdir}
+install work/libefence.so.0.0 $RPM_BUILD_ROOT%{_libdir}
+ln -s libefence.so.0.0 $RPM_BUILD_ROOT%{_libdir}/libefence.so.0
+ln -s libefence.so.0.0 $RPM_BUILD_ROOT%{_libdir}/libefence.so
+cp -p work/libefence.3 $RPM_BUILD_ROOT%{_mandir}/man3
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
-%doc *gz
-%attr(755,root,root) /usr/bin/ef
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%{_mandir}/man3/*
+%doc work/{CHANGES,README} work/debian/{README.debian,README.gdb,changelog}
+%attr(755,root,root) %{_bindir}/ef
+%attr(755,root,root) %{_libdir}/libefence.so.0.0
+%ghost %attr(755,root,root) %{_libdir}/libefence.so.0
+%attr(755,root,root) %{_libdir}/libefence.so
+%{_mandir}/man3/libefence.3*
%files static
%defattr(644,root,root,755)
-%{_libdir}/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 compliant.
-
-* 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}/libefence.a