Compare commits

..

3 Commits

Author SHA1 Message Date
Christian Heusel
3f02a1a24c chore(release): version v1.2.1 2024-06-18 14:14:22 +02:00
Christian Heusel
1df0979da6 fix(common): guard the WORKDIR environment var
This avoids the unwanted removal of the folder if someone has already
pre-defined the variable.

Fixes #219

Suggested-by: Levente Polyak <anthraxx@archlinux.org>
Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-06-15 14:55:18 +02:00
Christian Heusel
c1a3ed224b misc: add a editorconfig to devtools
Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-06-11 22:04:58 +02:00
6 changed files with 34 additions and 52 deletions

15
.editorconfig Normal file
View File

@@ -0,0 +1,15 @@
# EditorConfig configuration for devtools
# https://editorconfig.org
# Top-most EditorConfig file
root = true
# Unix-style newlines without trailing whitespaces, but with a newline
# ending every file, utf-8 charset, set indent to tabs
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
indent_style = tab
tab_width = 4

View File

@@ -1,6 +1,6 @@
SHELL=/bin/bash -o pipefail
V=1.2.0
V=1.2.1
BUILDTOOLVER ?= $(V)
PREFIX = /usr/local

View File

@@ -7,8 +7,6 @@ _DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh
# shellcheck source=src/lib/util/srcinfo.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/util/srcinfo.sh
# shellcheck source=src/lib/state.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/state.sh
source /usr/share/makepkg/util/util.sh
@@ -236,9 +234,6 @@ declare -a uploads
declare -a commit_arches
declare -a skip_arches
BUILD_STATE_DIR=$(get_state_folder "build-state")
state_file=
for _arch in "${arch[@]}"; do
if [[ -n $commit_arch && ${_arch} != "$commit_arch" ]]; then
skip_arches+=("$_arch")
@@ -252,12 +247,6 @@ for _arch in "${arch[@]}"; do
skip_arches+=("$_arch")
continue 2
fi
state_file="${BUILD_STATE_DIR}/$(basename "${pkgfile}").txt"
if [[ -f "${state_file}" ]] && [[ $(cat "${state_file}") != "${repo}" ]]; then
error "%s was not built against '%s', aborting" "${pkgfile}" "${repo}"
exit 1
fi
uploads+=("$pkgfile")
done

View File

@@ -12,8 +12,6 @@ source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/db/update.sh
# shellcheck source=src/lib/release.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/release.sh
# shellcheck source=src/lib/state.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/state.sh
# shellcheck source=src/lib/util/git.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/util/git.sh
# shellcheck source=src/lib/util/srcinfo.sh
@@ -131,7 +129,6 @@ pkgctl_build() {
local PKGVER=
local PKGREL=
local MESSAGE=
local BUILD_STATE_DIR=
local paths=()
local BUILD_ARCH=()
@@ -307,8 +304,6 @@ pkgctl_build() {
fi
fi
BUILD_STATE_DIR=$(get_state_folder "build-state")
# assign default worker slot
if [[ -z ${WORKER_SLOT} ]] && ! WORKER_SLOT="$(tty | sed 's|/dev/pts/||')"; then
WORKER_SLOT=$(( RANDOM % $(nproc) + 1 ))
@@ -486,26 +481,25 @@ pkgctl_build() {
# shellcheck disable=SC2119
write_srcinfo_file
# shellcheck disable=2119
load_makepkg_config
# test-install (some of) the produced packages
if [[ ${INSTALL_TO_HOST} == auto ]] || [[ ${INSTALL_TO_HOST} == all ]]; then
# shellcheck disable=2119
load_makepkg_config
# this is inspired by print_all_package_names from libmakepkg
local version pkg_architecture pkg pkgfile
version=$(get_full_version)
# this is inspired by print_all_package_names from libmakepkg
local version pkg_architecture pkg pkgfile
version=$(get_full_version)
for pkg in "${pkgname[@]}"; do
pkg_architecture=$(get_pkg_arch "$pkg")
pkgpath=$(realpath "$(printf "%s\n" "${PKGDEST:-.}")")
pkgfile=$(printf "%s-%s-%s%s\n" "$pkg" "$version" "$pkg_architecture" "$PKGEXT")
for pkg in "${pkgname[@]}"; do
pkg_architecture=$(get_pkg_arch "$pkg")
pkgfile=$(realpath "$(printf "%s/%s-%s-%s%s\n" "${PKGDEST:-.}" "$pkg" "$version" "$pkg_architecture" "$PKGEXT")")
# check if we install all packages or if the (split-)package is already installed
if [[ ${INSTALL_TO_HOST} == all ]] || ( [[ ${INSTALL_TO_HOST} == auto ]] && pacman -Qq -- "$pkg" &>/dev/null ); then
INSTALL_HOST_PACKAGES+=("${pkgpath}/${pkgfile}")
fi
# save against which repo we have built the package
printf "%s" "${pkgrepo}" > "${BUILD_STATE_DIR}/${pkgfile}.txt"
done
# check if we install all packages or if the (split-)package is already installed
if [[ ${INSTALL_TO_HOST} == all ]] || ( [[ ${INSTALL_TO_HOST} == auto ]] && pacman -Qq -- "$pkg" &>/dev/null ); then
INSTALL_HOST_PACKAGES+=("$pkgfile")
fi
done
fi
# release the build
if (( RELEASE )); then

View File

@@ -120,6 +120,8 @@ print_workdir_error() {
}
_setup_workdir=false
# Ensure that there is no outside value for WORKDIR leaking in
unset WORKDIR
setup_workdir() {
[[ -z ${WORKDIR:-} ]] && WORKDIR=$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX")
_setup_workdir=true

View File

@@ -1,18 +0,0 @@
#!/hint/bash
#
# SPDX-License-Identifier: GPL-3.0-or-later
[[ -z ${DEVTOOLS_INCLUDE_STATE_SH:-} ]] || return 0
DEVTOOLS_INCLUDE_STATE_SH=1
set -e
readonly XDG_DEVTOOLS_STATE_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/devtools"
get_state_folder() {
local foldername=$1
local path="${XDG_DEVTOOLS_STATE_DIR}/${foldername}"
mkdir --parents -- "$path"
printf '%s' "${path}"
}