Re: /usr/src and /usr/ports not git directories ?
- In reply to: Steffen Nurpmeso : "Re: /usr/src and /usr/ports not git directories ?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 24 Jan 2025 09:32:13 UTC
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 <ketas@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---