Skip to content

Releases: bazelbuild/rules_pkg

1.0.1

09 Jul 18:27
6a44f01
Compare
Choose a tag to compare

This is the same as the 1.0.0 release, but with the compatibility level set back to 1 to work around bazelbuild/bazel-central-registry#2232

MODULE.bazel setup

bazel_dep(name = "rules_pkg", version = "1.0.1")

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/1.0.1/rules_pkg-1.0.1.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/1.0.1/rules_pkg-1.0.1.tar.gz",
    ],
    sha256 = "d20c951960ed77cb7b341c2a59488534e494d5ad1d30c4818c736d57772a9fef",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

1.0.0

03 Jun 17:55
b4ac7e3
Compare
Choose a tag to compare

New Features

  • Support duplicate paths in tar archives (#850)
  • pkg_rpm
    • Add support for generating debuginfo RPMs (#842)
    • Add support for "Epoch" attributes in RPMs (#858)
    • Add pkg_sub_rpm rule for RPM subpackages (#824)
    • Enable pkg_rpm and pkg_subrpm to create empty RPMs (#859)
    • Add conflicts and obsoletes to sub RPMs (#851)
    • Add %posttrans scriptlet to RPM package (#799)
    • Add support for Obsoletes tag in RPM definition (#778)

Incompatible Changes

  • Append workspace name to the runfiles directory name for pkg_files (#864)
  • Update to new stardoc so we can work with bzlmod. (#853)
    Not really incompatible by itself, but it does mean that development of
    rules_pkg itself without bzlmod is now unsupported.
  • Various fixes and improvements to pkg_rpm have probably broken someone's
    workflow. YMMV
  • Lots of bug fixes have made undefined behavior explicit. This also probably
    breaks someone's workflow. YMMV
  • Bzlmod compatibility level 2, so you may have to explicitly upgrade.

MODULE.bazel setup

bazel_dep(name = "rules_pkg", version = "1.0.0")

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://github.com/bazelbuild/rules_pkg/releases/download/1.0.0/rules_pkg-1.0.0.tar.gz",
    ],
    sha256 = "cad05f864a32799f6f9022891de91ac78f30e0fa07dc68abac92a628121b5b11",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the source.

What's Changed (in a little more detail)

  • Provide more examples for pkg_rpm() by @kellyma2 in #823
  • fix: remove unused glob patterns by @dieortin in #825
  • Add pkg_sub_rpm rule for RPM subpackages by @kellyma2 in #824
  • lint nits by @aiuto in #831
  • Remove expand_yml.py. by @aiuto in #837
  • Add support for no parent directory inference (#832) by @eejayes in #834
  • Stop using datetime.utcfromtimestamp() by @aiuto in #838
  • update scorecard workflow to newer nodejs setup by @aiuto in #839
  • Update scorecard.yml to new checkout and analysis actions. by @aiuto in #840
  • Improve handling of sub rpms. by @aiuto in #833
  • use sys.exit() instead of exit() by @aiuto in #844
  • trying scorecard update one more time by @aiuto in #841
  • Indirect .files_to_run and .default_runfiles through DefaultInfo. by @lberki in #848
  • rpm: Add conflicts and obsoletes to sub RPMs by @kellyma2 in #851
  • Force stardoc integration test to run with bazel 7.0.0 by @aiuto in #852
  • Start removing licenses(notice) and replacing with license() by @aiuto in #742
  • Update to new stardoc so we can work with bzlmod. by @aiuto in #853
  • create empty MODULE.bazel files in examples so bazel does not complain by @aiuto in #855
  • pkg_tar: if symlink starts with ./, keep it absolute by @aiuto in #854
  • Enable pkg_rpm and pkg_subrpm to create empty RPMs by @kellyma2 in #859
  • Append the workspace name to the runfiles directory name by @EdSchouten in #856
  • Add support for generating debuginfo RPMs by @kellyma2 in #842
  • Add support for "Epoch" attributes in RPMs by @TvdW in #858
  • fix: Not all runfiles are single files by @ewianda in #860
  • Exclude release from filename when using release_file by @kellyma2 in #863
  • Append workspace name to the runfiles directory name for pkg_files by @sitaktif in #864
  • Support duplicate file paths in tar archives by @eejayes in #850
  • 1.0 release by @aiuto in #869

New Contributors

Full Changelog: 0.10.1...1.0.0

0.10.1

08 Feb 23:11
d7ff3e6
Compare
Choose a tag to compare

Release 0.10.1

This is a bug fix release.

Bug Fixes
* Temporarily restore //mappings.bzl and //pkg.bzl (#817)
* Fix RPM package release and version files expansion (#816)
* Apply tar remap_paths to runfiles full paths (#812)
* Use raw string for docstring that contains a backslash (for Python 3.12) (#815)

Thanks to: Alex Bozhenko, Chuck Grindel, Diego Ortin, and Tomasz Wojno

MODULE.bazel setup

bazel_dep(name = "rules_pkg", version = "0.10.1")

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz",
    ],
    sha256 = "d250924a2ecc5176808fc4c25d5cf5e9e79e6346d79d5ab1c493e289e722d1d0",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the docs.

0.10.0

10 Jan 22:13
39ab08d
Compare
Choose a tag to compare

New Features

  • Allow $(var) substitution in filenames (#620)
  • Rough prototype of @since processing. (#617)
  • First cut at runfiles support in pkg_* rules (#605)
  • Allow substitution of user-defined variables in RPM preamble (#787)
  • Add %posttrans scriptlet to RPM package (#799)
  • Allow additional RPM macro defines (#794)
  • Bring tar runfiles up to feature parity with pkg_files.runfiles. (#754)
  • Add support for Obsoletes tag in RPM definition (#778)
  • pkg_deb: allow data.tar.zst (#761)
  • Add support for failing on file conflicts. (#683)
  • Make pkg_zip compression configurable (#737)
  • Append changelog to RPM spec file (#726)
  • Add basic include_runfiles to pkg_files. (#724)
  • Add changelog attribute to pkg_deb (#725)
  • Add support for setting uid/gid from pkg_attributes (#671)

Bug Fixes

  • Explicitly set the FILE bit in zip external attributes. (#802)
  • Explicitly set %{_builddir} macro (#792)
  • Only inject pre and post scriptlets when provided (#788)
  • Don't load cc toolchain from rules_cc (#779)
  • doc: Fixup external manual references (#777)
  • Get bzlmod working in CI (#766)
  • use runfiles from rules_python (#768)
  • When pkg_tar.prefix_dir == base of symlink path, don't double-dip. (#749)
  • add imports to fix bazel --noexperimental_python_import_all_repositories flag (#630)
  • Align pkg_rpm returned files with other rules (#692)
  • fix(pkg_tar): properly normalize paths for empty files (#760)
  • Document that package_dir also uses package_variables (#747)
  • Fix handling paths with whitepsaces (#733)
  • Fix python 3.6, doesn't support compresslevel
  • Use Gzip compress level 6 (#720)
  • write debian Date field in UTC rather than local time (#712)
  • [pkg_deb] Fix multiline fields in changes file (#691)

Incompatible Changes

  • Remove PackageArtifactsInfo. (#752)

Thanks to: Adam Azarchs, Alex Eagle, August Karlstedt, Austin Schuh, Adrian Vogelsgesang, flode, Florian Scheibner, Ignas Kaziukėnas, Jean-Hadrien Chabran, Matt, Mike Kelly, Paul Draper, Sam Schwebach, Tomasz Wojno, Vertexwahn

MODULE.bazel setup

bazel_dep(name = "rules_pkg", version = "0.10.0")

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.10.0/rules_pkg-0.10.0.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.10.0/rules_pkg-0.10.0.tar.gz",
    ],
    sha256 = "e93b7309591cabd68828a1bcddade1c158954d323be2205063e718763627682a",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the source.

0.9.1

02 May 16:17
Compare
Choose a tag to compare

Re-release of 0.9.0 to correct a mismatch of artifacts between github.com and mirro.bazel.build

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.9.1/rules_pkg-0.9.1.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.9.1/rules_pkg-0.9.1.tar.gz",
    ],
    sha256 = "8f9ee2dc10c1ae514ee599a8b42ed99fa262b757058f65ad3c384289ff70c4b8",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the docs

0.9.0

29 Mar 03:50
7d7a076
Compare
Choose a tag to compare

New Features

  • verify_archive rule to do e2e tests on built archives. (#644)

Incompatible Changes

  • Genericize package manifest system and interface (#660)

** Bug Fixes **

  • pkg_tar should not prefix tree artifacts with ./ (#681)
  • pkg_tar, pkg_zip: improve support for long paths on Windows (#672)

Thanks to

Tomasz Wojno, Clint Harrison, Qingyu Sui, Ryan Beasley.

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.9.0/rules_pkg-0.9.0.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.9.0/rules_pkg-0.9.0.tar.gz",
    ],
    sha256 = "335632735e625d408870ec3e361e192e99ef7462315caa887417f4d88c4c8fb8",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the source.

0.8.1

07 Feb 22:34
bf19e06
Compare
Choose a tag to compare

New Features

  • Expose tar manifest as an output (#643)
  • Support license attribute in pkg_deb (#651)
  • Add support for the txz extension in pkg_tar (#653) (#654)

Fixes

  • Explicitly store implicit parent directories in zip files (#640)
  • Remove unnecessary to_list() calls (#639)
  • Apply package_dir to pkg_mklink (#637)

Thanks to
Alex Eagle, Nils Semmelrock, Doug Rabson, Fabian Meumertzheim

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.8.1/rules_pkg-0.8.1.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.8.1/rules_pkg-0.8.1.tar.gz",
    ],
    sha256 = "8c20f74bca25d2d442b327ae26768c02cf3c99e93fad0381f32be9aab1967675",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the documentation

0.8.0

03 Nov 03:42
29d79cf
Compare
Choose a tag to compare

Pre Bazelcon push of tiny updates

New Features

  • Allow $(var) substitution in filenames (#620)
    • Allow $(var) substitution in filenames and include everything in ctx.var in the substitution dictionary.
      Fixes #20
  • Basic bzlmod setup
    • CI runs for both traditional and bzlmod
    • Shows it working for one example
    • Has only runtime deps
    • rpm and git toolchains not done yet
  • Rough prototype of @since processing. (#617)
  • First cut at runfiles support in pkg_* rules (#605)

Bug Fixes

  • Fix config_setting visibility failure when using --incompatible_config_setting_private_default_visibility
  • Cosmetic. Improve the error messageing for duplicate files in check_dest. (#616)
  • Adjust tar tests to have a test case for #297 (#618)
  • Do not warn if the origin paths are the same. (#615)

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.8.0/rules_pkg-0.8.0.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.8.0/rules_pkg-0.8.0.tar.gz",
    ],
    sha256 = "eea0f59c28a9241156a47d7a8e32db9122f3d50b505fae0f33de6ce4d9b61834",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the source.

0.7.1

08 Sep 19:01
60dbd92
Compare
Choose a tag to compare

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.7.1/rules_pkg-0.7.1.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.1/rules_pkg-0.7.1.tar.gz",
    ],
    sha256 = "451e08a4d78988c06fa3f9306ec813b836b1d076d0f055595444ba4ff22b867f",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

Using the rules

See the source and docs.

Major bug fixes since 0.6.x

#612 Directories in tree artifacts created with the wrong mode
#600 Debian description field formatting
#601 Tar format is explicitly GNU rather than accidentally flipping to PAX for some Python versions.

0.7.0

07 Apr 20:19
4f8f6ed
Compare
Choose a tag to compare

Release 0.7.0

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_pkg",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz",
    ],
    sha256 = "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()

New Features

  • Make the .bzl files available as input to a bzl_library (#567)
  • Allow pkg_files.strip_prefix to work on tree artifact without having to use renames.
  • Add @rules_license style license declarations (#508)
  • Better looking documentation
  • Add artifact_name to print_relnotes (#541)
  • pkg_{deb,rpm,tar,zip} are now available via individual .bzl files, so you
    only need to load what you actually need.
  • Add tree artifact support to pkg_zip (#537)
  • symlink support to pkg_zip (#499)

Potentially breaking changes

  • Get rid of the long deprecated archive_name and extension from pkg_zip. (#552)
    • Make 'out' work in a reasonable way. Fixes #414
    • Partial fix for #284

Bug fixes:

  • Only allow .deb Description to be multiline. (#573)
    Fixes: #572
  • Fix pkg_tar to not add the ./ to the prefix of every member. (#554). Closes: #531
  • Stop stripping tree artifact root name in pkg_tar and pkg_zip. (#555). Closes #404
  • Fix RPM source date epoch for rpmbuild 4.17+ (#529)

Contributors

Thanks to: Andrew Psaltis, Gunnar Wagenknecht, and Sven Mueller for contributions to this release.