Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert #76586, restructure LICENSES file generation #85220

Merged
merged 2 commits into from Nov 13, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions Godeps/OWNERS

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions build/common.sh
Expand Up @@ -729,6 +729,8 @@ function kube::build::copy_output() {
--prune-empty-dirs \
--filter='- /_temp/' \
--filter='+ /vendor/' \
--filter='+ /Godeps/' \
--filter='+ /staging/***/Godeps/**' \
--filter='+ /_output/dockerized/bin/**' \
--filter='+ zz_generated.*' \
--filter='+ generated.proto' \
Expand Down
9 changes: 3 additions & 6 deletions build/lib/release.sh
Expand Up @@ -187,8 +187,7 @@ function kube::release::package_node_tarballs() {
cp "${client_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
"${release_stage}/node/bin/"

cp -R "${KUBE_ROOT}/vendor/ALL_LICENSES" "${release_stage}/"
cp "${KUBE_ROOT}/LICENSE" "${release_stage}/LICENSES"
cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/"

cp "${RELEASE_TARS}/kubernetes-src.tar.gz" "${release_stage}/"

Expand Down Expand Up @@ -253,8 +252,7 @@ function kube::release::package_server_tarballs() {
cp "${client_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
"${release_stage}/server/bin/"

cp -R "${KUBE_ROOT}/vendor/ALL_LICENSES" "${release_stage}/"
cp "${KUBE_ROOT}/LICENSE" "${release_stage}/LICENSES"
cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/"

cp "${RELEASE_TARS}/kubernetes-src.tar.gz" "${release_stage}/"

Expand Down Expand Up @@ -567,8 +565,7 @@ EOF

cp -R "${KUBE_ROOT}/docs" "${release_stage}/"
cp "${KUBE_ROOT}/README.md" "${release_stage}/"
cp -R "${KUBE_ROOT}/vendor/ALL_LICENSES" "${release_stage}/"
cp "${KUBE_ROOT}/LICENSE" "${release_stage}/LICENSES"
cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/"

echo "${KUBE_GIT_VERSION}" > "${release_stage}/version"

Expand Down
14 changes: 2 additions & 12 deletions build/release-tars/BUILD
Expand Up @@ -69,21 +69,12 @@ pkg_tar(
],
)

filegroup(
name = "all-licenses-files",
srcs = glob([
"vendor/ALL_LICENSES/*",
]),
visibility = ["//visibility:private"],
)

# Included in node and server tarballs.
filegroup(
name = "license-targets",
srcs = [
":all-licenses-files",
":kubernetes-src.tar.gz",
"//:LICENSE",
"//:Godeps/LICENSES",
],
visibility = ["//visibility:private"],
)
Expand Down Expand Up @@ -244,8 +235,7 @@ pkg_tar(
pkg_tar(
name = "kubernetes",
srcs = [
":all-licenses-files",
"//:LICENSE",
"//:Godeps/LICENSES",
"//:README.md",
"//:version",
"//cluster:all-srcs",
Expand Down
2 changes: 1 addition & 1 deletion cluster/gce/gci/configure.sh
Expand Up @@ -421,7 +421,7 @@ function install-kube-binary-config {
mv "${src_dir}/kubelet" "${KUBE_BIN}"
mv "${src_dir}/kubectl" "${KUBE_BIN}"

mv "${KUBE_HOME}/kubernetes/LICENSE" "${KUBE_HOME}"
mv "${KUBE_HOME}/kubernetes/LICENSES" "${KUBE_HOME}"
mv "${KUBE_HOME}/kubernetes/kubernetes-src.tar.gz" "${KUBE_HOME}"
fi

Expand Down
2 changes: 1 addition & 1 deletion hack/boilerplate/boilerplate.py
Expand Up @@ -155,7 +155,7 @@ def file_extension(filename):
return os.path.splitext(filename)[1].split(".")[-1].lower()


skipped_dirs = ['third_party', '_gopath', '_output', '.git', 'cluster/env.sh',
skipped_dirs = ['Godeps', 'third_party', '_gopath', '_output', '.git', 'cluster/env.sh',
"vendor", "test/e2e/generated/bindata.go", "hack/boilerplate/test",
"staging/src/k8s.io/kubectl/pkg/generated/bindata.go"]

Expand Down
58 changes: 19 additions & 39 deletions hack/update-vendor-licenses.sh
Expand Up @@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# Update the vendor/ALL_LICENSES document.
# Update the Godeps/LICENSES document.
# Generates a table of Godep dependencies and their license.
#
# Usage:
Expand All @@ -24,15 +24,12 @@
# additionally created files into the vendor auto-generated tree.
#
# Run every time a license file is added/modified within /vendor to
# update /vendor/ALL_LICENSES
# update /Godeps/LICENSES

set -o errexit
set -o nounset
set -o pipefail

KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh"

export LANG=C
export LC_ALL=C

Expand Down Expand Up @@ -133,6 +130,8 @@ process_content () {
#############################################################################
# MAIN
#############################################################################
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh"

export GO111MODULE=on

Expand All @@ -154,19 +153,8 @@ fi
LICENSE_ROOT="${LICENSE_ROOT:-${KUBE_ROOT}}"
cd "${LICENSE_ROOT}"

kube::util::ensure-temp-dir

# Save the genreated LICENSE file for each package temporarily
TMP_LICENSE_FILE="${KUBE_TEMP}/vendor.LICENSES.$$"

# The directory to save all the LICENSE files
VENDOR_LICENSE_DIR="${LICENSE_ROOT}/vendor/ALL_LICENSES"

# The tmp directory to save all the LICENSE files, will move to VENDOR_LICENSE_DIR
TMP_VENDOR_LICENSE_DIR="${KUBE_TEMP}/vendor.LICENSES.DIR.$$"

mkdir -p "${TMP_VENDOR_LICENSE_DIR}"

VENDOR_LICENSE_FILE="Godeps/LICENSES"
TMP_LICENSE_FILE="/tmp/Godeps.LICENSES.$$"
DEPS_DIR="vendor"
declare -Ag CONTENT

Expand All @@ -179,8 +167,7 @@ cat "${LICENSE_ROOT}/LICENSE"
echo
echo "= LICENSE $(kube::util::md5 "${LICENSE_ROOT}/LICENSE")"
echo "================================================================================"
) > "${TMP_LICENSE_FILE}"
mv "${TMP_LICENSE_FILE}" "${TMP_VENDOR_LICENSE_DIR}/LICENSE"
) > ${TMP_LICENSE_FILE}

# Loop through every vendored package
for PACKAGE in $(go list -m -json all | jq -r .Path | sort -f); do
Expand All @@ -197,10 +184,11 @@ for PACKAGE in $(go list -m -json all | jq -r .Path | sort -f); do
process_content "${PACKAGE}" COPYRIGHT
process_content "${PACKAGE}" COPYING

# copy content and throw error message
{
echo "= ${DEPS_DIR}/${PACKAGE} licensed under: ="
echo
# display content
echo
echo "================================================================================"
echo "= ${DEPS_DIR}/${PACKAGE} licensed under: ="
echo

file=""
if [[ -n "${CONTENT[${PACKAGE}-LICENSE]-}" ]]; then
Expand All @@ -223,20 +211,12 @@ Options:
__EOF__
exit 9
fi

cat "${file}"
echo
echo "= ${file} $(kube::util::md5 "${file}")"
} >> "${TMP_LICENSE_FILE}"

cat "${file}"

dest_dir="${TMP_VENDOR_LICENSE_DIR}/${PACKAGE}"
mkdir -p "${dest_dir}"
mv "${TMP_LICENSE_FILE}" "${dest_dir}/LICENSE"
done

if [[ -d "${VENDOR_LICENSE_DIR}" ]]; then
rm -r "${VENDOR_LICENSE_DIR}"
fi
mv "${TMP_VENDOR_LICENSE_DIR}" "${VENDOR_LICENSE_DIR}"
echo
echo "= ${file} $(kube::util::md5 "${file}")"
echo "================================================================================"
echo
done >> ${TMP_LICENSE_FILE}

cat ${TMP_LICENSE_FILE} > ${VENDOR_LICENSE_FILE}
5 changes: 3 additions & 2 deletions hack/update-vendor.sh
Expand Up @@ -340,10 +340,11 @@ kube::log::status "vendor: updating LICENSES file"
hack/update-vendor-licenses.sh >>"${LOG_FILE}" 2>&1

kube::log::status "vendor: creating OWNERS file"
rm -f "vendor/OWNERS"
cat <<__EOF__ > "vendor/OWNERS"
rm -f "Godeps/OWNERS" "vendor/OWNERS"
cat <<__EOF__ > "Godeps/OWNERS"
# See the OWNERS docs at https://go.k8s.io/owners

approvers:
- dep-approvers
__EOF__
cp "Godeps/OWNERS" "vendor/OWNERS"
15 changes: 3 additions & 12 deletions hack/verify-vendor-licenses.sh
Expand Up @@ -33,25 +33,16 @@ function cleanup {
}
kube::util::trap_add cleanup EXIT

#ln -s all subfolder except ALL_LICENSES in vendor
mkdir -p "${_tmpdir}/vendor"
for child in "${KUBE_ROOT}/vendor"/*
do
if [[ "${child}" == "${KUBE_ROOT}/vendor/ALL_LICENSES" ]] ; then
continue
else
ln -s "${child}" "${_tmpdir}/vendor"
fi
done

cp -r "${KUBE_ROOT}/Godeps" "${_tmpdir}/Godeps"
ln -s "${KUBE_ROOT}/LICENSE" "${_tmpdir}"
ln -s "${KUBE_ROOT}/vendor" "${_tmpdir}"
ln -s "${KUBE_ROOT}/staging" "${_tmpdir}"

# Update vendor Licenses
LICENSE_ROOT="${_tmpdir}" "${KUBE_ROOT}/hack/update-vendor-licenses.sh"

# Compare vendor Licenses
if ! _out="$(diff -Naupr "${KUBE_ROOT}/vendor/ALL_LICENSES" "${_tmpdir}/vendor/ALL_LICENSES")"; then
if ! _out="$(diff -Naupr "${KUBE_ROOT}/Godeps/LICENSES" "${_tmpdir}/Godeps/LICENSES")"; then
echo "Your vendor licenses file is out of date. Run hack/update-vendor-licenses.sh and commit the results." >&2
echo "${_out}" >&2
exit 1
Expand Down
2 changes: 1 addition & 1 deletion hack/verify-vendor.sh
Expand Up @@ -55,7 +55,7 @@ export GO111MODULE=on

pushd "${_kubetmp}" > /dev/null 2>&1
# Destroy deps in the copy of the kube tree
rm -rf ./vendor
rm -rf ./Godeps/LICENSES ./vendor

# Recreate the vendor tree using the nice clean set we just downloaded
hack/update-vendor.sh
Expand Down
4 changes: 2 additions & 2 deletions staging/publishing/rules-godeps.yaml
Expand Up @@ -121,7 +121,7 @@ rules:
go build .
# re-create vendor/ and try again
godep restore
rm -rf vendor/
rm -rf vendor/ Godeps/
godep save ./...
go build .
- destination: sample-controller
Expand Down Expand Up @@ -150,7 +150,7 @@ rules:

# re-create vendor/ and try again
godep restore
rm -rf vendor/
rm -rf vendor/ Godeps/
godep save ./...
go build .
- destination: apiextensions-apiserver
Expand Down