%define releasedate 20140612 %define relnumber 9092 Summary: P2P search engine, web-crawler and proxy License: GPL-2.0 Group: Productivity/Networking/Web/Utilities Name: yacy Version: 1.73 Release: %{relnumber}.%mkrel 1 Source: yacy_v%{version}_%{releasedate}_%{relnumber}.tar.gz Source1: yacy Url: http://latest.yacy.de/yacy_v%{version}_%{releasedate}_%{relnumber}.tar.gz Requires(pre): rpm-helper Requires: wget Requires: java-1.7.0-openjdk BuildRequires: ant BuildRequires: ant-apache-regexp BuildRequires: ant-nodeps BuildRequires: fdupes BuildRequires: m4 BuildRequires: geronimo-jaf-1_1-api BuildRequires: java-1.7.0-openjdk-devel BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description YaCy is a Java-based peer-2-peer search engine. It provides a personal websearch engine, which is free and decentral. The search index is distributed over a peer2peer network. It contains a crawler, an indexer and its own database engine. In robinson-modus, yacy can be used for a topic-oriented search portal or to index an intranet. Also included in YaCy is a Wiki, a P2P-message-system, a Blog and a bookmark management system. %prep %setup -q -n yacy sed -i 's/\r//' readme.txt # Fix FSF address sed -i 's/59 Temple Place, Suite 330, Boston, MA 02111-1307 USA/51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA/' COPYRIGHT pushd htroot JFILES=$(find . -name '*.java' -print) for file in $JFILES ; do sed -i 's/59 Temple Place, Suite 330, Boston, MA 02111-1307 USA/51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA/' $file done popd %build ant clean all mkdir -p %{buildroot}/etc/init.d/ %install %ant installonlinux -DDESTDIR=%{buildroot} mkdir -p %{buildroot}/usr/share/java/yacy/ cp lib/*.jar %{buildroot}/usr/share/java/yacy/ install -d ${RPM_BUILD_ROOT}/etc/init.d/ cp -v %{SOURCE1} ${RPM_BUILD_ROOT}/etc/init.d/yacy chmod 755 ${RPM_BUILD_ROOT}/etc/init.d/yacy rm -rf %{buildroot}/usr/share/yacy/bin %{__install} -d -m 0755 %{buildroot}%{_sbindir} %{__ln_s} -f %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name} %fdupes -s %{buildroot}/ %pre # check whether group 'yacy' already exists, if not it will be created if ! getent group yacy >> /dev/null; then echo "adding group yacy" groupadd -r yacy fi # check whether user 'yacy' already exists, if not it will be created if ! getent passwd yacy > /dev/null; then echo "adding user yacy" useradd yacy -r -g yacy -d /usr/share/yacy fi %post chown yacy -R /var/lib/yacy /sbin/chkconfig --add yacy /sbin/chkconfig --level 35 yacy on %preun if [ $1 = 0 ] ; then /sbin/service yacy stop >/dev/null 2>&1 /sbin/chkconfig --del yacy fi %postun if [ "$1" -ge "1" ] ; then /sbin/service yacy restart >/dev/null 2>&1 || : fi if [ `getent passwd yacy` ]; then userdel yacy &> /dev/null; fi %clean rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %dir /var/lib/yacy/ %ghost %config %dir /var/lib/yacy/SETTINGS %config %attr (755,root,root) /etc/init.d/yacy /usr/share/java/yacy /usr/share/yacy/defaults /usr/share/yacy/htroot /usr/share/yacy/langstats/ /usr/share/yacy/locales #/usr/share/yacy/ranking /usr/share/yacy/skins /usr/share/yacy/yacy.badwords.example #/usr/share/yacy/yacy.logging /usr/share/yacy/yacy.stopwords /usr/share/yacy/yacy.yellow %dir /usr/share/yacy # soft links /etc/yacy /var/log/yacy /usr/share/yacy/DATA %doc /usr/share/doc/yacy %{_sbindir}/rc%{name} %changelog