Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > by-pkgid > 541c2b159764bad65b9920d0a38a6ea4 > files > 12

htdig-3.2.0-2mdv2009.1.src.rpm

%define _disable_ld_as_needed 1
%define _disable_ld_no_undefined 1

%define betanum b6
%define contentdir /var/www

Summary:	A web indexing and searching system for a small domain or intranet
Name:		htdig
Version:	3.2.0
Release:	%mkrel 2
License:	GPL
Group:		Networking/WWW
URL:		http://www.htdig.org/
Source0:	%{name}-%{version}%{betanum}.tar.bz2
Source1:	htdig-dbgen
Source2:	%{name}-rundig-accents.patch
Patch0:		%{name}.patch
Patch1:		%{name}-accents.patch
Patch2:		rundig.emptydb.patch
Patch3:		%{name}-dblmax.patch
Patch4:		%{name}-memcpy.patch
Patch5:		%{name}-localconf.patch
Patch6:		%{name}-rundiginfos.patch
Patch50:	%{name}-enabledebug.patch
Patch85:	htdig-fix-Collection-dot-h.patch
BuildRequires:	flex >= 2.5.4a-13
BuildRequires:	libtool
BuildRequires:	gcc-c++
BuildRequires:	zlib1-devel
BuildRoot:	%{_tmppath}/%{name}-buildroot

%description
The ht://Dig system is a complete world wide web indexing and searching system 
for a small domain or intranet. This system is not meant to replace the need 
for powerful internet-wide search systems like Lycos, Infoseek, Webcrawler and 
AltaVista. Instead it is meant to cover the search needs for a single company, 
campus, or even a particular sub section of a web site.

As opposed to some WAIS-based or web-server based search engines, ht://Dig can 
span several web servers at a site. The type of these different web servers 
doesn't matter as long as they understand the HTTP 1.0 protocol.

ht://Dig was developed at San Diego State University as a way to search the
various web servers on the campus network.

%package	devel
Summary:	Libraries needed to develop for htdig
Group:		Development/C
Requires:	%{name} = %{version}

%description	devel
Libraries needed to develop for htdig.

%package	web
Summary:	Scripts and HTML code needed for using ht://Dig as a web search engine
Group:		Networking/WWW
Requires:	%{name} = %{version}
Requires:	webserver

%description	web
The ht://Dig system is a complete world wide web indexing and searching
system for a small domain or intranet. This system is not meant to replace
the need for powerful internet-wide search systems like Lycos, Infoseek,
Webcrawler and AltaVista. Instead it is meant to cover the search needs for
a single company, campus, or even a particular sub section of a web site. As
opposed to some WAIS-based or web-server based search engines, ht://Dig can
span several web servers at a site. The type of these different web servers
doesn't matter as long as they understand the HTTP 1.0 protocol.

The %{name}-web package includes CGI scripts and HTML code needed to use
ht://Dig on a website.

ht://Dig was developed at San Diego State University as a way to search the
various web servers on the campus network.


%prep

%setup -q -n %{name}-%{version}%{betanum}
chmod -R 0644 htdoc/*

%patch4 -p0 -b .memcpy
%patch5 -p1 -b .localconf
%patch6 -p1 -b .rundiginfos
%patch85 -p0 -b .compileprob


# Fix the flex output file for glibc 2.2 compatibility
cd htcommon
flex -oconf_lexer.cxx conf_lexer.lxx
cd ..

# Make it lib64 aware
perl -pi -e "m|LDFLAGS=| and s|/lib\b|/%{_lib}|g" configure */configure

%build
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr \
#	--bindir=%{_sbindir} --libexec=%{_libdir} --libdir=%{_libdir} \
#	--mandir=%{_mandir} --sysconfdir=/etc/htdig \
#	--localstatedir=/var/lib \
#	--with-image-dir=/var/www/html/htdig \
#	--with-cgi-bin-dir=/var/www/cgi-bin \
#	--with-search-dir=/var/www/html

#CFLAGS="$RPM_OPT_FLAGS" 
#	--enable-debug \

%serverbuild
export LDFLAGS="%{ldflags}"

./configure \
    --prefix=%{_prefix} \
    --libdir=%{_libdir} \
    --mandir=%{_mandir} \
    --enable-shared \
    --with-config-dir=%{_sysconfdir}/htdig \
    --with-common-dir=%{contentdir}/html/htdig \
    --with-database-dir=/var/lib/htdig \
    --localstatedir=/var/lib/htdig \
    --with-cgi-bin-dir=%{contentdir}/cgi-bin \
    --with-image-dir=%{contentdir}/html/htdig \
    --with-search-dir=%{contentdir}/html/htdig \
    --with-default-config-file=/etc/htdig/htdig.conf \
    --with-apache=/usr/sbin/httpd \
    --with-zlib=%{_prefix}

%make
mv htdoc/ChangeLog .


%install
rm -rf %{buildroot}

%makeinstall_std

mkdir -p %{buildroot}/etc/cron.daily
cp %{SOURCE1} %{buildroot}/etc/cron.daily/htdig-dbgen

cp %{buildroot}%{contentdir}/cgi-bin/htsearch %{buildroot}%{_bindir}

chmod 644 %{buildroot}%{contentdir}/html/htdig/*

# pb with current rpm and symlinks (4.0.3-0.8mdk)
ln -sf ./search.html %{buildroot}%{contentdir}/html/htdig/index.html
#cp  %{buildroot}%{contentdir}/html/htdig/search.html  %{buildroot}%{contentdir}/html/htdig/index.html

# now get rid of the %{buildroot} paths in the conf files
for i in /etc/htdig.conf /usr/bin/rundig ; do
    perl -pi -e "s|%{buildroot}||g" %{buildroot}/$i
done

mkdir -p %{buildroot}%{_datadir}
mv %{buildroot}%{contentdir}/html/htdig %{buildroot}%{_datadir}
ln -sf ../../../usr/share/htdig %{buildroot}%{contentdir}/html/htdig

#ln -sf ../../../../usr/share/doc/htdig-%{PACKAGE_VERSION} \
#	%{buildroot}/var/www/html/htdig/htdoc

%pre
egrep "^htdig:" /etc/group >/dev/null
if [ $? = 1 ]; then
		echo "adding htdig group"
		groupadd -r htdig
fi
egrep "^htdig:" /etc/passwd >/dev/null
if [ $? = 1 ]; then
		echo "adding htdig user"
		useradd -r -g htdig -s "" -d /var/lib/htdig htdig 
fi
egrep "^htdig:.*/var/lib/htdig:" /etc/passwd   >/dev/null
if [ $? = 1 ]; then
		echo "updating htdig homedir"
		perl -pi -e "s,^(htdig:.*:)[^:]+(:[^:]*)$,\1/var/lib/htdig\2," /etc/passwd
fi

%preun
# we're uninstalling
if [ $1 = 0 ]; then
		egrep "^htdig:" /etc/passwd >/dev/null
		if [ $? = 0 ]; then
			echo "removing htdig user"
			userdel htdig # userdel seems to nuke the group too..
		fi

		egrep "^htdig:" /etc/group >/dev/null
		if [ $? = 0 ]; then
			echo "removing htdig group"
			groupdel htdig
		fi
fi

%clean
rm -rf %{buildroot}

%post web
# Only run this if installing for the first time
if [ "$1" = 1 ]; then
	if [ -f /etc/httpd/conf/httpd.conf ];then
	SERVERNAME="`grep '^ServerName' /etc/httpd/conf/httpd.conf | awk 'NR == 1 {print $2}'`"
	fi
	[ -z "$SERVERNAME" ] && SERVERNAME="`hostname -f`"
	[ -z "$SERVERNAME" ] && SERVERNAME="localhost"
	sed 's/^start_url:.*/#&\
# (See end of file for this parameter.)/' /etc/htdig/htdig.conf > /tmp/ht.$$
	cat /tmp/ht.$$ > /etc/htdig/htdig.conf
	rm /tmp/ht.$$
	cat >> /etc/htdig/htdig.conf <<!

# Automatically set up by htdig RPM, from your current Apache httpd.conf...
# Verify and configure these, and set maintainer above, before running
# /usr/bin/rundig.
# See /usr/doc/htdig*/attrs.html for descriptions of attributes.

# The URL(s) where htdig will start.  See also limit_urls_to above.
start_url:	http://$SERVERNAME/

# This makes sure that we don't spider the web
local_urls_only: true

# These attributes allow indexing server via local filesystem rather than HTTP.
local_urls:	http://$SERVERNAME/=/var/www/html/
local_user_urls:	http://$SERVERNAME/=/home/,/public_html/
!

fi

%files devel
%defattr(-,root,root)
%doc ChangeLog
%doc htdoc/*
%{_libdir}/htdig/*.a
%{_libdir}/htdig/*.la
%{_libdir}/htdig/*[a-z].so
%{_libdir}/htdig_db/*.a
%{_libdir}/htdig_db/*.la
%{_libdir}/htdig_db/*[a-z].so
%{_includedir}/*

%files web
%defattr(-,root,root)
%config(missingok, noreplace) %attr(0755,root,root) /etc/cron.daily/htdig-dbgen
%{contentdir}/html/htdig
%{contentdir}/cgi-bin/*

%files
%defattr(-,root,root,0755)
%dir %{_sysconfdir}/htdig
%config(noreplace) %{_sysconfdir}/htdig/cookies.txt
%config(noreplace) %{_sysconfdir}/htdig/htdig.conf
%config(noreplace) %{_sysconfdir}/htdig/HtFileType-magic.mime
%config(noreplace) %{_sysconfdir}/htdig/mime.types
%{_bindir}/*
%dir %{_libdir}/htdig
%dir %{_libdir}/htdig_db
%{_libdir}/htdig/*3.2.0.so
%{_libdir}/htdig_db/*3.2.0.so
%dir %attr(-,htdig,htdig) /var/lib/htdig
#%dir %{_datadir}/htdig
%dir %attr(-,htdig,root) %{_datadir}/htdig
%{_datadir}/htdig/*
%{_mandir}/man1/*
%{_mandir}/man8/*


%changelog
* Tue Dec 23 2008 Oden Eriksson <oeriksson@mandriva.com> 3.2.0-2mdv2009.1
+ Revision: 318023
- rediffed one fuzzy patch
- use %%ldflags but not -Wl,--as-needed -Wl,--no-undefined due to really ugly autopoo

* Tue Mar 25 2008 Thierry Vignaud <tvignaud@mandriva.com> 3.2.0-1.12mdv2008.1
+ Revision: 190005
- move big docs into devel subpackage

* Fri Jan 11 2008 Thierry Vignaud <tvignaud@mandriva.com> 3.2.0-1.11mdv2008.1
+ Revision: 148487
- rebuild
- kill re-definition of %%buildroot on Pixel's request
- do not package big ChangeLog

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

* Wed Jul 18 2007 Oden Eriksson <oeriksson@mandriva.com> 3.2.0-0.11mdv2008.0
+ Revision: 53238
- bunzipped the patches
- added fixes by Shlomi Fish:
  - Upgraded to 3.2.0b6
  - Removed some outdated patches.
  - Added the fix-Collection-dot-h patch.
  - Changed the extra library to "htdig_db".
  - Now installing the man pages as well.

  + Funda Wang <fundawang@mandriva.org>
    - Import htdig





* Mon Nov 14 2005 Oden Eriksson <oeriksson@mandriva.com> 3.2.0-0.10mdk
- rebuilt against openssl-0.9.8a

* Tue Apr 05 2005 Nicolas Lécureuil <neoclust@mandrake.org> 3.2.0-0.9mdk
- P84: security fix for CAN-2005-0085 from updates

* Tue Jun 29 2004 Michael Scherer <misc@mandrake.org> 3.2.0-0.8mdk 
- rebuild for new gcc ( patch #83  )
- changes permissions of doc to please rpmlint

* Sat Apr 19 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.2.0-0.7mdk
- Patch82: Minor 64-bit fixes
- Enable zlib back, make it lib64 aware

* Wed Jan 15 2003 Lenny Cartier <lenny@mandrakesoft.com> 3.2.0-0.6mdk
- rebuild against new libopenssl

* Tue Oct 15 2002 Laurent MONTEL <lmontel@mandrakesoft.com> 3.2.0-0.5mdk
- add patch80 : fix compile with gcc-3.2
- Add patch81 : fix configure

* Wed Aug 29 2001 Pixel <pixel@mandrakesoft.com> 3.2.0-0.4mdk
- makes it own /etc/htdig

* Tue Jul 24 2001 Renaud Chaillat <rchaillat@mandrakesoft.com> 3.2.0-0.3mdk
- new snapshot
- removed troublesome compiler options

* Wed Jun 27 2001 Renaud Chaillat <rchaillat@mandrakesoft.com> 3.2.0-0.2mdk
- htdig needs write access to commondir when run as user htdig by the cron 
script (web package)

* Wed Jun 27 2001 Renaud Chaillat <rchaillat@mandrakesoft.com> 3.2.0-0.1mdk
- new version (3.2.0b3)
- updated filelist
- changed INSTALL_ROOT to DESTDIR
- changed configure options
- copy conf files from /usr/conf to /etc/htdig
- devel package (@!?%%&! non standard sonames)
- web package
- moved to bindir instead of sbindir
- a few patches (3-6)

* Mon Feb  5 2001 Chmouel Boudjnah <chmouel@mandrakesoft.com> 3.1.5-9mdk
- grep httpd.conf only if exist.

* Fri Dec 29 2000 Renaud Chaillat <rchaillat@mandrakesoft.com> 3.1.5-8mdk
- patch to avoid using htmerge when database is empty 
 (avoid error message being sent by cron job)
- added '-a' option to rundig in the cron script, to allow searching 
  while a new index is created (in separate *.work files)
- corrected doc link

* Fri Nov 17 2000 Lenny Cartier <lenny@mandrakesoft.com> 3.1.5-7mdk
- build for gcc-2.96

* Fri Sep 15 2000 Renaud Chaillat <rchaillat@mandrakesoft.com> 3.1.5-6mdk
- well, changed /var/www/httpd to /var/www ; don't know what I was 
  thinking...

* Thu Sep 14 2000 Renaud Chaillat <rchaillat@mandrakesoft.com> 3.1.5-5mdk
- added noreplace for cron daily job
- added accent patches

* Thu Sep 14 2000 Renaud Chaillat <rchaillat@mandrakesoft.com> 3.1.5-4mdk
- moved /home/httpd to /var/www/httpd
- copied htsearch to sbindir to allow users to search locally

* Wed Sep 06 2000 Lenny Cartier <lenny@mandrakesoft.com> 3.1.5-3mdk
- BM
- macros

* Wed Apr 12 2000 Chris Green <cmg@dok.org> 3.1.5-2mdk
- made htdig run as the htdig user
- added noreplace to config file
    
* Tue Apr 11 2000 Lenny Cartier <lenny@mandrakesoft.com> 3.1.5-1mdk
- used srpm provided by Vincent Danen <vdanen@linux-mandrake.com>

* Fri Mar 24 2000 Vincent Danen <vdanen@linux-mandrake.com>
- adapted spec file by Gilles Detillieux <grdetil@scrc.umanitoba.ca>
- 3.1.5
- bzip sources