kernel: Remove ndis(4) and associated tools and stuff. ndis(4) was a wrapper to allow running binary Windows network drivers that conformed to the Network Driver Interface Specification, i.e. NDIS. It only ever supported drivers from the days of Windows XP and Windows Server 2003 (i.e. NDIS 5.1). And even if one was actually able to extract the .sys and .inf files from the driver package and successfully convert them to a building module, which both were adventures in itself, it could be any result when trying to run it, depending on the card and driver, from resonably working to not working, even crashing. But it did work for some cards, so it had some limited merit in its time. NetBSD removed it in 2018, FreeBSD in January 2021, so let's follow suit now.
Remove the legacy "utmp" API, now that our utils have been moved to utmpx. As I wrote in UPGRADING, the main change for "normal" users is probably that /var/log/wtmp is no longer logged to, just /var/log/wtmpx. Leave the old API in libc as compat symbols that do nothing and always succeed for the run-time linker (i.e. old binaries still using them). dports has been kindly adjusted by zrj and new binary packages for master are on their way. A future commit will provide a wtmpcvt(1) utility to convert old wtmp files to the wtmpx format.
kernel: Remove puffs(4), putter(9) and associated libs and utilities. All of these were originally pushed and hooked into the build in non- working condition so that they would not go stale break building. The hope was that someone would pick up the work and fix the remaining issues, which never materialized. This has led to more harm than good, with people occasionally assuming that this code is functional. Also, the existence of /usr/include/fuse.h might lead configure checks into believing that we have a working implementation.
initrd: Detach from the world and build on the fly Why --- Currently, the files for initrd image creation are built and installed at /usr/share/initrd by "buildworld" and "installworld", respectively, and then mkinitrd(8) simply packs them to create the initrd.img.gz. For normal users, the shipped /usr/share/initrd and mkinitrd(8) don't make much sense, since they don't need to modify the initrd contents and create a modified initrd image. From a developer's perspective, the required steps (buildworld, installworld and mkinitrd) to create and test a new initrd image can be annoying. How --- Detach the build and installation of the initrd contents from the world. Build the (rescue/initrd) tools on-the-fly when creating the initrd image. As per ftigeot's suggestion, these statically linked tools can be useful when dealing with a broken system, so install them under /rescue to be more intuitive and easier to use (similar to FreeBSD and maybe other BSDs). What ---- * Move "share/initrd" to be top-level, and detach it from world. + Update the patch in bsd.crunchgen.mk accordingly. + Add Makefile.inc to simplify subdir's makefiles. + Rewrite the Makefile with targets: - rescue: build and install the rescue tools into /rescue. - initrd: further packs the etc and rescue staffs to create the initrd image. * Move "sbin/mkinitrd/mkinitrd.sh" under the new "initrd" directory and adapt it to work with the "initrd" make target. Remove the other parts of mkinitrd(8). * Export the above "rescue" and "initrd" targets to be top-level. * Update nrelease framework to use the new "make initrd". * Update build.7 man page accordingly. * Print the message about updating the initrd image and 3rd-party packages after "make upgrade" instead of "make installworld". * Document this change in UPDATING. * Other small updates and style cleanups. TODO ---- * Add initrd.7 man page * Crunch more useful tools * Crunch bin/sbin/etc. into a bundle to save space (??) Reviewed-by: swildner Thanks-to: dillon, swildner, ftigeot
Remove IPsec and related code from the system. It was unmaintained ever since we inherited it from FreeBSD 4.8. In fact, we had two implementations from that time: IPSEC and FAST_IPSEC. FAST_IPSEC is the implementation to which FreeBSD has moved since, but it didn't even build in DragonFly. Fixes for dports have been committed to DeltaPorts. Requested-by: dillon Dports-testing-and-fixing: zrj