blob: 4d8991ddee09bfa87155205136268d02c577b856 [file] [log] [blame]
# Copyright (C) 2015-2021 Google Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
licenses(["notice"])
genrule(
name = "debian_nginx_preinst",
srcs = [
"debian/nginx.preinst",
],
outs = [
"nginx.preinst",
],
cmd = "sed -e 's|#DEBHELPER#||g'" +
" < $(<) > $(@)",
)
filegroup(
name = "debian_preinst",
srcs = [
"nginx.preinst",
],
visibility = [
"//visibility:public",
],
)
genrule(
name = "debian_nginx_postinst",
srcs = [
"debian/nginx.postinst",
],
outs = [
"nginx.postinst",
],
cmd = "sed -e 's|#DEBHELPER#|" +
"if [ -x \"/etc/init.d/nginx\" ]; then\\n" +
"\\tupdate-rc.d nginx defaults >/dev/null \\|\\| exit $$?\\n" +
"fi\\n" +
"|g'" +
" < $(<) > $(@)",
)
filegroup(
name = "debian_postinst",
srcs = [
"nginx.postinst",
],
visibility = [
"//visibility:public",
],
)
genrule(
name = "debian_nginx_prerm",
srcs = [
"debian/nginx.prerm",
],
outs = [
"nginx.prerm",
],
cmd = "sed -e 's|#DEBHELPER#||g'" +
" < $(<) > $(@)",
)
filegroup(
name = "debian_prerm",
srcs = [
"nginx.prerm",
],
visibility = [
"//visibility:public",
],
)
genrule(
name = "debian_nginx_postrm",
srcs = [
"debian/nginx.postrm",
],
outs = [
"nginx.postrm",
],
cmd = "sed -e 's|#DEBHELPER#|" +
"if [ \"$$1\" = \"purge\" ] ; then\\n" +
"\\tupdate-rc.d nginx remove >/dev/null\\n" +
"fi\\n" +
"\\n" +
"if [ -d /run/systemd/system ] ; then\\n" +
"\\tsystemctl --system daemon-reload >/dev/null \\|\\| true\\n" +
"fi\\n" +
"|g'" +
" < $(<) > $(@)",
)
filegroup(
name = "debian_postrm",
srcs = [
"nginx.postrm",
],
visibility = [
"//visibility:public",
],
)
genrule(
name = "debian_etc_default_nginx",
srcs = [
"debian/nginx.default",
],
outs = [
"etc/default/nginx",
],
cmd = "cp -p $(<) $(@)",
)
genrule(
name = "debian_etc_init_d_nginx",
srcs = [
"debian/nginx.init.in",
],
outs = [
"etc/init.d/nginx",
],
cmd = "sed -e 's|%%PROVIDES%%|nginx|g'" +
" -e 's|%%DEFAULTSTART%%|2 3 4 5|g'" +
" -e 's|%%DEFAULTSTOP%%|0 1 6|g'" +
" < $(<) > $(@)",
)
genrule(
name = "debian_etc_logrotate_d_nginx",
srcs = [
"debian/nginx.logrotate",
],
outs = [
"etc/logrotate.d/nginx",
],
cmd = "cp -p $(<) $(@)",
)
genrule(
name = "debian_etc_nginx_conf_d_default_conf",
srcs = [
"debian/nginx.default.conf",
],
outs = [
"etc/nginx/conf.d/default.conf",
],
cmd = "cp -p $(<) $(@)",
)
genrule(
name = "debian_etc_nginx_nginx_conf",
srcs = [
"debian/nginx.conf",
],
outs = [
"etc/nginx/nginx.conf",
],
cmd = "cp -p $(<) $(@)",
)
genrule(
name = "debian_usr_share_man_man8_nginx_8",
srcs = [
"@nginx//:docs/man/nginx.8",
],
outs = [
"usr/share/man/man8/nginx.8",
],
cmd = "sed -e 's|%%PREFIX%%|/etc/nginx|g'" +
" -e 's|%%CONF_PATH%%|/etc/nginx/nginx.conf|g'" +
" -e 's|%%ERROR_LOG_PATH%%|/var/log/nginx/error.log|g'" +
" -e 's|%%PID_PATH%%|/var/run/nginx.pid|g'" +
" < $(<) > $(@)",
)
genrule(
name = "debian_var_cache_nginx",
outs = [
"var/cache/nginx/.empty",
],
cmd = "touch $(@)",
)
genrule(
name = "debian_var_log_nginx",
outs = [
"var/log/nginx/.empty",
],
cmd = "touch $(@)",
)
pkg_tar(
name = "debian_etc_nginx",
srcs = [
"@nginx//:config_includes",
],
mode = "0644",
package_dir = "/etc/nginx",
)
pkg_tar(
name = "debian_usr_share_nginx_html",
srcs = [
"@nginx//:html_files",
],
mode = "0644",
package_dir = "/usr/share/nginx/html",
)
pkg_tar(
name = "debian_var",
srcs = [
"var/cache/nginx/.empty",
"var/log/nginx/.empty",
],
mode = "0644",
strip_prefix = ".",
)
pkg_tar(
name = "debian_overlay",
srcs = [
"etc/default/nginx",
"etc/init.d/nginx",
"etc/logrotate.d/nginx",
"etc/nginx/conf.d/default.conf",
"etc/nginx/nginx.conf",
"usr/share/man/man8/nginx.8",
],
mode = "0644",
modes = {
"etc/init.d/nginx": "0755",
},
strip_prefix = ".",
visibility = [
"//visibility:public",
],
deps = [
":debian_etc_nginx",
":debian_usr_share_nginx_html",
":debian_var",
],
)