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", ], )