manticoresoftware / manticoresearch

Easy to use open source fast database for search | Good alternative to Elasticsearch now | Drop-in replacement for E in the ELK soon
https://manticoresearch.com
GNU General Public License v3.0
8.97k stars 498 forks source link

Add support for Ubuntu Noble 24.04 #2091

Open sanikolaev opened 5 months ago

sanikolaev commented 5 months ago

Proposal:

Ubuntu Noble 24.04 is out. We need to add support for it:

UPDATE

We've decided to just map it to Ubuntu Jammy, so the above is not actual. See https://github.com/manticoresoftware/manticoresearch/issues/2091#issuecomment-2097454522

Checklist:

To be completed by the assignee. Check off tasks that have been completed or are not applicable.

- [x] Task estimated - [x] Specification created, reviewed and approved - [x] Implementation completed - [x] Tests developed - [x] Documentation updated - [x] Documentation proofread - [x] Changelog updated - [x] OpenAPI YAML updated and issue created to rebuild clients
sanikolaev commented 5 months ago

@klirichek the next step is these 2 sub-tasks:

sanikolaev commented 5 months ago

@djklim87 at first glance it looks like it would be enough to just map Noble to Jammy in manticore-dev-repo.noarch.deb. So here's the new plan:

djklim87 commented 5 months ago

All fine, but you should install libmysqlclient21 and libpq5 for indexer

sanikolaev commented 5 months ago

@PavelShilin89 reassigning to you to make sure the new OS is covered with tests.

Can't find this test:

➜  workflows git:(master) grep -i jammy -r *|grep clt
clt_nightly.yml:          - name: Jammy release installation
clt_nightly.yml:            image: ubuntu:jammy
clt_nightly.yml:          - name: Jammy upgrade to dev
clt_nightly.yml:            image: ubuntu:jammy

for Noble:

/Users/sn/manticore_github/.github/workflows
➜  workflows git:(master) grep -i noble -r *
➜  workflows git:(master)
sanikolaev commented 5 months ago

I also see this in Noble running in docker on Mac M1:

MySQL [(none)]> create table t(f text);
ERROR 1064 (42000): error adding table 't': can't create directory: /var/lib/manticore/t
sanikolaev commented 5 months ago

I also see this in Noble running in docker on Mac M1:

Nevermind. Seems to be not a Manticore's problem:

root@d73aa4f25bbb:/# sudo -u manticore mkdir /var/lib/manticore/t
mkdir: cannot create directory '/var/lib/manticore/t': No space left on device
PavelShilin89 commented 5 months ago

Done in https://github.com/manticoresoftware/manticoresearch/pull/2147

sanikolaev commented 5 months ago

If all is ok - announce Ubuntu Noble support in the changelog

Done.

Closing the issue as done.

marclaporte commented 1 month ago

Closing the issue as done.

Still missing here:

sanikolaev commented 1 month ago

Thanks @marclaporte

manual.manticoresearch.com/Installation/Debian_and_Ubuntu#Installing-Manticore-in-Debian-or-Ubuntu

Fixed here https://github.com/manticoresoftware/manticoresearch/commit/c16cb0aa7854647f7c680956058a4e7d723e36c2

repo.manticoresearch.com/repository

Doesn't require fixing since the Noble packages are identical to Jammy's. The official installation instructions take that into account and use the Jammy packages when installing on Noble.

iliajie commented 3 weeks ago

Thanks @marclaporte

manual.manticoresearch.com/Installation/Debian_and_Ubuntu#Installing-Manticore-in-Debian-or-Ubuntu

Fixed here c16cb0a

repo.manticoresearch.com/repository

Doesn't require fixing since the Noble packages are identical to Jammy's. The official installation instructions take that into account and use the Jammy packages when installing on Noble.

Well, it's actually required! Even though the packages are the same, the repos in our automated install are configured to rely on the actual Ubuntu code name, so we end up with a repo file that looks like this:

deb http://repo.manticoresearch.com/repository/manticoresearch_noble noble main

However, it doesn't exist on your servers and things break for us.

Could you please fix it?

marclaporte commented 2 weeks ago

Just to provide some context:

Manticore is an optional component of WikiSuite: https://wikisuite.org/Manticore-Search

We make it easy to install Manticore: sudo apt-get install wikisuite-manticore

We use https://gitlab.com/Orange-OpenSource/gitlab-buildpkg-tools to automatically build all the packages at https://packages.wikisuite.org/ for various distros and versions. As @iliajie explains, our system expects the repos to follow the usual pattern. And other systems may expect the same.

Related code: https://gitlab.com/wikisuite/wikisuite-packages/-/tree/main/wikisuite-manticore/

Thank you!

sanikolaev commented 2 weeks ago

deb http://repo.manticoresearch.com/repository/manticoresearch_noble noble main However, it doesn't exist on your servers and things break for us.

@djklim87 let's add a redirect for this.

djklim87 commented 1 week ago

I added redirects for

/repository/manticoresearch_noble/
/repository/manticoresearch_noble/dists/noble/
/repository/manticoresearch_noble_dev/
/repository/manticoresearch_noble_dev/dists/noble/

To according folders in jammy repo.

marclaporte commented 1 week ago

I don't see yet: http://repo.manticoresearch.com/repository/

sanikolaev commented 1 week ago

I don't see yet: http://repo.manticoresearch.com/repository/

This is because the "noble" packages are just redirecting to the "jammy" ones. Earlier, @iliajie mentioned:

so we end up with a repo file that looks like this deb http://repo.manticoresearch.com/repository/manticoresearch_noble noble main

It seems to be working now:

root@c6ab46a55c3e:~# cat /etc/apt/sources.list.d/manticoresearch.list
deb http://repo.manticoresearch.com/repository/manticoresearch_noble noble main

root@c6ab46a55c3e:~# apt update
Get:1 http://repo.manticoresearch.com/repository/manticoresearch_noble noble InRelease [113 kB]
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Get:6 http://repo.manticoresearch.com/repository/manticoresearch_noble noble/main amd64 Packages [131 kB]
Fetched 244 kB in 0s (518 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
85 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: Conflicting distribution: http://repo.manticoresearch.com/repository/manticoresearch_noble noble InRelease (expected noble but got jammy)

root@c6ab46a55c3e:~# apt install manticore manticore-extra
...

root@c6ab46a55c3e:~# searchd -v
Manticore 6.3.6 593045790@24080214 (columnar 2.3.0 88a01c3@24052206) (secondary 2.3.0 88a01c3@24052206) (knn 2.3.0 88a01c3@24052206)

This should fix your issue.

However, we still see the warning: "W: Conflicting distribution: http://repo.manticoresearch.com/repository/manticoresearch_noble noble InRelease (expected noble but got jammy)"

@djklim87, can you think of a way to avoid this?

djklim87 commented 1 week ago

I didn't find any way to avoid this warning. However, it's just a warning and it doesn't prevent package installation. So until we create separate repo for Noble packages this can be a workaround