# Instructions for building zlib UPS products ## Setting up building environment * You need to be on a SL7 machine or docker container (e.g. `dingpf/sl7:latest`); * Have access to `cvmfs`; * create a local working directory, e.g. `$PWD/products`; * Use the following command to start the docker container: ``` docker run --rm -it -v /cvmfs:/cvmfs -v $PWD/products:/products dingpf/sl7``` * Once inside the container, add the path to your working directory to the `$PRODUCTS` env with `export PRODUCTS=/products:$PRODUCTS`; * Setup UPS products area which provides `gcc`, e.g. `source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh ` ## Steps to make a newer zlib version * Download an existing zlib source package with the build script in it ([here](https://home.fnal.gov/~dingpf/zlib_source_v1_2_11.tar.gz) is the one for v1.2.11); * unwind the source package tarball to `/products`; * replace the zlib tarball under `/products/zlib/v1_2_11/tar/ ` with a newer version from zlib's official website; * modify `/products/zlib/v1_2_11/build_zlib.sh` with the new zlib version number; * change the directory name `/products/zlib/v1_2_11` with new version number; * change to `/products/zlib/$NEW_ZLIB_VERSION`, and run `./build_zlib.sh /products <e14|e17|e19> [tar]`; * the `tar` option will create a tarball for the built product which you can unwind into any UPS products area.