Spec URL: https://ingvar.fedorapeople.org/ebtree/ebtree.spec SRPM URL: https://ingvar.fedorapeople.org/ebtree/ebtree-6.0.8-1.fc24.src.rpm Description: ebtree is a binary search tree specially optimized to very frequently store, retrieve and delete discrete integer or binary data without having to deal with memory allocation Fedora Account System Username: ingvar Extra information: ebtree is a project from Willy Tarreau, who also leads the haproxy project. The library is very fast, implemented in pure C, dependant only on glibc. It is most often used as a drop in directory in other projects. This package creates shared library (libebtree.so) variant for dynamic linking. Home page: http://1wt.eu/articles/ebtree/ Note: If this package is accepted into fedora, other projects using ebtree, including haproxy, should probably be rebuilt against the shared library. For EPEL compatibility, the package defines the BuildRoot header. This is not necessary in Fedora, but if accepted, I plan to release the package also for EPEL.
COPR builds for EPEL: https://copr.fedorainfracloud.org/coprs/ingvar/hitch_with_session_cache/
URL and Source0 addresses are usable. Ok. Source archive is original (SHA-256: 17f8a7a88758f5fe67c3e2f304f549b1543c3abfadf1d01053b280369238005f). Ok. The patch is good. Summary is Ok. FIX: While the library is LGPLv2, the examples files have different license (GPLv2+). You must add `License: LGPLv2 and GPLv2+' to the devel sub-package. FIX: Add a full-stop symbol at the end of the descriptions. FIX: Build-require `make' (ebtree.spec:41). FIX: Build-require `coreutils' (ebtree.spec:42). FIX: Build-require `gcc' (Makefile:13). FIX: Do not package LICENSE file twice (both %doc and %license). Use only %license. FIX: Export LDFLAGS for make. The linker command must use distribution flags from %{__global_ldflags} macro. TODO: Execute tests from %check section. Upstream has tests. Actually it would be great if the tests used the dynamic library so they checked the bits the RPM package will deliver to users. They uses the static library now. TODO: The library SONAME should be two-digit because this not an upstream versioning. It also does not make sense to start with "6". You could start with "0.1". <https://fedoraproject.org/wiki/Packaging:Guidelines#Downstream_.so_name_versioning>. $ rpmlint ebtree.spec ../SRPMS/ebtree-6.0.8-1.fc26.src.rpm ../RPMS/x86_64/ebtree-* ebtree.x86_64: E: library-without-ldconfig-postin /usr/lib64/libebtree.so.6.0 ebtree.x86_64: E: library-without-ldconfig-postun /usr/lib64/libebtree.so.6.0 ebtree-devel.x86_64: W: no-version-dependency-on ebtree/ebtree-libs/libebtree 6.0.8 ebtree-devel.x86_64: W: only-non-binary-in-usr-lib 4 packages and 1 specfiles checked; 2 errors, 2 warnings. FIX: You have to call ldconfig from post and postun scriptlets <https://fedoraproject.org/wiki/Packaging:Guidelines#SharedLibraries>. $ rpm -q -lv -p ../RPMS/x86_64/ebtree-6.0.8-1.fc26.x86_64.rpm lrwxrwxrwx 1 root root 16 Oct 21 11:24 /usr/lib64/libebtree.so.6 -> libebtree.so.6.0 -rwxr-xr-x 1 root root 19232 Oct 21 11:24 /usr/lib64/libebtree.so.6.0 drwxr-xr-x 2 root root 0 Oct 21 11:24 /usr/share/doc/ebtree -rw-r--r-- 1 root root 26436 Jun 11 2012 /usr/share/doc/ebtree/LICENSE -rw-r--r-- 1 root root 12297 Oct 21 11:24 /usr/share/doc/ebtree/README -rw-r--r-- 1 root root 6 Jun 11 2012 /usr/share/doc/ebtree/VERSION drwxr-xr-x 2 root root 0 Oct 21 11:24 /usr/share/licenses/ebtree -rw-r--r-- 1 root root 26436 Jun 11 2012 /usr/share/licenses/ebtree/LICENSE $ rpm -q -lv -p ../RPMS/x86_64/ebtree-devel-6.0.8-1.fc26.x86_64.rpm -rw-r--r-- 1 root root 2954 Jun 11 2012 /usr/include/compiler.h -rw-r--r-- 1 root root 15744 Jun 11 2012 /usr/include/eb32tree.h -rw-r--r-- 1 root root 18643 Jun 11 2012 /usr/include/eb64tree.h -rw-r--r-- 1 root root 10710 Jun 11 2012 /usr/include/ebimtree.h -rw-r--r-- 1 root root 10966 Jun 11 2012 /usr/include/ebistree.h -rw-r--r-- 1 root root 26000 Jun 11 2012 /usr/include/ebmbtree.h -rw-r--r-- 1 root root 5520 Jun 11 2012 /usr/include/ebpttree.h -rw-r--r-- 1 root root 10802 Jun 11 2012 /usr/include/ebsttree.h -rw-r--r-- 1 root root 31130 Jun 11 2012 /usr/include/ebtree.h lrwxrwxrwx 1 root root 14 Oct 21 11:24 /usr/lib64/libebtree.so -> libebtree.so.6 drwxr-xr-x 2 root root 0 Oct 21 11:24 /usr/share/doc/ebtree-devel -rw-r--r-- 1 root root 26436 Jun 11 2012 /usr/share/doc/ebtree-devel/LICENSE -rw-r--r-- 1 root root 12297 Oct 21 11:24 /usr/share/doc/ebtree-devel/README -rw-r--r-- 1 root root 6 Jun 11 2012 /usr/share/doc/ebtree-devel/VERSION drwxr-xr-x 2 root root 0 Jun 11 2012 /usr/share/doc/ebtree-devel/examples -rw-r--r-- 1 root root 4217 Jun 11 2012 /usr/share/doc/ebtree-devel/examples/reduce.c -rw-r--r-- 1 root root 2529 Jun 11 2012 /usr/share/doc/ebtree-devel/examples/squidgrep.c drwxr-xr-x 2 root root 0 Oct 21 11:24 /usr/share/licenses/ebtree-devel -rw-r--r-- 1 root root 26436 Jun 11 2012 /usr/share/licenses/ebtree-devel/LICENSE I don't like the compiler.h directly in /usr/include. The file name does not sound ebtree specific. I recommend to move the header files into a subdirectory /usr/include/ebtree. $ rpm -q --requires -p ../RPMS/x86_64/ebtree-6.0.8-1.fc26.x86_64.rpm | sort -f | uniq -c 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.2.5)(64bit) 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsXz) <= 5.2-1 1 rtld(GNU_HASH) $ rpm -q --requires -p ../RPMS/x86_64/ebtree-devel-6.0.8-1.fc26.x86_64.rpm | sort -f | uniq -c 1 ebtree 1 libebtree.so.6()(64bit) 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsXz) <= 5.2-1 FIX: Run-require exact ebtree package (NEVRA) from ebtree-devel package to keep them matching. $ rpm -q --provides -p ../RPMS/x86_64/ebtree-6.0.8-1.fc26.x86_64.rpm | sort -f | uniq -c 1 ebtree = 6.0.8-1.fc26 1 ebtree(x86-64) = 6.0.8-1.fc26 1 libebtree.so.6()(64bit) $ rpm -q --provides -p ../RPMS/x86_64/ebtree-devel-6.0.8-1.fc26.x86_64.rpm | sort -f | uniq -c 1 ebtree-devel = 6.0.8-1.fc26 1 ebtree-devel(x86-64) = 6.0.8-1.fc26 Binary provides are Ok. $ resolvedeps rawhide ../RPMS/x86_64/ebtree{,-devel}-6.0.8-1.fc26.x86_64.rpm Binary dependencies resolvable. Ok. Package builds in F26 (http://koji.fedoraproject.org/koji/taskinfo?taskID=16148863). Ok. Otherwise the package is in line with Fedora packaging guidelines. Please correct all `FIX' items, consider fixing `TODO' items and provide a new spec file. Resolution: package NOT approved.
Thanks Petr Updated spec: https://ingvar.fedorapeople.org/ebtree/ebtree.spec Updated srpm: https://ingvar.fedorapeople.org/ebtree/ebtree-6.0.8-2.fc25.src.rpm > TODO: Execute tests from %check section. Upstream has tests. There are test binaries, but no test suite. I made a little script that runs the test with some random values, and checks that what comes in gets out. I guess that will do. > Actually it would be great if the tests used the dynamic library so they > checked the bits the RPM package will deliver to users. They uses the static > library now. Do they? [ingvar@netcat ~/rpmbuild/BUILD/ebtree-6.0.8]$ echo 42 | ./test32 42 ./test32: error while loading shared libraries: libebtree.so.0: cannot open shared object file: No such file or directory [ingvar@netcat ~/rpmbuild/BUILD/ebtree-6.0.8]$ ldd test32 linux-vdso.so.1 (0x00007ffec21ee000) libebtree.so.0 => not found libc.so.6 => /lib64/libc.so.6 (0x00007fab965b2000) /lib64/ld-linux-x86-64.so.2 (0x000055a621bb4000) [ingvar@netcat ~/rpmbuild/BUILD/ebtree-6.0.8]$ export LD_LIBRARY_PATH=. [ingvar@netcat ~/rpmbuild/BUILD/ebtree-6.0.8]$ ldd test32 linux-vdso.so.1 (0x00007ffd46de4000) libebtree.so.0 => ./libebtree.so.0 (0x00007f2668726000) libc.so.6 => /lib64/libc.so.6 (0x00007f266832f000) /lib64/ld-linux-x86-64.so.2 (0x0000557a4ca2a000) [ingvar@netcat ~/rpmbuild/BUILD/ebtree-6.0.8]$ echo 42 | ./test32 42 Dump of command line values : node 0x1ec7010 = 42 Now enter lookup values, one per line. eq: node=0x1ec7010, val=42 le: node=0x1ec7010, val=42 ge: node=0x1ec7010, val=42
Building doesn't honor optflags correctly: From build.log: ... cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -O3 -fPIC -o ebtree.o -c ebtree.c ... cc -O3 -fPIC -o test32 test32.c -L. -lebtree ... In the first call, the -O3 near to the end overrides -O2. In the second call optflags isn't used at all.
Thanks again, Petr I also added som basic hardening flags for epel5,6. Updated spec: https://ingvar.fedorapeople.org/ebtree/ebtree.spec Updated srpm: https://ingvar.fedorapeople.org/ebtree/ebtree-6.0.8-3.fc25.src.rpm Ingvar
> FIX: While the library is LGPLv2, the examples files have different license > (GPLv2+). You must add `License: LGPLv2 and GPLv2+' to the devel sub-package. > %package devel [...] +License: LGPLv2 and GPLv2+ Ok. > FIX: Add a full-stop symbol at the end of the descriptions. > -data without having to deal with memory allocation +data without having to deal with memory allocation. Ok. > FIX: Build-require `make' (ebtree.spec:41). > FIX: Build-require `coreutils' (ebtree.spec:42). > FIX: Build-require `gcc' (Makefile:13). > +BuildRequires: make +BuildRequires: coreutils +BuildRequires: gcc Ok. > FIX: Do not package LICENSE file twice (both %doc and %license). Use only > %license. > -%doc VERSION LICENSE README +%doc VERSION README Ok. > FIX: Export LDFLAGS for make. The linker command must use distribution flags > from %{__global_ldflags} macro. > %build [...] +export LDFLAGS="%{__global_ldflags}" + +# Some hardening on epel5,6 +%if 0%{?rhel} == 5 || 0%{?rhel} == 6 +export CFLAGS="%{optflags} -fPIE" +export LDFLAGS="-Wl,-z,relro -z,now" +%endif TODO: Here you still ignores %{__global_ldflags} for EPEL 5 and 6. The same applies to %check section. The macro is maybe empty there but still for the sake of consistency and those who redefines it locally it should be respected. TODO: I recommend to add -fPIC -DPIC compiler options when building the shared library object files. They are required for building a shared library. The build passes only because /usr/lib/rpm/redhat/redhat-hardened-cc1 hardening configuration supplies -fPIE. TODO: I recommend to build the tests in %build section. +%check > TODO: Execute tests from %check section. Upstream has tests. Actually it > would be great if the tests used the dynamic library so they checked the > bits the RPM package will deliver to users. They uses the static library now. > FIX: Build-require util-linux because of uuidgen in tests.sh. > TODO: The library SONAME should be two-digit because this not an upstream > versioning. It also does not make sense to start with "6". You could start > with "0.1". +SOMIN = 0 +SOREL = 1 [...] +libebtree.so: $(OBJS) + $(CC) $(LDFLAGS) -shared -Wl,-soname,libebtree.so.$(SOMIN) -o libebtree.so.$(SOMIN).$(SOREL) $(OBJS) + ln -sf libebtree.so.$(SOMIN).$(SOREL) libebtree.so.$(SOMIN) + ln -sf libebtree.so.$(SOMIN) libebtree.so + TODO: This is not a 2-digit SONAME. SONAME is what you pass to -soname linker option. > FIX: You have to call ldconfig from post and postun scriptlets > <https://fedoraproject.org/wiki/Packaging:Guidelines#SharedLibraries>. > +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig TODO: You are missing dependency on /sbin/ldconfig for the scripts. Please use the "%post -p /sbin/ldconfig" notation the fixes it. > I don't like the compiler.h directly in /usr/include. The file name does not > sound ebtree specific. I recommend to move the header files into a > subdirectory /usr/include/ebtree. > -install -D -p -m 0644 -t %{buildroot}%{_includedir} *.h +install -D -p -m 0644 -t %{buildroot}%{_includedir}/%{name} *.h Ok. > FIX: Run-require exact ebtree package (NEVRA) from ebtree-devel package to > keep them matching. > -Requires: %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} Ok. All tests pass. Ok. $ rpmlint ebtree.spec ../SRPMS/ebtree-6.0.8-3.fc26.src.rpm ../RPMS/x86_64/ebtree-*-3.fc26.* ebtree.x86_64: W: one-line-command-in-%post /sbin/ldconfig ebtree.x86_64: W: one-line-command-in-%postun /sbin/ldconfig ebtree-devel.x86_64: W: only-non-binary-in-usr-lib 4 packages and 1 specfiles checked; 0 errors, 3 warnings. TODO: Use the %post -p /sbin/ldoconfig. Your code requires another shell execution. The tests uses the dynamic library. You are right. I probably read the unpatched Makefile. Package builds in F26 (http://koji.fedoraproject.org/koji/taskinfo?taskID=16788376). Ok. Please consider fixing the `TODO' items before building this package. Resolution: Package APPROVED.
(In reply to Petr Pisar from comment #6) Thanks again, Petr. Updated srpm and spec here: https://ingvar.fedorapeople.org/ebtree/ebtree.spec https://ingvar.fedorapeople.org/ebtree/ebtree-6.0.8-4.fc25.src.rpm > %build > +# Some hardening on epel5,6 > +%if 0%{?rhel} == 5 || 0%{?rhel} == 6 > +export CFLAGS="%{optflags} -fPIE" > +export LDFLAGS="-Wl,-z,relro -z,now" > +%endif > > TODO: Here you still ignores %{__global_ldflags} for EPEL 5 and 6. The same > applies to %check section. The macro is maybe empty there but still for the > sake of consistency and those who redefines it locally it should be > respected. I don't know how often anybody uses %{__global_ldflags} on epel5,6, but OK: # Some hardening on epel5,6 %if 0%{?rhel} == 5 || 0%{?rhel} == 6 export CFLAGS="%{optflags} -fPIE" export LDFLAGS="%{__global_ldflags} -fPIC -DPIC -Wl,-z,relro -z,now" %endif > TODO: I recommend to add -fPIC -DPIC compiler options when building the > shared library object files. They are required for building a shared > library. The build passes only because > /usr/lib/rpm/redhat/redhat-hardened-cc1 hardening configuration supplies > -fPIE. Is it enough to just add them to LDFLAGS, like above? > TODO: I recommend to build the tests in %build section. Why? Isn't this exactly what %check is for? > FIX: Build-require util-linux because of uuidgen in tests.sh. OK. > > TODO: The library SONAME should be two-digit because this not an upstream > > versioning. It also does not make sense to start with "6". You could start > > with "0.1". > (...) > TODO: This is not a 2-digit SONAME. SONAME is what you pass to -soname > linker option. Like this? +SOREL = 0 +SOMIN = 1 (...) +libebtree.so: $(OBJS) + $(CC) $(LDFLAGS) -shared -Wl,-soname,libebtree.so.$(SOREL).$(SOMIN) -o libebtree.so.$(SOREL).$(SOMIN) $(OBJS) + ln -sf libebtree.so.$(SOREL).$(SOMIN) libebtree.so.$(SOREL) + ln -sf libebtree.so.$(SOREL) libebtree.so + > TODO: You are missing dependency on /sbin/ldconfig for the scripts. Please > use the "%post -p /sbin/ldconfig" notation the fixes it. > (...) > TODO: Use the %post -p /sbin/ldoconfig. Your code requires another shell > execution. Fixed > Please consider fixing the `TODO' items before building this package. > Resolution: Package APPROVED.
actually, export LDFLAGS="%{?__global_ldflags} -fPIC -DPIC -Wl,-z,relro -z,now"
(In reply to Ingvar Hagelund from comment #7) > > %build > > +# Some hardening on epel5,6 > > +%if 0%{?rhel} == 5 || 0%{?rhel} == 6 > > +export CFLAGS="%{optflags} -fPIE" > > +export LDFLAGS="-Wl,-z,relro -z,now" > > +%endif > > > > TODO: Here you still ignores %{__global_ldflags} for EPEL 5 and 6. The same > > applies to %check section. The macro is maybe empty there but still for the > > sake of consistency and those who redefines it locally it should be > > respected. > > I don't know how often anybody uses %{__global_ldflags} on epel5,6, but OK: > > # Some hardening on epel5,6 > %if 0%{?rhel} == 5 || 0%{?rhel} == 6 > export CFLAGS="%{optflags} -fPIE" > export LDFLAGS="%{__global_ldflags} -fPIC -DPIC -Wl,-z,relro -z,now" > %endif > > > TODO: I recommend to add -fPIC -DPIC compiler options when building the > > shared library object files. They are required for building a shared > > library. The build passes only because > > /usr/lib/rpm/redhat/redhat-hardened-cc1 hardening configuration supplies > > -fPIE. > > Is it enough to just add them to LDFLAGS, like above? > -fPIC -DPIC are compiler options. Not linker options. The should be added to CFLAGS. Not LDFLAGS. > > TODO: I recommend to build the tests in %build section. > > Why? Isn't this exactly what %check is for? > I think %check is for running tests. Not for compiling code. But it does not matter much. > > > TODO: The library SONAME should be two-digit because this not an upstream > > > versioning. It also does not make sense to start with "6". You could start > > > with "0.1". > > (...) > > TODO: This is not a 2-digit SONAME. SONAME is what you pass to -soname > > linker option. > > Like this? > > +SOREL = 0 > +SOMIN = 1 > > (...) > > +libebtree.so: $(OBJS) > + $(CC) $(LDFLAGS) -shared -Wl,-soname,libebtree.so.$(SOREL).$(SOMIN) > -o libebtree.so.$(SOREL).$(SOMIN) $(OBJS) > + ln -sf libebtree.so.$(SOREL).$(SOMIN) libebtree.so.$(SOREL) > + ln -sf libebtree.so.$(SOREL) libebtree.so > + > No. The SOREL should be "0.1", SOMIN whatever you want (actually you does not have to use it), and -soname option would be "libebtree.so.$(SOREL)" only. The idea is to have soname different from whatever upstream could use when he decided to start using soname.
(In reply to Petr Pisar from comment #9) Thanks again, Petr. I'll try again. Updated srpm and spec here (did not bump release tag) https://ingvar.fedorapeople.org/ebtree/ebtree.spec https://ingvar.fedorapeople.org/ebtree/ebtree-6.0.8-4.fc25.src.rpm > -fPIC -DPIC are compiler options. Not linker options. The should be added to > CFLAGS. Not LDFLAGS. Right. Fixed > I think %check is for running tests. Not for compiling code. But it does not > matter much. I can take away a few lines by moving it %build, and just run the check under %check, so it's an improvement as well. Fixed. > (...)The SOREL should be "0.1", SOMIN whatever you want (actually you does > not have to use it), and -soname option would be "libebtree.so.$(SOREL)" > only. > > The idea is to have soname different from whatever upstream could use when > he decided to start using soname. uh, ok. Something like this, then: SOREL = 0.1 (...) libebtree.so: $(OBJS) $(CC) $(LDFLAGS) -shared -Wl,-soname,libebtree.so.$(SOREL) -o libebtree.so.$(SOREL) $(OBJS) ln -sf libebtree.so.$(SOREL) libebtree.so Better now? Ingvar
Yes, I think this is the best. Thank you for polishing the package.
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/ebtree
ebtree-6.0.8-4.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-e10fdab597
ebtree-6.0.8-4.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-2ed27ba719
ebtree-6.0.8-4.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-2ed27ba719
ebtree-6.0.8-4.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-4fdc54e965
ebtree-6.0.8-4.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-43aa73acbf
ebtree-6.0.8-4.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-7db3c27dd4
ebtree-6.0.8-4.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-e10fdab597
ebtree-6.0.8-4.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-7db3c27dd4
ebtree-6.0.8-4.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-43aa73acbf
ebtree-6.0.8-4.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-4fdc54e965
ebtree-6.0.8-4.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.
ebtree-6.0.8-4.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.
ebtree-6.0.8-4.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.
ebtree-6.0.8-4.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report.
ebtree-6.0.8-4.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.