Update CONTRIBUTING with TSC and initial policies
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -29,4 +29,5 @@ Defaults.mk
|
||||
userdocs/_*
|
||||
userdocs/reference/*
|
||||
/warewulf-?.?.?/
|
||||
*.coverprofile
|
||||
*.coverprofile
|
||||
LICENSE_DEPENDENCIES.csv
|
||||
|
||||
214
CONTRIBUTING.md
214
CONTRIBUTING.md
@@ -2,23 +2,205 @@
|
||||
|
||||
## Contributor's Agreement
|
||||
|
||||
You are under no obligation whatsoever to provide any bug fixes, patches, or
|
||||
upgrades to the features, functionality or performance of the source code
|
||||
("Enhancements") to anyone; however, if you choose to make your Enhancements
|
||||
available either publicly, or directly to the project, without imposing a
|
||||
separate written license agreement for such Enhancements, then you hereby grant
|
||||
the following license: a non-exclusive, royalty-free perpetual license to
|
||||
install, use, modify, prepare derivative works, incorporate into other computer
|
||||
software, distribute, and sublicense such enhancements or derivative works
|
||||
You are under no obligation whatsoever to provide any bug fixes,
|
||||
patches, or upgrades to the features, functionality or performance of
|
||||
the source code ("Enhancements") to anyone; however, if you choose to
|
||||
make your Enhancements available either publicly, or directly to the
|
||||
project, without imposing a separate written license agreement for
|
||||
such Enhancements, then you hereby grant the following license: a
|
||||
non-exclusive, royalty-free perpetual license to install, use, modify,
|
||||
prepare derivative works, incorporate into other computer software,
|
||||
distribute, and sublicense such enhancements or derivative works
|
||||
thereof, in binary and source code form.
|
||||
|
||||
## Getting Started
|
||||
## Technical Steering Committee
|
||||
|
||||
When contributing to Warewulf, it is important to properly communicate the gist
|
||||
of the contribution. If it is a simple code or editorial fix, simply explaining
|
||||
this within the GitHub Pull Request (PR) will suffice. But if this is a larger
|
||||
fix or Enhancement, you are advised to first discuss the change with the
|
||||
project leader or developers.
|
||||
(in alphabetical order by surname)
|
||||
|
||||
All commits must be "Signed-off" by using `git commit -s`, acknowledging that
|
||||
you agree to the [Developer Certificate of Origin](DCO.txt).
|
||||
- [Anderson, Jonathon](janderson@ciq.com) (CIQ)
|
||||
- [Goll, Christian](cgoll@suse.de) (SUSE)
|
||||
- [Hanks, John](griznog@gmail.com) (Chan Zuckerburg Biohub)
|
||||
- [Kurtzer, Greg](gmk@ciq.com) (CIQ)
|
||||
- [Siadal, Jeremy](jeremy.c.siadal@intel.com) (Intel)
|
||||
|
||||
## Pull requests
|
||||
|
||||
- All commits must be "Signed-off" (i.e., by using `git commit -s`),
|
||||
acknowledging that you agree to the [Developer Certificate of
|
||||
Origin](DCO.txt).
|
||||
|
||||
- All PRs should summarize the purpose of the PR in the attached
|
||||
GitHub conversation.
|
||||
|
||||
- Larger fixes or enhancemens should be discussed with the TSC or
|
||||
developers, e.g., on Slack or over Email.
|
||||
|
||||
- PRs should be sent to the `main` branch by default. A committer or
|
||||
the TSC may request that certain bug fixes also be submitted to a
|
||||
minor release branch.
|
||||
|
||||
- Follow existing code style precedent. For Go, you should mostly
|
||||
conform to the style and form enforced by the "go fmt" and "golint"
|
||||
tools for proper formatting.
|
||||
|
||||
- For any new functionality, please write appropriate go tests. These
|
||||
run as part of the continuous integration system.
|
||||
|
||||
- Make sure that the project's default copyright and header have been
|
||||
included in any new source files.
|
||||
|
||||
- Make sure your code passes linting, by running `make lint` before
|
||||
submitting the PR.
|
||||
|
||||
- Make sure you have locally tested using `make test` and that all
|
||||
tests succeed before submitting the PR.
|
||||
|
||||
- PRs which introduce a new Go dependency to the project should
|
||||
explain why the dependency is required. Any new dependency should be
|
||||
added to `LICENSE_DEPENDENCIES.md` by running
|
||||
`scripts/update-license-dependencies.sh`.
|
||||
|
||||
## Documentation
|
||||
|
||||
- The [README](README.md) is a place to document critical information
|
||||
for new users of Warewulf. It should typically not change, but in
|
||||
the case where a change is necessary a PR may update it.
|
||||
|
||||
- The [CHANGELOG](CHANGELOG.md) documents **functional** differences
|
||||
between versions of Warewulf, and should **not** read like a commit
|
||||
log.
|
||||
|
||||
Once a release is tagged (*e.g. v4.0.0*), a new top level section
|
||||
is made titled **Changes Since vX.Y.Z** (*e.g. Changes Since
|
||||
v4.0.0*) where new changes are documented, leaving the previous
|
||||
section immutable.
|
||||
|
||||
The CHANGELOG must be updated for any of the following changes:
|
||||
- Renamed commands or subcommands
|
||||
- Deprecated / removed commands or subcommands
|
||||
- Changed defaults / behaviors
|
||||
- Backwards-incompatible changes
|
||||
- New features / functionalities
|
||||
|
||||
- The [user guide](https://warewulf.org/docs/) should document
|
||||
anything pertinent to the use of Warewulf. Changes to Warewulf
|
||||
functionality should simultaneously include pertinent updates to the
|
||||
user guide, which is maintained alongside the code under
|
||||
`userdocs/`.
|
||||
|
||||
## Branches
|
||||
|
||||
- Development occurs primarily on the `main` branch. This is the
|
||||
branch that most PRs should be submitted against unless otherwise
|
||||
directed.
|
||||
|
||||
- A minor release is accompanied by a minor branch named `v4.MINOR.x`
|
||||
from which patch releases may be generated.
|
||||
|
||||
- No other branches are maintained in the primary Warewulf repository.
|
||||
|
||||
## Merging
|
||||
|
||||
- All new contributions to the project should first be merged through
|
||||
a PR to the `main` branch.
|
||||
|
||||
- Patches to a minor branch should be copied ("cherry-picked") from a
|
||||
previously-merged PR.
|
||||
|
||||
- Each PR must, prior to merge, be reviewed and approved by a
|
||||
committer other than the author of the PR.
|
||||
|
||||
- Before approving of a PR, an approver must confirm that
|
||||
- all lint checks and tests pass with the given PR;
|
||||
- new tests to cover the change have been added as appropriate;
|
||||
- all commits in the PR have an appropriate DCO “Signed-Off-By”;
|
||||
- documentation, including (but not necessarily limited to) the
|
||||
CHANGELOG and user guide, have been updated appropriately.
|
||||
|
||||
- Any committer may, at his discretion, merge a PR that has the
|
||||
requisite approvals and for which all tests are passing. This
|
||||
includes, but is not limited to, a reviewer of the PR or the author
|
||||
of the PR.
|
||||
|
||||
- Committers should consider the current roadmap when choosing to
|
||||
approve or merge a given PR. For example, proper and successful
|
||||
bugfixes are likely always appropriate to merge. However, new
|
||||
features may not be appropriate to merge if they are not included in
|
||||
the next milestone. New features which incompatibly alter existing
|
||||
interfaces or behavior should not be approved or merged unless
|
||||
included in the current milestone.
|
||||
|
||||
- Committers which approve or merge PRs which are disruptive to the
|
||||
current milestone may have their committer access revoked by the
|
||||
TSC.
|
||||
|
||||
## Roadmapping
|
||||
|
||||
- The project roadmap is formally defined by GitHub milestones
|
||||
associated with the primary Warewulf repository.
|
||||
|
||||
- The roadmap, and its milestones, are drafted and managed by the TSC
|
||||
chair to reflect and codify the priorities of the TSC and the
|
||||
community. Definition of the roadmap includes, but is not limited to
|
||||
- the name, description, and due date for each milestone;
|
||||
- the issues and PRs associated with a given milestone.
|
||||
|
||||
- Only the TSC chair may assign issues to or remove issues from
|
||||
milestones. The TSC chair has proactive discretion to assign or move
|
||||
issues to reflect and codify the priorities of the TSC and the
|
||||
community, but may not act in opposition to the direction of the
|
||||
TSC.
|
||||
|
||||
- Requests for changes to the roadmap that are made in the Warewulf
|
||||
community meeting are recorded in the Warewulf community journal.
|
||||
|
||||
## Releases
|
||||
|
||||
- Warewulf releases follow a `MAJOR.MINOR.PATCH` format.
|
||||
|
||||
- Releases are generated by an automated process encoded as a GitHub
|
||||
actions workflow.
|
||||
|
||||
- All releases must pass the full Warewulf test suite.
|
||||
|
||||
- Releases are published by a member of the TSC at the direction of
|
||||
the TSC.
|
||||
|
||||
- Each release is accompanied by an updated changelog.
|
||||
|
||||
### Major releases
|
||||
|
||||
- All releases occur within major version “4.”
|
||||
|
||||
### Minor releases
|
||||
|
||||
- A minor release is denoted by a tag named `v4.MINOR.0`.
|
||||
|
||||
- A minor release candidate is denoted by a tag named
|
||||
`v4.MINOR.0rcNUMBER`, where `NUMBER` begins at “1” and increments
|
||||
for each candidate for the given minor release.
|
||||
|
||||
- Minor releases are defined by a previously-planned milestone named
|
||||
for the projected release.
|
||||
|
||||
- A minor release candidate may be published by the TSC when all
|
||||
functional issues and pull requests in the associated milestone are
|
||||
closed. (e.g., documentation issues and pull requests may remain.)
|
||||
This may also be accomplished by the TSC re-scoping the associated
|
||||
milestone (e.g., by moving issues or pull requests to a different
|
||||
milestone).
|
||||
|
||||
- A minor release may be published by the TSC two weeks after a
|
||||
release candidate if no major defects have been found in the release
|
||||
candidate and there are no open issues or pull requests.
|
||||
|
||||
### Patch releases
|
||||
|
||||
- A patch release is denoted by a tax named `v4.MINOR.PATCH` where
|
||||
`PATCH` is greater than `0`, and tags a commit on a minor branch.
|
||||
|
||||
- The TSC may identify changes in the “main” branch to be ported to a
|
||||
minor branch.
|
||||
|
||||
- A patch release may be published by the TSC whenever one or more
|
||||
changes have been ported to a minor branch.
|
||||
|
||||
577
LICENSE_DEPENDENCIES.md
Normal file
577
LICENSE_DEPENDENCIES.md
Normal file
@@ -0,0 +1,577 @@
|
||||
# Dependency Licenses
|
||||
|
||||
This project uses a number of dependencies, in accordance with their
|
||||
own license terms. These dependencies are managed via the project
|
||||
`go.mod` and `go.sum` files, and included in a `vendor/` directory in
|
||||
our official source tarballs.
|
||||
|
||||
A full build or package of Warewulf uses all dependencies listed
|
||||
below. If you `import "github.com/hpcng/warewulf"` into your own
|
||||
project then you may use a subset of them.
|
||||
|
||||
The dependencies and their licenses are as follows:
|
||||
|
||||
## github.com/containerd/containerd/errdefs
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/containerd/containerd/blob/master/errdefs/LICENSE>
|
||||
|
||||
## github.com/containers/image/v5
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/containers/image/blob/master/v5/LICENSE>
|
||||
|
||||
## github.com/containers/libtrust
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/containers/libtrust/blob/master/LICENSE>
|
||||
|
||||
## github.com/containers/ocicrypt
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/containers/ocicrypt/blob/master/LICENSE>
|
||||
|
||||
## github.com/containers/storage
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/containers/storage/blob/master/LICENSE>
|
||||
|
||||
## github.com/coreos/go-semver/semver
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/coreos/go-semver/blob/master/semver/LICENSE>
|
||||
|
||||
## github.com/coreos/go-systemd/daemon
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/coreos/go-systemd/blob/master/daemon/LICENSE>
|
||||
|
||||
## github.com/coreos/go-systemd/v22/unit
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/coreos/go-systemd/blob/master/v22/unit/LICENSE>
|
||||
|
||||
## github.com/coreos/ignition/v2/config
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/coreos/ignition/blob/master/v2/config/LICENSE>
|
||||
|
||||
## github.com/coreos/vcontext
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/coreos/vcontext/blob/master/LICENSE>
|
||||
|
||||
## github.com/digitalocean/go-smbios/smbios
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/digitalocean/go-smbios/blob/master/smbios/LICENSE.md>
|
||||
|
||||
## github.com/docker/distribution
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/docker/distribution/blob/master/LICENSE>
|
||||
|
||||
## github.com/docker/docker
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/docker/docker/blob/master/LICENSE>
|
||||
|
||||
## github.com/docker/go-connections
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/docker/go-connections/blob/master/LICENSE>
|
||||
|
||||
## github.com/docker/go-metrics
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/docker/go-metrics/blob/master/LICENSE>
|
||||
|
||||
## github.com/docker/go-units
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/docker/go-units/blob/master/LICENSE>
|
||||
|
||||
## github.com/golang/glog
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/golang/glog/blob/master/LICENSE>
|
||||
|
||||
## github.com/matttproud/golang_protobuf_extensions/pbutil
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/matttproud/golang_protobuf_extensions/blob/master/pbutil/LICENSE>
|
||||
|
||||
## github.com/moby/sys/mountinfo
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/moby/sys/blob/master/mountinfo/LICENSE>
|
||||
|
||||
## github.com/opencontainers/go-digest
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/opencontainers/go-digest/blob/master/LICENSE>
|
||||
|
||||
## github.com/opencontainers/image-spec/specs-go
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/opencontainers/image-spec/blob/master/specs-go/LICENSE>
|
||||
|
||||
## github.com/opencontainers/runc/libcontainer
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/opencontainers/runc/blob/master/libcontainer/LICENSE>
|
||||
|
||||
## github.com/opencontainers/runtime-spec/specs-go
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/opencontainers/runtime-spec/blob/master/specs-go/LICENSE>
|
||||
|
||||
## github.com/opencontainers/umoci
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/opencontainers/umoci/blob/master/COPYING>
|
||||
|
||||
## github.com/opencontainers/umoci/third_party/shared
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/opencontainers/umoci/blob/master/third_party/shared/COPYING>
|
||||
|
||||
## github.com/opencontainers/umoci/third_party/user
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/opencontainers/umoci/blob/master/third_party/user/LICENSE>
|
||||
|
||||
## github.com/pquerna/ffjson/fflib/v1
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/pquerna/ffjson/blob/master/fflib/v1/LICENSE>
|
||||
|
||||
## github.com/prometheus/client_golang/prometheus
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/prometheus/client_golang/blob/master/prometheus/LICENSE>
|
||||
|
||||
## github.com/prometheus/client_model/go
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/prometheus/client_model/blob/master/go/LICENSE>
|
||||
|
||||
## github.com/prometheus/common
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/prometheus/common/blob/master/LICENSE>
|
||||
|
||||
## github.com/prometheus/procfs
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/prometheus/procfs/blob/master/LICENSE>
|
||||
|
||||
## github.com/rootless-containers/proto/go-proto
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/rootless-containers/proto/blob/master/go-proto/COPYING>
|
||||
|
||||
## github.com/spf13/cobra
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/spf13/cobra/blob/master/LICENSE.txt>
|
||||
|
||||
## github.com/stefanberger/go-pkcs11uri
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/stefanberger/go-pkcs11uri/blob/master/LICENSE>
|
||||
|
||||
## github.com/vbatts/go-mtree/pkg/govis
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**License URL:** <https://github.com/vbatts/go-mtree/blob/master/pkg/govis/COPYING>
|
||||
|
||||
## google.golang.org/genproto
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**Project URL:** <https://google.golang.org/genproto>
|
||||
|
||||
## google.golang.org/grpc
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**Project URL:** <https://google.golang.org/grpc>
|
||||
|
||||
## gopkg.in/square/go-jose.v2
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**Project URL:** <https://gopkg.in/square/go-jose.v2>
|
||||
|
||||
## gopkg.in/yaml.v2
|
||||
|
||||
**License:** Apache-2.0
|
||||
|
||||
**Project URL:** <https://gopkg.in/yaml.v2>
|
||||
|
||||
## github.com/pkg/errors
|
||||
|
||||
**License:** BSD-2-Clause
|
||||
|
||||
**License URL:** <https://github.com/pkg/errors/blob/master/LICENSE>
|
||||
|
||||
## github.com/russross/blackfriday/v2
|
||||
|
||||
**License:** BSD-2-Clause
|
||||
|
||||
**License URL:** <https://github.com/russross/blackfriday/blob/master/v2/LICENSE.txt>
|
||||
|
||||
## github.com/syndtr/gocapability/capability
|
||||
|
||||
**License:** BSD-2-Clause
|
||||
|
||||
**License URL:** <https://github.com/syndtr/gocapability/blob/master/capability/LICENSE>
|
||||
|
||||
## github.com/cyphar/filepath-securejoin
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/cyphar/filepath-securejoin/blob/master/LICENSE>
|
||||
|
||||
## github.com/gogo/protobuf/proto
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/gogo/protobuf/blob/master/proto/LICENSE>
|
||||
|
||||
## github.com/golang/protobuf
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/golang/protobuf/blob/master/LICENSE>
|
||||
|
||||
## github.com/golang/snappy
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/golang/snappy/blob/master/LICENSE>
|
||||
|
||||
## github.com/google/uuid
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/google/uuid/blob/master/LICENSE>
|
||||
|
||||
## github.com/gorilla/mux
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/gorilla/mux/blob/master/LICENSE>
|
||||
|
||||
## github.com/grpc-ecosystem/grpc-gateway/v2
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/grpc-ecosystem/grpc-gateway/blob/master/v2/LICENSE.txt>
|
||||
|
||||
## github.com/klauspost/compress
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/klauspost/compress/blob/master/LICENSE>
|
||||
|
||||
## github.com/manifoldco/promptui
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/manifoldco/promptui/blob/master/LICENSE.md>
|
||||
|
||||
## github.com/miekg/pkcs11
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/miekg/pkcs11/blob/master/LICENSE>
|
||||
|
||||
## github.com/mtrmac/gpgme
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/mtrmac/gpgme/blob/master/LICENSE>
|
||||
|
||||
## github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/prometheus/common/blob/master/internal/bitbucket.org/ww/goautoneg/README.txt>
|
||||
|
||||
## github.com/spf13/pflag
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/spf13/pflag/blob/master/LICENSE>
|
||||
|
||||
## github.com/ulikunitz/xz
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/ulikunitz/xz/blob/master/LICENSE>
|
||||
|
||||
## github.com/vbatts/go-mtree
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**License URL:** <https://github.com/vbatts/go-mtree/blob/master/LICENSE>
|
||||
|
||||
## golang.org/x/crypto
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://golang.org/x/crypto>
|
||||
|
||||
## golang.org/x/net
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://golang.org/x/net>
|
||||
|
||||
## golang.org/x/sync/semaphore
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://golang.org/x/sync/semaphore>
|
||||
|
||||
## golang.org/x/sys/unix
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://golang.org/x/sys/unix>
|
||||
|
||||
## golang.org/x/term
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://golang.org/x/term>
|
||||
|
||||
## golang.org/x/text
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://golang.org/x/text>
|
||||
|
||||
## google.golang.org/protobuf
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://google.golang.org/protobuf>
|
||||
|
||||
## gopkg.in/square/go-jose.v2/json
|
||||
|
||||
**License:** BSD-3-Clause
|
||||
|
||||
**Project URL:** <https://gopkg.in/square/go-jose.v2/json>
|
||||
|
||||
## github.com/BurntSushi/toml
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/BurntSushi/toml/blob/master/COPYING>
|
||||
|
||||
## github.com/VividCortex/ewma
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/VividCortex/ewma/blob/master/LICENSE>
|
||||
|
||||
## github.com/acarl005/stripansi
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/acarl005/stripansi/blob/master/LICENSE>
|
||||
|
||||
## github.com/apex/log
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/apex/log/blob/master/LICENSE>
|
||||
|
||||
## github.com/beorn7/perks/quantile
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/beorn7/perks/blob/master/quantile/LICENSE>
|
||||
|
||||
## github.com/cespare/xxhash/v2
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/cespare/xxhash/blob/master/v2/LICENSE.txt>
|
||||
|
||||
## github.com/chzyer/readline
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/chzyer/readline/blob/master/LICENSE>
|
||||
|
||||
## github.com/cpuguy83/go-md2man/v2/md2man
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/cpuguy83/go-md2man/blob/master/v2/md2man/LICENSE.md>
|
||||
|
||||
## github.com/creasty/defaults
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/creasty/defaults/blob/master/LICENSE>
|
||||
|
||||
## github.com/docker/docker-credential-helpers
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/docker/docker-credential-helpers/blob/master/LICENSE>
|
||||
|
||||
## github.com/fatih/color
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/fatih/color/blob/master/LICENSE.md>
|
||||
|
||||
## github.com/ghodss/yaml
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/ghodss/yaml/blob/master/LICENSE>
|
||||
|
||||
## github.com/klauspost/compress/zstd/internal/xxhash
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/klauspost/compress/blob/master/zstd/internal/xxhash/LICENSE.txt>
|
||||
|
||||
## github.com/klauspost/pgzip
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/klauspost/pgzip/blob/master/LICENSE>
|
||||
|
||||
## github.com/mattn/go-colorable
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/mattn/go-colorable/blob/master/LICENSE>
|
||||
|
||||
## github.com/mattn/go-isatty
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/mattn/go-isatty/blob/master/LICENSE>
|
||||
|
||||
## github.com/mattn/go-runewidth
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/mattn/go-runewidth/blob/master/LICENSE>
|
||||
|
||||
## github.com/olekukonko/tablewriter
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/olekukonko/tablewriter/blob/master/LICENSE.md>
|
||||
|
||||
## github.com/sirupsen/logrus
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/sirupsen/logrus/blob/master/LICENSE>
|
||||
|
||||
## github.com/urfave/cli
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/urfave/cli/blob/master/LICENSE>
|
||||
|
||||
## github.com/vincent-petithory/dataurl
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**License URL:** <https://github.com/vincent-petithory/dataurl/blob/master/LICENSE>
|
||||
|
||||
## go.etcd.io/bbolt
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**Project URL:** <https://go.etcd.io/bbolt>
|
||||
|
||||
## go.mozilla.org/pkcs7
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**Project URL:** <https://go.mozilla.org/pkcs7>
|
||||
|
||||
## gopkg.in/yaml.v3
|
||||
|
||||
**License:** MIT
|
||||
|
||||
**Project URL:** <https://gopkg.in/yaml.v3>
|
||||
|
||||
## github.com/talos-systems/go-smbios/smbios
|
||||
|
||||
**License:** MPL-2.0
|
||||
|
||||
**License URL:** <https://github.com/talos-systems/go-smbios/blob/master/smbios/LICENSE>
|
||||
|
||||
## github.com/vbauerster/mpb/v5
|
||||
|
||||
**License:** Unknown
|
||||
|
||||
**Project URL:** <https://github.com/vbauerster/mpb/v5>
|
||||
|
||||
## github.com/vbauerster/mpb/v5/cwriter
|
||||
|
||||
**License:** Unknown
|
||||
|
||||
**Project URL:** <https://github.com/vbauerster/mpb/v5/cwriter>
|
||||
|
||||
## github.com/vbauerster/mpb/v5/decor
|
||||
|
||||
**License:** Unknown
|
||||
|
||||
**Project URL:** <https://github.com/vbauerster/mpb/v5/decor>
|
||||
|
||||
## github.com/vbauerster/mpb/v5/internal
|
||||
|
||||
**License:** Unknown
|
||||
|
||||
**Project URL:** <https://github.com/vbauerster/mpb/v5/internal>
|
||||
|
||||
63
scripts/update-license-dependencies.sh
Normal file
63
scripts/update-license-dependencies.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
go install github.com/google/go-licenses@v1.0.0
|
||||
|
||||
if [ -d "vendor" ]; then
|
||||
echo "Please remove vendor directory before running this script"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ ! -f "go.mod" ]; then
|
||||
echo "This script must be called from the project root directory,"
|
||||
echo "i.e. as scripts/update-license-dependencise.sh"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# Exclude ourselves
|
||||
exclude="github.com/hpcng/warewulf"
|
||||
|
||||
# Ensure a constant sort order
|
||||
export LC_ALL=C
|
||||
|
||||
go-licenses csv ./... | grep -v -E "${exclude}" | sort -k3,3 -k1,1 -t, > LICENSE_DEPENDENCIES.csv
|
||||
|
||||
# Header for the markdown file
|
||||
cat <<-'EOF' >LICENSE_DEPENDENCIES.md
|
||||
# Dependency Licenses
|
||||
|
||||
This project uses a number of dependencies, in accordance with their
|
||||
own license terms. These dependencies are managed via the project
|
||||
`go.mod` and `go.sum` files, and included in a `vendor/` directory in
|
||||
our official source tarballs.
|
||||
|
||||
A full build or package of Warewulf uses all dependencies listed
|
||||
below. If you `import "github.com/hpcng/warewulf"` into your own
|
||||
project then you may use a subset of them.
|
||||
|
||||
The dependencies and their licenses are as follows:
|
||||
|
||||
EOF
|
||||
|
||||
while IFS="," read -r dep url license; do
|
||||
{
|
||||
echo "## ${dep}"
|
||||
echo ""
|
||||
echo "**License:** ${license}"
|
||||
echo ""
|
||||
} >>LICENSE_DEPENDENCIES.md
|
||||
|
||||
# go-licenses can't work out the web url for non-github projects.
|
||||
# Fall back to using the dependency URL as a project URL
|
||||
if [ "${url}" = "Unknown" ]; then
|
||||
echo "**Project URL:** <https://${dep}>" >>LICENSE_DEPENDENCIES.md
|
||||
else
|
||||
echo "**License URL:** <${url}>" >>LICENSE_DEPENDENCIES.md
|
||||
fi
|
||||
echo "" >>LICENSE_DEPENDENCIES.md
|
||||
done <LICENSE_DEPENDENCIES.csv
|
||||
|
||||
# Clean up
|
||||
rm LICENSE_DEPENDENCIES.csv
|
||||
Reference in New Issue
Block a user