Compare commits

..

1 Commits

Author SHA1 Message Date
Sven-Hendrik Haase
287d2b4064 feat(commitpkg): Change warning to hard error when licensing information is absent
We originally had this as a warning to allow packagers some time for transitioning.
However, now the gloves come off and we will require all packages to have proper licensing
information.
2025-08-01 08:07:16 +02:00
4 changed files with 3 additions and 98 deletions

View File

@@ -123,10 +123,9 @@ fi
needsversioning=()
if [[ ! -e REUSE.toml || ! -e LICENSE || ! -d LICENSES ]]; then
# TODO: Make this a hard failure in the future after packagers have had
# some time to add licenses to all packages.
warning "package doesn't have proper licensing information, set it up using:"
error "package doesn't have proper licensing information, set it up using:"
msg2 'pkgctl license setup'
exit 1
else
pkgctl license check
needsversioning+=(REUSE.toml LICENSE LICENSES/*)
@@ -155,7 +154,7 @@ if (( ${#needsversioning[*]} )); then
if [[ ! -f "${file}" ]]; then
continue
fi
if ! git ls-files --error-unmatch "$file" >/dev/null; then
if ! git ls-files --error-unmatch "$file"; then
die "%s is not under version control" "$file"
fi
done

View File

@@ -191,9 +191,7 @@ path = [
".nvchecker.toml",
"*.install",
"*.sysusers",
"*sysusers.conf",
"*.tmpfiles",
"*tmpfiles.conf",
"*.logrotate",
"*.pam",
"*.service",

View File

@@ -31,7 +31,6 @@ pkgctl_repo_usage() {
clone Clone a package repository
configure Configure a clone according to distro specs
create Create a new GitLab package repository
star Star project in Gitlab
switch Switch a package repository to a specified version
web Open the packaging repository's website
@@ -44,7 +43,6 @@ pkgctl_repo_usage() {
$ ${COMMAND} clone --maintainer mynickname
$ ${COMMAND} configure *
$ ${COMMAND} create libfoo
$ ${COMMAND} star libfoo
$ ${COMMAND} switch 2:1.19.5-1 libfoo
$ ${COMMAND} web linux
_EOF_
@@ -95,14 +93,6 @@ pkgctl_repo() {
pkgctl_repo_create "$@"
exit 0
;;
star)
_DEVTOOLS_COMMAND+=" $1"
shift
# shellcheck source=src/lib/repo/star.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/star.sh
pkgctl_repo_star "$@"
exit 0
;;
switch)
_DEVTOOLS_COMMAND+=" $1"
shift

View File

@@ -1,82 +0,0 @@
#!/bin/bash
#
# SPDX-License-Identifier: GPL-3.0-or-later
[[ -z ${DEVTOOLS_INCLUDE_REPO_WEB_SH:-} ]] || return 0
DEVTOOLS_INCLUDE_REPO_WEB_SH=1
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
# shellcheck source=src/lib/common.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh
# shellcheck source=src/lib/api/gitlab.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/api/gitlab.sh
set -e
pkgctl_repo_star_usage() {
local -r COMMAND=${_DEVTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
cat <<- _EOF_
Usage: ${COMMAND} [OPTIONS] [PKGBASE]...
Stars the packaging repository in Gitlab. If called with no arguments
stars the package cloned in the current working directory.
OPTIONS
-h, --help Show this help text
EXAMPLES
$ ${COMMAND} star linux
_EOF_
}
pkgctl_repo_star() {
# options
local pkgbases=()
# option checking
while (( $# )); do
case $1 in
-h|--help)
pkgctl_repo_star_usage
exit 0
;;
--)
shift
break
;;
-*)
die "invalid argument: %s" "$1"
;;
*)
pkgbases=("$@")
break
;;
esac
done
[[ -z ${WORKDIR:-} ]] && setup_workdir
outfile=$(mktemp --tmpdir="${WORKDIR}" pkgctl-gitlab-api.XXXXXXXXXX)
for pkgbase in "${pkgbases[@]}"; do
if [[ ! -d ${pkgbase} ]]; then
local full_project_path="${GIT_PACKAGING_NAMESPACE}/$(gitlab_project_name_to_path "${pkgbase}")"
local encoded_project_path=${full_project_path//\//%2F}
# star GitLab project
if ! gitlab_api_call "${outfile}" POST "projects/${encoded_project_path}/star"; then
return 1
fi
if ! path=$(jq --raw-output --exit-status '.path' < "${outfile}"); then
msg_error " failed to query path: $(cat "${outfile}")"
return 1
fi
msg_success " ${pkgbase} starred ⭐"
else
warning "Can't find empty project"
fi
done
return 0
}