longer analysis, of why src would be, imho, still shipped, is here:
so yeah, i hope src and ports don't disappear from releases completely because
i have number or cases where that would be good, including offline by accident,
offline by design in high security environment, natural disasters, ((global
thermo)nuclear) war or just plain old complete software abadonement of whole
fbsd project in far future. i hope the last one is only reason. i'll also
exclude sci-fi scenarios here
i just peeked into v1.0 iso i found. imagine, there's src!
that src can be still obtained from (our) git, i checked, but what if it
suddenly can't
it's probably not the first time when everyone thought to have piece of
software / code until noone had it anymore. if you sprinkle the src around the
world like this, there are much less chance it completely disappearing
for a fun, i also have kept my stash of distfiles of last 10+ years or total
23y of using fbsd. it's only 50g of packed sources and includes most of server
and desktop things. distcache exists but what if it won't. btw i'm curious how
large it is?
there have been whole big tv stations who for intentional or unintentional
reasons lost their archive and had to resort on obtaining it from lucky home
taper
remember you don't really need to install the src.txz at all. you can just pkg
install git or ports install it and pull it down from network if it's there
still
it doesn't seem to save space either and we have minis for it
while there, can we have maxi-memstick too? in addition of hybrid iso. as this
could allow quick image modification if one couldn't be arsed to build their
own at the time they eg want to quickly sideload something like
http://ketas.si.pri.ee/misc/installer-addon-utils-root-bin-si.sh into installer
so i hope end result is just src maybe getting git bootstrap and not getting
completely removed
but yeah, it's weird how src is in git but base has no git. somehow we ended up
with good tool but with wrong license and now it can't be in base because of
it. if basically noone devs, why is compiler in base then? btw removing that
would be weird too and would create all sorts of chicken end egg issues
hopefully this all resolves into my favorite solution, still have src/ports
---begin---
#!/bin/sh -Cefu
#
# Copyright (c) 2024 Sulev-Madis Silber <ke...@si.pri.ee>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
set -Cefu
######################################################################
keymap=ee
wall_cmos_clock=1
timezone=Europe/Tallinn
ping=example.com
ntp_servers='ntp ntp.si.pri.ee'
######################################################################
_mount_unionfs()
{
local dst="$1"
local src="/tmp/unionfs$dst"
if [ ! -d "$src" ]
then
mkdir -p "$src"
fi
if [ ! -d "$dst" ]
then
mkdir -p "$dst"
fi
if ! mount -t unionfs | fgrep -q "$dst"
then
mount_unionfs -o noatime "$src" "$dst"
fi
}
if [ "$keymap" ]
then
kbdcontrol -r fast -l "$keymap"
fi
if [ ! -f /tmp/tmp-mount-done ]
then
echo
mount -t tmpfs tmpfs /tmp
service cleartmp start
mkdir /tmp/bsdinstall_etc
touch /tmp/bsdinstall_log
touch /tmp/tmp-mount-done
fi
for dst in /etc /root /usr/local /var/cache/pkg /var/db/pkg
do
_mount_unionfs "$dst"
done
if [ "$wall_cmos_clock" ]
then
if [ ! -f /etc/wall_cmos_clock ]
then
touch /etc/wall_cmos_clock
fi
fi
if [ "$timezone" ]
then
if [ ! -f /etc/localtime ]
then
tzsetup "$timezone"
fi
fi
if ! pgrep -q adjkerntz
then
service adjkerntz start
fi
for if in `ifconfig -l`
do
if [ "$if" = lo0 ]
then
continue
fi
ifconfig "$if" inet6 -ifdisabled accept_rtadv up
if ! service dhclient status "$if" > /dev/null
then
echo
service dhclient forcestart "$if"
fi
done
if ! pgrep -q rtsold
then
rtsold -am
fi
if [ "$ping" ]
then
echo
for af in 4 6
do
if ping "-${af}oq" "$ping" > /dev/null
then
echo "v$af ok"
else
echo "v$af fail"
fi
done
fi
if [ "$ntp_servers" ]
then
if [ ! -f /tmp/ntpdate-run-done ]
then
echo
ntpdate $ntp_servers
touch /tmp/ntpdate-run-done
fi
fi
if ! service ntpd onestatus > /dev/null
then
echo
service ntpd onestart
fi
if [ "$ntp_servers" ]
then
echo
if [ -f /tmp/ntpdate-run-done ]
then
ntpdate -q $ntp_servers
fi
fi
echo
date
echo
for kld in coretemp amdtemp
do
if [ -f "/boot/kernel/$kld.ko" ]
then
kldload -n "$kld"
fi
done
sysctl -a | grep '[0-9]C$' | egrep -v '(_(CRT|PSV)|\.tjmax)'
if sysctl -a | fgrep -q battery
then
echo
acpiconf -i 0 | grep -v ':[[:space:]]*$'
fi
echo
---end---
#!/bin/sh -Cefu
#
# Copyright (c) 2024 Sulev-Madis Silber <ke...@si.pri.ee>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
set -Cefu
######################################################################
keymap=ee
wall_cmos_clock=1
timezone=Europe/Tallinn
ping=example.com
ntp_servers='ntp ntp.si.pri.ee'
######################################################################
_mount_unionfs()
{
local dst="$1"
local src="/tmp/unionfs$dst"
if [ ! -d "$src" ]
then
mkdir -p "$src"
fi
if [ ! -d "$dst" ]
then
mkdir -p "$dst"
fi
if ! mount -t unionfs | fgrep -q "$dst"
then
mount_unionfs -o noatime "$src" "$dst"
fi
}
if [ "$keymap" ]
then
kbdcontrol -r fast -l "$keymap"
fi
if [ ! -f /tmp/tmp-mount-done ]
then
echo
mount -t tmpfs tmpfs /tmp
service cleartmp start
mkdir /tmp/bsdinstall_etc
touch /tmp/bsdinstall_log
touch /tmp/tmp-mount-done
fi
for dst in /etc /root /usr/local /var/cache/pkg /var/db/pkg
do
_mount_unionfs "$dst"
done
if [ "$wall_cmos_clock" ]
then
if [ ! -f /etc/wall_cmos_clock ]
then
touch /etc/wall_cmos_clock
fi
fi
if [ "$timezone" ]
then
if [ ! -f /etc/localtime ]
then
tzsetup "$timezone"
fi
fi
if ! pgrep -q adjkerntz
then
service adjkerntz start
fi
for if in `ifconfig -l`
do
if [ "$if" = lo0 ]
then
continue
fi
ifconfig "$if" inet6 -ifdisabled accept_rtadv up
if ! service dhclient status "$if" > /dev/null
then
echo
service dhclient forcestart "$if"
fi
done
if ! pgrep -q rtsold
then
rtsold -am
fi
if [ "$ping" ]
then
echo
for af in 4 6
do
if ping "-${af}oq" "$ping" > /dev/null
then
echo "v$af ok"
else
echo "v$af fail"
fi
done
fi
if [ "$ntp_servers" ]
then
if [ ! -f /tmp/ntpdate-run-done ]
then
echo
ntpdate $ntp_servers
touch /tmp/ntpdate-run-done
fi
fi
if ! service ntpd onestatus > /dev/null
then
echo
service ntpd onestart
fi
if [ "$ntp_servers" ]
then
echo
if [ -f /tmp/ntpdate-run-done ]
then
ntpdate -q $ntp_servers
fi
fi
echo
date
echo
for kld in coretemp amdtemp
do
if [ -f "/boot/kernel/$kld.ko" ]
then
kldload -n "$kld"
fi
done
sysctl -a | grep '[0-9]C$' | egrep -v '(_(CRT|PSV)|\.tjmax)'
if sysctl -a | fgrep -q battery
then
echo
acpiconf -i 0 | grep -v ':[[:space:]]*$'
fi
echo