English

# HELP packaging web search engine YaCy (Java-based) for Fedora/CentOS/RHEL (noob)

Hello,

Despite being a total noob in programming, I am seeking to produce a RPM package of YaCy ( http://yacy.net ) for Fedora/CentOS/RHEL .

YaCy is a distributed (P2P) web search engine (potential Google competitor!), so its existence on Red Hat-based systems would be MOST interesting for the community. :) The growth of the global YaCy search network depends on the package's capability to run and upgrade flawlessly on Fedora/CentOS/RHEL systems, as well as on Debian-based systems.

YaCy is Java-based. The most current tarball of YaCy is available at http://yacy.net/ and a Debian package is currently mainained at http://debian.yacy.net/binary/ .

The main dependency of YaCy seems to be the openjdk-7-jre-headless JRE package.

Now, I've tried to convert the already-existent Debian package (.deb) to RPM, but the conversion seems less-than-perfect, because of the actual places in the filesystem where the Java files are put (which seems to conflict with the Fedora's way of distributing files around).

I also tried to write a spec file from scratch, to produce a RPM directly from the pristine tarball, but, given my inexperience, I don't know how to bypass some peculiarities in the naming scheme, that leads to my automatic builds attempts to crash (the tarball for Source0 is called yacy_v1.92_20161226_9000.tar.gz, that don't easily convert to Ferdora's yacy-<version>-<release>.noarch.rpm scheme).

Is there a more experienced packager/developer willing to help, please? Thanks!

Best regards, Răzvan

edit retag close merge delete

you do know java is going away in the near future, firefox is not supporting it, and java script is being routinely blocked at websites for security reasons.

( 2017-06-16 12:46:14 +0000 )edit
1

Java as a browser plug-in has been pretty much irrelevant for quite a while now. Java itself is very much alive on server side for implement web services. Java and javascript, by the way, are unrelated products.

( 2017-06-16 13:49:15 +0000 )edit

Sort by » oldest newest most voted

IMHO, there are two problems with YaCy's original tar.gz archive, as it is published now:

• it contains Java sources, docs and scripts (also for Windows???), as well as binaries (JARs). As far as I know, Fedora's automatic build system (packaging system) will accept only source code, code that will compile directly form the pristine tar.gz (Source0). No precompiled binaries are allowed inside the input archive.

the nonstandard naming of the original tar.gz archive, using underscores instead of dashes and a more complicated versioning scheme, with snapshot numbers and SVN tags. This will complicate the SPEC file that must be written in order to produce the source RPM.

Best regards, Răzvan

more

The package contains a build script to build an rpm package. However, it turns out to be very buggy, I.e. it doesn't work. So I would tend to not bother with the rpm and then just unpack the tar.gz file and run the start script.

For the brave:

tar xf yacy_v1.92_20161226_9000.tar.gz
cd yacy
ant rpm

As I said. This is only for the brave and very experienced java programmers.

Otherwise

tar xf yacy_v1.92_20161226_9000.tar.gz
cd yacy
./startYACY.sh

No guarantee this works.

more

Thank you! Of course the second method is recommended. However, what I'm trying to achieve is not only to run YaCy from the source tarball (I already did that). But to produce a fully functional RPM package that can be integrated in Fedora & EPEL. This presents the advantage of being automatically upgraded, kept in sync with the system. And also expanding the global YaCy search network without hassle, which is the final goal. A good RPM packag in official Fedora repos would bring a dramatic increase the speed and quality of the search, in the benefit of the general public.

( 2017-06-16 17:37:40 +0000 )edit

In that case I suggest you get in contact with the people behind YaCy

( 2017-06-16 20:01:42 +0000 )edit

@villykruse I AM in contact with them, but they say they lack the experience for Fedora/RedHat packaging. That's exactly why I've wrote here: to seek for help in these Fedora matters.

( 2017-06-17 17:16:35 +0000 )edit

A few more technical info for the eventually interested developers:

The „pristine source” archive of the latest YaCy (currently v1.92201612269000) is here:

http://yacy.net/release/yacyv1.9220161226_9000.tar.gz

By analyzing the existing Debian package, files are unzipped in:

/usr/share/java/yacy (most JARs) /var/lib/yacy (database collected from the web) /etc/init.d/ (YaCy service start/stop)

Best regards, Răzvan

more

The sources are also located on github

( 2017-06-17 02:42:28 +0000 )edit

[hide preview]