mirror of
https://gitlab.archlinux.org/archlinux/devtools.git
synced 2025-09-17 20:06:19 +02:00
Compare commits
9 Commits
feature/de
...
morten/reu
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a23569bb05 | ||
![]() |
40f31f98a3 | ||
![]() |
c6f5d72708 | ||
![]() |
b4a5e5dbd9 | ||
![]() |
4926d9d8c5 | ||
![]() |
7165e0d73e | ||
![]() |
8776dd39e8 | ||
![]() |
fb4bf96d24 | ||
![]() |
96eff02801 |
2
Makefile
2
Makefile
@@ -1,6 +1,6 @@
|
|||||||
SHELL=/bin/bash -o pipefail
|
SHELL=/bin/bash -o pipefail
|
||||||
|
|
||||||
V=1.3.1
|
V=1.3.2
|
||||||
BUILDTOOLVER ?= $(V)
|
BUILDTOOLVER ?= $(V)
|
||||||
|
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
# Flags used for the Rust compiler, similar in spirit to CFLAGS. Read
|
# Flags used for the Rust compiler, similar in spirit to CFLAGS. Read
|
||||||
# linkman:rustc[1] for more details on the available flags.
|
# linkman:rustc[1] for more details on the available flags.
|
||||||
RUSTFLAGS="-Cforce-frame-pointers=yes"
|
RUSTFLAGS="-C force-frame-pointers=yes"
|
||||||
|
|
||||||
# Additional compiler flags appended to `RUSTFLAGS` for use in debugging.
|
# Additional compiler flags appended to `RUSTFLAGS` for use in debugging.
|
||||||
# Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for
|
# Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for
|
||||||
|
@@ -61,7 +61,7 @@ _pkgctl_build_args=(
|
|||||||
'--update-checksums[Force computation and update of the checksums (disables auto-detection)]'
|
'--update-checksums[Force computation and update of the checksums (disables auto-detection)]'
|
||||||
'(-e --edit)'{-e,--edit}'[Edit the PKGBUILD before building]'
|
'(-e --edit)'{-e,--edit}'[Edit the PKGBUILD before building]'
|
||||||
'(-r --release)'{-r,--release}'[Automatically commit, tag and release after building]'
|
'(-r --release)'{-r,--release}'[Automatically commit, tag and release after building]'
|
||||||
'(-m --message=)'{-m,--message=}"[Use the given <msg> as the commit message]:message:"
|
'(-m --message)'{-m,--message}"[Use the given <msg> as the commit message]:message:"
|
||||||
'(-u --db-update)'{-u,--db-update}'[Automatically update the pacman database as last action]'
|
'(-u --db-update)'{-u,--db-update}'[Automatically update the pacman database as last action]'
|
||||||
'(-h --help)'{-h,--help}'[Display usage]'
|
'(-h --help)'{-h,--help}'[Display usage]'
|
||||||
'*:git_dir:_files -/'
|
'*:git_dir:_files -/'
|
||||||
@@ -201,7 +201,7 @@ _pkgctl_issue_view_args=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
_pkgctl_release_args=(
|
_pkgctl_release_args=(
|
||||||
'(-m --message=)'{-m,--message=}"[Use the given <msg> as the commit message]:message:"
|
'(-m --message)'{-m,--message}"[Use the given <msg> as the commit message]:message:"
|
||||||
'(-r --repo)'{-r,--repo}"[Specify a target repository for new packages]:repo:($DEVTOOLS_VALID_REPOS[*])"
|
'(-r --repo)'{-r,--repo}"[Specify a target repository for new packages]:repo:($DEVTOOLS_VALID_REPOS[*])"
|
||||||
'(-s --staging)'{-s,--staging}'[Release to the staging counterpart of the auto-detected repo]'
|
'(-s --staging)'{-s,--staging}'[Release to the staging counterpart of the auto-detected repo]'
|
||||||
'(-t --testing)'{-t,--testing}'[Release to the testing counterpart of the auto-detected repo]'
|
'(-t --testing)'{-t,--testing}'[Release to the testing counterpart of the auto-detected repo]'
|
||||||
|
@@ -23,7 +23,8 @@ Options
|
|||||||
Location of a pacman config file
|
Location of a pacman config file
|
||||||
|
|
||||||
*-M* <file>::
|
*-M* <file>::
|
||||||
Location of a makepkg config file
|
Location of a makepkg config file. Specific additions (e.g. build flags for
|
||||||
|
additional languages) can be placed in '<file>.d/*.conf'.
|
||||||
|
|
||||||
*-c* <dir>::
|
*-c* <dir>::
|
||||||
Set pacman cache, if no directory is specified the passed pacman.conf's cachedir is used with a fallback to '/etc/pacman.conf'
|
Set pacman cache, if no directory is specified the passed pacman.conf's cachedir is used with a fallback to '/etc/pacman.conf'
|
||||||
|
@@ -49,7 +49,8 @@ Options
|
|||||||
Set the pacman cache directory.
|
Set the pacman cache directory.
|
||||||
|
|
||||||
*-M* <file>::
|
*-M* <file>::
|
||||||
Location of a makepkg config file.
|
Location of a makepkg config file. Specific additions (e.g. build flags for
|
||||||
|
additional languages) can be placed in '<file>.d/*.conf'.
|
||||||
|
|
||||||
*-l* <chroot>::
|
*-l* <chroot>::
|
||||||
The directory name to use as the chroot namespace
|
The directory name to use as the chroot namespace
|
||||||
|
@@ -112,7 +112,13 @@ copy_hostconf () {
|
|||||||
[[ -n $host_cachemirrors ]] && printf 'CacheServer = %s\n' "${host_cachemirrors[@]}" >>"$working_dir/etc/pacman.d/mirrorlist"
|
[[ -n $host_cachemirrors ]] && printf 'CacheServer = %s\n' "${host_cachemirrors[@]}" >>"$working_dir/etc/pacman.d/mirrorlist"
|
||||||
|
|
||||||
[[ -n $pac_conf ]] && cp "$pac_conf" "$working_dir/etc/pacman.conf"
|
[[ -n $pac_conf ]] && cp "$pac_conf" "$working_dir/etc/pacman.conf"
|
||||||
[[ -n $makepkg_conf ]] && cp "$makepkg_conf" "$working_dir/etc/makepkg.conf"
|
if [[ -n $makepkg_conf ]]; then
|
||||||
|
cp "$makepkg_conf" "$working_dir/etc/makepkg.conf"
|
||||||
|
if [[ -d "${makepkg_conf}.d" ]] && is_globfile "${makepkg_conf}.d"/*.conf; then
|
||||||
|
mkdir --parents "$working_dir/etc/makepkg.conf.d/"
|
||||||
|
cp "${makepkg_conf}.d/"*.conf "$working_dir/etc/makepkg.conf.d/"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
local file
|
local file
|
||||||
for file in "${files[@]}"; do
|
for file in "${files[@]}"; do
|
||||||
|
@@ -120,6 +120,14 @@ if (( ${#validpgpkeys[@]} != 0 )); then
|
|||||||
git add --force -- keys/pgp/*
|
git add --force -- keys/pgp/*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Allow us to disable REUSE
|
||||||
|
_RUN_REUSE=${_RUN_REUSE:-1}
|
||||||
|
if ((_RUN_REUSE)); then
|
||||||
|
reuse download
|
||||||
|
reuse lint
|
||||||
|
git add --force -- LICENSES/*
|
||||||
|
fi
|
||||||
|
|
||||||
# find files which should be under source control
|
# find files which should be under source control
|
||||||
needsversioning=(PKGBUILD)
|
needsversioning=(PKGBUILD)
|
||||||
for s in "${source[@]}"; do
|
for s in "${source[@]}"; do
|
||||||
|
@@ -42,10 +42,10 @@ pkgctl_build_usage() {
|
|||||||
|
|
||||||
Build packages inside a clean chroot
|
Build packages inside a clean chroot
|
||||||
|
|
||||||
When a new pkgver is set using the appropriate PKGBUILD options the
|
Build packages in clean chroot environment, offering various options
|
||||||
checksums are automatically updated.
|
and functionalities to customize the package building process.
|
||||||
|
|
||||||
TODO
|
By default, chroot environments are located in /var/lib/archbuild/.
|
||||||
|
|
||||||
BUILD OPTIONS
|
BUILD OPTIONS
|
||||||
--arch ARCH Specify architectures to build for (disables auto-detection)
|
--arch ARCH Specify architectures to build for (disables auto-detection)
|
||||||
|
@@ -18,6 +18,9 @@ export LANG=C.UTF-8
|
|||||||
# Avoid systemd trying to color the terminal on systemd-nspawn
|
# Avoid systemd trying to color the terminal on systemd-nspawn
|
||||||
export SYSTEMD_TINT_BACKGROUND=no
|
export SYSTEMD_TINT_BACKGROUND=no
|
||||||
|
|
||||||
|
# Avoid diffoscope looking at remote debug info through readelf
|
||||||
|
unset DEBUGINFOD_URLS
|
||||||
|
|
||||||
# Set buildtool properties
|
# Set buildtool properties
|
||||||
export BUILDTOOL=devtools
|
export BUILDTOOL=devtools
|
||||||
export BUILDTOOLVER=@buildtoolver@
|
export BUILDTOOLVER=@buildtoolver@
|
||||||
|
@@ -93,14 +93,36 @@ get_makepkg_conf() {
|
|||||||
local fname=${1}
|
local fname=${1}
|
||||||
local arch="${2}"
|
local arch="${2}"
|
||||||
local makepkg_conf="${3}"
|
local makepkg_conf="${3}"
|
||||||
|
|
||||||
if ! buildtool_file=$(get_pkgfile "${fname}"); then
|
if ! buildtool_file=$(get_pkgfile "${fname}"); then
|
||||||
error "failed to retrieve ${fname}"
|
error "failed to retrieve ${fname}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
buildtool_file="${buildtool_file/file:\/\//}"
|
||||||
|
msg "using makepkg.conf from ${fname}"
|
||||||
|
|
||||||
|
# try to handle config of legacy devtools
|
||||||
|
if bsdtar --list --file "${buildtool_file}" "usr/share/devtools/makepkg-${arch}.conf" &>/dev/null; then
|
||||||
|
bsdtar --extract --to-stdout --fast-read --file "${buildtool_file}" "usr/share/devtools/makepkg-${arch}.conf" > "${makepkg_conf}"
|
||||||
|
return $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg2 "extracting ${arch}.conf from devtools archive"
|
||||||
|
if ! bsdtar --extract --to-stdout --fast-read --file "${buildtool_file}" "usr/share/devtools/makepkg.conf.d/${arch}.conf" > "${makepkg_conf}"; then
|
||||||
|
error "failed to extract 'usr/share/devtools/makepkg.conf.d/${arch}.conf' from devtools archive"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
msg2 "using makepkg.conf from ${fname}"
|
|
||||||
if ! bsdtar xOqf "${buildtool_file/file:\/\//}" "usr/share/devtools/makepkg.conf.d/${arch}.conf" > "${makepkg_conf}"; then
|
mkdir --parents "${makepkg_conf}.d"
|
||||||
bsdtar xOqf "${buildtool_file/file:\/\//}" "usr/share/devtools/makepkg-${arch}.conf" > "${makepkg_conf}"
|
if bsdtar --list --file "${buildtool_file}" "usr/share/devtools/makepkg.conf.d/conf.d" &>/dev/null; then
|
||||||
fi
|
msg2 "extracting conf.d from devtools archive"
|
||||||
|
bsdtar --extract --file "${buildtool_file}" --cd "${makepkg_conf}.d" --strip-components 4 "usr/share/devtools/makepkg.conf.d/conf.d"
|
||||||
|
fi
|
||||||
|
if bsdtar --list --file "${buildtool_file}" "usr/share/devtools/makepkg.conf.d/${arch}.conf.d" &>/dev/null; then
|
||||||
|
msg2 "extracting ${arch}.conf.d from devtools archive"
|
||||||
|
bsdtar --extract --file "${buildtool_file}" --cd "${makepkg_conf}.d" --strip-components 4 "usr/share/devtools/makepkg.conf.d/${arch}.conf.d"
|
||||||
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,7 +208,7 @@ for f in "${splitpkgs[@]}"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if (( ${#cache_dirs[@]} == 0 )); then
|
if (( ${#cache_dirs[@]} == 0 )); then
|
||||||
mapfile -t cache_dirs < <(pacman-conf CacheDir)
|
mapfile -t cache_dirs < <(pacman-conf CacheDir)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ORIG_HOME=${HOME}
|
ORIG_HOME=${HOME}
|
||||||
|
Reference in New Issue
Block a user