Date: Mon, 23 Mar 1998 09:51:29 -0800 (PST) From: David Wolfskill <dhw@whistle.com> To: freebsd-stable@FreeBSD.ORG Subject: Re: after the release ... Message-ID: <199803231751.JAA10716@pau-amma.whistle.com>
next in thread | raw e-mail | index | archive | help
>From: Cy Schubert - ITSD Open Systems Group <cschuber@uumail.gov.bc.ca> >Date: Fri, 20 Mar 1998 23:48:52 -0800 >A LOT of thought needs to be put into this. Very true. >Patch packages would need to support pre-requisites, co-requisites and >be able to superceed other packages; and don't forget a backout process. Agreed. >A simpler approach would be to use Sun's approach which bundles related >patches into jumbo patches (though I'm partial to IBM's approach). I have slightly more experience (both in duration & depth) with the approach IBM use{s,d} with MVS (either /XA or /ESA), and confess to slightly more comfort with that (vs. Sun's approach). >Either way you just can't jump into this. The first step would be to >have the base O/S managed via packages. That would be big chunk of the >work. Then there's designing a patch application (or borrowing one) >and managing patch releases. IBM even has a separate product (SPM/E) to do this... and it's a non-trival resource consumer (read "hog"). >Other questions to be answered would be, what O/S changes would be good >candidates for patches and what could wait for the next release? Who >would make these decisions? Who would package the patches? Well, these seem similar in scope & nature to the issues of deciding when some source gets committed.... >Another consideration: What if somebody modifies the O/S at their >site. MVS, for example, uses USERMODS which automatically get dumped >when patches (PTF's or APARFIXES), or new product (FMID's) are applied. Ummm.... Not necessarily. What we did (when I was an MVS systems programmer) was write USERMODs, and add them to the SPM/E database. What this does (and may be what Cy is referring to) is notify you if there's a conflict between the USERMOD and a patch that needs to be applied. With that knowledge, then, the maintainer would then: * Go look up the docs to see what sort of change there is. Sometimes the change doesn't really affect the operation of the USERMOD, and it's safe to: * Back out ("reject") the USERMOD. * Install ("apply") the patch. * (Possibly) modify the SMP/E packaging for the USERMOD so it will install cleanly. * Install ("apply") the USERMOD. * Sometimes a patch really does change the interface that a USERMOD uses, and in that case, it may be necessary to re-work the USERMOD itself. * Other times, the patch make the whole USERMOD in question either moot or impossible... but at least SMP/E will be rather noisy & let you know about it... so there's some hope you can find out about it beforehand, and make a decision as to what you're going to do. > Would those of us maintaining FreeBSD sites be willing to follow a >regimen as specified by the chosen patch philosophy? On the other hand >would Sun's simpler approach work -- if the file's checksum (MD5?) >doesn't match what the patch expects, abort? The USERMOD approach has some very nice things -- not least of which was the basic design (in MVS), such that if the system found the existence of a load module with a specified name (in a certain restricted list of system libraries, of course!), control would be passed to that module with a documented parameter list, and the module could do certain things -- typically involving returning one of several return codes (to indicate that the operation should continue as if the module had not been called, should be rejected with a whimper, should be re-tried, or aborted). The basic idea is that one makes a clean separation between local code vs. "vendor" code. >I think a lot of thought and discussion needs to be put into this >before we decide if this should be done or when, should it be decided >that we do it, what it should look like and whether the community is >willing to commit using such a tool (there's no sense doing it if no >one will be willing to follow the regimen). There was, in the MVS world, a significant degree of resistance to the use of SMP/E for packaging USERMODs... especially because of a lack of discipline. And it's rather like using RCS: it works well, as long as everyone "plays by the ruules" -- but when somone goes in as root, modifies a file, tries to write it, is told it's a read-only file, and thinks "What do you mean, 'read-only': I'm root, I can change anything!" and writes the change anyway... well, things tend to go downhill.... >Date: Mon, 23 Mar 1998 11:31:08 +1030 >From: "Daniel O'Connor" <doconnor@gsoft.com.au> >I mean if you could guarantee that the system would be in a given state then a >binary upgrade would be quite easy. The main problem IMHO would be making a >system which didn't mangle any custom stuff you've done to your machine.. That's where careful "packaging" of USERMODs comes in: defining *all* of the pre-requisites & co-requisites. >I see making a 'patch' consist of a group of things to apply/change/suggest >which have pre/co-requisites, and if these are wrong(ie the checksum doesn't >match or the date is too new/old) then don't apply that group.. ie make each >group atomic, so that if part of it fails, then back the whole group out. Yes, I think so.... >Date: Sun, 22 Mar 1998 22:57:12 -0800 >From: Greg Shenaut <greg@bogslab.ucdavis.edu> >I think patches are very different from packages. Packages are >optional modules which can be added to a system; patches fix bugs >in the system. I'm comfortable with that terminology, and think that the distinction is useful & valuable. >Packages are distributed with the CD-ROM; it would >make no sense for a patch to be distributed with a CD-ROM. I wouldn't go quite that far, though I'd freely admit that it would make more sense to have the content of the CD be fairly fixed, and have a much more dynamic set of patches (and a somewhat less dynamic list of which patches to apply to the CD to get a stable, working system). Cheers, david -- David Wolfskill dhw@whistle.com (650) 577-7158 pager: (650) 401-0168 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803231751.JAA10716>