rules_pkg/CHANGELOG.md

653 lines
28 KiB
Markdown

# 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
# Release 0.10.0
**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)
**Breaking 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, and Vertexwahn
for contributions to this release.
# Release 0.9.x
**New Features**
- Add OutputGroupInfo for pkg_rpm rule (#684)
- Add verify_archive rule to do e2e tests on built archives. (#669)
- 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)
**Bug Fixes**
- pkg_tar should not prefix tree artifacts with ./ (#681)
- Fix a potential TypeException caused by None type (#668)
- pkg_zip: Some unicode file handling fixes and basic tests (#641)
- pkg_tar, pkg_zip: improve support for long paths on Windows (#672)
- Explicitly store implicit parent directories in zip files (#640)
- Remove unnecessary `to_list()` calls (#639)
Thanks to: Clint Harrison Qingyu Sui, Fabian Meumertzheim, Ryan Beasley, Andrew Psaltis
Alex Eagle, Nils Semmelrock, and Doug Rabson
for contributions to this release.
# Release 0.8.0
**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)
# Release 0.7.0
## 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](https://bazelbuild.github.io/rules_pkg/0.7.0/reference.html)
- 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: https://github.com/bazelbuild/rules_pkg/issues/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.
# Release 0.6.0
This revision requires Bazel 4.x or greater
## Visible changes
- Enable nested pkg_filegroups (#420)
- Restore `include_runfiles` support for pkg_tar. (#398)
- Change the Debian example to reflect standard Debian naming. (#389)
- More support for TreeArtifacts in PackageFilesInfo (#421)
- Improved docs
- Provide on https://bazelbuild.github.io/rules_pkg/0.6.0/reference.html
- Provide an example for using the new packaging rules (#375)
- Create "where is my output" example (#432)
- post process docs to work around stardoc bugs.
- eliminate need to load all rules if you only need one.
## Bug fixes:
- [pkg_deb] fix computation of changes file file name (#418)
- Fix use of name parameter to pkg_tar (#469)
- Fix missing `%dir` RPM filetag when `PackageDirsInfo` is provided (#473)
- pkg_rpm: Don't have source_date_epoch apply by default; test modularity cleanup (#487)
## Internal changes
- Remove legacy command line options to tar builder. Everything is now in the manifest.
- Unify template files names as .tpl (#383)
- Modularize manifest python code (#384)
- many code refactorings to make tests more isolated and allow more ownership by domain
## Contributors
Thanks to: Andrew Psaltis, Grant Monroe, Gunnar Wagenknecht, Ken Conley, Motiejus Jakštys, and Ryan Beasley
for contributions to this release.
# Release 0.5.1
## New features
- Add `pkg_deb(architecture_file)` to provide a way to set the Debian package architecture from the content of a file created at build time. (#390)
- Provide `pkg_install` for a "make install"-like experience in Bazel (#380)
- Note: This feature is still in development. Read the PR for more information.
- Initial support for the `pkg_filegroup` framework in `pkg_zip` (#373)
## Closed bugs
- Change the Debian example to reflect standard Debian naming. (#389)
- pkg_tar(include_runfiles) now works again (#392)
# Release 0.5.0
## New Features
- Initial support for `pkg_*` rules as srcs of `pkg_tar` (#367)
Adds support for `pkg_mklink`, `pkg_mkdirs`, `pkg_files` and `pkg_filegroup` to `pkg_tar`.
- Provide `filter_directory` for basic TreeArtifact processing (#331)
- `stamp` support to `pkg_tar` (#288) and `pkg_zip` (#365)
Done in the style of cc_binary
- `stamp` attribute (1=stamp, 0=no stamp, -1=follow `--stamp`)
- Use existing `--stamp` command line option
- Significant `pkg_rpm` changes
- Graduate experimental `pkg_rpm` to mainline (#338)
- Deprecate pkg/rpm.bzl and move it to pkg/legacy/rpm.bzl (#337)
- Make `find_system_rpmbuild` repo rule depend on `PATH` (#348)
- Support SOURCE_DATE_EPOCH in rpm.bzl; enable file clamping in make_rpm.py (#322)
- Allow runfiles to be used alongside the `rpmbuild` toolchain (#329)
- `pkg_tar` support for custom compression program (#320)
- Support long file names in `pkg_tar` by ignoring 'path' PAX header. (#250) (#326)
- (experimental) Capability to gather the git commit log since the last release (#357)
This needs user feedback to discover the most pleasing mode. For this
release, I did `blaze build distro:changelog.txt` then took the result to
update this file (CHANGELOG.md). I would like to do better than that. Thoughts
from users are welcome.
## Internal changes
- Add a rule to make artifacts that mimic binaries (#366)
- Stop importing single methods from modules. Use the entire thing. (#361)
- Fix some things that Google's strident buildifier warns about. (#363)
- Enable more tests on windows (#364)
- Fix most mapping tests to work on windows. (#350)
- refactor `path.bzl` and improve testing (#359)
- Fix and refactor pkg_tar compression logic (#358) (#345)
- Move `build_tar`, `build_zip` and helpers to //private (#353)
## Incompatible changes
- Remove the capability to have the Debian .changes file have a different (#342)
## Contributors
This release contains contributions and fixes from aiuto, Alex Eagle,
Andrew Psaltis, Greg Bowyer, katre, Michael Hackner, and Rafael Marinheiro
# Release 0.4.0
## New Features
- `package_file_name` & `package_variables` to allow dynamically named output files.
- `rpmbuild` is now a toolchain allowing you better control using your own vs. the system one
- Portions of the `pkg_filegroup` rule suite are available in @rules_pkg//:mappings.bzl, but there are no packaging rules that use it at this time. Rules that use it will be added in 1.0
## Incompatible Changes
- `archive_name` is now deprecated. To be removed before 1.0 `WORKSPACE` setup
## Contributors
This release contains contributions and fixes from Andrew Psaltis, dmayle, Konstantin Erman, Martin Medler, Motiejus Jakštys, Thi Doãn, Thomas Gish, and Xavier Bonaventura.
# Release 0.3.0
This release features contributions by the Bazel team and
andreas-0815-qwertz, Andrew Psaltis, Daniel Sullivan, David Schneider,
Elliot Murphy, Matthias Frei, Matt Mikitka, Pras Velagapudi, Shimin Guo,
and Ulf Adams
**New Features**
- commit a4296dac48144dd839da1f093dce00fd3078eaf5
- Author: Andrew Psaltis <apsaltis@vmware.com>
Date: Thu Oct 1 17:55:20 2020 -0400
experimental/rpm.bzl: Make compression settings configurable (#240)
This change adds a new attribute binary_payload_compression to the
experimental pkg_rpm rule. It is implemented in terms of command-line options
to rpmbuild(8), which are passed in via make_rpm.py.
We do this by instructing rpmbuild to define the _binary_payload macro on its command line. Tests are also provided.
This can also be added to the non-experimental pkg_rpm rule in the future; the
code would be similar.
Fixes #239.
- commit aa18e176673d03f05f1d3f0537bae424cfc225fe
- Author: aiuto <aiuto@google.com>
Date: Tue Sep 29 22:32:00 2020 -0400
Provide capability to rename archives based on configuration values (#198)
TODO for later
- create cookbook style examples
- emit PkgFilegroupInfo when that is available
- implement for pkg_deb, rpm, zip
- commit 55a1a9b2eca5b78a44fb940f3143a1d88423c2e2
- Author: Andrew Psaltis <apsaltis@vmware.com>
Date: Thu Sep 24 15:16:00 2020 -0400
Use symlink actions for RPM packages instead of custom actions (#236)
Like #232, but in the RPM builders. No other callouts to `ln(1)` are made
directly by `rules_pkg`.
- commit effac40a51fea25bd566f266f6b7b1d23327f02a
- Author: aiuto <aiuto@google.com>
Date: Thu Sep 24 08:16:35 2020 -0400
Add LICENSE to distribution tarball (#233)
Fixes #231
- commit bd9c7712163c03133b086e4efa0e19ed802aa956
- Author: Ulf Adams <ulfjack@users.noreply.github.com>
Date: Thu Sep 24 03:35:39 2020 +0200
Use a symlink action, not a shell script (#232)
Using a shell script is not portable and also causes issues with
build-without-the-bytes, which can handle local symlink actions (at least in
principle), but cannot handle symlinks returned from remote execution.
Also see https://github.com/bazelbuild/bazel/issues/11532.
- commit 60fbda7768d16e0c5c87f9efdc775f0586001657
- Author: Daniel Sullivan <danielalexandersullivan@gmail.com>
Date: Thu Sep 10 10:00:48 2020 -0400
Avoid stripping prefixes with incomplete directory names.
- commit e0d807d0ec4edfc5370f87259ae3461f86f0edb5
- Author: David Schneider <dschneider@tableau.com>
Date: Tue Sep 8 18:02:30 2020 -0700
Add attribute strip_prefix to pkg_zip (#221) (#230)
- commit 2ad5bd8fa4dc034081c616521bc7d6a45eb21818
- Author: Andrew Psaltis <apsaltis@vmware.com>
Date: Wed Aug 26 23:02:56 2020 -0400
`pkg_rpm_ex`: Provide in-rule dependency specifications (#224)
This change provides four additional attributes to the experimental `pkg_rpm`
rule, namely:
- `conflicts`, `string_list`, corresponding the `Conflicts` tag
- `provides`, `string_list`, corresponding the `Provides` tag
- `requires`, `string_list`, corresponding the `Requires` tag
Additionally:
- `requires_contextual`, `string_list_dict`, providing the capability to specify
tags like `Requires(postun)`.
Unit tests were also provided. Non-rpm input files for the `pkg_rpm_ex` output
test have now been given the ".csv" extension to better help identify that they
are delimited files (but not strictly comma-delimited).
Note that these changes only impact the "strong" dependencies between packages;
[weak dependencies] like "Suggests" and "Recommends" are not explicitly
supported, but can be added in the future following a similar pattern.
Fixes #223.
[weak dependencies]: https://rpm.org/user_doc/dependencies.html#weak-dependencies
- commit 30bb5b27d11d117259a41d9356ddce0272932d60
- Author: Shimin Guo <shimin.guo@mixpanel.com>
Date: Wed Aug 26 19:30:29 2020 -0700
Support "provides" in pkg_deb (#225)
- commit 569a0e57e98e96f7075f500fcc76609d68b465e2
- Author: dannysullivan <danielalexandersullivan@gmail.com>
Date: Mon Aug 24 18:23:12 2020 -0400
Avoid stripping prefixes with incomplete directory names.
- commit f7cec56170384450c06004c37520b72e22952999
- Author: Daniel Sullivan <danielalexandersullivan@gmail.com>
Date: Thu Aug 20 10:44:46 2020 -0400
Remove support for Python 2 (#222)
- commit 4ad8aa08e02694b71bfc0713da4793150aa4f4bc
- Author: Tony Aiuto <aiuto@google.com>
Date: Fri Aug 7 11:46:28 2020 -0400
Remove testenv.sh. It is no longer used.
- commit e1b3bea742bc9b2b9d4c7862deafe82a749386cf
- Author: aiuto <aiuto@google.com>
Date: Fri Aug 7 11:33:01 2020 -0400
use runfiles for pkg_tar_test to enable on Windows (#215)
This is a precursor to getting pkg_tar_test to run on Windows.
There are still problems to resolve.
- commit 933fa6fc7fc49788af04a60558722180818d091f
- Author: aiuto <aiuto@google.com>
Date: Fri Aug 7 11:22:20 2020 -0400
Convert pkg_deb tests from shell to python (#211)
- commit dbd2c4b1f3186703c0b933429fc03924cafb8e4c
- Author: aiuto <aiuto@google.com>
Date: Fri Aug 7 11:17:32 2020 -0400
write debian control tarball in GNU_FORMAT. (#217)
This addresses part 1 of #216
- commit 5985cfff16486f52bb029edd2732ad5868622b94
- Author: Andrew Psaltis <apsaltis@vmware.com>
Date: Mon Aug 3 23:26:00 2020 -0400
Consolidate make_rpm.bzl and experimental/make_rpm.bzl (#179)
* Consolidate make_rpm.bzl and experimental/make_rpm.bzl
This change consolidates all of new features/fixes from
pkg/experimental/make_rpm.bzl into pkg/make_rpm.bzl.
Code used specifically by experimental/rpm.bzl is marked as such, and is grouped
as to be generally obvious.
Features now supported by non-experimental `pkg_rpm`:
- Support for older versions of `rpm(8)` (creation of `RPMS` output directory)
Features supported by non-experimental `pkg_rpm` not supported by experimental
`pkg_rpm`:
- Support for `SOURCE_DATE_EPOCH`
Fixes #173
- commit 4b0b9f4679484f107f750a60190ff5ec6b164a5f
- Author: aiuto <aiuto@google.com>
Date: Wed Jul 15 14:59:02 2020 -0400
Add windows to presubmit tests. (#206)
* add windows to CI. Not everything, but enough to get started
- commit dede700a2f4aea9854238cad1833b54585f65d43
- Author: aiuto <aiuto@google.com>
Date: Wed Jul 15 12:47:59 2020 -0400
Drop dependency on xzcat (#205)
We simply switch to use tarfile mode 'r:*' so that the Python runtime can pick the correct decompression.
This simplifies the code enormously.
The removed lines expressed concerns about the performance of the python3 implementation of xz decompression.
Those comments are fairly old, and were addressed in recent Python implementations as noted here: https://bugs.python.org/issue18003
- commit 67d64ba774b3e4c33061cf7a95215112c65657a9
- Author: aiuto <aiuto@google.com>
Date: Wed Jul 15 12:21:48 2020 -0400
Convert build_tar_test to python for readability and portability (#196)
- commit 154479d9284535c77a781b5be26354f6d46cfe63
- Author: Elliot Murphy <statik@users.noreply.github.com>
Date: Thu Jul 9 16:01:27 2020 -0400
Control mode on zip inputs (#96) (#97)
- commit f00b356970524f53d928503ca5443c6108e883e5
- Author: David Schneider <dschneider@tableau.com>
Date: Wed Jul 1 07:28:00 2020 -0700
Allow custom archive name for pkg_tar, pkg_deb, and pkg_zip targets (#194)
- commit b5add5bf465c626407ad0ded679a0e2c14dad801
- Author: aiuto <aiuto@google.com>
Date: Thu May 28 10:42:00 2020 -0400
Add licenses clauses to BUILD files (#186)
- commit 2977b089a6cd45038d39a5498f0a6cabb11774bf
- Author: aiuto <aiuto@google.com>
Date: Fri May 22 14:50:42 2020 -0400
Add a minimal WORKSPACE file to the distributon. (#182)
We extract this from the top level workspace so it is easier to keep in sync.
- commit 808c192a0c48f292e6dfaaeb3bfa3d4378f6996d
- Author: andreas-0815-qwertz <57450822+andreas-0815-qwertz@users.noreply.github.com>
Date: Tue May 19 18:51:17 2020 +0200
Make sequence of filenames in control.tar predictable (#120)
Replacing plain Python dict by an OrderedDict for Python versions
before 3.7, so that iteration order of "extrafiles" is determined by
insertion order. Since 3.7 iteration order of plain dict itself is
stable.
https://github.com/bazelbuild/rules_pkg/issues/114
- commit eab297c6931260e283a3daaf2cdc438f0c6a1cfc
- Author: Andrew Psaltis <apsaltis@vmware.com>
Date: Mon May 18 22:40:49 2020 -0400
Fix `pkg_rpm` `source_date_epoch` attribute (#176)
The existing `source_date_epoch` attribute for `pkg_rpm` is passed in as
an `int`, and is then appended to a string. This, naturally, fails.
The `int` needs to be stringified first.
Additionally, since the [SOURCE_DATE_EPOCH] value can be any valid UNIX
epoch value, account for the possibility of it being set to 0 in the
Starlark code.
[SOURCE_DATE_EPOCH]: https://reproducible-builds.org/specs/source-date-epoch/#idm55
- commit ec802488edc1a0594b019fadf1794f13b434b365
- Author: Andrew Psaltis <apsaltis@vmware.com>
Date: Fri Apr 10 10:33:50 2020 -0400
Provide pkg_mklinks for creation of in-package symbolic links
Symbolic links are often included within packages, referring to files and
directories within and without.
This commit provides a rule, `pkg_mklinks`, which allows for the creation of
arbitrary symbolic links within a package, and support within the experimental
`pkg_rpm` rule to emit them.
`buildifier` was also opportunistically applied to files in this change.
- commit b20c45f292be6c74d2f0d829ba02c83dbe271195
# Release 0.2.6
**New Features**
- Author: aiuto <aiuto@google.com>
Date: Mon Apr 27 15:47:20 2020 -0400
Add support to generate stardoc. (#164)
This is done in a manner so there is no new runtime dependency on bazel-skylib. The bzl_library needed as input to stardoc is only created within the distro directory, which is not part of the released package.
- commit eea3f696ca3187897ddc3eb07d9955384809a84c
- Merge: 0761c40 b4c4a91
Author: Daniel Sullivan <danielalexandersullivan@gmail.com>
Date: Fri Apr 24 11:02:10 2020 -0400
Merge pull request #162 from aiuto/lic
remove useless BUILD file. update readme
- commit b4c4a91dc36a53bb5e9e1fc42c91f351d782a7ed
- Author: Tony Aiuto <aiuto@google.com>
Date: Thu Apr 23 23:53:56 2020 -0400
remove useless BUILD file. update readme
- commit 0761c40f7f1d265ebd814a11eaa03e327271ae5c
- Author: Daniel Sullivan <danielalexandersullivan@gmail.com>
Date: Mon Apr 20 21:15:27 2020 -0400
Preserve mtimes from input tar files in TarFileWriter output tars (#155)
* Preserve mtimes from input tar files in TarFileWriter output tars
* Provide option for overriding input tar mtimes in TarFileWriter
* Correctly set test fixture paths in archive test
- commit 787f41777355ff2c0669e1a5a8771380d8752fa3
- Author: Matt Mikitka <2027417+mmikitka@users.noreply.github.com>
Date: Fri Apr 17 12:31:15 2020 -0400
Changed the buildroot from BUILD to BUILDROOT (#108)
* Changed the buildroot from BUILD to BUILDROOT
* Install files in the RPM spec before the %files section
- commit ce53425bc5449268ade670346bc39d8c52b1f822
- Author: Andrew Psaltis <apsaltis@vmware.com>
Date: Wed Apr 15 18:22:22 2020 -0400
Add prototype pkgfilegroup-based RPM builder (#129)
This change provides a prototype `pkgfilegroup`-based RPM builder in the form of
the `gen_rpm` rule. See #128 for more details on `pkgfilegroup`.
The RPM generator was derived from `make_rpm.py` in `pkg/` and supports a number
of features over and above what's available in `pkg_rpm`. As written, it, given
a template like the one provided, you can construct many full-fledged RPM
packages entirely within Bazel. In most cases, the templates will only need to
be customized with advanced logic and other macros that are not settable via
bazel itself; `gen_rpm` will write much of the preamble, `%description` text,
`%install` scriptlets, and `%files` based on rule-provided inputs.
Documentation outside of the source files is not yet available. This was
empirically tested on RPM packages internal to VMware with positive results;
actual tests of the rules are not yet ready.
This, naturally, is incomplete, and is missing capabilities such as:
- Configurable compression
- Configurable Provides/Requires
- SRPM emission
- Reproducibility
- Configurable stripping
- Configurable construction of "debug" packages
Co-authored-by: mzeren-vmw <mzeren@vmware.com>
Co-authored-by: klash <klash@vmware.com>
Co-authored-by: mzeren-vmw <mzeren@vmware.com>
Co-authored-by: klash <klash@vmware.com>
- commit 79eafadca7b4fdb675b1cfa40b2ac20f23139271
- Author: Matthias Frei <matthias.frei@inf.ethz.ch>
Date: Tue Apr 7 03:27:05 2020 +0200
make_deb: fix length computation for extrafiles (#144)
* make_deb: fix length computation for extrafiles
Analogous to the handling of the main control file.
* Add test for genrule-preinst with non-ascii chars
* Fix tests
# Release 0.2.5
**New Features**
commit 48001d12e7037b04dc5b28fadfb1e10a8447e2fc
Author: aiuto <aiuto@google.com>
Date: Thu Mar 12 15:14:32 2020 -0400
Depend on rules_python (#140)
* load rules python
* add workspace deps
* add missing loads
commit 2b375a08bfe36d2c35885a6f4e5b12d7898c9426
Author: Ryan Beasley <39353016+beasleyr-vmw@users.noreply.github.com>
Date: Wed Mar 11 14:49:21 2020 -0400
Update test data in response to #121 (#137)
PR #121 changed pkg_deb's behavior but didn't update test data to match.
Reported in PR #132.
Testing Done:
- `bazelisk test ...`
commit e5919f43791b2d4c5ab9e68786087cf889b9987e
Author: Andrew Psaltis <ampsaltis@gmail.com>
Date: Fri Feb 28 01:22:37 2020 -0500
Add pkgfilegroup for package-independent destination mappings (#128)
* Add pkgfilegroup for package-independent destination mappings
This adds an experimental rule, `pkgfilegroup`, along with associated Providers,
that gives rule developers and users a consistent mechanism for using the output
of bazel targets in packaging rules.
Inspired by #36.
Other capabilities that are provided by this that were not mentioned in #36 are:
- Creation of empty directories (`pkg_mkdirs`)
- Exclusion of files from a `pkgfilegroup` (`excludes`)
- Renames of files in a `pkgfilegroup` (`renames`)
* Add analysis tests for pkgfilegroup and friends
This provides some analysis tests for various features of `pkgfilegroup` and
`pkg_mkdirs`. See #128.
You can run them by invoking `bazel test experimental/...` from the `pkg`
directory
This implementation of pkgfilegroup was inspired by #36.
commit 7a991dea418ab17c7e86f0a7b5e7d4a87ef4304b
Author: Ryan Beasley <39353016+beasleyr-vmw@users.noreply.github.com>
Date: Fri Feb 28 01:02:24 2020 -0500
Improve handling of sources from external repositories (#132)
Avoid use of [`File.short_path`][1] when mapping filenames, because when
creating archives from files imported from external repositories we'll create
archive members with leading `./../` prefixes. Instead, we'll stick to stripping
to leading `File.root.path` (if present) from `File.path`, resulting in archive
members like `external/repo/package/file.txt`.
[1]: https://docs.bazel.build/versions/master/skylark/lib/File.html#short_path
Resolves #131.
commit 532f2857e712c5fcb71c662d680108685b242251
Author: zoidbergwill <zoidbergwill@gmail.com>
Date: Fri Feb 28 06:56:05 2020 +0100
Update pkg.bzl (#125)
commit 5877fa85b8598b5bb2186d3addca2408b1e61c5e
Author: Matt Mikitka <2027417+mmikitka@users.noreply.github.com>
Date: Fri Feb 28 05:49:40 2020 +0000
Rpm source date epoch (#113)
* Added --source_date_epoch
* Support source_date_epoch_file since stamp variables are not accessible
* Fixed _make_rpm label
* Revert default make_rpm label
* Default source_date_epoch to None and remove os.environ
commit acc1ca9095e60bb9acd9858bc1812bfd805136df
Author: Trevor Hickey <TrevorJamesHickey@gmail.com>
Date: Mon Feb 24 09:53:55 2020 -0500
update WORKSPACE example (#124)
commit 2f5c9815a7bde4f18acfde268bd63fedd107d87c
Author: andreas-0815-qwertz <57450822+andreas-0815-qwertz@users.noreply.github.com>
Date: Wed Dec 4 22:32:01 2019 +0100
Add "./" prefix to files in control.tar (#121)
This improves compatibility to Debian packages created using dpkg.
https://github.com/bazelbuild/rules_pkg/issues/116
commit 2f09779667f0d6644c2ca5914d6113a82666ec63
Author: Benjamin Peterson <benjamin@python.org>
Date: Fri Nov 15 10:09:45 2019 -0800
pkg_deb: Support Breaks and Replaces. (#117)
https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-and-replacing-packages-replaces
commit 9192d3b3a0f6ccfdecdc66f08f0b2664fa0afc0f
Author: Tony Aiuto <aiuto@google.com>
Date: Fri Oct 4 16:33:47 2019 -0400
Fix repo names with '-' in them.
We can not use the form "@repo-name" in Bazel, so the common solution is
to transform that to "@repo_name". We auto-correct the repo names to the
required form when printing the WORKSPACE stanza.