Set up poudriere to build pkgbase.
This commit is contained in:
30
ansible/roles/poudriere/files/currentznver4_src.conf
Normal file
30
ansible/roles/poudriere/files/currentznver4_src.conf
Normal file
@@ -0,0 +1,30 @@
|
||||
CPUTYPE?=znver4
|
||||
WITH_MALLOC_PRODUCTION=YES
|
||||
WITHOUT_LLVM_ASSERTIONS=YES
|
||||
WITH_REPRODUCIBLE_BUILD=YES
|
||||
|
||||
# Would be fun to experiment with:
|
||||
# WITHOUT_SOURCELESS=YES
|
||||
# WITHOUT_GAMES=YES
|
||||
# WITHOUT_KERBEROS=YES
|
||||
# WITHOUT_LEGACY_CONSOLE=YES
|
||||
# WITHOUT_LIB32=YES
|
||||
# WITHOUT_LOADER_GELI=YES
|
||||
# WITHOUT_MLX5TOOL=YES
|
||||
# WITHOUT_NDIS=YES
|
||||
# WITHOUT_OFED=YES
|
||||
# WITHOUT_PPP=YES
|
||||
# WITH_SORT_THREADS=YES
|
||||
# WITHOUT_TALK=YES
|
||||
# WITHOUT_TCSH=YES
|
||||
|
||||
|
||||
# Questionable Optimizations
|
||||
WITHOUT_FLOPPY=YES
|
||||
WITHOUT_HTML=YES
|
||||
WITHOUT_IPFW=YES
|
||||
WITHOUT_IPFILTER=YES
|
||||
WITHOUT_LLVM_TARGET_ALL=YES
|
||||
|
||||
# Commented out because maybe I want email alerts for failing disks
|
||||
# WITHOUT_MAIL=YES
|
||||
@@ -13,12 +13,12 @@ desc="Poudriere Loop"
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
: ${poudboot_enable:=YES}
|
||||
: ${poudboot_enable:=NO}
|
||||
|
||||
command=/usr/sbin/daemon
|
||||
pidfile=/var/run/${name}.pid
|
||||
|
||||
command_args="-p $pidfile -u root -f -S -T $name poudboot start"
|
||||
command_args="-p $pidfile -u root -f -S -T $name nice -n 10 poudboot start"
|
||||
|
||||
export PATH="${PATH}:/usr/local/bin"
|
||||
run_rc_command "$1"
|
||||
|
||||
@@ -8,6 +8,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
: ${LOCKFILE:="/var/run/poudboot.lock"}
|
||||
: ${INFO_DIR:="/opt/poudriere/run_info"}
|
||||
: ${PORT_UPDATE_SECONDS:="86400"}
|
||||
: ${CLEAN_SECONDS:="1209600"}
|
||||
: ${BUILD_SECONDS:="7200"}
|
||||
: ${LOG_RETENTION_DAYS:="30"}
|
||||
|
||||
@@ -67,7 +68,7 @@ function abort_if_jobs_running {
|
||||
}
|
||||
|
||||
function build {
|
||||
poudriere pkgclean -y "$@"
|
||||
poudriere pkgclean -v -y "$@"
|
||||
poudriere bulk -J "${POUDRIERE_JOBS:-1}" "$@"
|
||||
}
|
||||
|
||||
@@ -88,6 +89,7 @@ function cmd_start {
|
||||
mkdir -p "$RUN_DIR"
|
||||
local PORTUPDATE=0
|
||||
local LASTBUILD=0
|
||||
local LASTCLEAN=0
|
||||
if [ -e "$TIMES_FILE" ]; then
|
||||
source "$TIMES_FILE"
|
||||
fi
|
||||
@@ -97,19 +99,25 @@ function cmd_start {
|
||||
portshaker -U
|
||||
portshaker -M
|
||||
PORTUPDATE=$(date +%s)
|
||||
# Cleanup old unused dist files
|
||||
poudriere distclean -y -p "$PORTS" -f /usr/local/etc/poudriere.d/$JAIL-$PORTS-$SET-pkglist
|
||||
poudriere logclean -y "$LOG_RETENTION_DAYS"
|
||||
fi
|
||||
if [ $((now - LASTBUILD)) -gt "$BUILD_SECONDS" ]; then
|
||||
log "Building ports for $JAIL-$PORTS-$SET"
|
||||
build -j "$JAIL" -p "$PORTS" -z "$SET" -f /usr/local/etc/poudriere.d/$JAIL-$PORTS-$SET-pkglist
|
||||
LASTBUILD=$(date +%s)
|
||||
fi
|
||||
if [ $((now - LASTCLEAN)) -gt "$CLEAN_SECONDS" ]; then
|
||||
log "Cleaning for $JAIL-$PORTS-$SET"
|
||||
# Cleanup old unused dist files
|
||||
poudriere distclean -v -y -p "$PORTS" -f /usr/local/etc/poudriere.d/$JAIL-$PORTS-$SET-pkglist
|
||||
poudriere logclean -v -y "$LOG_RETENTION_DAYS"
|
||||
# TODO: Should clean be a global ?
|
||||
LASTCLEAN=$(date +%s)
|
||||
fi
|
||||
|
||||
cat > "$TIMES_FILE" <<EOF
|
||||
PORTUPDATE=$PORTUPDATE
|
||||
LASTBUILD=$LASTBUILD
|
||||
LASTCLEAN=$LASTCLEAN
|
||||
EOF
|
||||
)
|
||||
done
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
# This file is auto-generated by 'make config'.
|
||||
# Options for emacs-29.1,3
|
||||
_OPTIONS_READ=emacs-29.1,3
|
||||
_FILE_COMPLETE_OPTIONS_LIST=ACL DBUS GNUTLS GSETTINGS HARFBUZZ JSON LCMS2 M17N MAILUTILS MODULES NATIVECOMP OTF PGTK SCROLLBARS SOURCES SQLITE3 THREADS TREESITTER XFT XIM XML XWIDGETS GFILE KQUEUE ALSA OSS GTK2 GTK3 MOTIF XAW XAW3D CAIRO GIF JPEG MAGICK PNG SVG TIFF WEBP XPM
|
||||
OPTIONS_FILE_SET+=ACL
|
||||
OPTIONS_FILE_SET+=DBUS
|
||||
OPTIONS_FILE_SET+=GNUTLS
|
||||
OPTIONS_FILE_SET+=GSETTINGS
|
||||
OPTIONS_FILE_SET+=HARFBUZZ
|
||||
OPTIONS_FILE_SET+=JSON
|
||||
OPTIONS_FILE_SET+=LCMS2
|
||||
OPTIONS_FILE_UNSET+=M17N
|
||||
OPTIONS_FILE_SET+=MAILUTILS
|
||||
OPTIONS_FILE_SET+=MODULES
|
||||
OPTIONS_FILE_SET+=NATIVECOMP
|
||||
OPTIONS_FILE_SET+=OTF
|
||||
OPTIONS_FILE_SET+=PGTK
|
||||
OPTIONS_FILE_SET+=SCROLLBARS
|
||||
OPTIONS_FILE_SET+=SOURCES
|
||||
OPTIONS_FILE_SET+=SQLITE3
|
||||
OPTIONS_FILE_SET+=THREADS
|
||||
OPTIONS_FILE_SET+=TREESITTER
|
||||
OPTIONS_FILE_UNSET+=XFT
|
||||
OPTIONS_FILE_UNSET+=XIM
|
||||
OPTIONS_FILE_SET+=XML
|
||||
OPTIONS_FILE_UNSET+=XWIDGETS
|
||||
OPTIONS_FILE_UNSET+=GFILE
|
||||
OPTIONS_FILE_SET+=KQUEUE
|
||||
OPTIONS_FILE_UNSET+=ALSA
|
||||
OPTIONS_FILE_SET+=OSS
|
||||
OPTIONS_FILE_UNSET+=GTK2
|
||||
OPTIONS_FILE_SET+=GTK3
|
||||
OPTIONS_FILE_UNSET+=MOTIF
|
||||
OPTIONS_FILE_UNSET+=XAW
|
||||
OPTIONS_FILE_UNSET+=XAW3D
|
||||
OPTIONS_FILE_SET+=CAIRO
|
||||
OPTIONS_FILE_SET+=GIF
|
||||
OPTIONS_FILE_SET+=JPEG
|
||||
OPTIONS_FILE_UNSET+=MAGICK
|
||||
OPTIONS_FILE_SET+=PNG
|
||||
OPTIONS_FILE_SET+=SVG
|
||||
OPTIONS_FILE_SET+=TIFF
|
||||
OPTIONS_FILE_SET+=WEBP
|
||||
OPTIONS_FILE_UNSET+=XPM
|
||||
@@ -1,10 +1,10 @@
|
||||
# Disable CPUTYPE optimizations when compiling gcc48 because tigerlake is not included in gcc4.8
|
||||
#
|
||||
# Disable CPUTYPE optimizations for qt6-base because FreeBSD 13 is on Clang 14 which does not yet support zen4 (added in Clang 16) so qt6 is incorrectly flagging my CPU as not supporting AVX512.
|
||||
# Disable CPUTYPE optimizations when compiling gcc48 because zen 4 is not included in gcc4.8
|
||||
#
|
||||
# Example from bottom of /usr/share/examples/etc/make.conf
|
||||
.if ${.CURDIR:N*/lang/gcc48*} && ${.CURDIR:N*/lang/gcc10*} && ${.CURDIR:N*/devel/qt6-base*}
|
||||
CPUTYPE?=tigerlake
|
||||
.if ${.CURDIR:M*/devel/boost-libs*} || ${.CURDIR:M*/multimedia/wl-screenrec*} || ${.CURDIR:M*/www/firefox*}
|
||||
CPUTYPE?=x86-64-v4
|
||||
.elif ${.CURDIR:N*/lang/gcc48*} && ${.CURDIR:N*/lang/gcc10*} && ${.CURDIR:N*/devel/binutils*} && ${.CURDIR:N*/devel/qt6-base*} && ${.CURDIR:N*/www/node20*}
|
||||
CPUTYPE?=znver4
|
||||
# CPUTYPE?=x86-64-v4
|
||||
.endif
|
||||
|
||||
@@ -21,6 +21,10 @@ CPUTYPE?=tigerlake
|
||||
OPTIONS_SET+=STATIC LTO
|
||||
.endif
|
||||
|
||||
.if ${.CURDIR:M*/editors/emacs*}
|
||||
OPTIONS_SET+=NATIVECOMP PGTK
|
||||
.endif
|
||||
|
||||
OPTIONS_SET+=OPTIMIZED_CFLAGS
|
||||
# qemu uses STATIC_LINK instead of the more standard flag of STATIC
|
||||
OPTIONS_SET+=STATIC_LINK
|
||||
@@ -20,7 +20,7 @@ dns/coredns
|
||||
editors/emacs
|
||||
editors/mg
|
||||
ftp/wget
|
||||
graphics/ImageMagick
|
||||
graphics/ImageMagick7
|
||||
graphics/drm-kmod
|
||||
graphics/evince
|
||||
graphics/gimp
|
||||
@@ -51,7 +51,7 @@ net-mgmt/ipcalc
|
||||
net/google-cloud-sdk
|
||||
net/rsync
|
||||
net/tcpdump
|
||||
net/wireguard
|
||||
net/wireguard-tools
|
||||
net/wlvncc
|
||||
ports-mgmt/pkg
|
||||
ports-mgmt/pkg-provides
|
||||
@@ -105,16 +105,18 @@ textproc/en-aspell
|
||||
textproc/gsed
|
||||
textproc/jq
|
||||
textproc/kdiff3
|
||||
textproc/meld
|
||||
textproc/py-pygments
|
||||
textproc/ripgrep
|
||||
www/firefox
|
||||
www/yt-dlp
|
||||
x11-fm/pcmanfm
|
||||
x11-fonts/cascadia-code
|
||||
x11-fonts/noto
|
||||
x11-fonts/noto-emoji
|
||||
x11-fonts/noto-extra
|
||||
x11-fonts/source-code-pro-ttf
|
||||
x11-fonts/source-sans-ttf
|
||||
x11-fonts/sourcecodepro-ttf
|
||||
x11-themes/adwaita-qt5
|
||||
x11-themes/adwaita-qt6
|
||||
x11-wm/sway
|
||||
@@ -5,7 +5,7 @@ IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
function main {
|
||||
find / -type f -name times -exec sed -iE 's/LASTBUILD=.*/LASTBUILD=0/' {} \;
|
||||
find / -type f -name times -exec sed -E -i 's/LASTBUILD=.*/LASTBUILD=0/' {} \;
|
||||
}
|
||||
|
||||
main "${@}"
|
||||
|
||||
@@ -92,6 +92,16 @@
|
||||
mode: 0600
|
||||
loop: "{{ poudriere_builds }}"
|
||||
|
||||
- name: Install src.conf
|
||||
when: item.srcconf is defined
|
||||
copy:
|
||||
src: "files/{{ item.srcconf }}"
|
||||
dest: "/usr/local/etc/poudriere.d/{{ item.jail }}-src.conf"
|
||||
owner: root
|
||||
group: wheel
|
||||
mode: 0600
|
||||
loop: "{{ poudriere_builds }}"
|
||||
|
||||
- name: Install rc script
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
@@ -121,7 +131,7 @@
|
||||
- name: Create the jails
|
||||
when: item.version != "CURRENT"
|
||||
command: |-
|
||||
poudriere jail {{poudriere_perf_flags}} -c -j {{ item.jail }} -v {{ item.version }}
|
||||
poudriere jail {{poudriere_perf_flags}} -c -j {{ item.jail }} -v {{ item.version }} -B -b
|
||||
args:
|
||||
creates: "/usr/local/poudriere/jails/{{ item.jail }}"
|
||||
loop: "{{ poudriere_builds }}"
|
||||
@@ -129,8 +139,10 @@
|
||||
- name: Create the jails
|
||||
when: item.version == "CURRENT"
|
||||
# -D clones the entire history instead of just the most recent commit
|
||||
# -B to build the pkgbase packages
|
||||
# -b to build the jail OS from source
|
||||
command: |-
|
||||
poudriere jail {{poudriere_perf_flags}} -c -j {{ item.jail }} -v {{ item.branch|default("main") }} -a amd64 -m git -D -U https://git.FreeBSD.org/src.git -K {{ item.kernel|default("GENERIC") }}
|
||||
echo poudriere jail {{poudriere_perf_flags}} -c -j {{ item.jail }} -v {{ item.branch|default("main") }} -a amd64 -m git -D -U https://git.FreeBSD.org/src.git -K {{ item.kernel|default("GENERIC-NODEBUG") }} -B -b
|
||||
args:
|
||||
creates: "/usr/local/poudriere/jails/{{ item.jail }}"
|
||||
loop: "{{ poudriere_builds }}"
|
||||
|
||||
Reference in New Issue
Block a user