varnish / varnish-modules

Collection of Varnish Cache modules (vmods) by Varnish Software
Other
182 stars 86 forks source link

RPM Spec file #179

Closed pingram3030 closed 3 years ago

pingram3030 commented 3 years ago

Hello,

For my own uses I'm building an rpm spec file for use on CentOS 7 and had the idea to contribute my efforts.

  1. Would a submission for a distro specific package be accepted?
  2. Where would be the best place for it?

It's not quite the behemoth which is the official varnish.spec, but seems to work on my machine..

Ta,

Phil

gquintard commented 3 years ago

hi!

Thanks for reaching out. So, quick answer is that we can look at creating a pkg-varnish-modules github repository to hold the packaging data, and you could contribute there.

BUT! It looks like you are recreating work that is already done officially: https://src.fedoraproject.org/rpms/varnish-modules/blob/rawhide/f/varnish-modules.spec Maybe you can offer those upstream?

pingram3030 commented 3 years ago

Ooo, nice find, but looking at source URL, the issues for that repo seem like there is a bit of a maintenance problem. I can't speak for Fedora, but my guess is they'd rather use an official upstream repo. The difficult part is maintaining modules for multiple varnish-cache versions, which it doesn't appear that nigoroll's repo does.

As I'm a 6.0-lts user, and am using CentOS 7 to boot, I think for now it will be easier to use this spec file and just update the version as new ones are released.

Name:     varnish-modules
Version:  0.15.1
Release:  1%{?dist}
Summary:  Collection of Varnish Cache modules (vmods) by Varnish Software

Group:    System Environment/Daemons
License:  BSD
URL:      https://github.com/varnish/varnish-modules
Source0:  %{url}/archive/%{version}.tar.gz

BuildRequires:  gcc
BuildRequires:  make
BuildRequires:  pkgconfig
BuildRequires:  varnish-devel

Requires: varnish

%description
Official modules for the Varnish Cache service.

%prep
%setup -q

%build
./bootstrap
./configure
make %{?_smp_mflags}

%check
make check

%install
make install DESTDIR=%{buildroot}

%files
%{_libdir}/varnish/vmods/libvmod_*
%{_mandir}/*

%doc
%{_docdir}/varnish-modules/*

%changelog

* Fri Feb 26 2021 Phil Ingram <pingram at gmail dot com> - 0.15.1-1
- Initial spec file
ingvarha commented 3 years ago

My two cents:

ingvarha commented 3 years ago

Building varnish with varnish-modules from the fedora stream-6.0 branches is easy on any Fedora or CentOS system with sudo access, epel repo enabled and working mock setup. Here's an example on CentOS7:

Requirements:

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install git mock fedpkg
sudo usermod -a -G mock "`whoami`"
# (may have to log out and in again)

Build varnish-6.0.x from stream-6.0

git clone https://src.fedoraproject.org/rpms/varnish.git
cd varnish
git checkout stream-6.0
fedpkg --release=el7 mockbuild
ls results_varnish/*/*

Set up an epel7 mock root with the varnish-6.0.x you just built, and build varnish-modules from stream-6.0

mock -r epel-7-x86_64 install results_varnish/*/*/*.x86_64.rpm
cd ..
git clone https://src.fedoraproject.org/rpms/varnish-modules.git
cd varnish-modules
git checkout stream-6.0
fedpkg --release=el7 srpm
mock -r epel-7-x86_64 --no-clean rebuild varnish-modules*.src.rpm
ls /var/lib/mock/epel-7-x86_64/result
ingvarha commented 3 years ago

Also, using this build method works without problems with Varnish Software's varnish-6.0.x LTS rpms if you prefer these over a Fedora based build. They may be downloaded by adding the packagecloud.io repo and using yumdownloader (from yum-utils package).

Ingvar

gquintard commented 3 years ago

timint this out