| licenses(["notice"])  # Apache 2.0 | 
 |  | 
 | filegroup( | 
 |     name = "srcs", | 
 |     srcs = glob(["**"]), | 
 |     visibility = ["//tools:__pkg__"], | 
 | ) | 
 |  | 
 | exports_files( | 
 |     ["README.md"], | 
 |     visibility = ["//site:__pkg__"], | 
 | ) | 
 |  | 
 | # Used by pkg_deb | 
 | py_library( | 
 |     name = "archive", | 
 |     srcs = ["archive.py"], | 
 |     srcs_version = "PY2AND3", | 
 |     visibility = ["//visibility:public"], | 
 | ) | 
 |  | 
 | filegroup( | 
 |     name = "archive_testdata", | 
 |     srcs = glob(["testdata/**"]), | 
 | ) | 
 |  | 
 | py_test( | 
 |     name = "archive_test", | 
 |     srcs = [ | 
 |         "archive_test.py", | 
 |         "testenv.py", | 
 |     ], | 
 |     data = [":archive_testdata"], | 
 |     srcs_version = "PY2AND3", | 
 |     # archive.py requires xzcat, which is not available by default on Mac | 
 |     tags = ["noci"], | 
 |     deps = [":archive"], | 
 | ) | 
 |  | 
 | py_test( | 
 |     name = "path_test", | 
 |     srcs = ["path_test.py"], | 
 |     data = ["path.bzl"], | 
 |     srcs_version = "PY2AND3", | 
 | ) | 
 |  | 
 | py_binary( | 
 |     name = "build_tar", | 
 |     srcs = ["build_tar.py"], | 
 |     srcs_version = "PY2AND3", | 
 |     visibility = ["//visibility:public"], | 
 |     deps = [ | 
 |         ":archive", | 
 |         "//third_party/py/gflags", | 
 |     ], | 
 | ) | 
 |  | 
 | py_binary( | 
 |     name = "make_deb", | 
 |     srcs = ["make_deb.py"], | 
 |     srcs_version = "PY2AND3", | 
 |     visibility = ["//visibility:public"], | 
 |     deps = [ | 
 |         ":archive", | 
 |         "//third_party/py/gflags", | 
 |     ], | 
 | ) | 
 |  | 
 | # Used by pkg_rpm in rpm.bzl. | 
 | py_binary( | 
 |     name = "make_rpm", | 
 |     srcs = ["make_rpm.py"], | 
 |     visibility = ["//visibility:public"], | 
 |     deps = [ | 
 |         "//third_party/py/gflags", | 
 |     ], | 
 | ) | 
 |  | 
 | py_test( | 
 |     name = "make_rpm_test", | 
 |     srcs = ["make_rpm_test.py"], | 
 |     deps = [ | 
 |         ":make_rpm", | 
 |     ], | 
 | ) | 
 |  | 
 | # tests | 
 | load("//tools/build_defs/pkg:pkg.bzl", "pkg_deb", "pkg_tar") | 
 |  | 
 | genrule( | 
 |     name = "generate_files", | 
 |     outs = [ | 
 |         "etc/nsswitch.conf", | 
 |         "usr/titi", | 
 |     ], | 
 |     cmd = "for i in $(OUTS); do echo 1 >$$i; done", | 
 | ) | 
 |  | 
 | [pkg_tar( | 
 |     name = "test-tar-%s" % ext[1:], | 
 |     srcs = [ | 
 |         ":etc/nsswitch.conf", | 
 |         ":usr/titi", | 
 |     ], | 
 |     build_tar = ":build_tar", | 
 |     extension = "tar%s" % ext, | 
 |     mode = "0644", | 
 |     modes = {"usr/titi": "0755"}, | 
 |     owner = "42.24", | 
 |     ownername = "titi.tata", | 
 |     ownernames = {"etc/nsswitch.conf": "tata.titi"}, | 
 |     owners = {"etc/nsswitch.conf": "24.42"}, | 
 |     package_dir = "/", | 
 |     strip_prefix = ".", | 
 |     symlinks = {"usr/bin/java": "/path/to/bin/java"}, | 
 | ) for ext in [ | 
 |     "", | 
 |     ".gz", | 
 |     ".bz2", | 
 |     ".xz",  # This will breaks if xzcat is not installed | 
 | ]] | 
 |  | 
 | [pkg_tar( | 
 |     name = "test-tar-inclusion-%s" % ext, | 
 |     build_tar = ":build_tar", | 
 |     deps = [":test-tar-%s" % ext], | 
 | ) for ext in [ | 
 |     "", | 
 |     "gz", | 
 |     "bz2", | 
 |     "xz", | 
 | ]] | 
 |  | 
 | pkg_tar( | 
 |     name = "test-tar-strip_prefix-empty", | 
 |     srcs = [ | 
 |         ":etc/nsswitch.conf", | 
 |     ], | 
 |     build_tar = ":build_tar", | 
 |     strip_prefix = "", | 
 | ) | 
 |  | 
 | pkg_tar( | 
 |     name = "test-tar-strip_prefix-none", | 
 |     srcs = [ | 
 |         ":etc/nsswitch.conf", | 
 |     ], | 
 |     build_tar = ":build_tar", | 
 | ) | 
 |  | 
 | pkg_tar( | 
 |     name = "test-tar-strip_prefix-etc", | 
 |     srcs = [ | 
 |         ":etc/nsswitch.conf", | 
 |     ], | 
 |     build_tar = ":build_tar", | 
 |     strip_prefix = "etc", | 
 | ) | 
 |  | 
 | pkg_tar( | 
 |     name = "test-tar-strip_prefix-dot", | 
 |     srcs = [ | 
 |         ":etc/nsswitch.conf", | 
 |     ], | 
 |     build_tar = ":build_tar", | 
 |     strip_prefix = ".", | 
 | ) | 
 |  | 
 | pkg_tar( | 
 |     name = "test-tar-files_dict", | 
 |     build_tar = ":build_tar", | 
 |     files = { | 
 |         ":etc/nsswitch.conf": "not-etc/mapped-filename.conf", | 
 |     }, | 
 | ) | 
 |  | 
 | pkg_tar( | 
 |     name = "test-tar-empty_files", | 
 |     build_tar = ":build_tar", | 
 |     empty_files = [ | 
 |         "/a", | 
 |         "/b", | 
 |     ], | 
 |     mode = "0o777", | 
 | ) | 
 |  | 
 | pkg_tar( | 
 |     name = "test-tar-empty_dirs", | 
 |     build_tar = ":build_tar", | 
 |     empty_dirs = [ | 
 |         "/tmp", | 
 |         "/pmt", | 
 |     ], | 
 |     mode = "0o777", | 
 | ) | 
 |  | 
 | pkg_deb( | 
 |     name = "test-deb", | 
 |     conffiles = [ | 
 |         "/etc/nsswitch.conf", | 
 |         "/etc/other", | 
 |     ], | 
 |     data = ":test-tar-gz.tar.gz", | 
 |     depends = [ | 
 |         "dep1", | 
 |         "dep2", | 
 |     ], | 
 |     description = "toto", | 
 |     distribution = "trusty", | 
 |     maintainer = "someone@somewhere.com", | 
 |     make_deb = ":make_deb", | 
 |     package = "titi", | 
 |     urgency = "low", | 
 |     version = "test", | 
 | ) | 
 |  | 
 | sh_test( | 
 |     name = "build_test", | 
 |     size = "medium", | 
 |     srcs = [ | 
 |         "build_test.sh", | 
 |     ], | 
 |     data = [ | 
 |         "testenv.sh", | 
 |         ":test-deb.deb", | 
 |         ":test-tar-.tar", | 
 |         ":test-tar-bz2.tar.bz2", | 
 |         ":test-tar-empty_dirs.tar", | 
 |         ":test-tar-empty_files.tar", | 
 |         ":test-tar-files_dict.tar", | 
 |         ":test-tar-gz.tar.gz", | 
 |         ":test-tar-inclusion-.tar", | 
 |         ":test-tar-inclusion-bz2.tar", | 
 |         ":test-tar-inclusion-gz.tar", | 
 |         ":test-tar-inclusion-xz.tar", | 
 |         ":test-tar-strip_prefix-dot.tar", | 
 |         ":test-tar-strip_prefix-empty.tar", | 
 |         ":test-tar-strip_prefix-etc.tar", | 
 |         ":test-tar-strip_prefix-none.tar", | 
 |         ":test-tar-xz.tar.xz", | 
 |         ":titi_test_all.changes", | 
 |     ], | 
 |     # archive.py requires xzcat, which is not available by default on Mac | 
 |     tags = ["noci"], | 
 |     deps = [ | 
 |         "//src/test/shell:bashunit", | 
 |     ], | 
 | ) |