varnishcache / pkg-varnish-cache

Package building scripts for official Debian and Redhat packages of Varnish Cache.
21 stars 30 forks source link

How to install on Red Hat / CentOS 8? #142

Closed geerlingguy closed 3 years ago

geerlingguy commented 3 years ago

I can add the packagecloud repository on CentOS 8, but there are two things that seem to fail:

  1. There is no pygpgme package available in EPEL or the normal CentOS 8 repos, so I have to skip that.
  2. When I yum install varnish it uses the version in the CentOS 8 @AppStream which is currently 6.0.2-1.module_el8.0.0+19+b2cdb875.

Is there any official way to get this installed correctly on CentOS 8?

geerlingguy commented 3 years ago

It looks like for #1 at least, the answer is 'don't install pygpgme on centos 8' in the setup script. For #2 I'm not seeing an easy way to do this.

If I try disabling AppStream, it results in no match for the 'varnish' package:

# dnf install --disablerepo=AppStream --enablerepo=varnishcache_varnish64 varnish 
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:03:31 ago on Mon Jul  6 17:26:46 2020.
All matches were filtered out by modular filtering for argument: varnish
Error: Unable to find a match: varnish
geerlingguy commented 3 years ago

And to confirm, I can reproduce this on a clean CentOS 8 environment with:

$ curl -s https://packagecloud.io/install/repositories/varnishcache/varnish64/script.rpm.sh | sudo bash
$ sudo yum install varnish

It installs 6.0.2 from the AppStream.

It seems like I'm getting farther now on a clean install disabling the AppStream repo:

# yum install --disablerepo=AppStream varnish
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:01:01 ago on Mon Jul  6 17:31:40 2020.
Error: 
 Problem: conflicting requests
  - nothing provides gcc needed by varnish-6.4.0-1.el8.x86_64
  - nothing provides redhat-rpm-config needed by varnish-6.4.0-1.el8.x86_64
dridi commented 3 years ago

See https://varnish-cache.org/docs/6.4/installation/install_redhat.html

dnf module disable varnish
geerlingguy commented 3 years ago

@Dridi - I did that, and now I'm still getting:

 Problem: conflicting requests
  - nothing provides gcc needed by varnish-6.4.0-1.el8.x86_64
  - nothing provides redhat-rpm-config needed by varnish-6.4.0-1.el8.x86_64
geerlingguy commented 3 years ago

Ah... so yum install gcc redhat-rpm-config made the varnish install work with --disablerepo=AppStream, but they are coming out of AppStream which is why dnf module disable varnish will work.

(Short summary: AppStreams make my head hurt.)

geerlingguy commented 3 years ago

Retesting this in my downstream role, and will close once I can confirm it's working in a fresh environment.

dridi commented 3 years ago

Indeed, the move from el7's yum to el8's dnf is a major step, and the fact that Red Hat is now packaging Varnish as a module makes things both easier out of the box and harder for third party repositories.

Next time, please reach out to a different support channel like the misc mailing list before opening a github issue:

https://varnish-cache.org/support/

I will leave the ticket open since you are planning to close it unless something goes wrong.

geerlingguy commented 3 years ago

@Dridi - Thanks, I didn't even think about the IRC channel. I'll try to ask there in the future. I think the main problem was I was looking at the 6.0 release originally which didn't even have an el8 rpm.

dridi commented 3 years ago

Yeah, the 6.0 series predates el8 but I'm sure that eventually it will grow el8 support.