|
|
|
||||||||||||||||||||||||||||||||||
| Wednesday, 22 May 2013 | Dereel | Images for 22 May 2013 |
| Top of page | ||
| next day | ||
| last day |
|
Subversion: solution
|
Topic: technology, opinion | Link here |
So it seems that my problems with subversion were due initially to my misinterpretation of the -r switch: the form -r242743:r243202 excludes revision 242743. Does it work correctly if I write -r242742:r243202? Potentially not, since revision 242742 doesn't relate to these files. Spent another hour checking out the source tree and tried it. Success!
=== grog@freefall (/dev/pts/8) ~ 15 -> svn merge -r242742:r243202 svn://svn.freebsd.org/base/head/usr.bin/locale 9/usr.bin/locale
So far, anyway. Committing was a different matter:
=== grog@freefall (/dev/pts/8) ~/9/usr.bin 16 -> svn ci locale
Huh? Oh, yes. Since the security incident last year, we no longer keep private keys on freefall. That means that I couldn't use svn+ssh to connect to the repository, so I used svn as well. But I couldn't check in that way. Reluctantly decided to check out the complete repository on eureka, my local machine. To my surprise it took hardly any longer than it did on freefall, and though it checked out a total of 1.4 GB of data, it only caused about 300 MB of network traffic. But things still didn't work:
=== grog@eureka (/dev/pts/3) /src/FreeBSD/svn/stable 150 -> svn merge -r242742:r243202 svn://svn.freebsd.org/base/head/usr.bin/locale 9/usr.bin/locale
That's what comes from copying and pasting: The message didn't help, but I still had svn instead of svn+ssh. After changing that, it finally worked.
So: what have I learnt?
Understand that the -r range excludes the first revision.
There are many ways to merge changes. They all seem to work, but they place the metadata in different places, making it difficult to keep the repository tidy. This is part of the background of the admonitions in the instructions
Understand that you can't hack around on a checked-out repository. Once you merge, you're stuck with it, because there's no way to reset the metadata and start again.
I find last two points a great disadvantage of subversion. It's too easy to make mistakes, and almost impossible to recover from them.
|
Installing the latest FreeBSD stable
|
Topic: technology | Link here |
So finally I have a relatively up-to-date installation of FreeBSD and ports on a virtual machine. Now I should be able to copy it to other machines to upgrade them. For some years now I've maintained two root file systems, including /usr: the one I'm using and the one that I can use to upgrade, which I mount on /destdir. The file systems look like this, and you simply boot from the appropriate partition:
So yesterday I copied the new system to the alternate partition on teevee, my TV computer, and tried booting from it. That involves modifying the /boot/loader.conf file on the first partition, to tell it which partition to boot from. For some reason I had this in there:
That's wrong: it should have been disk0p4. So I had to manually correct it, after which the system came up relatively well; only the remote control didn't work, something that always seems to happen. So I reverted to the old system to watch TV last night. Today corrected /boot/loader.conf and tried again. Not what I expected:
|
|||||||||||||||||||||||
What's that? Line 1016 of /usr/src/sys/boot/common/module.c is the very last line, so it's not clear what really happened here. It also happened before I got the loader prompt, so there was just no way to start the machine. Took the disks and put them in monorchid, my test machine, where I was able to boot from another disk and examine things. After some testing, discovered that it was directly the result of specifying the correct partition! If I specified the wrong one and then corrected it, it would work without any trouble.
So what's the problem? loader too old? More investigation needed, but I want to do it without the danger of not being able to watch TV in the evening. Once again mañana.
| Thursday, 23 May 2013 | Dereel | Images for 23 May 2013 |
| Top of page | ||
| previous day |
|
The joys of a fresh installation
|
Topic: technology, opinion | Link here |
It seems that yesterday's boot problems were related to an older version of /boot/loader that didn't properly understand GPT partitioned disks, so it seemed reasonable to install the newer version from the fresh installation instead. Care! The kernel is in the same directory hierarchy—and somehow I had finger trouble and blew my complete kernel directories of the old installation away!
Spent some time looking for a backup, which proved to be incomplete. I'm not as religious about backing up teevee and cvr2 as I am with other machines, in particular because almost the entire disk contents are video recordings, but clearly I should improve. So the only course is to do what I wanted anyway and ensure that the new system would run correctly. And indeed the loader worked as expected, and the machine came up. Next was to get the remote control working. I've always had difficulty with that, and it was helpful to look back on my experiences last November and two years ago—unfortunately, not helpful enough. I had the correct device, the correct configuration file, and the correct invocation, but nothing happened. The messages in /var/log/lircd were subtly different due to the new version of lircd, so I tried running the old version. In each case, nothing came across. Running ktrace on irw showed that it just wasn't reading anything. Hardware problems perhaps? Remote control batteries empty, or sensor not connected? No, the activity LED worked normally, and the probe messages found that the sensor had been detected:
So what is it? I still don't know. About the only other thing that has changed is the kernel. Do we have USB problems in recent kernels? Looks like this will need some serious debugging. It's a good thing that I can get by without the remote control: I can also use the keyboard.
That wasn't the only problem. Various other configuration things needed fixing. I have a custom version of mplayer, so I moved that across from the old system. But running the invocation script was surprising:
=== grog@teevee (/dev/pts/2) /spool/Docco 28 -> mmp World_at_War-Whirlwind
Syntax error at line 1? That reads:
And looking at line 41 didn't help much either:
Well, not at first. Looking more closely, there was indeed a missing quote at the end: it should read
The RCS control files show that that error had been there for at least a year. It seems that the shell is now finding errors that it somehow missed before.
One of the things that I had expected from the new system was better browser support. Sure enough, Chrome and Opera started up with no trouble beyond the fact that I can no longer find home pages for these browsers. But when I clicked on the firefox menu, nothing happened. Incorrect name? Should I have called it firefox21? Tried running it from the command line: no, it's really firefox, but it didn't behave as expected:
=== grog@teevee (/dev/pts/2) /spool/Docco 44 -> /usr/local/bin/firefox
Doesn't that give you the warm, fuzzy feeling that everything is under control? Decided to recompile it on stable-amd64. More segmentation violations:
So I installed the firefox package from the FTP site. Version 20, now out of date. Not so much an issue in itself, but every time it starts, the damn thing has to tell you so and offer to do what it can't, to install a newer version.
Somehow all this should be easier. Not for the first time I wonder why I stick with FreeBSD. But there's a good answer. To misquote Jawaharlal Nehru:
FreeBSD is good. I say this because other systems are worse.
Other minor issues included not starting the xterms when X starts, and Emacs not reading in its configuration files. Those were both path issues: for some reason, I explicitly requested /usr/local/X11R6/bin/xterm in the startup files, and now it's /usr/local/bin/xterm. In the latter, I had ~/.emacs pointing to (NFS mounted) /dereel/home/grog/.emacs where it should have been /eureka/home/grog/.emacs. But I'm making progress.
|
Somebody to weed the garden
|
Topic: gardening | Link here |
The weeds in the garden are getting so out of control that I'm completely discouraged. I've finally decided to call in somebody to do it for me, and today Bentaz (Ben) and Rowan Brooks came along to take a look. Looks like they can do it for an acceptable price, but there's also Jordan Dickinson, who did the pond for us 18 months ago. But hopefully we'll have the garden looking a lot better soon.
| This page contains (roughly) yesterday's and today's entries. I have a horror of reverse chronological documents, so all my diary entries are chronological. I try to leave the pages here for two days; you'll find them all in the archive, so if I fall behind a day or two, you may find more here. Note that I often update a diary entry a day or two after I write it. | Do you have a comment about something I have written? This is a diary, not a “blog”, and there is deliberately no provision for directly adding comments. But I welcome feedback and try to reply to all messages I receive. See the diary overview for more details. If you do send me a message relating to something I have written, please indicate whether you'd prefer me not to mention your name. Otherwise I'll assume that it's OK to do so. |
| Previous month | Greg's home page | This month | Greg's photos | Greg's links |
| RSS 2.0 |
|