Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libvmod-selector
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
libvmod-selector
Commits
716f34a5
Commit
716f34a5
authored
Jul 10, 2018
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add RPM packaging.
parent
19be6810
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
159 additions
and
0 deletions
+159
-0
pkg
pkg/rpm/pkg
+61
-0
varnishcache_varnish60.repo
pkg/rpm/varnishcache_varnish60.repo
+21
-0
vmod-selector.spec
pkg/rpm/vmod-selector.spec
+77
-0
No files found.
pkg/rpm/pkg
0 → 100755
View file @
716f34a5
#! /bin/bash -ex
# Build script for a VMOD selector el7 RPM
# to be run in the rpmbuild/centos7 docker container.
# Env variables VERSION and RELEASE MUST be set in the docker invocation.
# DIST is set by the rpmbuild/centos7 container.
# The directory mounted to /srv MUST contain these files:
# - this script (named pkg)
# - VMOD selector tarball (vmod-selector-$VERSION.tar.gz)
# - RPM spec file (vmod-selector.spec)
# - yum repo config for varnish60@packagecloud (varnishcache_varnish60.repo)
# (see https://packagecloud.io/varnishcache/varnish60/install#manual-rpm)
# Sample docker invocation:
# $ docker run -t -v $PWD:/srv -e VERSION=47.1.1 -e RELEASE=815 \
# rpmbuild/centos7 /srv/pkg
# At the end of the run, binary, source and debuginfo RPMs are in the
# directory mounted to /srv.
if
[
-z
$VERSION
]
;
then
echo
"Env variable VERSION MUST be set"
exit
1
fi
if
[
-z
$RELEASE
]
;
then
echo
"Env variable RELEASE MUST be set"
exit
1
fi
# delete the peculiar macros from the rpmbuild/centos7 image
rm
/home/builder/.rpmmacros
# set up the build environment
cd
/home/builder
mkdir
-p
rpmbuild/
{
BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS
}
cp
/srv/vmod-selector.spec rpmbuild/SPECS
cp
/srv/vmod-selector-
${
VERSION
}
.tar.gz rpmbuild/SOURCES
# install epel7 repo
sudo
yum
install
-y
-q
\
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# set up varnish repo
sudo cp
/srv/varnishcache_varnish60.repo /etc/yum.repos.d/
sudo
yum
-q
makecache
-y
--disablerepo
=
'*'
--enablerepo
=
'varnishcache_varnish60'
# build requirements
sudo
yum
install
-y
-q
varnish-devel pkgconfig make gcc python-docutils
# build RPMs
rpmbuild
-ba
-D
"dist .
${
DIST
}
"
\
-D
"_version
${
VERSION
}
"
\
-D
"_release
${
RELEASE
}
"
\
rpmbuild/SPECS/vmod-selector.spec
sudo cp
rpmbuild/RPMS/
*
/
*
/srv
sudo cp
rpmbuild/SRPMS/
*
/srv
pkg/rpm/varnishcache_varnish60.repo
0 → 100644
View file @
716f34a5
[varnishcache_varnish60]
name=varnishcache_varnish60
baseurl=https://packagecloud.io/varnishcache/varnish60/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish60/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[varnishcache_varnish60-source]
name=varnishcache_varnish60-source
baseurl=https://packagecloud.io/varnishcache/varnish60/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish60/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg/rpm/vmod-selector.spec
0 → 100644
View file @
716f34a5
# -D MUST pass in _version and _release, and SHOULD pass in dist.
Summary: Varnish VMOD for matching strings associated with backends, regexen and other strings
Name: vmod-selector
Version: %{_version}
Release: %{_release}%{?dist}
License: BSD
Group: System Environment/Daemons
URL: https://code.uplex.de/uplex-varnish/libvmod-selector
Source0: %{name}-%{version}.tar.gz
# varnish from varnish60 at packagecloud
Requires: varnishd(vrt)%{?_isa} >= 7.0
Requires: varnishd(vrt)%{?_isa} < 8
BuildRequires: varnish-devel >= 6.0.0
BuildRequires: pkgconfig
BuildRequires: make
BuildRequires: gcc
BuildRequires: python-docutils >= 0.6
# git builds
#BuildRequires: automake
#BuildRequires: autoconf
#BuildRequires: autoconf-archive
#BuildRequires: libtool
#BuildRequires: python-docutils >= 0.6
Provides: vmod-selector, vmod-selector-debuginfo
%description
Varnish Module for matching fixed strings and prefixes, and
associating the matched string with backends, regular expressions and
other strings.
%prep
%setup -q -n %{name}-%{version}
%build
# if this were a git build
# ./autogen.sh
%configure
make -j
%check
make -j check
%install
make install DESTDIR=%{buildroot}
# Only use the version-specific docdir created by %doc below
rm -rf %{buildroot}%{_docdir}
# None of these for fedora/epel
find %{buildroot}/%{_libdir}/ -name '*.la' -exec rm -f {} ';'
find %{buildroot}/%{_libdir}/ -name '*.a' -exec rm -f {} ';'
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_libdir}/varnish*/vmods/
%{_mandir}/man3/*.3*
%doc README.rst COPYING LICENSE
%post
/sbin/ldconfig
%changelog
* Tue Jul 10 2018 Geoff Simmons <geoff@uplex.de> - %{_version}-%{_release}
Initial package version for compatibility with Varnish 6.0.0.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment