MirBSD – Enjoying Social Events

Sponsored by
HostEurope Logo

MirBSD – Enjoying Social Events

[ old MirBSD™ logo ]

This is an archived weblog of the development leading to MirOS. All entries are courtesy of tg@ and historic.

News bottom

MirBSD #6 (LinuxTag) - Gasoline's not cheap
The latest release will not be available to the general public - it's merely a snapshot only sold on a CD-R, with MirBSD on it, bootable, the source and ports tarballs, checksums and some packages - as well as a soundtrack.

Major changes up to MirBSD #6-unlocked: The in-tree lynx has been updated to the last development snapshot, retaining most of the OpenBSD diffs and these from the old MirBSD nlynx port, adding new patches to increase the stability and functionality of lynx by a large amount. The inferior OpenBSD src/lib/csu/ subsystem has been replaced by a new one, based upon the NetBSD csu subsystem - in fact, with as few changes as possible. Evilwm has been updated to 0.99.14, and functionality to resize windows was added. The documentation, even the man pages, have been extended to mirror this fact. The MirBSD licence has been rewritten after the IFROSS institute answering me, to make sure nobody using, distributing and coding MirBSD will be responsible for not intentionally done harm in Europe as well. A whole lot of minor changes and updates has been done as well, to improve both the stability and functionality of MirBSD even more than ever. Testing has been done to this release, too, although it was impossible - due to time constraints - to do as extensive testing as with the Release #5.

Informational note: links to the LinuxTag 2003 will be added here later - for example pictures.

HEAD branch: Mop up and sync, remove any stuff removed in OpenBSD (except stuff I decided to not, such as jdk-1.1). Put anoncvssh into the base system source, since we don't yet mirror Their website; extend so it's easier configurable (not built by default due to customization).
MIRBSD_6 branch: Finish talks with musicians and artists about music; make Linuxtag ISOs and burn first CD with about 40 minutes of Soundtrack courtesy of Karsten Koch. Test the release and burn process, and its results.

LinuxTag was a success, but not so much a financial one. Well, there's a bug in the OpenBSD part of the installer on the LinuxTag CD; you must not select or deselect packages, instead just type "done" when asked for packages. To post-install XFree86, use 'tar xphzvf xbase33.tgz' and similar.
Fix for ports/net/sirc: make UTF-8 support switchable off and on by /set, and off forever (so it doesn't even use Encode::) by -U.

Enable DRI for XFree86 and use NO_CXX_INSTALLED in mk.conf and USE_CXX in ports makefiles.

Catch-up: Synchronize base and ensure build. Try again to build DRI-enabled XFree86, fix NO_CXX_INSTALLED logic (can't do that in an Imakefile). Finally fix .Xmodmap so that switching to virtual consoles and between video modes works again. Remove libkrb5 in its entirety (this time, that means libcom_err and compile_et as well), same for old machine-dependant parts of libm (vax and friends). The SLIM kernel loses QUOTA and ISDN. More crap bites the dust (Windows® code in Apache, more informational files (READMEs, ChangeLogs which don't apply here (we do have cvsweb)) and stuff removed in OpenBSD. Ensure PINE builds. Prepare to make a snapshot, test at the router box and upload. Change propolice URI. Update in-tree Apache to 1.3.28, retaining local changes. Oh, and DRI/DRM works. Sort of.

More PICS about LinuxTag

Fix the installer bug, finally, d'oh.
It's true! - Import of gcc-3.3 into the base system. Removal of as much of the old fallback gcc 2.95 as possible, including most of the old libiberty. Switch system to new libiberty. Fix tree build.

Sync and start working to bring gcc-3.3 up to date. Currently only the old OpenBSD patches from ports/lang/egcs/stable/ (gcc-3.2.3), etoh@'s propolice, and some of mine. Nothing MirBSD yet.

gcc 3.3 still does not work. Update various things and prepare a snapshot. Development will slow down a bit; I have to reset-up my machines. Unbreak stuff.

Really upload a snapshot for good now. Make back-ups and re-set-up system locally.

Unbreak, stabilize, slightly upgrade and update; renew stuff. Freshen up. Get the summer breeze ;-)
Get /etc/changelist.local, /etc/profile.local and /etc/mk.conf.local - suggest more. Change CVS temporary directory to /var/tmp. Fixes to pine (myself) and pico (from tedu@openbsd).

Synchronize with OpenBSD. Remove the -h flag to ls(1). Revert a bunch of other commits that remove useful stuff or add bloat. Try to add a read-only feature to vnd(4). Import gcc-3.3.1 and sync config. Don't try to build this, kids...

Build base system through, update ports. Port over NetBSD pkgsrc/net/p5-Socket6 and switch sirc to require it (IPv6 mode only - though it still chats on IPv4). Improve its UTF-8 capability. Misc. updates. Try to stabilize things. Add script to run lynx in unicode mode, xterm, closes parent xterm.

Having recovered from all these social events (FOSDEM, CeBIT, LinuxTag, the now-weekly Netzladen.org meetings), I've finally managed to "fix" nroff (for quite low values of fix, though). If anybody wants to jump in to port the remaining stuff (rename eqn to neqn and fix stuff (Makefiles), import eqn/troff, import other stuff groff has but we don't, really fix it - KNF anybody? *g*), please send me unified diffs. The same goes for gcc-3.3.1 and winex-cvs.
Additional testing is needed for the entire ports tree: does it build under MirBSD? do packages actually work? does it build under GNU/Linux? Please report packages failing due to a non-existant C++ compiler, so they can be marked.

Updated system. Fixed the shmget(2) bug from OpenBSD Errata. Ensured build; will upload snapshots soonish. Some minor fixes. Add Schnitzelmitkartoffelsalat.

My main development machine, an Athlon laptop, eventually died. Well, I can still use it with an external 14" CRT, built around 1994, attached to it, but as soon as I move it, it loses power. It will need service. - Joshua Steele, MirBSD CVS and website hoster at BSD Advocacy, gave his O.K. to host the ongoing MirLinux project (to be started in a few years :) within the MirBSD source tree. Message-ID: <20030822134010.486a7069.selerius@codefusion.org>

Back from holidays in/near Luxembourg. Adjust some Apache things (OpenBSD vs MirBSD). Synchronize Source, Ports and XF4 with OpenBSD 3.4-beta. Clean up the ports tree: nuke nlynx, WWW in DESCR files. Merge OpenBSD stuff.

Move from ~/.bin to ~/.etc/bin. Pull these directories into mtree. Finish merging of OpenBSD; fix a bunch of things while here. Move to ~/.etc/lynxrc. While here, nuke old gcc-3.2/3.3 port of MirBSD version 2-3.

More moves: .sircrc .sircrc.pl .sirc/ .ssh/ .systrace/ .mc/ - move /usr/local/bin/dsirc to dsircp to avoid conflict. More struct ufs1_dinode (tree compile fixes). Apache 1.3.28 suexec fix from OpenBSD. MACHINE_OS and _MACHINE_OS in <sys/param.h> to start working on the MirLinux framework before the next MirBSD stable release (to achieve better code compatibility). Patch make(1) and the files in src/share/mk/ accordingly. Same for the ports tree: ONLY_FOR_OS and NOT_FOR_OS, as well as the make describe facility. Nuke freenet6 port (out of date) and sprinkle @extra in djbdns. Build stuff and fix gcc. Stuff anoncvs framework including anoncvssh into base system. Update growfs from FreeBSD-current and ISDN from NetBSD-current. Synchronize packaging lists and prepare snapshot upload.

Various Makefile fixes. Fix and build XFree86. Cleanup before making a snapshot (versions, root.mail, etc). mtree updates. Homepage updates. ports/INDEX sync. Nicefy make b-r in src. Provide MAKECONF_OVERRIDE for cross-compiling etc. Fix checkflists. Upload snapshot (complete). Update PLIP from inofficial NetBSD (mailing list) code.

Work in MirPorts to denote it's not the OpenBSD ports tree (any more), and one must not bother the poor OpenBSD people for faults in MirPorts and/or the run-time environment (namely MirBSD, and - in the future - MirLinux). Nuke gcc-3.3.1, it's proven not ready for prime-time yet. Move gcc-3.3.1's libiberty out of the gcc/egcs tree into its own directory hierarchy under gnu/lib/ and fulfil the OpenBSD peoples' plan of ${GNUSYSTEM_AUX_DIR} by moving files common to the GNU programmes to gnu/egcs/, including a file from usr.bin/less/. Fix the programmes accordingly, and have a major tree cleanup under gnu/. Play with GNU autoconf; pull in back the old autoconf-2.13 port as version "2.13-o" and fix the conflicts with 2.13-n as well as fix a mergo in 2.13-n. Expand the GFDL blurb, and note that there hasn't been any success in testing plip(4) yet. Move several programmes from the gnu/ hierarchy out of the "base" set (base34.tgz) to the "misc" set (misc34.tgz), as well as clean the sets up (movement from/to base, comp and man - correcting the sets according to the docs).
Minor fixes on the make framework - make b-r and make contrelease (analog to make contbuild), as well as some improvements w.r.t. sudo(8)). Move on to MirBSD #7 (prerelease) and publish [a href="plan.php"]a development plan[archived].

Licence audit (wrt the AT&T/UNIX®32V ./. Caldera stuff), mk.conf improvements for the egcc port. Updates for the acronyme database from NetBSD. ~/.etc for the dillo browser and src/share/misc/contrib/dot.* (haven't used X in a while). Statically link gzip/compress - you'll be glad for that in the future. Change mdoc/man from MirBSD to MirOS where it makes sense. And a whole bunch of licence cleanup.
One Year MirBSD, and six days now. It all started with this reply, when I decided to have my own, patched, /usr/src. That was on 29 August 2002, when Theo de Raadt, founder and chief benevolent dictator of OpenBSD, rejected my port of the useful wtf(1) utility from NetBSD wtf(6) to OpenBSD.

Verify that ports/lang/egcs/stable builds, update some SSL Root CA Certs. Update cvsweb on the BSDadvocacy page and fix it in-tree. Put egcc/eg++ framework into /etc/mk.conf and test that
tg@odem:/usr/ports/net/centericq $ sudo make install clean MKC_EGCC=yes
builds. Fix stupid manpage st(4) .Nm is parsed error (well, kludge). Save xdm configuration files in changelist. Add Art to /usr/share/man/COPYRIGHT, with copyright notice of the BSD dæmon. Curse. About. Gcc.

Before having to give the laptop away, sync the update script with the updated OpenBSD one and upload another snapshot. Try to again fix egcc... and run centericq for the first time since 8 (yes, eight) months again! And set up DNS.

Attempt to improve the website (including my personal homepage) with not too much effort. No, I don't have got a stylesheet yet. Also, the DNS and IPv6 problems (issue: I don't have them) aren't resolved yet, although I have got an account at SixXS.net now.
Update: the subdomain mirbsd.org. has been delegated to me by the friendly owner of 42h.de. Many thanks. The SSH key realms &c. have been updated too, as the change is intended to be persistent. And make a new freenet6 port.

Since freenet6 can be (temporarily) used with domain, IPv6, subnets and everything, until SixXS gets their system running, add the IP addresses of my hosts to the known_hosts database in the upstream file. Sort the shells file. Enable quotas on the development box. And some other stuff (account for bsiegert, in the hope he will do ports. browse the logs, congrats to Silveregg Co. Japan, who install MirBSD fairly often I think; patch adduser to match /etc/shells behaviour). Bump pine port to 4.58 (security fixes), since OpenBSD has locked.
bsiegert@ has fixed exim to compile, and a security fix will be imported with the next synchronization to OpenBSD for said port. He's got commit access to the ports tree. I've changed the mail address for ports again.

Fix some very annoying and outstanding bugs in the new djbdns port. Upgrade strongly recommended!. Fix the good ole tmac.an.old once more. Benny Siegert goes mad on the ports tree, after figuring out how to use the MKC_EGCC variable. I've sorted out the (latest) ISDN patch [this was a hyperlink, but I removed the diff because OpenBSD sucks] from MirBSD to diff against OpenBSD 3.3-stable, for Waldemar Brodkorb.

Late Night Netzladen meeting: exercise installing MirBSD manually on a notebook without floppy and CD (using sector editors etc.)

Mop up and fix bugs in the homepage. Don't mirror files that are in the base install any more. Add a MirOS Certification Authority, because domains changed. So we can offer HTTPS again. Polish the boot code; should work on more broken BIOS boxen now, as well as the Soekris. (CHS single-sector-per-call mode, maybe necessary for the CD-ROM case in a bunch of boxen, too.) Add command "machine oldbios" to /boot.

Validate the new boot code and nuke a few more of the dreaded NLS and LOCALE support code. And I finally found a good mentally impairedly looking penguin art with acceptable licence to include it.

Got my athlon laptop back, but am ill.

Update OpenSSH, X-Window. Sleep much, I'm still ill.

Second sendmail update; ports tree sync with OpenBSD; fixes to some ports and the MirPorts makefile includes. /etc/services update from ViehBSE. Continued illness decreases. Update evilwm into a vendor branch and to latest release 0.99.16 from sourcefrog. Sync bootcode again... OpenBSD has updated theirs, apparently with code similar to ours. Play lynx.

Wake up with headaches, start day slowly (by sleeping a lot). Later on, polish the freenet6 port. In late evening, merely fix boot code finally(!), and do ramdisks and testing in the NetzLaden. And verify X-Window builds; fix the XDrawArc manpage (by escaping pi). The kernel version generation code now includes the major/minor correctly and machine-parseable, as well as the default uname(1) output.

Last boot code fixes before the release, some of the diffs feeded back up to OpenBSD (and committed). man page fix for djbdns (tinydns-data(8)). Build release with X and upload snapshot. New German essay "why MirBSD?".

Website work; font updates. Benny Siegert brings the ghostscript port up to date and de-braindeadifies it. Well, he tries. I've spent an hour fixing him up. And I did something which will be a surprise for the next release of MirBSD, scheduled RSN.
While you're reading here, please stop by at the EUROPEAN SOFTWARE PATENTS PROTEST page and ask your MdEP (MEP) to vote for software freedom, because else, MirBSD and MirLinux, and especially MirPorts, will have great problems to not cease existing. For example, the progress bar ftp(1) currently displays is PATENTED, and much more.

Seemingly last day before software patents decision is about to be made. Keep tuned.
In the meanwhile, I'm busier than my few sleep allows me (I'm barely able to go to workschool in the morning): Note that the "new" autoconf-2.13 port is deemed stable enough, and correct its homepage... Fix up my sample .Xresources according to Tom Dickeys information, and have it meet the updated font artwork at my personal homepage (where there are some nice new pictures in ports/graphics/sng format). Nuke libgcj port finally, it was obsolete for years. Clean up the tree a bit (regression, notes, GNU ./. MirBSD, allow msdos encoding in xterm). Update centericq port to 4.9.6, latest release; remark that MSN might be broken. Update libiberty from the GNU binutils 2.14 sources. Apply "anti-verisign" patches to djbdns, bump pkglevel. Several hours later, update binutils from 2.11.2 (in-tree), (stable port), 2.12 (devel port) to 2.14 (in-tree), broken ports. Fix DJBDNS' original flavour and other stuff which could not have worked. Delete the remaining binutils regression test suites, as I don't have the time to cvs undelete _all_ of them yet (someone beat me for deleting them in the first time, I coulda need them now, kinda). - I ought to get some sleep now.

Seems as if this patent thingy ends in me being able to release MirBSD #7 - though I need more time than planned. In the meantime, stress-test new binutils (rebuild base and kernel) which succeeds. Fix some prototypes; ssh-keygen for RSA v1 keys. Benny imported cups and cups-pstoraster. I pull in glib2/gtk+2 updates from OpenBSD ports, and suggest to build as root whenever the "make configure" stage ends with "Killed." (why?). But: the crossover office port at least shines through (although the syscalls need to be emulated), and the ReWind (Wine) port builds fine, plus I learn much about our make with it. All ports get a new "cleandir" target. NASM gets updated, as well as redhat-base 8.0p3. Benny goes mad on ports that miss USE_CXX or LIBS+=-liconv. And finally I sync ISDN with NetBSD again (bugfix). Btw: regression tests can suck.

Sync with OpenBSD base, write release announcement; finish testing of the ReWind port (disillusioning).

CVS is playing games with me, and it's slow. It sucks. Well, there is no alternative unless you have 8 GB or more RAM (in which case OpenCM comes to mind). - Update Lynx to 2.8.5dev.16c which has many of our former local changes and those from OpenBSD merged in. Sync base again (which was where I have had problems). Nuke GNU bc/dc, use the UNIX ones (same done in OpenBSD now). Benny Siegert has fixed palm tools; I've updated mplayer and centericq. Also add sensorsd to the list of tools to build. Try to convert ISDN from select to poll because OpenBSD changed all of theirs (XXX someone please test!). Switch djbdns to ip6.arpa using the ip6.int mechanism of nibble-oriented backtracing. Install a snake-oil SMTP STARTTLS certificate, so sendmail uses it by default (ok johl@ccc-koeln). Synchronize all of base and X with OpenBSD, regenerate generated stuff. Install USD doc for bc and dc. Start importing all USD, PSD and SMM doc from 4.4BSD-Alpha which is yet missing. Put the Caldera licence on these where needed. Add eqn(1) man page for our neqn which is installed as eqn. Fix a bunch of tmac year displays. Enable "paper.txt" target for bsd.doc.mk in addition to "paper.ps" and make it default since the latter needs groff. Nuke GNU GNATS sendbug. Warn if egcs is not built using egcc. Pull in more than a huge bunch of 4.4BSD documentation and fix the ones we already have in tree, as well as their Makefiles. Someone to port soelim, etc. and fix refer is needed! The papers are installed now as well. The BOSng website starts being hosted at the MirBSD websites. And I start actually reading troff man and tutorial. It looks easier than before... During the release process, fixing X-Window fixes some ports. Yay.

Finish importing OpenBSD work into MirOS BSD/MirPorts. Clean up and polish the base system; regenerate MirPorts index. Make the full base system build and install cleanly; fix packaging lists. Enter MirOS #7 RELEASE. Start building the formal release. The story ends here. You can now purchase (from Thorsten Glaser or SourceMill) a MirBSD Server OS set-up, or download the formal release of MirOS BSD #7, including a full base system set, the GNU Compiler Collection 3.2.3 and the JOE Editor 2.8 (as packages) as well as tarballs of the checked-out source and MirPorts (Attention: these are not built on the development machine, and that's why their hashes are not cryptographically signed! Please read on and follow the hRef below to read the full scoop (announcement).

Oh. You can't mknod(8) within a chroot(8)?

Follow this hRef (hypertext reference) to read about the story of MirOS/BSD after the release #7, or go back to the log overview or to the MirOS main page.

Hope you like it. Have a lot of fun...

MirOS Logo