Package building scripts for official Debian and Redhat packages of Varnish Cache.
Find a file
Guillaume Quintard a28bede7b0 [rpm] don't depend on pcre1
we don't use it anymore, and we already depend on `pcre2`
2025-10-16 08:33:39 +02:00
alpine give some love to the hipster distros 2022-09-15 17:24:29 +00:00
arch give some love to the hipster distros 2022-09-15 17:24:29 +00:00
debian [debian] we don't need pcre3 2025-08-25 18:21:23 +02:00
redhat [rpm] don't depend on pcre1 2025-10-16 08:33:39 +02:00
sources Put the jenkins job definition into a script. 2015-06-08 14:16:34 +02:00
systemd fix to alphabetic order and add usage 2024-09-13 13:00:42 +02:00
sysv Keep a copy of the sysv files in the repo. 2018-03-05 15:40:59 +01:00
.gitignore Homogenize. 2015-11-20 16:15:29 -05:00
dl-source These days we release with an explicit SHA256 sum 2019-03-28 11:30:30 +01:00
JOBDEFS.rst Jenkins job definitions. 2017-11-03 12:10:07 +01:00
package-deb bashism oops 2020-03-24 15:58:38 +01:00
package-rpm [rpm] dist is already defined 2019-12-23 12:18:01 +00:00
README.rst Shy Debian update 2018-03-05 13:26:50 +01:00
upload-packages Add script for uploading packages easier. 2016-08-25 15:13:47 +02:00

Packaging files for Varnish Cache
=================================

This repository contains the necessary scripts to package up Varnish Cache.

How to build
------------

The flow is roughly:

1) Set up the build environment. On Redhat that is mock, on Debian/Ubuntu you
   need sbuild.
2) Put the Varnish Cache .tar.gz archive into sources/.
3) Run ./package-deb or ./package-rpm.


Branch structure
----------------

This repository will contain a master branch and zero or more
maintenance branches.

master should be used to build the last stable release _and_ the development
release, all the way up until development diverges enough that it isn't
useful/possible any more.

At that point, a maintenance branch should be branched off. These should be
deleted from git 12 months after the release is end of life. Before deletion,
a git archive of the branch should be extracted and made public.

If you can work around branching, do it. Rather have one slightly untidy
packaging ruleset, than two/three slightly different that needs to be kept in
sync.

Setting up the Build environment
--------------------------------

Debian/Ubuntu
`````````````
.. _sbuild: https://wiki.debian.org/sbuild
.. _schroot: https://wiki.debian.org/Schroot

	NOTICE: These instructions need improvements. Please send pull
	requests!

* install sbuild_, schroot_ and other required tools::

     sudo apt-get install sbuild schroot debootstrap devscripts

* use ``sbuild-createchroot`` to set up a standard chroot for building
  packages, see sbuild_

  set ``$REL`` to the release to be set up, ``$ARCH`` to the architecture::

     REL=jessie
     ARCH=amd64
     sudo sbuild-adduser $LOGNAME
     sudo sbuild-createchroot \
       --include=eatmydata,ccache,gnupg \
       ${REL} \
       /srv/chroot/${REL}-${ARCH}-sbuild \
       http://httpredir.debian.org/debian

  The ``package-deb`` script assumes a chroot environment by the name
  ``trusty-amd64``, so an alias needs to be added to the chroot we've
  just created::

     echo 'aliases=trusty-amd64' | \
       sudo tee -a /etc/schroot/chroot.d/${REL}-${ARCH}-sbuild-*

RedHat/CentOS
`````````````
.. _mock: https://github.com/rpm-software-management/mock/wiki

	NOTICE: These instructions need improvements. Please send pull
	requests!

* install sbuild_, schroot_ and other required tools::

     sudo apt-get install sbuild schroot debootstrap

* use ``sbuild-createchroot`` to set up a standard chroot for building
  packages, see sbuild_

  set ``$REL`` to the release to be set up, ``$ARCH`` to the architecture::

     REL=jessie
     ARCH=amd64
     sudo sbuild-adduser $LOGNAME
     sudo sbuild-createchroot \
       --include=eatmydata,ccache,gnupg \
       ${REL} \
       /srv/chroot/${REL}-${ARCH}-sbuild \
       http://httpredir.debian.org/debian

  The ``package-deb`` script assumes a chroot environment by the name
  ``trusty-amd64``, so an alias needs to be added to the chroot we've
  just created::

     echo 'aliases=trusty-amd64' | \
       sudo tee -a /etc/schroot/chroot.d/${REL}-${ARCH}-sbuild-*

Contact
-------

You can reach the developers and packagers using this email list:
<varnish-dev@varnish-cache.org>