2023-12-31 21:59:50 +01:00
|
|
|
########################################################################
|
2024-01-01 23:15:04 +01:00
|
|
|
# OPENBSD PORT TOOLS
|
2023-12-31 21:59:50 +01:00
|
|
|
########################################################################
|
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
#
|
|
|
|
# CONFIGURATION
|
|
|
|
#
|
|
|
|
|
2024-01-02 09:47:52 +01:00
|
|
|
ME=sdk
|
2024-01-01 23:15:04 +01:00
|
|
|
MAKE_JOBS=$(sysctl -n hw.ncpuonline)
|
|
|
|
FETCH_JOBS=12
|
|
|
|
|
2024-01-02 09:47:52 +01:00
|
|
|
CVSROOT=$ME@cvs.openbsd.org:/cvs
|
2024-01-01 23:15:04 +01:00
|
|
|
|
2023-12-31 21:59:50 +01:00
|
|
|
case $(hostname -s) in
|
|
|
|
x13) PKGOPT="-Dsnap"; ;;
|
|
|
|
openbsd) PKGOPT="-Dsnap"; ;;
|
|
|
|
esac
|
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
#
|
|
|
|
# ALIASES
|
|
|
|
#
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
# navigation
|
|
|
|
alias port-jump="_portjump"
|
2024-01-02 09:47:52 +01:00
|
|
|
alias port-mark="_portmark"
|
|
|
|
alias port-last="_portlast"
|
|
|
|
alias port-out="_portout"
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
# cleaning
|
|
|
|
alias port-sweep="_portsweep"
|
|
|
|
alias port-clean="_portclean"
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
# making
|
|
|
|
alias port-refake="_refake"
|
|
|
|
alias port-reinstall="_reinstall"
|
|
|
|
alias port-repackage="_repackage"
|
|
|
|
alias port-remake="_remake"
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
# checking
|
|
|
|
alias port-check="_portcheck"
|
|
|
|
alias port-lib-depends-check="_portlibcheck"
|
2024-01-02 10:10:22 +01:00
|
|
|
alias port-homepage="_porthomepage"
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-02 09:47:52 +01:00
|
|
|
# generating
|
|
|
|
alias port-modcargo-gen-crates="_portmodcargo_gen"
|
|
|
|
alias port-modcargo-gen-licenses="_portmodcargo_genlic"
|
|
|
|
alias port-modgo-gen-modules="_portmodgoupdate"
|
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
# source control
|
2024-01-02 09:47:52 +01:00
|
|
|
alias port-diff="_portgendiff"
|
2024-01-01 23:15:04 +01:00
|
|
|
alias cvs-update="_cvsupdate"
|
|
|
|
alias cvs-update-all="_cvsupdateall"
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-02 09:47:52 +01:00
|
|
|
alias cvs-diff="_cvsdiff"
|
|
|
|
alias cvs-commit="_cvscommit"
|
|
|
|
alias cvs-release="_cvsrelease"
|
|
|
|
alias cvs-checkout="_cvscheckout"
|
|
|
|
|
|
|
|
# dpb
|
|
|
|
alias proot-rebuild="_prootrebuild"
|
|
|
|
alias proot-shell="_prootshell"
|
|
|
|
alias dpb-make="_dpbmake"
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-02 10:00:21 +01:00
|
|
|
# other
|
|
|
|
alias port-roach="portroach-cli -m codevoid"
|
|
|
|
alias developers="_listdevs"
|
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# FUNCTIONS
|
|
|
|
#
|
|
|
|
|
|
|
|
_portsweep() {
|
|
|
|
find . \( -name "*.orig" \
|
|
|
|
-o -name "*.rej" \
|
|
|
|
-o -empty \
|
|
|
|
\) -delete
|
2023-12-31 21:59:50 +01:00
|
|
|
}
|
2024-01-01 23:15:04 +01:00
|
|
|
|
|
|
|
_portjump() {
|
|
|
|
[ -z $1 ] && exit 0
|
|
|
|
{
|
|
|
|
cd /usr/ports \
|
|
|
|
&& cd $1 \
|
|
|
|
|| cd */$1 \
|
|
|
|
|| cd */$1* \
|
|
|
|
|| cd */*$1 \
|
|
|
|
|| cd */*$1*
|
|
|
|
} 2>/dev/null
|
2023-12-31 21:59:50 +01:00
|
|
|
}
|
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
_remake() {
|
|
|
|
make clean=all
|
|
|
|
make -j$FETCH_JOBS fetch
|
|
|
|
make
|
|
|
|
}
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
_repackage() {
|
2024-01-02 09:47:52 +01:00
|
|
|
make clean=packages
|
|
|
|
FETCH_PACKAGES=No make package
|
2023-12-31 21:59:50 +01:00
|
|
|
}
|
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
_refake() {
|
|
|
|
rm -f pkg/*.orig
|
|
|
|
make clean=fake
|
|
|
|
make fake"
|
|
|
|
}
|
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_reinstall() { make reinstall"; }
|
2024-01-01 23:15:04 +01:00
|
|
|
|
2024-01-02 09:47:52 +01:00
|
|
|
_portgendiff() {(
|
2024-01-01 23:15:04 +01:00
|
|
|
pwd | fgrep -q '/usr/ports/' || return 1
|
|
|
|
set -A N $(make show="PKGNAME EPOCH REVISION")
|
|
|
|
PN="${N[0]}${N[1]:+v${N[1]}}${N[2]:+p${N[2]}}"
|
|
|
|
PD=$(pwd | cut -d"/" -f4,5)
|
|
|
|
cd /usr/ports
|
|
|
|
cvs -d $CVSROOT diff -uNp "${PD}" > ~/diffs/${PN}.diff
|
|
|
|
echo ~/diffs/${PN}.diff
|
|
|
|
)}
|
|
|
|
|
|
|
|
_portclean() {(
|
2023-12-31 21:59:50 +01:00
|
|
|
set -x
|
|
|
|
cd /usr/ports
|
|
|
|
doas rm -rf pobj/* plist logs packages bulk update distfiles/*
|
|
|
|
mkdir -p plist logs packages bulk update
|
|
|
|
doas make fix-permissions
|
|
|
|
)}
|
2024-01-01 23:15:04 +01:00
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_cvscommand() { doas -u $ME cvs -d $CVSROOT $@; }
|
|
|
|
_cvsupdate() { _cvscommand -z1 -q up -Pd -A $@; }
|
2024-01-02 09:47:52 +01:00
|
|
|
|
2024-01-01 23:15:04 +01:00
|
|
|
_cvsupdateall() {(
|
|
|
|
set -x
|
|
|
|
cd /usr/src && _cvsupdate
|
|
|
|
cd /usr/xenocara && _cvsupdate
|
|
|
|
cd /usr/ports && _cvsupdate
|
|
|
|
cd /usr/www && _cvsupdate
|
|
|
|
)}
|
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_cvsdiff() { _cvscommand diff -uNp $@; }
|
|
|
|
_cvscommit() { _cvscommand commit $@; }
|
|
|
|
_cvsrelease() { _cvscommand release $@; }
|
|
|
|
_cvscheckout() { _cvscommand -q -z1 checkout -P $1; }
|
2024-01-01 23:15:04 +01:00
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_portmark() { pwd > /var/cache/pmark; }
|
|
|
|
_portlast() { cd "$(</var/cache/pmark)"; }
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-02 09:47:52 +01:00
|
|
|
_portout() {
|
|
|
|
cd "$(</var/cache/pmark)"
|
|
|
|
cd "$(make show=WRKSRC)"
|
|
|
|
}
|
2023-12-31 21:59:50 +01:00
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_porthomepage() { $BROWSER "$(make show=HOMEPAGE)" > /dev/null 2>&1 & }
|
2024-01-02 09:47:52 +01:00
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_portlibcheck() { make port-lib-depends-check; }
|
|
|
|
_portcheck() { /usr/ports/infrastructure/bin/portcheck; }
|
2024-01-02 09:47:52 +01:00
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_portmodgoupdate() { make MODGO_VERSION=latest modgo-gen-modules; }
|
|
|
|
_portmodcargo_gen() { make modcargo-gen-crates; }
|
|
|
|
_portmodcargo_genlic() { make modcargo-gen-crates-licenses; }
|
2024-01-02 09:47:52 +01:00
|
|
|
|
2024-01-02 10:23:08 +01:00
|
|
|
_dpbmake() {(
|
|
|
|
set -xe
|
2024-01-02 09:47:52 +01:00
|
|
|
doas chroot /home/dpb /tmp/installdeps.sh $1
|
|
|
|
doas /usr/ports/infrastructure/bin/dpb -B /home/dpb -c -I $1
|
2024-01-02 10:23:08 +01:00
|
|
|
)}
|
2024-01-02 09:47:52 +01:00
|
|
|
|
|
|
|
_prootrebuild() {
|
2023-12-31 21:59:50 +01:00
|
|
|
doas proot -c /etc/proot.conf
|
2024-01-02 10:23:08 +01:00
|
|
|
doas chroot /home/dpb pkg_add -Dsnap ccache gmake cmake meson ninja go rust
|
2024-01-02 09:47:52 +01:00
|
|
|
{
|
|
|
|
echo '#!/bin/sh -ex'
|
|
|
|
echo 'cd /usr/ports/$1'
|
|
|
|
echo 'FETCH_PACKAGES=-Dsnap make install-depends'
|
|
|
|
} > /home/dpb/tmp/installdeps.sh
|
|
|
|
chmod +x /home/dpb/tmp/installdeps.sh
|
2023-12-31 21:59:50 +01:00
|
|
|
}
|
|
|
|
|
2024-01-02 10:10:22 +01:00
|
|
|
_prootshell() { doas chroot /home/dpb/ ksh -i; }
|
|
|
|
|
|
|
|
_listdevs() {
|
|
|
|
ssh $ME@cvs.openbsd.org 'fgrep -v ksh- /etc/passwd' \
|
|
|
|
| egrep 111\|122 \
|
|
|
|
| grep -v gitsync \
|
|
|
|
| cut -d: -f1,5 | tr -s ',' \
|
|
|
|
| sed 's/,/, /g;s/,[, ]*$//g' \
|
|
|
|
| column -s":" -t \
|
|
|
|
| fzf -i -e
|
2024-01-02 09:47:52 +01:00
|
|
|
}
|
2024-01-02 10:10:22 +01:00
|
|
|
|