From owner-freebsd-doc@FreeBSD.ORG Sun Jan 13 08:23:07 2013 Return-Path: Delivered-To: freebsd-doc@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 36D348CE for ; Sun, 13 Jan 2013 08:23:07 +0000 (UTC) (envelope-from simon@qxnitro.org) Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com [209.85.217.180]) by mx1.freebsd.org (Postfix) with ESMTP id 980C7B11 for ; Sun, 13 Jan 2013 08:23:05 +0000 (UTC) Received: by mail-lb0-f180.google.com with SMTP id gj3so2207212lbb.25 for ; Sun, 13 Jan 2013 00:23:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qxnitro.org; s=google; h=mime-version:x-originating-ip:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=cy+2vkzSJhEwj4HovveL5h9x7amZMewX+95ImaS8JCY=; b=KfcpwmtBubxcBiwJeuDP0DrpI8P3XO5gZPrq3eAc8sdjkXl61UjzyTzYQ4DEDtFfiQ NxOWQH9ns+6aA5mUkZa1Ty/EP13v0a7WDgBZ5bCNIsef9GppfxdVQfunAmoq7J0NyfA0 Rn4uL2dWrukUNYLnBTdmbmLkQuFHW81sje51o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:date :message-id:subject:from:to:cc:content-type:x-gm-message-state; bh=cy+2vkzSJhEwj4HovveL5h9x7amZMewX+95ImaS8JCY=; b=opxBri18cGHSfJUqzTLFG4FMy9EAOca6FyxfT5ye+Gv1kH0V6PrvpiLbvEp/7lMfmn F/jvOimtA80YR1Y7CClKZ4RUyIeMMmBV+hf7IqMMJuU8sxLdaAYEjSwjnFDY5HPbzFGh E/f6453ZVkO68jd/p9Tb6v+lXfDQBepo1dvNpv1GjasmTJYKfcOvGaz2B/QtKarZGmuV 6HKsonGRn1WFLlrqSsbxPMN5B9qyZj6giAPWrXINwusKNqtcEeuhZk8/5G8UdD/riqwf M/MzScgfrKdjk4SEcRrIPYB9E4Ei545J2cq8F++Ge4L/ormtYmIZdCqDRomjDvMgB3vy ADMQ== MIME-Version: 1.0 Received: by 10.112.32.100 with SMTP id h4mr204505lbi.53.1358065384688; Sun, 13 Jan 2013 00:23:04 -0800 (PST) Received: by 10.112.19.41 with HTTP; Sun, 13 Jan 2013 00:23:04 -0800 (PST) X-Originating-IP: [89.100.233.26] Received: by 10.112.19.41 with HTTP; Sun, 13 Jan 2013 00:23:04 -0800 (PST) In-Reply-To: References: Date: Sun, 13 Jan 2013 08:23:04 +0000 Message-ID: Subject: Re: freebsd-update and ports From: "Simon L. B. Nielsen" To: Warren Block X-Gm-Message-State: ALoCoQlkykgBv+0OwthF91OKvtiffk0FNNOry2aw/ixOEOE6kFwPp+CfIadgFl1We3NvIReZi5D0 Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: freebsd-doc@freebsd.org X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jan 2013 08:23:07 -0000 On 13 Jan 2013 05:24, "Warren Block" wrote: > > Looking for some feedback from someone more familiar with freebsd-update(8) and ports. > > In reference to this PR: > http://www.freebsd.org/cgi/query-pr.cgi?pr=175069 > > This sentence has never made sense to me: > > Most users will want to run a test build using the following command: > # portupgrade -af > > I also think that the section is incorrect in stating that all ports must be rebuilt even after minor version upgrades. Another problem is that the difference between minor and major upgrades are never defined. > > Difficulty: I have not used freebsd-update(8). There is no difference to a source based upgrade other than freebsd-update will more actively delete old base system .so files. > This patch makes these changes: > > Define minor and major version upgrades at the start of the section. In the text you call it minor and major upgrades. I think that is misleading and should be written out as major version upgrades and minor version upgrades, as a minor version upgrade can still begin problematic and a major version upgrade can be a small thing. > Say that installed applications will generally still run after a minor > upgrade. I would say there is a bug if it doesn't work, but of course its always a risk and there are special cases... > Move the initial portupgrade instructions into a warning, and make it > specific to major upgrades. > Change the final portupgrade instructions to only be required after a > major upgrade. > > Index: cutting-edge/chapter.xml > =================================================================== > --- cutting-edge/chapter.xml (revision 40586) > +++ cutting-edge/chapter.xml (working copy) > @@ -354,82 +354,94 @@ > > Major and Minor Upgrades > > - This process will remove old object files and > - libraries which will break most third party applications. > - It is recommended that all installed ports either be removed > - and re-installed or upgraded later using the > - ports-mgmt/portupgrade > - utility. Most users will want to run a test build using > - the following command: > + Upgrades from one minor version of &os; to another, like > + from &os;-9.0 to &os;-9.1, are called > + minor upgrades. Generally, installed > + applications will continue to work without problems after > + minor upgrades. > > - &prompt.root; portupgrade -af > + Major upgrades are when &os is Missing ; on entity. > + upgraded from one major version of &os; to another, like from > + &os;-8.x to &os;-9.x. > > - This will ensure everything will be re-installed > - correctly. Note that setting the > - BATCH environment variable to > - yes will answer yes to > - any prompts during this process, removing the need for > - manual intervention during the build process. > + > + Major upgrades will remove old object files and > + libraries which will break most third party applications. > + It is recommended that all installed ports either be removed > + and re-installed or upgraded after a major upgrade by using the > + ports-mgmt/portupgrade > + utility. A brute-force rebuild of all installed > + applications can be accomplished with this command: > > - If a custom kernel is in use, the upgrade process is > - slightly more involved. A copy of the > - GENERIC kernel is needed, and it should > - be placed in > - /boot/GENERIC. If the > - GENERIC kernel is not already present in > - the system, it may be obtained using one of the following > - methods: > + &prompt.root; portupgrade -af > > - > - > - If a custom kernel has only been built once, the > - kernel in > - /boot/kernel.old is > - actually the GENERIC one. Simply > - rename this directory to - class="directory">/boot/GENERIC. > - > + This will ensure everything will be re-installed > + correctly. Note that setting the > + BATCH environment variable to > + yes will answer yes to > + any prompts during this process, removing the need for > + manual intervention during the build process. > > - > - Assuming physical access to the machine is possible, a > - copy of the GENERIC kernel can be > - installed from the CD-ROM media. Insert your installation > - disc and use the following commands: > + If a custom kernel is in use, the upgrade process is > + slightly more involved. A copy of the > + GENERIC kernel is needed, and it should > + be placed in > + /boot/GENERIC. If the > + GENERIC kernel is not already present in > + the system, it may be obtained using one of the following > + methods: > > - &prompt.root; mount /cdrom > + > + > + If a custom kernel has only been built once, the > + kernel in > + /boot/kernel.old is > + actually the GENERIC one. Simply > + rename this directory to + class="directory">/boot/GENERIC. > + > + > + > + Assuming physical access to the machine is possible, a > + copy of the GENERIC kernel can be > + installed from the CD-ROM media. Insert your installation > + disc and use the following commands: > + > + &prompt.root; mount /cdrom > &prompt.root; cd /cdrom/X.Y-RELEASE/kernels > &prompt.root; ./install.sh GENERIC This is only correct for FreeBSD 8 and older. For 9..0 onwards other is a tgz in /usr/freebsd-dist . > > - Replace - class="directory">X.Y-RELEASE > - with the actual version of the release you are using. The > - GENERIC kernel will be installed in > - /boot/GENERIC by > - default. > - > + Replace + class="directory">X.Y-RELEASE > + with the actual version of the release you are using. The > + GENERIC kernel will be installed in > + /boot/GENERIC by > + default. > + > > - > - Failing all the above, the > - GENERIC kernel may be rebuilt and > - installed from the sources: > + > + Failing all the above, the > + GENERIC kernel may be rebuilt and > + installed from the sources: > > - &prompt.root; cd /usr/src > + &prompt.root; cd /usr/src > &prompt.root; env DESTDIR=/boot/GENERIC make kernel > &prompt.root; mv /boot/GENERIC/boot/kernel/* /boot/GENERIC > &prompt.root; rm -rf /boot/GENERIC/boot > > - For this kernel to be picked up as > - GENERIC > - by freebsd-update, the > - GENERIC configuration file must not > - have been modified in any way. It is also suggested that > - it is built without any other special options (preferably > - with an empty /etc/make.conf). > - > - > + For this kernel to be picked up as > + GENERIC > + by freebsd-update, the > + GENERIC configuration file must not > + have been modified in any way. It is also suggested that > + it is built without any other special options (preferably > + with an empty /etc/make.conf). > + > + > > - Rebooting to the GENERIC kernel is > - not required at this stage. > + Rebooting to the GENERIC kernel is > + not required at this stage. > + > > Major and minor version updates may be performed by > providing freebsd-update with a release > @@ -552,7 +564,7 @@ > three. > > > - All third party software will now need to be rebuilt and > + After a major upgrade, all third party software will now need to be rebuilt and > re-installed. This is required as installed software may > depend on libraries which have been removed during the upgrade > process. The SimonSimon