mirror of
https://gitlab.archlinux.org/archlinux/devtools.git
synced 2025-09-15 10:56:19 +02:00
Compare commits
9 Commits
v1.1.1
...
190-rebuil
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b095aeee61 | ||
![]() |
01b6b0849e | ||
![]() |
7033554e45 | ||
![]() |
40f476c649 | ||
![]() |
509dd24bdc | ||
![]() |
7a9ef3bc57 | ||
![]() |
354c9dcd12 | ||
![]() |
39eaeaa4b2 | ||
![]() |
c79a993148 |
@@ -8,7 +8,7 @@ build:
|
|||||||
stage: build
|
stage: build
|
||||||
needs: []
|
needs: []
|
||||||
script:
|
script:
|
||||||
- pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoc
|
- pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoctor
|
||||||
- make PREFIX=/usr
|
- make PREFIX=/usr
|
||||||
- make PREFIX=/usr DESTDIR=build install
|
- make PREFIX=/usr DESTDIR=build install
|
||||||
|
|
||||||
@@ -16,6 +16,6 @@ check:
|
|||||||
stage: test
|
stage: test
|
||||||
needs: []
|
needs: []
|
||||||
script:
|
script:
|
||||||
- pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoc shellcheck
|
- pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoctor shellcheck
|
||||||
- make check || true
|
- make check || true
|
||||||
- SHELLCHECK_OPTS="-S error" make check
|
- SHELLCHECK_OPTS="-S error" make check
|
||||||
|
4
Makefile
4
Makefile
@@ -92,10 +92,10 @@ $(eval $(call buildInScript,build/bin,src/,.in,755))
|
|||||||
$(eval $(call buildInScript,build/lib,src/lib/,,644))
|
$(eval $(call buildInScript,build/lib,src/lib/,,644))
|
||||||
$(foreach completion,$(wildcard contrib/completion/*),$(eval $(call buildInScript,build/$(completion),$(completion)/,.in,444)))
|
$(foreach completion,$(wildcard contrib/completion/*),$(eval $(call buildInScript,build/$(completion),$(completion)/,.in,444)))
|
||||||
|
|
||||||
$(BUILDDIR)/doc/man/%: doc/man/%.asciidoc doc/asciidoc.conf doc/man/include/footer.asciidoc
|
$(BUILDDIR)/doc/man/%: doc/man/%.asciidoc doc/man/include/footer.asciidoc
|
||||||
$(GEN_MSG)
|
$(GEN_MSG)
|
||||||
@mkdir -p $(BUILDDIR)/doc/man
|
@mkdir -p $(BUILDDIR)/doc/man
|
||||||
@a2x --no-xmllint --asciidoc-opts="-f doc/asciidoc.conf" -d manpage -f manpage --destination-dir=$(BUILDDIR)/doc/man -a pkgdatadir=$(DATADIR) $<
|
@asciidoctor --backend=manpage --destination-dir=$(BUILDDIR)/doc/man --attribute pkgdatadir=$(DATADIR) $<
|
||||||
|
|
||||||
conf:
|
conf:
|
||||||
@install -d $(BUILDDIR)/makepkg.conf.d
|
@install -d $(BUILDDIR)/makepkg.conf.d
|
||||||
|
@@ -95,7 +95,7 @@ Component: pkgctl db remove
|
|||||||
|
|
||||||
### Development Dependencies
|
### Development Dependencies
|
||||||
|
|
||||||
- asciidoc
|
- asciidoctor
|
||||||
- make
|
- make
|
||||||
- shellcheck
|
- shellcheck
|
||||||
|
|
||||||
|
@@ -41,13 +41,14 @@ CHOST="x86_64-pc-linux-gnu"
|
|||||||
#-- Compiler and Linker Flags
|
#-- Compiler and Linker Flags
|
||||||
#CPPFLAGS=""
|
#CPPFLAGS=""
|
||||||
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
||||||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
|
||||||
-fstack-clash-protection -fcf-protection"
|
-fstack-clash-protection -fcf-protection \
|
||||||
|
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
|
||||||
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
||||||
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
||||||
-Wl,-z,pack-relative-relocs"
|
-Wl,-z,pack-relative-relocs"
|
||||||
LTOFLAGS="-flto=auto"
|
LTOFLAGS="-flto=auto"
|
||||||
RUSTFLAGS=""
|
RUSTFLAGS="-Cforce-frame-pointers=yes"
|
||||||
#-- Make Flags: change this for DistCC/SMP systems
|
#-- Make Flags: change this for DistCC/SMP systems
|
||||||
#MAKEFLAGS="-j2"
|
#MAKEFLAGS="-j2"
|
||||||
#-- Debugging flags
|
#-- Debugging flags
|
||||||
|
@@ -41,13 +41,14 @@ CHOST="x86_64-pc-linux-gnu"
|
|||||||
#-- Compiler and Linker Flags
|
#-- Compiler and Linker Flags
|
||||||
#CPPFLAGS=""
|
#CPPFLAGS=""
|
||||||
CFLAGS="-march=x86-64-v3 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
CFLAGS="-march=x86-64-v3 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
||||||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
|
||||||
-fstack-clash-protection -fcf-protection"
|
-fstack-clash-protection -fcf-protection \
|
||||||
|
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
|
||||||
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
||||||
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
||||||
-Wl,-z,pack-relative-relocs"
|
-Wl,-z,pack-relative-relocs"
|
||||||
LTOFLAGS="-flto=auto"
|
LTOFLAGS="-flto=auto"
|
||||||
RUSTFLAGS=""
|
RUSTFLAGS="-Cforce-frame-pointers=yes"
|
||||||
#-- Make Flags: change this for DistCC/SMP systems
|
#-- Make Flags: change this for DistCC/SMP systems
|
||||||
#MAKEFLAGS="-j2"
|
#MAKEFLAGS="-j2"
|
||||||
#-- Debugging flags
|
#-- Debugging flags
|
||||||
|
@@ -48,8 +48,8 @@ _pkgctl_build_args=(
|
|||||||
'(-o --offload)'{-o,--offload}'[Build on a remote server and transfer artifacts afterwards]'
|
'(-o --offload)'{-o,--offload}'[Build on a remote server and transfer artifacts afterwards]'
|
||||||
'(-c --clean)'{-c,--clean}'[Recreate the chroot before building]'
|
'(-c --clean)'{-c,--clean}'[Recreate the chroot before building]'
|
||||||
"--inspect[Spawn an interactive shell to inspect the chroot (never, always, failure)]:inspect:($DEVTOOLS_VALID_INSPECT_MODES[*])"
|
"--inspect[Spawn an interactive shell to inspect the chroot (never, always, failure)]:inspect:($DEVTOOLS_VALID_INSPECT_MODES[*])"
|
||||||
'(-I --install-to-chroot)'{-I,--install-to-chroot}'[Install a package to the working copy of the chroot]:target:_files -g "*.pkg.tar.*(.)"'
|
'*'{-I,--install-to-chroot}'[Install a package to the working copy of the chroot]:target:_files -g "*.pkg.tar.*(.)"'
|
||||||
'(-i --install-to-host)'{-i,--install-to-host}"[Install the built packages to the host system]:mode:($DEVTOOLS_VALID_BUILD_INSTALL[*])"
|
'*'{-i,--install-to-host}"[Install the built packages to the host system]:mode:($DEVTOOLS_VALID_BUILD_INSTALL[*])"
|
||||||
'(-w --worker)'{-w,--worker}'[Name of the worker slot, useful for concurrent builds (disables auto-detection)]:slot:'
|
'(-w --worker)'{-w,--worker}'[Name of the worker slot, useful for concurrent builds (disables auto-detection)]:slot:'
|
||||||
'--nocheck[Do not run the check() function in the PKGBUILD]'
|
'--nocheck[Do not run the check() function in the PKGBUILD]'
|
||||||
'--pkgver=[Set pkgver, reset pkgrel and update checksums]:pkgver:'
|
'--pkgver=[Set pkgver, reset pkgrel and update checksums]:pkgver:'
|
||||||
@@ -168,8 +168,8 @@ _pkgctl_search_args=(
|
|||||||
_arch_nspawn_args=(
|
_arch_nspawn_args=(
|
||||||
'-C[Location of a pacman config file]:pacman_config:_files -g "*.conf(.)"'
|
'-C[Location of a pacman config file]:pacman_config:_files -g "*.conf(.)"'
|
||||||
'-M[Location of a makepkg config file]:makepkg_config:_files -g "*.conf(.)"'
|
'-M[Location of a makepkg config file]:makepkg_config:_files -g "*.conf(.)"'
|
||||||
'-c[Set pacman cache]:pacman_cache:_files -/'
|
'*-c[Set pacman cache]:pacman_cache:_files -/'
|
||||||
'-f[Copy file from the host to the chroot]:copy_file:_files'
|
'*-f[Copy file from the host to the chroot]:copy_file:_files'
|
||||||
'-s[Do not run setarch]'
|
'-s[Do not run setarch]'
|
||||||
'-h[Display usage]'
|
'-h[Display usage]'
|
||||||
'1:chroot_dir:_files -/'
|
'1:chroot_dir:_files -/'
|
||||||
@@ -211,11 +211,11 @@ _finddeps_args=(
|
|||||||
_makechrootpkg_args=(
|
_makechrootpkg_args=(
|
||||||
'-h[Display usage]'
|
'-h[Display usage]'
|
||||||
'-c[Clean the chroot before building]'
|
'-c[Clean the chroot before building]'
|
||||||
'-d[Bind directory into build chroot as read-write]:bind_dir_rw:_files -/'
|
'*-d[Bind directory into build chroot as read-write]:bind_dir_rw:_files -/'
|
||||||
'-D[Bind directory into build chroot as read-only]:bind_dir_ro:_files -/'
|
'*-D[Bind directory into build chroot as read-only]:bind_dir_ro:_files -/'
|
||||||
'-u[Update the working copy of the chroot before building]'
|
'-u[Update the working copy of the chroot before building]'
|
||||||
'-r[The chroot dir to use]:chroot_dir:_files -/'
|
'-r[The chroot dir to use]:chroot_dir:_files -/'
|
||||||
'-I[Install a package into the working copy]:target:_files -g "*.pkg.tar.*(.)"'
|
'*-I[Install a package into the working copy]:target:_files -g "*.pkg.tar.*(.)"'
|
||||||
'-l[The directory to use as the working copy]:copy_dir:_files -/'
|
'-l[The directory to use as the working copy]:copy_dir:_files -/'
|
||||||
'-n[Run namcap on the package]'
|
'-n[Run namcap on the package]'
|
||||||
'-T[Build in a temporary directory]'
|
'-T[Build in a temporary directory]'
|
||||||
|
@@ -1,37 +0,0 @@
|
|||||||
## linkman: macro
|
|
||||||
# Inspired by/borrowed from the GIT source tree at Documentation/asciidoc.conf
|
|
||||||
#
|
|
||||||
# Usage: linkman:command[manpage-section]
|
|
||||||
#
|
|
||||||
# Note, {0} is the manpage section, while {target} is the command.
|
|
||||||
#
|
|
||||||
# Show man link as: <command>(<section>); if section is defined, else just show
|
|
||||||
# the command.
|
|
||||||
|
|
||||||
[macros]
|
|
||||||
(?su)[\\]?(?P<name>linkman):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
|
|
||||||
|
|
||||||
[attributes]
|
|
||||||
asterisk=*
|
|
||||||
plus=+
|
|
||||||
caret=^
|
|
||||||
startsb=[
|
|
||||||
endsb=]
|
|
||||||
backslash=\
|
|
||||||
tilde=~
|
|
||||||
apostrophe='
|
|
||||||
backtick=`
|
|
||||||
litdd=--
|
|
||||||
|
|
||||||
ifdef::backend-docbook[]
|
|
||||||
[linkman-inlinemacro]
|
|
||||||
{0%{target}}
|
|
||||||
{0#<citerefentry>}
|
|
||||||
{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
|
|
||||||
{0#</citerefentry>}
|
|
||||||
endif::backend-docbook[]
|
|
||||||
|
|
||||||
ifdef::backend-xhtml11[]
|
|
||||||
[linkman-inlinemacro]
|
|
||||||
<a href="{target}.{0}.html">{target}{0?({0})}</a>
|
|
||||||
endif::backend-xhtml11[]
|
|
@@ -43,6 +43,6 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:devtools[7]
|
devtools(7)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -38,6 +38,6 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:find-libprovides[1]
|
find-libprovides(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -21,47 +21,47 @@ Programs
|
|||||||
The list below gives a short overview; see the respective documentation
|
The list below gives a short overview; see the respective documentation
|
||||||
for details.
|
for details.
|
||||||
|
|
||||||
linkman:pkgctl[1]
|
pkgctl(1)
|
||||||
Unified command-line frontend for devtools
|
Unified command-line frontend for devtools
|
||||||
|
|
||||||
linkman:archbuild[1]
|
archbuild(1)
|
||||||
Build an Arch Linux package inside a clean chroot
|
Build an Arch Linux package inside a clean chroot
|
||||||
|
|
||||||
linkman:arch-nspawn[1]
|
arch-nspawn(1)
|
||||||
Run a command or OS in a light-weight namespace container
|
Run a command or OS in a light-weight namespace container
|
||||||
|
|
||||||
linkman:checkpkg[1]
|
checkpkg(1)
|
||||||
Compare the current build package with the repository version
|
Compare the current build package with the repository version
|
||||||
|
|
||||||
linkman:diffpkg[1]
|
diffpkg(1)
|
||||||
Compare package files using different modes
|
Compare package files using different modes
|
||||||
|
|
||||||
linkman:export-pkgbuild-keys[1]
|
export-pkgbuild-keys(1)
|
||||||
Export valid source signing keys from a PKGBUILD
|
Export valid source signing keys from a PKGBUILD
|
||||||
|
|
||||||
linkman:find-libdeps[1]
|
find-libdeps(1)
|
||||||
Find soname dependencies for a package
|
Find soname dependencies for a package
|
||||||
|
|
||||||
linkman:find-libprovides[1]
|
find-libprovides(1)
|
||||||
Find soname's which are provided by a package
|
Find soname's which are provided by a package
|
||||||
|
|
||||||
linkman:lddd[1]
|
lddd(1)
|
||||||
Find broken library links on your system
|
Find broken library links on your system
|
||||||
|
|
||||||
linkman:mkarchroot[1]
|
mkarchroot(1)
|
||||||
Creates an arch chroot in a specified location with a specified set of
|
Creates an arch chroot in a specified location with a specified set of
|
||||||
packages
|
packages
|
||||||
|
|
||||||
linkman:makechrootpkg[1]
|
makechrootpkg(1)
|
||||||
Build a PKGBUILD in a given chroot environment
|
Build a PKGBUILD in a given chroot environment
|
||||||
|
|
||||||
linkman:makerepropkg[1]
|
makerepropkg(1)
|
||||||
Rebuild a package to see if it is reproducible
|
Rebuild a package to see if it is reproducible
|
||||||
|
|
||||||
linkman:offload-build[1]
|
offload-build(1)
|
||||||
Build a PKGBUILD on a remote server using makechrootpkg
|
Build a PKGBUILD on a remote server using makechrootpkg
|
||||||
|
|
||||||
linkman:sogrep[1]
|
sogrep(1)
|
||||||
Find packages using a linked to a given shared library
|
Find packages using a linked to a given shared library
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -20,6 +20,6 @@ collected data is written to a temporary directory created by mktemp.
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:ldd[1]
|
ldd(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -16,7 +16,7 @@ Given the path to a built pacman package(s), attempt to rebuild it using the
|
|||||||
PKGBUILD in the current directory. The package will be built in an environment
|
PKGBUILD in the current directory. The package will be built in an environment
|
||||||
as closely matching the environment of the initial package as possible, by
|
as closely matching the environment of the initial package as possible, by
|
||||||
building up a chroot to match the information exposed in the package's
|
building up a chroot to match the information exposed in the package's
|
||||||
linkman:BUILDINFO[5] manifest. On success, the resulting package will be
|
BUILDINFO(5) manifest. On success, the resulting package will be
|
||||||
compared to the input package, and makerepropkg will report whether the
|
compared to the input package, and makerepropkg will report whether the
|
||||||
artifacts are identical.
|
artifacts are identical.
|
||||||
|
|
||||||
|
@@ -44,6 +44,6 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pacman[1]
|
pacman(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -36,6 +36,6 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-db-remove[1]
|
pkgctl-db-remove(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -32,6 +32,6 @@ pkgctl aur drop-from-repo::
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-aur-drop-from-repo[1]
|
pkgctl-aur-drop-from-repo(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -35,6 +35,6 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-auth-status[1]
|
pkgctl-auth-status(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -27,6 +27,6 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-auth-login[1]
|
pkgctl-auth-login(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -32,7 +32,7 @@ pkgctl auth status::
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-auth-login[1]
|
pkgctl-auth-login(1)
|
||||||
linkman:pkgctl-auth-status[1]
|
pkgctl-auth-status(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -107,7 +107,7 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-release[1]
|
pkgctl-release(1)
|
||||||
linkman:pkgctl-db-update[1]
|
pkgctl-db-update(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
pkgctl-db-update(1)
|
pkgctl-db-update(1)
|
||||||
=================
|
===================
|
||||||
|
|
||||||
Name
|
Name
|
||||||
----
|
----
|
||||||
|
@@ -46,6 +46,6 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-db-update[1]
|
pkgctl-db-update(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -46,7 +46,7 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-repo-configure[1]
|
pkgctl-repo-configure(1)
|
||||||
linkman:pkgctl-repo-switch[1]
|
pkgctl-repo-switch(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -33,8 +33,8 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-auth[1]
|
pkgctl-auth(1)
|
||||||
linkman:pkgctl-repo-clone[1]
|
pkgctl-repo-clone(1)
|
||||||
linkman:pkgctl-repo-configure[1]
|
pkgctl-repo-configure(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -50,10 +50,10 @@ pkgctl repo web::
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-repo-clone[1]
|
pkgctl-repo-clone(1)
|
||||||
linkman:pkgctl-repo-configure[1]
|
pkgctl-repo-configure(1)
|
||||||
linkman:pkgctl-repo-create[1]
|
pkgctl-repo-create(1)
|
||||||
linkman:pkgctl-repo-switch[1]
|
pkgctl-repo-switch(1)
|
||||||
linkman:pkgctl-repo-web[1]
|
pkgctl-repo-web(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -66,6 +66,6 @@ Output Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-auth[1]
|
pkgctl-auth(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -28,8 +28,8 @@ required to track version changes from upstream sources.
|
|||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Uses linkman:nvchecker[1] and a `.nvchecker.toml` file located alongside the
|
Uses nvchecker(1) and a `.nvchecker.toml` file located alongside the
|
||||||
PKGBUILD. Refer to the configuration section in linkman:pkgctl-version[1].
|
PKGBUILD. Refer to the configuration section in pkgctl-version(1).
|
||||||
|
|
||||||
Options
|
Options
|
||||||
-------
|
-------
|
||||||
@@ -60,7 +60,7 @@ On exit, return one of the following codes:
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-version[1]
|
pkgctl-version(1)
|
||||||
linkman:nvchecker[1]
|
nvchecker(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -29,8 +29,8 @@ required to track and implement version changes from upstream sources.
|
|||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Uses linkman:nvchecker[1] and a `.nvchecker.toml` file located alongside the
|
Uses nvchecker(1) and a `.nvchecker.toml` file located alongside the
|
||||||
PKGBUILD. Refer to the configuration section in linkman:pkgctl-version[1].
|
PKGBUILD. Refer to the configuration section in pkgctl-version(1).
|
||||||
|
|
||||||
Options
|
Options
|
||||||
-------
|
-------
|
||||||
@@ -44,7 +44,7 @@ Options
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-version[1]
|
pkgctl-version(1)
|
||||||
linkman:nvchecker[1]
|
nvchecker(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -15,7 +15,7 @@ Description
|
|||||||
|
|
||||||
Commands related to package versions, including checks for outdated packages.
|
Commands related to package versions, including checks for outdated packages.
|
||||||
|
|
||||||
Uses linkman:nvchecker[1] and a `.nvchecker.toml` file located alongside the
|
Uses nvchecker(1) and a `.nvchecker.toml` file located alongside the
|
||||||
PKGBUILD.
|
PKGBUILD.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@@ -28,7 +28,7 @@ corresponding package.
|
|||||||
|
|
||||||
For detailed information on the various configuration options available for the
|
For detailed information on the various configuration options available for the
|
||||||
`.nvchecker.toml` file, refer to the configuration files section in
|
`.nvchecker.toml` file, refer to the configuration files section in
|
||||||
linkman:nvchecker[1]. This documentation provides insights into the possible
|
nvchecker(1). This documentation provides insights into the possible
|
||||||
options that can be utilized to customize the version checking process.
|
options that can be utilized to customize the version checking process.
|
||||||
|
|
||||||
To supply GitHub or GitLab tokens to nvchecker, a `keyfile.toml` should be
|
To supply GitHub or GitLab tokens to nvchecker, a `keyfile.toml` should be
|
||||||
@@ -54,7 +54,7 @@ pkgctl version upgrade::
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-version-check[1]
|
pkgctl-version-check(1)
|
||||||
linkman:pkgctl-version-upgrade[1]
|
pkgctl-version-upgrade(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -56,14 +56,14 @@ pkgctl version::
|
|||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
linkman:pkgctl-aur[1]
|
pkgctl-aur(1)
|
||||||
linkman:pkgctl-auth[1]
|
pkgctl-auth(1)
|
||||||
linkman:pkgctl-build[1]
|
pkgctl-build(1)
|
||||||
linkman:pkgctl-db[1]
|
pkgctl-db(1)
|
||||||
linkman:pkgctl-diff[1]
|
pkgctl-diff(1)
|
||||||
linkman:pkgctl-release[1]
|
pkgctl-release(1)
|
||||||
linkman:pkgctl-repo[1]
|
pkgctl-repo(1)
|
||||||
linkman:pkgctl-search[1]
|
pkgctl-search(1)
|
||||||
linkman:pkgctl-version[1]
|
pkgctl-version(1)
|
||||||
|
|
||||||
include::include/footer.asciidoc[]
|
include::include/footer.asciidoc[]
|
||||||
|
@@ -92,14 +92,19 @@ pkgctl_aur_drop_from_repo() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
for path in "${paths[@]}"; do
|
for path in "${paths[@]}"; do
|
||||||
if ! realpath=$(realpath -e "${path}"); then
|
# resolve symlink for basename
|
||||||
|
if ! realpath=$(realpath --canonicalize-existing -- "${path}"); then
|
||||||
die "No such directory: ${path}"
|
die "No such directory: ${path}"
|
||||||
fi
|
fi
|
||||||
|
# skip paths that are not directories
|
||||||
|
if [[ ! -d "${realpath}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
pkgbase=$(basename "${realpath}")
|
pkgbase=$(basename "${realpath}")
|
||||||
pkgbase=${pkgbase%.git}
|
pkgbase=${pkgbase%.git}
|
||||||
|
|
||||||
if [[ ! -d "${path}/.git" ]]; then
|
if [[ ! -d "${realpath}/.git" ]]; then
|
||||||
die "Not a Git repository: ${path}"
|
die "Not a Git repository: ${path}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -120,7 +125,6 @@ pkgctl_aur_drop_from_repo() {
|
|||||||
if [[ $(git symbolic-ref --quiet --short HEAD) == main ]]; then
|
if [[ $(git symbolic-ref --quiet --short HEAD) == main ]]; then
|
||||||
git branch --move master
|
git branch --move master
|
||||||
git config branch.master.merge refs/heads/master
|
git config branch.master.merge refs/heads/master
|
||||||
git remote set-head origin master
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# auto generate .SRCINFO if not already present
|
# auto generate .SRCINFO if not already present
|
||||||
@@ -137,11 +141,14 @@ pkgctl_aur_drop_from_repo() {
|
|||||||
if (( FORCE )); then
|
if (( FORCE )); then
|
||||||
AUR_OVERWRITE=1 \
|
AUR_OVERWRITE=1 \
|
||||||
GIT_SSH_COMMAND="ssh -o SendEnv=AUR_OVERWRITE" \
|
GIT_SSH_COMMAND="ssh -o SendEnv=AUR_OVERWRITE" \
|
||||||
git push --force origin master
|
git push --force --no-follow-tags origin master
|
||||||
else
|
else
|
||||||
git push origin master
|
git push --no-follow-tags origin master
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# update the local default branch in case this clone is used in the future
|
||||||
|
git remote set-head origin master
|
||||||
|
|
||||||
if (( DISOWN )); then
|
if (( DISOWN )); then
|
||||||
msg "Disowning ${pkgbase} on the AUR"
|
msg "Disowning ${pkgbase} on the AUR"
|
||||||
# shellcheck disable=SC2029
|
# shellcheck disable=SC2029
|
||||||
|
@@ -319,6 +319,10 @@ pkgctl_build() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
for path in "${paths[@]}"; do
|
for path in "${paths[@]}"; do
|
||||||
|
# skip paths that are not directories
|
||||||
|
if [[ ! -d "${path}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
pushd "${path}" >/dev/null
|
pushd "${path}" >/dev/null
|
||||||
|
|
||||||
if [[ ! -f PKGBUILD ]]; then
|
if [[ ! -f PKGBUILD ]]; then
|
||||||
|
234
src/lib/rebuild-todo.sh
Normal file
234
src/lib/rebuild-todo.sh
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
#!/hint/bash
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
[[ -z ${DEVTOOLS_INCLUDE_REBUILD_TODO_SH:-} ]] || return 0
|
||||||
|
DEVTOOLS_INCLUDE_REBUILD_TODO_SH=1
|
||||||
|
|
||||||
|
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
|
||||||
|
|
||||||
|
source /usr/share/makepkg/util/util.sh
|
||||||
|
|
||||||
|
# shellcheck source=src/lib/repo/clone.sh
|
||||||
|
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo/clone.sh
|
||||||
|
# shellcheck source=src/lib/build/build.sh
|
||||||
|
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/build/build.sh
|
||||||
|
# shellcheck source=src/lib/release.sh
|
||||||
|
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/release.sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
|
||||||
|
pkgctl_rebuild_todo_usage() {
|
||||||
|
local -r COMMAND=${_DEVTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
|
||||||
|
cat <<- _EOF_
|
||||||
|
Usage: ${COMMAND} [OPTIONS] URL
|
||||||
|
|
||||||
|
Rebuilds packages from a todo list.
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-h, --help Show this help text
|
||||||
|
-m, --message MSG Use the given <msg> as the commit message
|
||||||
|
-i, --ignore Give one or more pkgbases to ignore
|
||||||
|
-f, --maintainer Filter for one or more maintainers (orphan for orphan packages)
|
||||||
|
-o, --offload Build on a remote server and transfer artifacts afterwards
|
||||||
|
-e, --edit Edit PKGBUILD before building. Default when todo type is "Task"
|
||||||
|
-r, --repo REPO Specify a target repository (disables auto-detection)
|
||||||
|
-s, --staging Release to the staging counterpart of the auto-detected repo
|
||||||
|
-t, --testing Release to the testing counterpart of the auto-detected repo
|
||||||
|
-u, --db-update Automatically update the pacman database after uploading
|
||||||
|
--no-build Don't build PKGBUILD
|
||||||
|
--no-release Don't run commitpkg after building
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
TODO
|
||||||
|
_EOF_
|
||||||
|
}
|
||||||
|
|
||||||
|
pkgctl_rebuild_todo() {
|
||||||
|
if (( $# < 1 )); then
|
||||||
|
pkgctl_rebuild_todo_usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local URL=""
|
||||||
|
local REPO=""
|
||||||
|
|
||||||
|
local MAINTAINERS=()
|
||||||
|
local IGNORE_PKGBASES=()
|
||||||
|
local FILTER_REPOSITORY=("extra")
|
||||||
|
|
||||||
|
local DRY_RUN=0
|
||||||
|
local MESSAGE_SET=0
|
||||||
|
local NO_RELEASE=0
|
||||||
|
local NO_BUILD=0
|
||||||
|
|
||||||
|
local RELEASE_OPTIONS=("--staging")
|
||||||
|
local BUILD_OPTIONS=("--staging" "--rebuild")
|
||||||
|
|
||||||
|
local packages
|
||||||
|
|
||||||
|
# option checking
|
||||||
|
while (( $# )); do
|
||||||
|
case $1 in
|
||||||
|
-h|--help)
|
||||||
|
pkgctl_rebuild_todo_usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--dry-run)
|
||||||
|
DRY_RUN=1
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-f|--maintainer)
|
||||||
|
(( $# <= 1 )) && die "missing argument for %s" "$1"
|
||||||
|
MAINTAINERS+=("$2")
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-i|--ignore)
|
||||||
|
(( $# <= 1 )) && die "missing argument for %s" "$1"
|
||||||
|
IGNORE_PKGBASES+=("$2")
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-o|--offload)
|
||||||
|
BUILD_OPTIONS+=("--offload")
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-e|--edit)
|
||||||
|
BUILD_OPTIONS+=("--edit")
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-m|--message)
|
||||||
|
(( $# <= 1 )) && die "missing argument for %s" "$1"
|
||||||
|
MESSAGE_SET=1
|
||||||
|
RELEASE_OPTIONS+=("--message" "$2")
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-s|--staging)
|
||||||
|
RELEASE_OPTIONS+=("--staging")
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-t|--testing)
|
||||||
|
RELEASE_OPTIONS+=("--testing")
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--no-release)
|
||||||
|
NO_RELEASE=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--no-build)
|
||||||
|
NO_BUILD=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
die "invalid option: %s" "$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [[ ! "$1" == https* ]]; then
|
||||||
|
die "Missing url!"
|
||||||
|
fi
|
||||||
|
URL="$1"
|
||||||
|
if [[ ! "$URL" == */ ]]; then
|
||||||
|
URL+="/"
|
||||||
|
fi
|
||||||
|
if [[ ! "$URL" == *json ]]; then
|
||||||
|
URL+="json"
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# TODO: setup default values for options
|
||||||
|
|
||||||
|
while read -r json; do
|
||||||
|
readarray -t packages < <(jq --slurpfile repo <(printf '"%s" ' "${FILTER_REPOSITORY[@]}") \
|
||||||
|
--slurpfile maint <(printf '"%s" ' "${MAINTAINERS[@]}") \
|
||||||
|
-r '.created as $created
|
||||||
|
| .packages[]
|
||||||
|
| select(.status_str == "Incomplete" )
|
||||||
|
| select([.repo] | inside($repo))
|
||||||
|
| select(($maint[0] == "") or (($maint[0] == "orphan") and .maintainers == []) or (select(.maintainers | any([.] | inside($maint)))))
|
||||||
|
| "\(.pkgbase)"' \
|
||||||
|
- <<< "$json" | sort -u)
|
||||||
|
|
||||||
|
# This removes any elements we have ignored.... it's not pretty
|
||||||
|
readarray -t packages < <(comm -1 -3 <(printf "%s\n" "${IGNORE_PKGBASES[@]}" | sort) <(printf "%s\n" "${packages[@]}"| sort))
|
||||||
|
|
||||||
|
# Default to include the list name in the commit message
|
||||||
|
if (( ! MESSAGE_SET )); then
|
||||||
|
RELEASE_OPTIONS+=("--message" "$(jq -r '.name' - <<< "$json")")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If we are doing a Task we probably want to edit the PKGBUILD
|
||||||
|
if [[ "$(jq -r '.kind' - <<< "$json")" == "Task" ]]; then
|
||||||
|
BUILD_OPTIONS+=("--edit")
|
||||||
|
fi
|
||||||
|
done <<< "$(curl -s "$URL")"
|
||||||
|
|
||||||
|
if (( DRY_RUN )); then
|
||||||
|
msg "Would rebuild the following packages:"
|
||||||
|
msg2 '%s' "${packages[@]}"
|
||||||
|
msg "by running the following for each:"
|
||||||
|
if ! ((NO_BUILD)); then
|
||||||
|
msg2 "pkgctl build ${BUILD_OPTIONS[*]}"
|
||||||
|
fi
|
||||||
|
if ! ((NO_RELEASE)); then
|
||||||
|
msg2 "pkgctl release ${RELEASE_OPTIONS[*]}"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( 0 == ${#packages[@]} )); then
|
||||||
|
die "No packages to rebuild!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg "Rebuilding the following packages:"
|
||||||
|
msg2 '%s' "${packages[@]}"
|
||||||
|
msg "Press [Enter] to continue..."
|
||||||
|
read <&1
|
||||||
|
|
||||||
|
[[ -z ${WORKDIR:-} ]] && setup_workdir
|
||||||
|
pushd "$WORKDIR" &>/dev/null
|
||||||
|
|
||||||
|
# TODO set -j 1 to circumvent bug in repo clone
|
||||||
|
msg "Clone the pacakges"
|
||||||
|
if ! pkgctl_repo_clone -j 1 "${packages[@]}"; then
|
||||||
|
die "error while cloning packages"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for pkg in "${packages[@]}"; do
|
||||||
|
pushd "$pkg" &>/dev/null
|
||||||
|
|
||||||
|
# This should help us figure out if the package is already built
|
||||||
|
readarray -t pkgs < <(makepkg --packagelist)
|
||||||
|
if [[ -f ${pkgs[0]} ]]; then
|
||||||
|
msg "${pkg[0]} has already been rebuilt!"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! ((NO_BUILD)); then
|
||||||
|
SKIP_BUILD=0
|
||||||
|
while true; do
|
||||||
|
# TODO: it seems like pkgctl build does not set the exit code correctly if (offload?) build fails
|
||||||
|
if pkgctl_build "${BUILD_OPTIONS[@]}"; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
error "We failed to build! You are in a subshell to fix the build. Exit the shell to build again."
|
||||||
|
$SHELL || true
|
||||||
|
read -p "Skip build? [N/y] " -n 1 -r
|
||||||
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
SKIP_BUILD=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if ((SKIP_BUILD)); then
|
||||||
|
popd &>/dev/null
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if ! ((NO_RELEASE)); then
|
||||||
|
pkgctl_release "${RELEASE_OPTIONS[@]}"
|
||||||
|
fi
|
||||||
|
popd &>/dev/null
|
||||||
|
done
|
||||||
|
}
|
@@ -207,9 +207,14 @@ pkgctl_repo_configure() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
for path in "${paths[@]}"; do
|
for path in "${paths[@]}"; do
|
||||||
if ! realpath=$(realpath -e "${path}"); then
|
# resolve symlink for basename
|
||||||
|
if ! realpath=$(realpath --canonicalize-existing -- "${path}"); then
|
||||||
die "No such directory: ${path}"
|
die "No such directory: ${path}"
|
||||||
fi
|
fi
|
||||||
|
# skip paths that aren't directories
|
||||||
|
if [[ ! -d "${realpath}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
pkgbase=$(basename "${realpath}")
|
pkgbase=$(basename "${realpath}")
|
||||||
pkgbase=${pkgbase%.git}
|
pkgbase=${pkgbase%.git}
|
||||||
|
@@ -101,16 +101,21 @@ pkgctl_repo_switch() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
for path in "${paths[@]}"; do
|
for path in "${paths[@]}"; do
|
||||||
if ! realpath=$(realpath -e -- "${path}"); then
|
# resolve symlink for basename
|
||||||
|
if ! realpath=$(realpath --canonicalize-existing -- "${path}"); then
|
||||||
die "No such directory: ${path}"
|
die "No such directory: ${path}"
|
||||||
fi
|
fi
|
||||||
pkgbase=$(basename "${realpath}")
|
# skip paths that are not directories
|
||||||
|
if [[ ! -d "${realpath}" ]]; then
|
||||||
if [[ ! -d "${path}/.git" ]]; then
|
continue
|
||||||
|
fi
|
||||||
|
# skip paths that are not git repositories
|
||||||
|
if [[ ! -d "${realpath}/.git" ]]; then
|
||||||
error "Not a Git repository: ${path}"
|
error "Not a Git repository: ${path}"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
pkgbase=$(basename "${realpath}")
|
||||||
if ! git -C "${path}" checkout "${GIT_CHECKOUT_OPTIONS[@]}" "${GIT_REF}"; then
|
if ! git -C "${path}" checkout "${GIT_CHECKOUT_OPTIONS[@]}" "${GIT_REF}"; then
|
||||||
die "Failed to switch ${pkgbase} to version ${VERSION}"
|
die "Failed to switch ${pkgbase} to version ${VERSION}"
|
||||||
fi
|
fi
|
||||||
|
@@ -108,6 +108,10 @@ pkgctl_version_check() {
|
|||||||
term_spinner_start "${status_dir}"
|
term_spinner_start "${status_dir}"
|
||||||
|
|
||||||
for path in "${pkgbases[@]}"; do
|
for path in "${pkgbases[@]}"; do
|
||||||
|
# skip paths that are not directories
|
||||||
|
if [[ ! -d "${path}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
pushd "${path}" >/dev/null
|
pushd "${path}" >/dev/null
|
||||||
|
|
||||||
if [[ ! -f "PKGBUILD" ]]; then
|
if [[ ! -f "PKGBUILD" ]]; then
|
||||||
|
@@ -99,6 +99,10 @@ pkgctl_version_upgrade() {
|
|||||||
term_spinner_start "${status_dir}"
|
term_spinner_start "${status_dir}"
|
||||||
|
|
||||||
for path in "${pkgbases[@]}"; do
|
for path in "${pkgbases[@]}"; do
|
||||||
|
# skip paths that aren't directories
|
||||||
|
if [[ ! -d "${path}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
pushd "${path}" >/dev/null
|
pushd "${path}" >/dev/null
|
||||||
|
|
||||||
if [[ ! -f "PKGBUILD" ]]; then
|
if [[ ! -f "PKGBUILD" ]]; then
|
||||||
|
@@ -23,6 +23,7 @@ fi
|
|||||||
repo=extra
|
repo=extra
|
||||||
arch=x86_64
|
arch=x86_64
|
||||||
server=build.archlinux.org
|
server=build.archlinux.org
|
||||||
|
rsyncopts=(-e ssh -c -h -L --progress --partial -y)
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<- _EOF_
|
cat <<- _EOF_
|
||||||
@@ -124,7 +125,7 @@ mapfile -t files < <(
|
|||||||
|
|
||||||
if (( ${#files[@]} )); then
|
if (( ${#files[@]} )); then
|
||||||
printf '%s\n' '' '-> copying files...'
|
printf '%s\n' '' '-> copying files...'
|
||||||
scp "${files[@]/#/$server:}" "${TEMPDIR}/"
|
rsync "${rsyncopts[@]}" "${files[@]/#/$server:}" "${TEMPDIR}/" || die
|
||||||
mv "${TEMPDIR}"/*.pkg.tar* "${PKGDEST:-${PWD}}/"
|
mv "${TEMPDIR}"/*.pkg.tar* "${PKGDEST:-${PWD}}/"
|
||||||
mv "${TEMPDIR}/PKGBUILD" "${PWD}/"
|
mv "${TEMPDIR}/PKGBUILD" "${PWD}/"
|
||||||
else
|
else
|
||||||
|
@@ -19,15 +19,16 @@ usage() {
|
|||||||
Unified command-line frontend for devtools.
|
Unified command-line frontend for devtools.
|
||||||
|
|
||||||
COMMANDS
|
COMMANDS
|
||||||
aur Interact with the Arch User Repository
|
aur Interact with the Arch User Repository
|
||||||
auth Authenticate with services like GitLab
|
auth Authenticate with services like GitLab
|
||||||
build Build packages inside a clean chroot
|
build Build packages inside a clean chroot
|
||||||
db Pacman database modification for package update, move etc
|
db Pacman database modification for package update, move etc
|
||||||
diff Compare package files using different modes
|
diff Compare package files using different modes
|
||||||
release Release step to commit, tag and upload build artifacts
|
release Release step to commit, tag and upload build artifacts
|
||||||
repo Manage Git packaging repositories and their configuration
|
repo Manage Git packaging repositories and their configuration
|
||||||
search Search for an expression across the GitLab packaging group
|
search Search for an expression across the GitLab packaging group
|
||||||
version Check and manage package versions against upstream
|
rebuild-todo Rebuilds packages from a todo list.
|
||||||
|
version Check and manage package versions against upstream
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-h, --help Show this help text
|
-h, --help Show this help text
|
||||||
@@ -112,6 +113,14 @@ while (( $# )); do
|
|||||||
pkgctl_release "$@"
|
pkgctl_release "$@"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
rebuild-todo)
|
||||||
|
_DEVTOOLS_COMMAND+=" $1"
|
||||||
|
shift
|
||||||
|
# shellcheck source=src/lib/rebuild-todo.sh
|
||||||
|
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/rebuild-todo.sh
|
||||||
|
pkgctl_rebuild_todo "$@"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
search)
|
search)
|
||||||
_DEVTOOLS_COMMAND+=" $1"
|
_DEVTOOLS_COMMAND+=" $1"
|
||||||
shift
|
shift
|
||||||
|
Reference in New Issue
Block a user