Ask Your Question

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

asked 2017-06-16 07:26:16 +0000

rsandu gravatar image

updated 2017-06-16 12:24:14 +0000


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 flag offensive 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.

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

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.

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

3 answers

Sort by » oldest newest most voted

answered 2017-06-19 19:35:05 +0000

rsandu gravatar image

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

edit flag offensive delete link more

answered 2017-06-16 15:22:53 +0000

villykruse gravatar image

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.


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

No guarantee this works.

edit flag offensive delete link 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.

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

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

villykruse ( 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.

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

answered 2017-06-16 12:19:39 +0000

rsandu gravatar image

updated 2017-06-16 12:21:24 +0000

A few more technical info for the eventually interested developers:

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


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

edit flag offensive delete link more


The sources are also located on github

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

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Use your votes!

  • Use the 30 daily voting points that you get!
  • Up-vote well framed questions that provide enough information to enable people provide answers.
  • Thank your helpers by up-voting their comments and answers. If a question you asked has been answered, accept the best answer by clicking on the checkbox on the left side of the answer.
  • Down-voting might cost you karma, but you should consider doing so for incorrect or clearly detrimental questions and answers.

Question Tools

1 follower


Asked: 2017-06-16 07:26:16 +0000

Seen: 109 times

Last updated: Jun 19