Package Details: elasticsearch 8.13.2-1

Git Clone URL: https://aur.archlinux.org/elasticsearch.git (read-only, click to copy)
Package Base: elasticsearch
Description: Free and Open, Distributed, RESTful Search Engine
Upstream URL: https://www.elastic.co/elasticsearch/
Licenses: custom:Elastic-2.0
Conflicts: elasticsearch-bin, elasticsearch7
Provides: elasticsearch
Submitter: hashworks
Maintainer: ipaqmaster
Last Packager: ipaqmaster
Votes: 8
Popularity: 0.188854
First Submitted: 2022-01-08 16:30 (UTC)
Last Updated: 2024-04-08 23:11 (UTC)

Dependencies (2)

Required by (18)

Sources (9)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 .. 13 Next › Last »

lewekleonek commented on 2023-08-06 08:54 (UTC) (edited on 2023-08-06 09:47 (UTC) by lewekleonek)

Version 8.9.0-5 build() goes okay. However package() fails in a few places; it appears that it is due to a changed directory structure in 8.9.

  1. (Line 52) rm -r "$pkgdir"/usr/share/elasticsearch/{jdk,logs} Both paths are not present
  2. Any line with <<$pkgdir"/usr/share/elasticsearch/>> requires appending /distribution/src

Following these changes the build went error-free and it can be installed, but the service fails on starting:

journalctl -xeu elasticsearch.service

log entry points to the following issue:

keystore)[143103]: elasticsearch.service: Failed to locate executable /usr/share/elasticsearch/bin/elasticsearch-keystore: No such file or directory

At this point I have rolled back to 8.8.1-1.

HLFH commented on 2023-08-03 09:30 (UTC) (edited on 2023-08-03 09:30 (UTC) by HLFH)

@ipaqmaster With the fifth maintenance release of this AUR package, I updated the build function,
and it is building from source, maybe you want to try if this current fifth release works for you, and we go from there.

ipaqmaster commented on 2023-08-03 09:11 (UTC)

Thanks. I think you're right - elasticsearch-bin already exists and this package was doing the same thing. We could use this one to build the source instead then

HLFH commented on 2023-08-03 06:42 (UTC) (edited on 2023-08-03 06:48 (UTC) by HLFH)

@ipaqmaster I added you as co-maintainer, feel free to update as you see fit.
To update sums, I use updpkgsums, so it is quite automatic.
My opinion is for elasticsearch, on GitHub, you only have the sources,
and on Elastic.co, you have the binaries (prebuilt deliverables) as well.
The source is by definition compatible with both aarch64 and x86_64.
Now changes have been made, I do advise to keep using the source and not the binaries,
as this package, if it uses the binaries, requires the -bin suffix in its name, and this name is taken on the AUR.

ipaqmaster commented on 2023-08-03 00:15 (UTC) (edited on 2023-08-03 00:19 (UTC) by ipaqmaster)

https://github.com/ipaqmaster/elasticsearch-aur/tree/autoUpdate

This branch on my github now contains the original 8.8.1 commit then a commit of the new ./autoUpdate which works against the original PKGBUILD. Plus a commit on top of its version bump.

I was able to makepkg the resulting 8.9.0 version bump from the above branch and start the elasticsearch service without any trouble. This change retains support for different architectures as the AUR package did originally.

I'm not sure how this AUR package gathered b2sums before this script. Did you grab both the x86_64 and aarch64 b2sums manually? I can imagine aarch64 will still fail with this change due to an unchanged b2sum.

ipaqmaster commented on 2023-08-02 23:09 (UTC)

I'd be happy to co-maintain this though I must apologise for assuming the tar.gz on the project's releases page were identical to the tar.gz on their downloads page. I had a workaround for this locally however even with that, the file strucutre is wildly different.

That said, it's not a source package and does contain the bins, but under different paths than the regular tarball download.

I think we should rollback to the original 8.8.1 release and change autoUpdate to still check github for a release number, but fetch that release number using the original artifacts.elasticsearch.co URL scheme this repo was using. That way, the rest of the PKGBUILD can remain as it were while still receiving version bumps.

HLFH commented on 2023-08-02 20:39 (UTC)

For the next maintainer, here are the systemd timer & service:

update-elasticsearch.timer:

[Unit]
Description=Run update-elasticsearch every day at midnight

[Timer]
OnCalendar=*-*-* 00:00:00
Unit=update-elasticsearch.service

[Install]
WantedBy=timers.target

update-elasticsearch.service:

[Unit]
Description=Update Elasticsearch Script

[Service]
ExecStart=/home/hlfh/elasticsearch/autoUpdate

HLFH commented on 2023-08-02 20:32 (UTC) (edited on 2023-08-02 20:44 (UTC) by HLFH)

I updated the package. Please tell me if that works for you and I'll update accordingly.

According to the AUR submission guidelines:

Packages that use prebuilt deliverables, when the sources are available, must use the -bin suffix. An exception to this is with Java.
The AUR should not contain the binary tarball created by makepkg, nor should it contain the filelist.

I must say after taking over the elasticsearch package in November 22, I quickly changed the PKGBUILD source from the source to the binary.
In fact, building the source was breaking my server resources and it was unbearable.
So the package name became noncompliant with the AUR submission guidelines (which I did not know at the time).

In addition to providing an autoupdate maintenance script (that needs to be further checked),
what @ipaqmaster did, was the switch back to using the source rather than the binary.
I updated the build() function accordingly in this third release of 8.9.0.
I was not able to test it thoroughly on my server, please do if you want.

I suggest people to migrate to elasticsearch-bin because it is far quicker to build.

I would prefer to request elasticsearch for deletion (!) as it is not very useful compared to elasticsearch-bin
but if you guys want to maintain this kinda elasticsearch-src package, be my guest, I'm not a Gentoo kind of guy ;)
I can start by adding a co-maintainer (@^^@). Any volunteer?
This person would have to run the autoupdate script or any equivalent for quicker maintenance.

ipaqmaster commented on 2023-08-02 09:45 (UTC) (edited on 2023-08-02 12:05 (UTC) by ipaqmaster)

Standby. I had a workaround for this locally but it seems I forgot to commit it.

Despite that - While github is a great way to programmatically fetch the latest version number I forgot to factor in the major directory structure differences between the github release and the artifacts.elasticsearch.co tar.gz. After doing so, things still aren't quite right.

E: Will need to change the scrip tomorrow

aurtechnosf commented on 2023-08-02 04:30 (UTC) (edited on 2023-08-02 04:37 (UTC) by aurtechnosf)

  • Pull the 8.8.1 PKGBUILD
  • makepkg with the skipchecksum (this pulls the latest 8.9.* ES into the 8.8.1 build)
  • In pkg, edit .BUILDINFO, .PKGINFO, .MTREE correcting the ES version
  • Repackage with makepkg:
    git checkout -f ffefe39e2a46b3afced23b6ff6d672a6c6d43ae1
    makepkg --skipchecksum
    nano .BUILDINFO, .PKGINFO, .MTREE etc
    makepkg -Rf
    

Possibly you could update the PKGBUILD with the new ES version... Try it :) But the above is how I came to a solution.