Improving a development tool.

One of the internal development tools we use heavily within the Solaris development organization is a script called "bfu".  Depending on who you talk to, it's either Bonwick/Faulkner Upgrade or Blindingly Fast Upgrade.

In a matter of a few minutes, it will either (a) upgrade the core OS components from a nightly build, or (b) turn it into an unbootable brick.
In other words -- the perfect tool for a developer and something you don't want customers to ever use.  (Of course we'll be letting it loose as part of OpenSolaris).

The core of bfu is the use of cpio to overwrite all the files which originate from a build of the core OS/Networking ("ON") source tree.
This gets you most of the way there, but the remaining bit is to merge various system files (especially key files like /etc/name_to_major and /etc/minor_perm) to include both the new additions in the core OS \*and\* entries added by non-ON packages as part of the original install.
Our packaging system includes "class action" scripts to update these files automatically, but since the dawn of BFU, developers have had to merge these files manually on each BFU; getting this wrong is the leading cause of brickification.

As you might expect, all sorts of hacks have evolved to do this in an automated way.

A few years ago, a coworker developed a package called ACR which does it The Right Way -- using the same scripts used by packaging.
She's been too busy to integrate this into the official source tree, so I picked it up & ran with it, and just integrated it.  Folks in the OpenSolaris preview should see this in nevada build 13.
Comments:

[Trackback] I had originally planned to base my second posting [1] on Suns Performance Lifestyle around the concept of testing software versus hardware, ie the dreaded i/o bound benchmark. The article is part written, but unfortunately I haven't managed to sched...

Posted by fintanr's weblog on April 25, 2005 at 05:49 PM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

sommerfeld

Search

Top Tags
Archives
« July 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today