- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64 ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
Details
Diff Detail
- Repository
- R11 FreeBSD ports repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
www/nginx/Makefile | ||
---|---|---|
90 | Can you ellaborate please? |
devel/mongo-c-driver/Makefile | ||
---|---|---|
89 | Interestingly this file is no more in the tree. |
https://cgit.FreeBSD.org/ports/commit/?id=0815295e0b7988daf05dc1665b4ff523c7083763 can be reverted too as part of this change
Missed cruft (based on 2023-10-14 checkout):
- audio/opus/Makefile (only arm conditional)
- cad/nvc/Makefile (only !exists(/usr/include/unwind.h) conditional)
- comms/ebusd/files/patch-src_lib_ebus_datatype.cpp
- devel/android-tools/files/patch-vendor_adb_compression_\_utils.h
- devel/llvm1[2-3]/Makefile (only unwind.h-related _BUILD_DEPENDS, _USES, inline comments)
- emulators/rpcs3/files/patch-libc++13
- graphics/darktable/Makefile (only ${OPSYS}_${OSREL:R} == FreeBSD_12 conditional)
- graphics/krita/files/patch-cmake_modules_xsimd_xsimdMacros.cmake
- graphics/qt5-wayland/files/patch-src_client_qwaylandshmbackingstore.cpp (only && __FreeBSD_version >= 1300048 part)
- java/openjdk*/Makefile (only ${OSREL:C/\.[0-9]//} == 12 conditional and the related patch)
- mail/thunderbird/files/patch-third_\_party_libwebrtc_rtc_\_base_ip_\_address.cc
- multimedia/dav1d/files/patch-freebsd12
- multimedia/pipewire/files/patch-src_modules_module-netjack2_peer.c
- net-im/libquotient/files/patch-Quotient_qt_\_connection_\_util.h
- net/samba413/Makefile (only ${OSVERSION} < 1300000 conditional)
- sysutils/arcconf/Makefile (only ${OSREL:R} == 12 part)
- www/chromium/files/patch-third_\_party_wayland_include_config.h (only memfd part)
- www/chromium/files/patch-ui_ozone_platform_wayland_host_zwp_\_text_\_input_\_wrapper_\_v1.cc
- Ditto (as www/chromium) in devel/electron*, www/iridium, www/ungoogled-chromium
- www/librewolf/files/patch-third_\_party_libwebrtc_rtc_\_base_ip_\_address.cc
- x11/xdg-desktop-portal-luminous/Makefile (only BROKEN_FreeBSD_12)
deskutils/xdg-desktop-portal/Makefile | ||
---|---|---|
29 | The whole conditional can be dropped. OSVERSION on 14.0-RELEASE is 1400097. In general, old -CURRENT/-STABLE snapshots are not supported | |
emulators/virtualbox-ose/Makefile | ||
195 | The whole conditional (and the related patch) can be dropped. OSVERSION on 14.0-RELEASE is 1400097. In general, old -CURRENT/-STABLE snapshots are not supported | |
x11-drivers/xf86-input-synaptics/Makefile | ||
19 ↗ | (On Diff #128794) | Looks gratuitous. Avoid mixing style changes with anything functional. |
Missed cruft (based on 2023-12-11 checkout):
- lang/emilua/Makefile (only IGNORE_FreeBSD_12)
- lang/go-devel/Makefile (only ${OSREL:R} < 13)
- lang/mlton/Makefile (keep ${OSREL:R} >= 13 but make unconditional)
- mail/fetchmail/Makefile (only ${OSREL:R} < 13)
- net/widentd/Makefile (only ${OSREL:R} < 13)
- shells/v7sh/files/Makefile (only ${OSREL:R} < 13)
- sysutils/plasma5-powerdevil/files/patch-daemon_backends_upower_freebsdbacklighthelper.cpp
- www/tor-browser/files/patch-third_\_party_libwebrtc_rtc_\_base_ip_\_address.cc
graphics/qt5-wayland/files/patch-src_client_qwaylandshmbackingstore.cpp | ||
---|---|---|
7 | Restore the file but remove && __FreeBSD_version >= 1300048. After 12.4 EOL memfd_create is available on all supported FreeBSD versions. However, on FreeBSD memfd_create is a library function (based on undocumented shm_open2 syscall) rather than a syscall, so SYS_memfd_create is not defined thus requires this patch. | |
www/chromium/files/patch-third__party_wayland_include_config.h | ||
2–3 | Drop this include. Nothing else seems to use __FreeBSD_version. Ditto for devel/electron*, www/iridium, www/ungoogled-chromium |
science/cantera/Makefile | ||
---|---|---|
29 | Drop this line as well i.e., revert the whole a4c89641bb05. |
lang/lfortran/Makefile | ||
---|---|---|
34 | Drop this line as well i.e., revert the whole 6ce0588e3a08 (but don't restore BROKEN_FreeBSD_12). | |
lang/php80/Makefile | ||
57 | Drop both these lines i.e., revert the whole 4a22a7a104df. Ditto in other lang/php* |
lang/php80/Makefile | ||
---|---|---|
57 | Ditto databases/postgresql16-server, databases/memcached, lang/tcl87. Found via rg powerpc64_12. |
lang/php80/Makefile | ||
---|---|---|
57 | I think I will skip this one in php80 as I will be actually removing php80 before sunsetting 12. But will take care on other php8*. |
These are still not fixed. I've also noticed more cruft:
- converters/wkhtmltopdf/files/patch-src_\_3rdparty_\_webkit_\_Source_\_JavaScriptCore_\_runtime_\_JSValueInlineMethods.h
- databases/libmemcached/Makefile (only libcrypto.pc and the related patch)
- devel/grpc/Makefile (only openssl.pc and the related patch)
- devel/libffcall/files/patch-ffcall-abi.h
- devel/qt5-script/files/patch-src_\_3rdparty_\_javascriptcore_\_JavaScriptCore_\_runtime_\_JSValue.h
- ftp/axel/Makefile (keep --with-ssl=openssl but make unconditional)
- security/libfido2/Makefile (only libcrypto.pc and the related patch)
- security/pam_u2f/Makefile (only libcrypto.pc)
- www/edbrowse/Makefile (only openssl.pc and the related patch)
- www/webkit2-gtk4/files/patch-Source_WTF_wtf_PlatformCPU.h
- www/webkit2-gtk4/files/patch-Source_WTF_wtf_dtoa_utils.h
- x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_bsd_\_init.c (only __sparc64__)
databases/postgresql16-server/Makefile | ||
---|---|---|
111 | Not used anymore. Originally added by 6200fdde5c50. $ rg OPTIONS_EXCLUDE_ databases/postgresql* databases/postgresql16-server/Makefile 111:OPTIONS_EXCLUDE+= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}} | |
devel/root/pkg-plist | ||
3559 | Looks incorrect i.e., previously expanded to @comment . $ make -V PLIST_SUB:M\*CLANG\* OSREL=12.4 OSVERSION=1204000 ONLY_INSTALLED_WITH_LLVM_CLANG_13="" $ make -V PLIST_SUB:M\*CLANG\* OSREL=13.2 OSVERSION=1302001 ONLY_INSTALLED_WITH_LLVM_CLANG_13="@comment " $ make -V PLIST_SUB:M\*CLANG\* OSREL=14.0 OSVERSION=1400097 ONLY_INSTALLED_WITH_LLVM_CLANG_13="@comment " | |
lang/mlton/Makefile | ||
82 | _VARS option helper is space-separated, so BOOTOSMAJ here ends up with empty value. However, it doesn't work either way: $ make -V BOOTOSMAJ Variable BOOTOSMAJ is recursive. $ make -V NATIVE_VARS Variable NATIVE_VARS is recursive. $ make clean patch BATCH= [...] In a command near "/usr/ports/lang/mlton/Makefile" line 162: Variable NATIVE_VARS is recursive. make[1]: stopped in /usr/ports/lang/mlton *** Error code 2 Note, DISTFILES still has bootstrap for FreeBSD 11 and 12. | |
lang/php80/Makefile | ||
57 | Why remove sparc64 in lang/php80 then? |
lang/php80/Makefile | ||
---|---|---|
57 | Did it long ago previous to marking php80 DEPRECATED maybe. However as I will rebase after deleting the expired ports these will be gone. |
These are still not fixed. I've also noticed more cruft:
- devel/libffcall/files/patch-ffcall-abi.h
I think this patch is not related to sparc but aarch64.
lang/mlton/Makefile | ||
---|---|---|
82 | I will fix this later. I am testing a build without the freebsd-11 DISTS to check how it goes. |
devel/root/pkg-plist | ||
---|---|---|
3559 | Noops. These are correct. I think you are mixing up clang 13 with FreeBSD 13. In previous that is for 12 these files were installed hence it was uncommented and from 13.2-RELEASE these files were not installed hence these are supposed to be @comment. Check the above Makefile for the logic that was used. |
devel/root/pkg-plist | ||
---|---|---|
3559 | Noops. Looks like you are correct this should go. |
aarch64 (arm64) has 2 "a" in the architecture name. sparc64 (64-bit sparc, or sparc V9) may not define __sparc64__ on non-BSDs thus required checking both __sparc__ and __arch64__.
$ cd /usr/src $ rg \"__arch64__\" contrib/llvm-project/clang/lib/Basic/Targets/Sparc.cpp 241: Builder.defineMacro("__arch64__"); $ rg \"__aarch64__\" contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp 339: Builder.defineMacro("__aarch64__"); $ cd /usr/ports/lang/gcc12 $ make clean patch BATCH= $ cd `make -V WRKSRC` $ rg \"__arch64__\" gcc/config/rs6000/freebsd64.h 194: builtin_define ("__arch64__"); \ gcc/config/sparc/openbsd64.h 40: builtin_define ("__arch64__"); \ $ rg \"__aarch64__\" gcc/config/aarch64/aarch64-c.cc 55: builtin_define ("__aarch64__");
lang/mlton/Makefile | ||
---|---|---|
82 | This has been fixed. On another commit I have refactored the port. |
devel/grpc/Makefile | ||
---|---|---|
52 | Also remove the patch. | |
net-mgmt/nagios-plugins/Makefile | ||
132 | -t variant should be unconditional: $ make -V _PING6_CMD OSREL=12.4 OSVERSION=1204000 /sbin/ping6 -n -X %d -c %d %s $ make -V _PING6_CMD OSREL=13.2 OSVERSION=1302001 /sbin/ping6 -n -t %d -c %d %s $ make -V _PING6_CMD OSREL=14.0 OSVERSION=1400097 /sbin/ping6 -n -t %d -c %d %s | |
net-p2p/qbittorrent/Makefile | ||
13 | Why? Rebase mistake after 0cb657a809e9? QAT log doesn't warn about such untracked dependency. | |
sysutils/zidrav/Makefile | ||
31 | powerpc* matches powerpc64le which is not big-endian, so probably shouldn't pass -DCPU_BIGENDIAN. Note, mips* also matches mipsel, mips64el, mipselhf, mips64elhf but hidden since FreeBSD 13.0 (ff4c0e6f83e6) and removed since FreeBSD 14.0 (b8cacb38989a). |
net-p2p/qbittorrent/Makefile | ||
---|---|---|
13 | :/ |
lang/mlton/Makefile | ||
---|---|---|
70 | Maybe set toplevel BOOTOSMAJ instead as RAM_SLOP_32 expects BOOTOSMAJ to match OS version of the bootstrap. Any discrepancy between BOOTOSMAJ and NATIVE=off can be fixed by removing FreeBSD < 13 cruft in RAM_SLOP_32. diff --git a/lang/mlton/Makefile b/lang/mlton/Makefile index 25430490debd..b7fda2682d78 100644 --- a/lang/mlton/Makefile +++ b/lang/mlton/Makefile @@ -31,7 +31,7 @@ USES= compiler:c11 gmake BOOTNAME= ${BOOTNAMEPREFIX}${PORTNAME}${BOOTNAMESUFFIX}-${BOOTVERSIONPREFIX}${BOOTVERSION}${BOOTVERSIONSUFFIX} BOOTVERSIONSUFFIX= BOOTVERSION= ${PORTVERSION} -BOOTOSMAJ= ${OSREL:R} +BOOTOSMAJ= 13 OPTIONS_DEFINE= DOCS EXAMPLES OPTIONS_DEFAULT= MLTON NATIVE @@ -67,7 +67,7 @@ MLTON_MAKE_ARGS_OFF= DESTDIR='' \ PATH=${WRKSRC}/build/bin:${WRKDIR}/bin:${PATH} \ PREFIX=${PREFIX} \ WITH_GMP_DIR=${PREFIX} -NATIVE_VARS= BOOT_DIST=${BOOTNAME}.${ARCH}-${OPSYS:tl}-13.txz +NATIVE_VARS= BOOT_DIST=${BOOTNAME}.${ARCH}-${OPSYS:tl}-${BOOTOSMAJ}.txz NATIVE_VARS_OFF= BOOT_DIST= POLYML_BUILD_DEPENDS= polyc:lang/polyml #POLYML_CPPFLAGS= -L/usr/local/lib -lpolyml -lpolymain @@ -97,7 +97,7 @@ GH_TAGNAME= b2fca3d BOOT_CMD= --xz BOOT_SUFX= .txz -RAM_SLOP_32= $$(${SYSCTL} "hw.physmem" | ${AWK} '{ values = values" "$$2 } END { print values; }' | ${AWK} '{ "freebsd-version -r" | getline ver; split(ver, xs, "\."); kernelOSMAJ = xs[1]; osj = ${BOOTOSMAJ}; physmem = $$1 / 1024 / 1024 / 1024; os = kernelOSMAJ; maxphysmem = physmem; if (physmem > 3.2) { maxphysmem = 3.2; }; ospcent = 0.70; if (osj < 13 && os != osj) { ospcent = 0.65; } else if (os >= 13) { if (physmem < 3.1) { ospcent = 0.83; } else { ospcent = 0.80; } }; targetmem = maxphysmem * ospcent; targetpcent = targetmem / physmem; print int((targetpcent + 0.005) * 100) / 100; }') +RAM_SLOP_32= $$(${SYSCTL} "hw.physmem" | ${AWK} '{ values = values" "$$2 } END { print values; }' | ${AWK} '{ physmem = $$1 / 1024 / 1024 / 1024; maxphysmem = physmem; if (physmem > 3.2) { maxphysmem = 3.2; }; ospcent = 0.70; if (physmem < 3.1) { ospcent = 0.83; } else { ospcent = 0.80; }; targetmem = maxphysmem * ospcent; targetpcent = targetmem / physmem; print int((targetpcent + 0.005) * 100) / 100; }') post-extract: @${MKDIR} ${BOOT_WRKSRC} |
lang/mlton/Makefile | ||
---|---|---|
70 | Yeah looks like there is a osj conditional for checking FreeBSD version less than 13. I will fix this up on next rebase. |
Many patches for missing <byteswap.h> and <endian.h> on FreeBSD < 13 can probably be dropped e.g.,
- audio/bespokesynth/files/patch-libs_link_include_ableton_platforms_linux_Linux.hpp
- audio/mixxx/files/patch-lib_kaitai_kaitaistream.cpp
- audio/umurmur/Makefile (BROKEN_*)
- audio/umurmur/files/patch-src_byteorder.h
- audio/webrtc-audio-processing/files/patch-powerpc64 (keep <altivec.h> part)
- audio/zita-alsa-pcmi/files/patch-source_zita-alsa-pcmi.cc
- biology/abyss/files/patch-Common_city.cc
- databases/redisdesktopmanager/files/patch-3rdparty_simdjson_singleheader_simdjson.h
- devel/chrpath/files/patch-protos.h (keep Elf_Ehdr part)
- devel/cityhash/files/patch-src_city.cc
- devel/dwarves/files/patch-lib_bpf_src_btf.c (the first 3 hunks, keep from compare_vsi_off onwards)
- devel/efivar/files/patch-src-efivar.h (keep __builtin_* part)
- devel/elfutils/files/patch-lib_byteswap.h
- devel/firmware-utils/files/patch-* (<endian.h> part, keep `"freebsd.h")
- devel/py-pysimdjson/files/patch-simdjson_simdjson.h
- graphics/igt-gpu-tools/files/patch-lib_igt_\_core.h (keep <signal.h> part)
- graphics/libemf/files/patch-libemf_libemf.cpp
- multimedia/dvb-apps/files/patch-lib_libucsi_endianops.h
- multimedia/ringrtc/files/patch-src_webrtc_src_rtc_\_base_byte_\_order.h
- multimedia/smpeg/files/patch-video_\_video.h
- net/mercury/Makefile (BROKEN)
- net/yate/files/patch-libs_yradio_radio.cpp
- security/pam_pwdfile/files/patch-md5.c
- sysutils/afflib/files/patch-lib_qemu_bswap.h
- sysutils/dd_rescue/files/patch-aes_\_c.c
- sysutils/lttng-tools/files/patch-src_bin_lttng-crash_lttng-crash.c
- sysutils/lttng-tools/files/patch-src_common_compat_endian.h
- sysutils/zbackup/files/patch-compression.cc
- sysutils/zbackup/files/patch-endian.hh
- www/envoy/files/patch-envoy_common_platform.h (keep ENVOY_MMSG_MORE part)
- www/mod_gnutls/files/patch-src_gnutls_\_sni.c
- www/qt5-webengine/files/patch-src_3rdparty_chromium_third_\_party_smhasher_src_City.cpp
(the above list is incomplete: only covers <byteswap.h> due to lack of time)
databases/mysqlwsrep57-server/Makefile | ||
---|---|---|
184 | Looks backwards: excludes -fcommon on modern FreeBSD rather than make it unconditional. |
I think I will tackle this later. In a dilemma with gcc8.
databases/mysqlwsrep57-server/Makefile | ||
---|---|---|
184 | Actually I have to delete this port as it depends on mysql57-client. So this will be NOOP when I rebase after the deletion. |
Before landing it'd be nice to turn off 12.4 package builders. Otherwise, /latest and /quarterly will become empty while /release_* still work. The space can be later reclaimed by consistently removing all sets and removing FreeBSD:12:* references on https://pkg.freebsd.org/
This cleanup only affects main, not quarterly/2023Q4. There is a 12-eol tag on main so the pkg builders could stick to that?
On a different note jbeich is somewhat correct. If the builders were still started it would end up with an empty pkgset and the cluster pkgset would overwrite the pkg repos with an empty set being served. Although not exactly sure on how the builders are run so we disabled the pkgsync script and backed it up and have removed the pkgsets.