source: build-files/freebsd-update/scripts/diff.sh @ 635dc54

9.2-releasereleng/10.0releng/10.0.1releng/10.0.2
Last change on this file since 635dc54 was 635dc54, checked in by Kris Moore <kris@…>, 13 months ago

Add our freebsd-update code to GIT

This will become a dumping ground for mods we may make to the freebsd-update
build process, as well as the specific patches we have going into a release

  • Property mode set to 100755
File size: 2.9 KB
Line 
1#!/bin/sh -e
2
3#-
4# Copyright 2006 Colin Percival
5# All rights reserved
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted providing that the following conditions
9# are met:
10# 1. Redistributions of source code must retain the above copyright
11#    notice, this list of conditions and the following disclaimer.
12# 2. Redistributions in binary form must reproduce the above copyright
13#    notice, this list of conditions and the following disclaimer in the
14#    documentation and/or other materials provided with the distribution.
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26# POSSIBILITY OF SUCH DAMAGE.
27
28# $FreeBSD: user/cperciva/freebsd-update-build/scripts/diff.sh 247826 2013-03-05 00:52:14Z cperciva $
29
30# Perform a build, including any patches in the patches/${RELEASE}
31# directory, and identify the updates which need to be propagated to
32# the FreeBSD Update clients.
33
34. `dirname $0`/build.subr
35readconfig $1 $2
36
37# Make sure that we've run init.sh first
38checkinit
39
40# Sanity-check the specified patch number; or construct it by adding
41# one to the previous patch number.
42patchnumber $3
43
44# Perform the first build
45extractworld world0
46patchworld world0
47buildworld world0
48addextradocs world0
49indexfiles world0
50
51# Perform the second build
52extractworld world1
53patchworld world1
54futurebuildworld world1
55addextradocs world1
56indexfiles world1
57
58# Compare world0 and world1 to find stamps
59findstamps world0 world1
60
61# Now that we have found the stamps, we don't need the future world.
62removeworld world1
63
64# Edit world0-index to
65# * Revert binaries to the versions in the most recent shipped build if
66#   they have not changed aside from buildstamps, and
67# * Revert binaries to the versions shipped in the release if they have
68#   not changed since the first build.
69unstamp world0
70
71# Move everything into the staging area
72stageworld world0
73
74# Warn the user about which timestamps have been found
75printstamps
76
77# Warn about new updates
78printupdates
79
80# Tell the user that we're done and what he should do next
81cat <<-EOF
82
83        FreeBSD/${TARGET} ${REL} update build complete.  Please review
84        the list of build stamps printed above and the list of updated
85        files to confirm that they look sensible, then run
86        # sh -e approve.sh ${TARGET} ${REL}
87        to sign the build.
88EOF
Note: See TracBrowser for help on using the repository browser.