Set up poudriere to build pkgbase.
This commit is contained in:
parent
8385b036a6
commit
a66eff79e2
@ -13,11 +13,7 @@ rc_conf: "homeserver_rc.conf"
|
||||
loader_conf: "homeserver_loader.conf"
|
||||
netgraph_config: "setup_netgraph_homeserver"
|
||||
cputype: "intel"
|
||||
cpu_opt: broadwell
|
||||
hwpstate: false
|
||||
build_user:
|
||||
name: talexander
|
||||
group: talexander
|
||||
devfs_rules: "homeserver_devfs.rules"
|
||||
jail_zfs_dataset: zmass/encrypted/jails
|
||||
jail_zfs_dataset_mountpoint: /jail/main
|
||||
|
@ -1,3 +1,28 @@
|
||||
timezone: "America/New_York"
|
||||
install_bluetooth: true
|
||||
emacs_flavor: "full"
|
||||
ssh_hosts:
|
||||
- name: poudriere
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.203
|
||||
- name: controller0
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.204
|
||||
- name: controller1
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.205
|
||||
- name: controller2
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.206
|
||||
- name: worker0
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.207
|
||||
- name: worker1
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.208
|
||||
- name: worker2
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.209
|
||||
- name: brianai
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.215
|
||||
|
@ -1,25 +1,21 @@
|
||||
os_flavor: "freebsd"
|
||||
#custom_repo: 13amd64-default-framework
|
||||
custom_repo: current-default-framework
|
||||
zfs_snapshot_datasets:
|
||||
- path: zroot/freebsd/current/be/default
|
||||
sshd_enabled: true
|
||||
sshd_conf: "sshd_config"
|
||||
pf_config: "odofreebsd_pf.conf"
|
||||
pflog_conf:
|
||||
- name: 0
|
||||
dev: pflog0
|
||||
#pf_config: "odofreebsd_pf.conf"
|
||||
#pflog_conf:
|
||||
# - name: 0
|
||||
# dev: pflog0
|
||||
network_rc: "odofreebsd_network.conf"
|
||||
rc_conf: "odofreebsd_rc.conf"
|
||||
loader_conf: "odofreebsd_loader.conf"
|
||||
install_graphics: true
|
||||
graphics_driver: "amd"
|
||||
cputype: "amd"
|
||||
cpu_opt: znver4
|
||||
hwpstate: true
|
||||
cores: 16
|
||||
build_user:
|
||||
name: talexander
|
||||
group: talexander
|
||||
users:
|
||||
talexander:
|
||||
initialize: true
|
||||
@ -31,6 +27,7 @@ users:
|
||||
- name: u2f
|
||||
- name: operator # To be able to shutdown without root
|
||||
- name: webcamd
|
||||
gid: 145
|
||||
authorized_keys:
|
||||
- yubikey
|
||||
- main_fido
|
||||
|
@ -1,5 +0,0 @@
|
||||
os_flavor: "freebsd"
|
||||
cpu_opt: tigerlake
|
||||
build_user:
|
||||
name: root
|
||||
group: wheel
|
@ -1,13 +1,15 @@
|
||||
os_flavor: "freebsd"
|
||||
pkgbase_url: "file:///usr/local/poudriere/data/images/currentznver4-repo/FreeBSD:15:amd64/latest"
|
||||
poudriere_builds:
|
||||
- jail: 13amd64
|
||||
ports: default
|
||||
set: framework
|
||||
version: 13.2-RELEASE
|
||||
# - jail: current
|
||||
# - jail: 13amd64
|
||||
# ports: default
|
||||
# set: framework
|
||||
# version: CURRENT
|
||||
# revision: af01b4722577903f91acc44f01bdcb8cdb2d65ad
|
||||
# kernel: CUSTOM
|
||||
# branch: main
|
||||
# version: 13.2-RELEASE
|
||||
- jail: currentznver4
|
||||
ports: default
|
||||
set: framework
|
||||
version: CURRENT
|
||||
# revision: 66d37dbedfbf2dc94ccf49e6983c3652d5909b91
|
||||
kernel: GENERIC-NODEBUG
|
||||
branch: main
|
||||
srcconf: currentznver4_src.conf
|
||||
|
@ -1,13 +1,8 @@
|
||||
[vm]
|
||||
poudriereodo ansible_user=builder ansible_host=10.213.177.12
|
||||
poudrieremrmanager ansible_user=root ansible_host=poudriere
|
||||
freebsdupdatemrmanager ansible_user=root ansible_host=freebsdupdate
|
||||
#
|
||||
# Put in ~/.ssh/config
|
||||
# Host poudriere
|
||||
# ProxyJump talexander@mrmanager
|
||||
# HostName 10.215.1.203
|
||||
#
|
||||
# Host freebsdupdate
|
||||
# ProxyJump talexander@mrmanager
|
||||
# HostName 10.215.1.213
|
||||
|
@ -42,7 +42,6 @@
|
||||
- ansible
|
||||
- wireguard
|
||||
- portshaker
|
||||
- poudriere
|
||||
- android
|
||||
- latex
|
||||
- python
|
||||
@ -68,10 +67,10 @@
|
||||
roles:
|
||||
- sudo # for poudboot script
|
||||
- fstab
|
||||
- package_manager
|
||||
- portshaker
|
||||
- poudriere
|
||||
- poudrierenginx
|
||||
- freebsd_update_server
|
||||
|
||||
- hosts: mrmanager
|
||||
vars:
|
||||
@ -123,22 +122,6 @@
|
||||
roles:
|
||||
- framework_laptop
|
||||
|
||||
- hosts: odofreebsd
|
||||
vars:
|
||||
ansible_become: True
|
||||
roles:
|
||||
- freebsd_update_server
|
||||
|
||||
- hosts: freebsdupdatemrmanager
|
||||
vars:
|
||||
ansible_become: True
|
||||
roles:
|
||||
- sudo # for poudboot script
|
||||
- doas
|
||||
- fstab
|
||||
- build
|
||||
- freebsd_update_server
|
||||
|
||||
- hosts: homeserver
|
||||
vars:
|
||||
ansible_become: True
|
||||
|
@ -13,10 +13,12 @@
|
||||
# name: []
|
||||
# state: present
|
||||
# update_cache: true
|
||||
|
||||
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- gvfs
|
||||
- gvfs-mtp
|
||||
- android-udev # Access android over USB without root.
|
||||
- android-tools # For fastboot to flash phones.
|
||||
state: present
|
||||
|
@ -33,3 +33,5 @@
|
||||
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
|
||||
# Make the middle pane start without any merge progress:
|
||||
# cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
||||
[includeIf "gitdir:/bridge/git/machine_setup/"]
|
||||
path = /bridge/git/machine_setup/ansible/roles/base/files/gitconfig_home
|
||||
|
@ -2,9 +2,9 @@ clear_tmp_enable="YES"
|
||||
syslogd_flags="-ss"
|
||||
sendmail_enable="NONE"
|
||||
hostname="odo"
|
||||
# wlans_iwlwifi0="wlan0"
|
||||
# ifconfig_wlan0="WPA DHCP"
|
||||
# ifconfig_wlan0_ipv6="inet6 accept_rtadv"
|
||||
wlans_iwlwifi0="wlan0"
|
||||
ifconfig_wlan0="WPA DHCP"
|
||||
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
|
||||
sshd_enable="YES"
|
||||
ntpd_enable="YES"
|
||||
powerd_enable="YES"
|
||||
|
@ -1,2 +0,0 @@
|
||||
# freebsd_version: "releng/13.2"
|
||||
freebsd_version: "c3d7bb5aca7749626b5c70dfa86ee8f07960f44a"
|
@ -1,6 +0,0 @@
|
||||
include GENERIC-NODEBUG
|
||||
|
||||
# Disable Intel SD/MMC controller for reading eMMC
|
||||
nodevice sdhci
|
||||
|
||||
ident CUSTOM
|
@ -1,26 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# List installed packages that install a kernel module.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${PORTSDIR:="/usr/ports"}
|
||||
|
||||
function main {
|
||||
if [ "$#" -ne 0 ]; then
|
||||
(>&2 echo "This script takes no positional parameters.")
|
||||
exit 1
|
||||
fi
|
||||
local module
|
||||
doas find / -type f -name '*.ko' | sort | while read module; do
|
||||
local provides=$(pkg provides "$module")
|
||||
if [ -n "$provides" ]; then
|
||||
package_name=$(grep 'Name : ' <<<"$provides" | sed 's/Name : //g')
|
||||
# module_file=$(grep 'Filename: ' <<<"$provides" | sed 's/Filename: //g')
|
||||
echo "$package_name"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,36 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Find which port options appear the most in ports.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${PORTSDIR:="/usr/ports"}
|
||||
|
||||
function main {
|
||||
if [ "$#" -ne 0 ]; then
|
||||
(>&2 echo "This script takes no positional parameters.")
|
||||
exit 1
|
||||
fi
|
||||
local folder
|
||||
find_port_folders | while read folder; do
|
||||
set +e
|
||||
dump_port_options "$folder"
|
||||
set -e
|
||||
done | sort | uniq -c | sort -nr
|
||||
}
|
||||
|
||||
function find_port_folders {
|
||||
local mf
|
||||
find "$PORTSDIR" -type f -name Makefile -mindepth 3 -maxdepth 3 | sort | while read mf; do
|
||||
dirname "$mf"
|
||||
done
|
||||
}
|
||||
|
||||
function dump_port_options {
|
||||
local folder="$1"
|
||||
local portopts=$(make -C "$folder" -V OPTIONS_DEFINE)
|
||||
echo "$portopts" | grep -oE --line-buffered '[^ ]*'
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,41 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# List ports containing an option matching the first parameter to the script.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${PORTSDIR:="/usr/ports"}
|
||||
|
||||
function main {
|
||||
if [ "$#" -ne 1 ]; then
|
||||
(>&2 echo "Pass exactly 1 option name to this script.")
|
||||
exit 1
|
||||
fi
|
||||
local find_option_name=$1
|
||||
local folder
|
||||
find_port_folders | while read folder; do
|
||||
set +e
|
||||
dump_port_options "$folder" | grep -qE "^${find_option_name}$"
|
||||
has_opt=$?;
|
||||
set -e
|
||||
if [ $has_opt -eq 0 ]; then
|
||||
echo "$folder"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function find_port_folders {
|
||||
local mf
|
||||
find "$PORTSDIR" -type f -name Makefile -mindepth 3 -maxdepth 3 | sort | while read mf; do
|
||||
dirname "$mf"
|
||||
done
|
||||
}
|
||||
|
||||
function dump_port_options {
|
||||
local folder="$1"
|
||||
local portopts=$(make -C "$folder" -V OPTIONS_DEFINE)
|
||||
echo "$portopts" | grep -oE --line-buffered '[^ ]*'
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build and installs whatever is in /usr/src. Run step 1, reboot, then step 2.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cores=$(sysctl -n hw.ncpu)
|
||||
|
||||
if sudo etcupdate status | grep -qE '^ C '; then
|
||||
>&2 echo 'Conflicts remain in etcupdate. Run `etcupdate resolve` to fix them first.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /usr/src
|
||||
|
||||
make -j "$cores" clean
|
||||
make -j "$cores" buildworld buildkernel
|
||||
sudo make installkernel
|
||||
|
||||
echo "FreeBSD update step 1 done. Please reboot."
|
@ -1,19 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build and installs whatever is in /usr/src. Run step 1, reboot, then step 2.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
sudo etcupdate -p
|
||||
|
||||
cd /usr/src
|
||||
sudo make installworld
|
||||
sudo etcupdate -B
|
||||
|
||||
if sudo etcupdate status | grep -qE '^ C '; then
|
||||
>&2 echo 'Conflicts in etcupdate. Run `etcupdate resolve` to fix them first.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "FreeBSD update step 2 done. Please reboot."
|
@ -1,100 +0,0 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- git
|
||||
state: present
|
||||
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- "/usr/src"
|
||||
# - "/usr/ports"
|
||||
- "/usr/obj"
|
||||
|
||||
- name: chown the FreeBSD source
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
recurse: true
|
||||
loop:
|
||||
- "/usr/src"
|
||||
|
||||
- name: Clone FreeBSD Source
|
||||
git:
|
||||
repo: "https://git.FreeBSD.org/src.git"
|
||||
dest: /usr/src
|
||||
version: "{{ freebsd_version }}"
|
||||
force: true
|
||||
become: true
|
||||
become_user: "{{ build_user.name }}"
|
||||
diff: false
|
||||
|
||||
# - name: Clone Ports Tree
|
||||
# git:
|
||||
# repo: "https://git.FreeBSD.org/ports.git"
|
||||
# dest: /usr/ports
|
||||
# version: "main"
|
||||
# force: true
|
||||
# update: false
|
||||
# become: true
|
||||
# become_user: "{{ build_user.name }}"
|
||||
# diff: false
|
||||
|
||||
- name: Install Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: make.conf
|
||||
dest: /etc/make.conf
|
||||
|
||||
- name: Install Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- src: CUSTOM
|
||||
dest: /usr/src/sys/amd64/conf/CUSTOM
|
||||
|
||||
- name: Install Configuration
|
||||
template:
|
||||
src: "templates/{{ item.src }}.j2"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: src.conf
|
||||
dest: /etc/src.conf
|
||||
|
||||
- name: Install scripts
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0700
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- src: freebsd_update_step1
|
||||
dest: /usr/local/bin/freebsd_update_step1
|
||||
- src: freebsd_update_step2
|
||||
dest: /usr/local/bin/freebsd_update_step2
|
||||
- src: find_popular_ports_options.bash
|
||||
dest: /usr/local/bin/find_popular_ports_options
|
||||
- src: find_ports_containing_option.bash
|
||||
dest: /usr/local/bin/find_ports_containing_option
|
||||
- src: find_packages_that_installed_kernel_modules.bash
|
||||
dest: /usr/local/bin/find_packages_that_installed_kernel_modules
|
@ -89,7 +89,7 @@
|
||||
loop:
|
||||
- src: aurutils.conf
|
||||
dest: /etc/pacman.d/conf.d/
|
||||
- src: pacman-custom.conf
|
||||
- src: pacman-x86_64.conf
|
||||
dest: /etc/aurutils/
|
||||
- src: makepkg.conf # TODO: Is this needed or can I use the default from devtools?
|
||||
dest: /etc/aurutils/
|
||||
@ -103,7 +103,7 @@
|
||||
- /var/cache/pacman/custom/
|
||||
|
||||
- name: Create custom repo db
|
||||
command: repo-add --sign /var/cache/pacman/custom/custom.db.tar
|
||||
command: repo-add --new --sign /var/cache/pacman/custom/custom.db.tar "/home/{{ build_user.name }}/.config/ansible_deploy/aurutils/aurutils-*-any.pkg.tar.*"
|
||||
become: true
|
||||
become_user: "{{ build_user.name }}"
|
||||
args:
|
||||
|
@ -21,7 +21,7 @@
|
||||
(vertico-count 20)
|
||||
)
|
||||
|
||||
;; Create an ivy-like experience when selecting files.
|
||||
;; Create an ido/ivy-like experience when selecting files.
|
||||
(use-package vertico-directory
|
||||
:after vertico
|
||||
:ensure nil
|
||||
|
@ -3,6 +3,7 @@
|
||||
package:
|
||||
name:
|
||||
- aspell
|
||||
- graphviz # used for exporting graphviz dot charts from org-mode
|
||||
state: present
|
||||
|
||||
- name: Install scripts
|
||||
|
@ -18,7 +18,6 @@
|
||||
- py39-black
|
||||
- zip # for odt export from org-mode
|
||||
- gnuplot # used for exporting graphs from org-mode
|
||||
- graphviz # used for exporting graphviz dot charts from org-mode
|
||||
# - pyright
|
||||
- sqlite3 # for sqlite code blocks in org-mode
|
||||
# - terraform-ls # Terraform language server
|
||||
|
@ -1,130 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${DATA_DIRECTORY:="/usr/local/share/freebsdupdate"}
|
||||
: ${STAGE_FILE:="${DATA_DIRECTORY}/stage"}
|
||||
: ${RELEASE_DIRECTORY:="${DATA_DIRECTORY}/release"}
|
||||
: ${LOG_DIRECTORY:="${DATA_DIRECTORY}/logs"}
|
||||
: ${PORTS_TREE:="/usr/ports"}
|
||||
: ${PORTS_REPO:="https://git.FreeBSD.org/ports.git"}
|
||||
|
||||
############## Setup #########################
|
||||
|
||||
function die {
|
||||
local status_code="$1"
|
||||
shift
|
||||
(>&2 echo "${@}")
|
||||
exit "$status_code"
|
||||
}
|
||||
|
||||
function log {
|
||||
(>&2 echo "${@}")
|
||||
}
|
||||
|
||||
############## Program #########################
|
||||
|
||||
function main {
|
||||
assert_directories
|
||||
|
||||
local stage=""
|
||||
if [ -e "$STAGE_FILE" ]; then
|
||||
local stage=$(cat "$STAGE_FILE")
|
||||
fi
|
||||
if [ "$stage" = "selfbuild" ]; then
|
||||
log_cmd stage_selfbuild
|
||||
elif [ "$stage" = "selfinstallworld" ]; then
|
||||
log_cmd stage_selfinstallworld
|
||||
elif [ "$stage" = "selfconflictcheck" ]; then
|
||||
log_cmd stage_selfconflictcheck
|
||||
elif [ "$stage" = "releasebuild" ]; then
|
||||
log_cmd stage_releasebuild
|
||||
elif [ "$stage" = "done" ]; then
|
||||
log_cmd stage_done
|
||||
else
|
||||
die 1 "Unhandled stage: \"$stage\"."
|
||||
fi
|
||||
}
|
||||
|
||||
function log_cmd {
|
||||
"${@}" |& tee "$LOG_DIRECTORY/$(date +%Y%m%d-%s).log"
|
||||
}
|
||||
|
||||
function self_conflict_check {
|
||||
if etcupdate status | grep -qE '^ C '; then
|
||||
die 1 'Conflicts remain in etcupdate. Run `etcupdate resolve` to fix them first.'
|
||||
fi
|
||||
}
|
||||
|
||||
function assert_directories {
|
||||
for d in "$DATA_DIRECTORY" "$RELEASE_DIRECTORY" "$LOG_DIRECTORY"; do
|
||||
if [ ! -e "$d" ]; then
|
||||
mkdir -p "$d"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function update_ports_tree {
|
||||
if [ ! -e "$PORTS_TREE" ]; then
|
||||
mkdir -p $PORTS_TREE
|
||||
git -C $PORTS_TREE init --initial-branch=main
|
||||
git -C $PORTS_TREE remote add origin $PORTS_REPO
|
||||
fi
|
||||
git -C $PORTS_TREE fetch origin main # 'refs/heads/main'
|
||||
git -C $PORTS_TREE checkout FETCH_HEAD
|
||||
}
|
||||
|
||||
function set_stage {
|
||||
echo "${@}" > "$STAGE_FILE"
|
||||
}
|
||||
|
||||
function stage_selfbuild {
|
||||
self_conflict_check
|
||||
assert_directories
|
||||
update_ports_tree
|
||||
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src clean
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src buildworld buildkernel
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src installkernel
|
||||
|
||||
set_stage "selfinstallworld"
|
||||
/sbin/shutdown -r now
|
||||
}
|
||||
|
||||
function stage_selfinstallworld {
|
||||
etcupdate -p
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src installworld
|
||||
etcupdate -B
|
||||
|
||||
set_stage "selfconflictcheck"
|
||||
stage_selfconflictcheck
|
||||
}
|
||||
|
||||
function stage_selfconflictcheck {
|
||||
self_conflict_check
|
||||
set_stage "releasebuild"
|
||||
/sbin/shutdown -r now
|
||||
}
|
||||
|
||||
function stage_releasebuild {
|
||||
local today=$(date +%Y%m%d)
|
||||
local target_directory="${RELEASE_DIRECTORY}/${today}"
|
||||
if [ -e "$target_directory" ]; then
|
||||
die 1 "The release directory $target_directory already exists. Exiting."
|
||||
fi
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src clean
|
||||
make -C /usr/src buildworld buildkernel
|
||||
make -C /usr/src/release obj
|
||||
make -C /usr/src/release release
|
||||
mkdir -p "$target_directory"
|
||||
make -C /usr/src/release install DESTDIR="$target_directory"
|
||||
set_stage "done"
|
||||
}
|
||||
|
||||
function stage_done {
|
||||
log "Everything is done."
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,120 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
|
||||
## Redefine environment variables here to override prototypes
|
||||
## defined in release.sh.
|
||||
#load_chroot_env() { }
|
||||
#load_target_env() { }
|
||||
#buildenv_setup() { }
|
||||
|
||||
## Set the directory within which the release will be built.
|
||||
CHROOTDIR="/scratch"
|
||||
|
||||
## Do not explicitly require the devel/git port to be installed.
|
||||
#NOGIT=1
|
||||
## Set the version control system host.
|
||||
GITROOT="https://git.freebsd.org/"
|
||||
GITSRC="src.git"
|
||||
GITPORTS="ports.git"
|
||||
|
||||
## Set the src/, ports/, and doc/ branches or tags.
|
||||
#SRCBRANCH="stable/13"
|
||||
SRCBRANCH="main"
|
||||
PORTBRANCH="main"
|
||||
|
||||
## Sample configuration for using git from ports.
|
||||
#GITCMD="/usr/local/bin/git clone -q --branch main"
|
||||
|
||||
## Set to override the default target architecture.
|
||||
#TARGET="amd64"
|
||||
#TARGET_ARCH="amd64"
|
||||
#KERNEL="GENERIC"
|
||||
KERNEL="GENERIC-NODEBUG"
|
||||
## Multiple kernels may be set.
|
||||
#KERNEL="GENERIC XENHVM"
|
||||
|
||||
## Set to specify a custom make.conf and/or src.conf
|
||||
#MAKE_CONF="/etc/local/make.conf"
|
||||
MAKE_CONF="/etc/make.conf"
|
||||
#SRC_CONF="/etc/local/src.conf"
|
||||
SRC_CONF="/etc/src.conf"
|
||||
|
||||
## Set to use make(1) flags.
|
||||
#MAKE_FLAGS="-s"
|
||||
|
||||
## Set to use world- and kernel-specific make(1) flags.
|
||||
#WORLD_FLAGS="-j $(sysctl -n hw.ncpu)"
|
||||
#KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))"
|
||||
|
||||
## Set miscellaneous 'make release' settings.
|
||||
#NOPORTS=
|
||||
#NOSRC=
|
||||
#WITH_DVD=
|
||||
#WITH_COMPRESSED_IMAGES=
|
||||
|
||||
## Set to '1' to disable multi-threaded xz(1) compression.
|
||||
#XZ_THREADS=0
|
||||
|
||||
## Set when building embedded images.
|
||||
#EMBEDDEDBUILD=
|
||||
|
||||
## Set to a list of ports required to build embedded system-on-chip
|
||||
## images, such as sysutils/u-boot-rpi.
|
||||
#EMBEDDEDPORTS=
|
||||
|
||||
## Set to the hardware platform of the target userland. This value
|
||||
## is passed to make(1) to set the TARGET (value of uname -m) to cross
|
||||
## build.
|
||||
#EMBEDDED_TARGET=
|
||||
|
||||
## Set to the machine processor architecture of the target userland.
|
||||
## This value is passed to make(1) to set the TARGET_ARCH (value of uname -p)
|
||||
## to cross build.
|
||||
#EMBEDDED_TARGET_ARCH=
|
||||
|
||||
## Set to skip the chroot environment buildworld/installworld/distribution
|
||||
## step if it is expected the build environment will exist via alternate
|
||||
## means.
|
||||
#CHROOTBUILD_SKIP=
|
||||
|
||||
## Set to a non-empty value skip checkout or update of /usr/src in
|
||||
## the chroot. This is intended for use when /usr/src already exists.
|
||||
#SRC_UPDATE_SKIP=
|
||||
|
||||
## Set to a non-empty value skip checkout or update of /usr/ports in
|
||||
## the chroot. This is intended for use when /usr/ports already exists.
|
||||
#PORTS_UPDATE_SKIP=
|
||||
|
||||
## Set to pass additional flags to make(1) for the build chroot setup, such
|
||||
## as TARGET/TARGET_ARCH.
|
||||
#CHROOT_MAKEENV=
|
||||
|
||||
## Set to a non-empty value to build virtual machine images as part of the
|
||||
## release build.
|
||||
#WITH_VMIMAGES=
|
||||
|
||||
## Set to a non-empty value to compress virtual machine images with xz(1)
|
||||
## as part of the release build.
|
||||
#WITH_COMPRESSED_VMIMAGES=
|
||||
|
||||
## If WITH_VMIMAGES is set to a non-empty value, this is the name of the
|
||||
## file to use for the installed userland/kernel.
|
||||
#VMBASE="vm"
|
||||
|
||||
## If WITH_VMIMAGES is set to a non-empty value, this is the size of the
|
||||
## virtual machine disk filesystem. Valid size values are described in
|
||||
## the makefs(8) manual page.
|
||||
#VMSIZE="20g"
|
||||
|
||||
## If WITH_VMIMAGES is set to a non-empty value, this is a list of disk
|
||||
## image formats to create. Valid values are listed in the mkimg(1)
|
||||
## manual page, as well as 'mkimg --formats' output.
|
||||
#VMFORMATS="vhdf vmdk qcow2 raw"
|
||||
|
||||
## Set to a non-empty value to build virtual machine images for various
|
||||
## cloud providers as part of the release build.
|
||||
#WITH_CLOUDWARE=
|
||||
|
||||
## If WITH_CLOUDWARE is set to a non-empty value, this is a list of providers
|
||||
## to create disk images.
|
||||
#CLOUDWARE="EC2 GCE VAGRANT-VIRTUALBOX VAGRANT-VMWARE"
|
@ -1,5 +0,0 @@
|
||||
- import_tasks: tasks/freebsd.yaml
|
||||
when: 'os_flavor == "freebsd" and build_user is defined'
|
||||
|
||||
- import_tasks: tasks/linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
@ -1,50 +0,0 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- git
|
||||
- tmux # For convenience
|
||||
- htop # For convenience
|
||||
- bash
|
||||
state: present
|
||||
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- /opt/freebsd_update_server
|
||||
|
||||
- name: Clone freebsd-update-build
|
||||
git:
|
||||
repo: "https://github.com/freebsd/freebsd-update-build.git"
|
||||
dest: /opt/freebsd_update_server/freebsd-update-build
|
||||
version: "28bb3ae7de9c1332fe8a366fb154a5b9faf37f49"
|
||||
force: true
|
||||
become: true
|
||||
become_user: "{{ build_user.name }}"
|
||||
diff: false
|
||||
|
||||
- name: Install Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0600
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- src: release.conf
|
||||
dest: /opt/freebsd_update_server/release.conf
|
||||
|
||||
- name: Install scripts
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: build_release.bash
|
||||
dest: /usr/local/bin/build_release
|
@ -1,29 +0,0 @@
|
||||
# - name: Build aur packages
|
||||
# register: buildaur
|
||||
# become_user: "{{ build_user.name }}"
|
||||
# command: "aurutils-sync --no-view {{ item }}"
|
||||
# args:
|
||||
# creates: "/var/cache/pacman/custom/{{ item }}-*.pkg.tar.*"
|
||||
# loop:
|
||||
# - foo
|
||||
|
||||
# - name: Update cache
|
||||
# when: buildaur.changed
|
||||
# pacman:
|
||||
# name: []
|
||||
# state: present
|
||||
# update_cache: true
|
||||
|
||||
# - name: Install packages
|
||||
# package:
|
||||
# name:
|
||||
# - foo
|
||||
# state: present
|
||||
|
||||
# - name: Enable services
|
||||
# systemd:
|
||||
# enabled: yes
|
||||
# name: "{{ item }}"
|
||||
# daemon_reload: yes
|
||||
# loop:
|
||||
# - foo.service
|
@ -1,2 +0,0 @@
|
||||
- import_tasks: tasks/common.yaml
|
||||
# when: foo is defined
|
1
ansible/roles/graphics/files/amd_kld_rc.conf
Normal file
1
ansible/roles/graphics/files/amd_kld_rc.conf
Normal file
@ -0,0 +1 @@
|
||||
kld_list="/boot/modules/amdgpu.ko"
|
@ -31,12 +31,12 @@
|
||||
# - intel_power
|
||||
# - intel_hw_accel_video
|
||||
|
||||
#- name: Install service configuration
|
||||
# copy:
|
||||
# src: "files/intel_{{ item }}_rc.conf"
|
||||
# dest: "/etc/rc.conf.d/{{ item }}"
|
||||
# mode: 0644
|
||||
# owner: root
|
||||
# group: wheel
|
||||
# loop:
|
||||
# - kld
|
||||
- name: Install service configuration
|
||||
copy:
|
||||
src: "files/amd_{{ item }}_rc.conf"
|
||||
dest: "/etc/rc.conf.d/{{ item }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- kld
|
||||
|
@ -78,11 +78,6 @@
|
||||
// brianai
|
||||
"hw-address": "06:a6:dc:59:78:12",
|
||||
"ip-address": "10.215.1.215"
|
||||
},
|
||||
{
|
||||
// freebsdupdate
|
||||
"hw-address": "06:14:5c:92:3d:5b",
|
||||
"ip-address": "10.215.1.213"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- build
|
@ -1,25 +1,8 @@
|
||||
- name: Build aur packages
|
||||
register: buildaur
|
||||
become_user: "{{ build_user.name }}"
|
||||
command: "aurutils-sync --no-view {{ item }}"
|
||||
args:
|
||||
creates: "/var/cache/pacman/custom/{{ item }}-*.pkg.tar.*"
|
||||
loop:
|
||||
- kubeswitch
|
||||
- flux-scm
|
||||
|
||||
- name: Update cache
|
||||
when: buildaur.changed
|
||||
pacman:
|
||||
name: []
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- yamllint
|
||||
- stern
|
||||
- kubeswitch
|
||||
- flux-scm
|
||||
# - kubeswitch
|
||||
- fluxcd
|
||||
state: present
|
||||
|
@ -717,7 +717,7 @@
|
||||
#Server = https://mirrors.42tm.tech/archlinux/$repo/os/$arch
|
||||
#Server = http://f.archlinuxvn.org/archlinux/$repo/os/$arch
|
||||
#Server = http://mirror.bizflycloud.vn/archlinux/$repo/os/$arch
|
||||
Server = https://arch.mirror.constant.com/$repo/os/$arch
|
||||
#Server = https://arch.mirror.constant.com/$repo/os/$arch
|
||||
Server = https://iad.mirrors.misaka.one/archlinux/$repo/os/$arch
|
||||
Server = https://forksystems.mm.fcix.net/archlinux/$repo/os/$arch
|
||||
Server = https://mirrors.mit.edu/archlinux/$repo/os/$arch
|
||||
|
@ -3,12 +3,3 @@
|
||||
|
||||
- import_tasks: tasks/linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
||||
|
||||
- include_tasks:
|
||||
file: tasks/peruser.yaml
|
||||
apply:
|
||||
become: yes
|
||||
become_user: "{{ initialize_user }}"
|
||||
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||
loop_control:
|
||||
loop_var: initialize_user
|
||||
|
@ -8,7 +8,7 @@
|
||||
loop:
|
||||
- /usr/local/etc/pkg
|
||||
- /usr/local/etc/pkg/repos
|
||||
|
||||
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
@ -65,6 +65,16 @@
|
||||
loop:
|
||||
- { src: custom.conf.j2, dest: /usr/local/etc/pkg/repos/custom.conf }
|
||||
|
||||
- name: Install Configuration
|
||||
when: pkgbase_url is defined
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
owner: root
|
||||
group: wheel
|
||||
mode: 0644
|
||||
loop:
|
||||
- { src: pkgbase.conf.j2, dest: /usr/local/etc/pkg/repos/pkgbase.conf }
|
||||
# - name: Replace all packages with packages from new repo
|
||||
# command: pkg upgrade -f -y
|
||||
# when: changed_config.changed
|
||||
|
@ -1,29 +0,0 @@
|
||||
- include_role:
|
||||
name: per_user
|
||||
|
||||
# - name: Create directories
|
||||
# file:
|
||||
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||
# state: directory
|
||||
# mode: 0700
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - ".config/foo"
|
||||
|
||||
# - name: Copy files
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||
# mode: 0600
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - src: foo.conf
|
||||
# dest: .config/foo/foo.conf
|
||||
|
||||
- import_tasks: tasks/peruser_freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
||||
- import_tasks: tasks/peruser_linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
17
ansible/roles/package_manager/templates/pkgbase.conf.j2
Normal file
17
ansible/roles/package_manager/templates/pkgbase.conf.j2
Normal file
@ -0,0 +1,17 @@
|
||||
base: {
|
||||
# url: "file:///usr/local/poudriere/data/images/currentznver4-repo/FreeBSD:15:amd64/latest"
|
||||
# url: "file:///update"
|
||||
# url: "https://freebsdpkg.fizz.buzz/pkgbase/currentznver4-repo/FreeBSD:15:amd64/latest",
|
||||
url: "{{ pkgbase_url }}",
|
||||
mirror_type: "none",
|
||||
enabled: yes,
|
||||
# signature_type: "pubkey",
|
||||
# pubkey: "/usr/local/etc/pkg/poudriere.pub",
|
||||
priority: 100
|
||||
}
|
||||
# poudriere jail -c -j current -v main -a amd64 -m git -D -U https://git.FreeBSD.org/src.git -K GENERIC-NODEBUG -B -b
|
||||
# env ABI=FreeBSD:15:amd64 pkg update -f -r base
|
||||
# env ABI=FreeBSD:15:amd64 pkg install -r base -g 'FreeBSD-*'
|
||||
|
||||
# for f in /etc/master.passwd /etc/group /etc/sysctl.conf /etc/ssh/sshd_config; do cp -v "$f.pkgsave" "$f"; done
|
||||
# pwd_mkdb -p /etc/master.passwd
|
@ -1,13 +1,7 @@
|
||||
{% if cpu_opt is defined and cpu_opt %}
|
||||
CPUTYPE?={{ cpu_opt }}
|
||||
{% endif %}
|
||||
KERNCONF=CUSTOM
|
||||
CPUTYPE?=znver4
|
||||
WITH_MALLOC_PRODUCTION=YES
|
||||
WITHOUT_LLVM_ASSERTIONS=YES
|
||||
WITH_REPRODUCIBLE_BUILD=YES
|
||||
PORTS_MODULES+=graphics/drm-kmod
|
||||
PORTS_MODULES+=graphics/gpu-firmware-intel-kmod
|
||||
PORTS_MODULES+=net/wireguard-kmod
|
||||
|
||||
# Would be fun to experiment with:
|
||||
# WITHOUT_SOURCELESS=YES
|
||||
@ -31,5 +25,6 @@ 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 }}"
|
||||
|
@ -39,5 +39,10 @@ http {
|
||||
alias /usr/local/poudriere/data/packages;
|
||||
autoindex on;
|
||||
}
|
||||
|
||||
location /pkgbase {
|
||||
alias /usr/local/poudriere/data/images;
|
||||
autoindex on;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +1,2 @@
|
||||
# Check that rust-analyzer is valid for date on https://rust-lang.github.io/rustup-components-history/
|
||||
rust_date: "2023-12-04"
|
||||
rust_date: "2024-03-28"
|
||||
|
@ -1,2 +1,2 @@
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
rustflags = ["-C", "target-cpu=native"]
|
||||
rustflags = ["-C", "target-cpu=native", "-Zthreads=0"]
|
||||
|
@ -18,7 +18,7 @@
|
||||
git:
|
||||
repo: "https://github.com/rust-lang/rust-analyzer.git"
|
||||
dest: /opt/rust-analyzer
|
||||
version: "2023-05-01"
|
||||
version: "2024-04-01"
|
||||
force: true
|
||||
diff: false
|
||||
|
||||
|
@ -22,6 +22,11 @@
|
||||
args:
|
||||
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/bin/cargo-clippy"
|
||||
|
||||
- name: Install cranelift
|
||||
command: rustup component add rustc-codegen-cranelift
|
||||
args:
|
||||
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rustc-codegen-cranelift-preview-x86_64-unknown-linux-gnu"
|
||||
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||
|
@ -1,26 +1,34 @@
|
||||
- include_role:
|
||||
name: per_user
|
||||
|
||||
# - name: Create directories
|
||||
# file:
|
||||
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||
# state: directory
|
||||
# mode: 0700
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - ".config/foo"
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||
state: directory
|
||||
mode: 0700
|
||||
owner: "{{ account_name.stdout }}"
|
||||
group: "{{ group_name.stdout }}"
|
||||
loop:
|
||||
- ".ssh"
|
||||
|
||||
# - name: Copy files
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||
# mode: 0600
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - src: foo.conf
|
||||
# dest: .config/foo/foo.conf
|
||||
- name: Add ssh hosts to config
|
||||
blockinfile:
|
||||
path: "{{ account_homedir.stdout }}/.ssh/config"
|
||||
marker: "# {mark} ANSIBLE MANAGED BLOCK {{ item.name }}"
|
||||
create: true
|
||||
mode: 0600
|
||||
owner: "{{ account_name.stdout }}"
|
||||
group: "{{ group_name.stdout }}"
|
||||
block: |
|
||||
Host {{ item.name }}
|
||||
{% if item.proxy_jump is defined %}
|
||||
ProxyJump {{ item.proxy_jump }}
|
||||
{% endif %}
|
||||
{% if item.host_name is defined %}
|
||||
HostName {{ item.host_name }}
|
||||
{% endif %}
|
||||
when: ssh_hosts is defined
|
||||
loop: "{{ ssh_hosts }}"
|
||||
|
||||
- import_tasks: tasks/peruser_freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
@ -164,7 +164,7 @@
|
||||
"command": "-editor.action.clipboardPasteAction"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+x ctrl+f",
|
||||
"key": "ctrl+x p f",
|
||||
"command": "workbench.action.quickOpen"
|
||||
},
|
||||
{
|
||||
@ -234,5 +234,47 @@
|
||||
"key": "ctrl+alt+enter",
|
||||
"command": "-editor.action.replaceAll",
|
||||
"when": "editorFocus && findWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "shift+alt+,",
|
||||
"command": "cursorTop",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+home",
|
||||
"command": "-cursorTop",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+alt+.",
|
||||
"command": "cursorBottom",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+end",
|
||||
"command": "-cursorBottom",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+x ctrl+f",
|
||||
"command": "workbench.action.files.openFile",
|
||||
"when": "true"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+o",
|
||||
"command": "-workbench.action.files.openFile",
|
||||
"when": "true"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+x k",
|
||||
"command": "workbench.action.closeEditorInAllGroups"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+x b",
|
||||
"command": "workbench.action.showAllEditors"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k ctrl+p",
|
||||
"command": "-workbench.action.showAllEditors"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -15,6 +15,10 @@
|
||||
"editorCursor.foreground": "#ccff66",
|
||||
"terminalCursor.foreground": "#ccff66"
|
||||
},
|
||||
"workbench.editor.showTabs": "none",
|
||||
"workbench.activityBar.location": "hidden",
|
||||
"window.menuBarVisibility": "toggle",
|
||||
"explorer.autoReveal": false,
|
||||
"[python]": {
|
||||
"editor.defaultFormatter": "ms-python.black-formatter",
|
||||
"editor.formatOnSave": true
|
||||
@ -27,5 +31,6 @@
|
||||
"editor.defaultFormatter": "hashicorp.terraform",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"black-formatter.importStrategy": "fromEnvironment"
|
||||
"black-formatter.importStrategy": "fromEnvironment",
|
||||
"workbench.statusBar.visible": false
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- wireguard
|
||||
- wireguard-tools
|
||||
state: present
|
||||
|
||||
- name: Configure wireguard
|
||||
|
@ -2,7 +2,6 @@
|
||||
package:
|
||||
name:
|
||||
- linux-lts-headers
|
||||
- linux-headers
|
||||
state: present
|
||||
|
||||
- name: Check trusted gpg keys
|
||||
|
@ -40,8 +40,6 @@ elif [ "$target" = "jail_admin_git" ]; then
|
||||
ansible-playbook -v -i environments/jail playbook.yaml --diff --limit admin_git "${@}"
|
||||
elif [ "$target" = "jail_public_dns" ]; then
|
||||
ansible-playbook -v -i environments/jail playbook.yaml --diff --limit public_dns "${@}"
|
||||
elif [ "$target" = "vm_freebsdupdatemrmanager" ]; then
|
||||
ansible-playbook -v -i environments/vm playbook.yaml --diff --limit freebsdupdatemrmanager "${@}"
|
||||
else
|
||||
die 1 "Unrecognized target"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user