]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - release/scripts/pkg-stage.sh
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / release / scripts / pkg-stage.sh
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 set -e
7
8 export ASSUME_ALWAYS_YES="YES"
9 export PKG_DBDIR="/tmp/pkg"
10 export PERMISSIVE="YES"
11 export REPO_AUTOUPDATE="NO"
12 export PKGCMD="/usr/sbin/pkg -d"
13
14 _DVD_PACKAGES="archivers/unzip
15 devel/subversion
16 devel/subversion-static
17 emulators/linux_base-f10
18 misc/freebsd-doc-all
19 net/mpd5
20 net/rsync
21 ports-mgmt/pkg
22 ports-mgmt/portmaster
23 shells/bash
24 shells/zsh
25 security/sudo
26 sysutils/screen
27 www/firefox
28 www/links
29 x11-drivers/xf86-video-vmware
30 x11/gnome3
31 x11/kde4
32 x11/xorg"
33
34 # If NOPORTS is set for the release, do not attempt to build pkg(8).
35 if [ ! -f /usr/ports/Makefile ]; then
36         echo "*** /usr/ports is missing!    ***"
37         echo "*** Skipping pkg-stage.sh     ***"
38         echo "*** Unset NOPORTS to fix this ***"
39         exit 0
40 fi
41
42 if [ ! -x /usr/local/sbin/pkg ]; then
43         /etc/rc.d/ldconfig restart
44         /usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean
45 fi
46
47 export DVD_DIR="dvd/packages"
48 export PKG_ABI=$(pkg config ABI)
49 export PKG_ALTABI=$(pkg config ALTABI 2>/dev/null)
50 export PKG_REPODIR="${DVD_DIR}/${PKG_ABI}"
51
52 /bin/mkdir -p ${PKG_REPODIR}
53 if [ ! -z "${PKG_ALTABI}" ]; then
54         (cd ${DVD_DIR} && ln -s ${PKG_ABI} ${PKG_ALTABI})
55 fi
56
57 # Ensure the ports listed in _DVD_PACKAGES exist to sanitize the
58 # final list.
59 for _P in ${_DVD_PACKAGES}; do
60         if [ -d "/usr/ports/${_P}" ]; then
61                 DVD_PACKAGES="${DVD_PACKAGES} ${_P}"
62         else
63                 echo "*** Skipping nonexistent port: ${_P}"
64         fi
65 done
66
67 # Make sure the package list is not empty.
68 if [ -z "${DVD_PACKAGES}" ]; then
69         echo "*** The package list is empty."
70         echo "*** Something is very wrong."
71         # Exit '0' so the rest of the build process continues
72         # so other issues (if any) can be addressed as well.
73         exit 0
74 fi
75
76 # Print pkg(8) information to make debugging easier.
77 ${PKGCMD} -vv
78 ${PKGCMD} update -f
79 ${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES}
80
81 # Create the 'Latest/pkg.txz' symlink so 'pkg bootstrap' works
82 # using the on-disc packages.
83 mkdir -p ${PKG_REPODIR}/Latest
84 (cd ${PKG_REPODIR}/Latest && \
85         ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).txz pkg.txz)
86
87 ${PKGCMD} repo ${PKG_REPODIR}
88
89 # Always exit '0', even if pkg(8) complains about conflicts.
90 exit 0