svn commit: r293225 - in projects/release-pkg: . include lib/libc/gen libexec/rtld-elf release release/amd64 release/i386 release/pc98 release/powerpc release/scripts release/sparc64 share/man/man4...
Glen Barber
gjb at FreeBSD.org
Tue Jan 5 21:12:53 UTC 2016
Author: gjb
Date: Tue Jan 5 21:12:49 2016
New Revision: 293225
URL: https://svnweb.freebsd.org/changeset/base/293225
Log:
MFH
Sponsored by: The FreeBSD Foundation
Modified:
projects/release-pkg/Makefile.inc1
projects/release-pkg/include/paths.h
projects/release-pkg/lib/libc/gen/exec.3
projects/release-pkg/lib/libc/gen/posix_spawn.3
projects/release-pkg/libexec/rtld-elf/rtld.c
projects/release-pkg/libexec/rtld-elf/rtld.h
projects/release-pkg/release/Makefile
projects/release-pkg/release/amd64/mkisoimages.sh
projects/release-pkg/release/i386/mkisoimages.sh
projects/release-pkg/release/pc98/mkisoimages.sh
projects/release-pkg/release/powerpc/mkisoimages.sh
projects/release-pkg/release/scripts/make-manifest.sh
projects/release-pkg/release/sparc64/mkisoimages.sh
projects/release-pkg/share/man/man4/ioat.4
projects/release-pkg/sys/dev/ioat/ioat.c
projects/release-pkg/sys/dev/ioat/ioat.h
projects/release-pkg/sys/dev/iwm/if_iwm.c
projects/release-pkg/sys/kern/vfs_default.c
projects/release-pkg/sys/kern/vfs_subr.c
projects/release-pkg/usr.sbin/bsdinstall/scripts/auto
projects/release-pkg/usr.sbin/cron/crontab/crontab.5
Directory Properties:
projects/release-pkg/ (props changed)
projects/release-pkg/include/ (props changed)
projects/release-pkg/lib/libc/ (props changed)
projects/release-pkg/share/ (props changed)
projects/release-pkg/share/man/man4/ (props changed)
projects/release-pkg/sys/ (props changed)
Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1 Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/Makefile.inc1 Tue Jan 5 21:12:49 2016 (r293225)
@@ -1317,27 +1317,43 @@ packagekernel:
.if defined(NO_ROOT)
.if !defined(NO_INSTALLKERNEL)
cd ${DESTDIR}/${DISTDIR}/kernel; \
- tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \
+ tar cvf - --exclude '*.debug' \
+ @${DESTDIR}/${DISTDIR}/kernel.meta | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.txz
.endif
+ cd ${DESTDIR}/${DISTDIR}/kernel; \
+ tar cvf - --include '*/*/*.debug' \
+ @${DESTDIR}/${DISTDIR}/kernel.meta | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz
.if ${BUILDKERNELS:[#]} > 1
.for _kernel in ${BUILDKERNELS:[2..-1]}
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
- tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
+ tar cvf - --exclude '*.debug' \
+ @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz
+ cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
+ tar cvf - --include '*/*/*.debug' \
+ @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz
.endfor
.endif
.else
.if !defined(NO_INSTALLKERNEL)
cd ${DESTDIR}/${DISTDIR}/kernel; \
- tar cvf - . | \
+ tar cvf - --exclude '*.debug' . | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.txz
.endif
+ cd ${DESTDIR}/${DISTDIR}/kernel; \
+ tar cvf - --include '*/*/*.debug' $$(eval find .) | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz
.if ${BUILDKERNELS:[#]} > 1
.for _kernel in ${BUILDKERNELS:[2..-1]}
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
- tar cvf - . | \
+ tar cvf - --exclude '*.debug' . | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz
+ cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
+ tar cvf - --include '*/*/*.debug' $$(eval find .) | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz
.endfor
.endif
.endif
Modified: projects/release-pkg/include/paths.h
==============================================================================
--- projects/release-pkg/include/paths.h Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/include/paths.h Tue Jan 5 21:12:49 2016 (r293225)
@@ -36,7 +36,7 @@
#include <sys/cdefs.h>
/* Default search path. */
-#define _PATH_DEFPATH "/usr/bin:/bin"
+#define _PATH_DEFPATH "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
/* All standard utilities path. */
#define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"
/* Locate system binaries. */
@@ -108,7 +108,7 @@ __END_DECLS
#ifdef RESCUE
#undef _PATH_DEFPATH
-#define _PATH_DEFPATH "/rescue:/usr/bin:/bin"
+#define _PATH_DEFPATH "/rescue:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
#undef _PATH_STDPATH
#define _PATH_STDPATH "/rescue:/usr/bin:/bin:/usr/sbin:/sbin"
#undef _PATH_SYSPATH
Modified: projects/release-pkg/lib/libc/gen/exec.3
==============================================================================
--- projects/release-pkg/lib/libc/gen/exec.3 Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/lib/libc/gen/exec.3 Tue Jan 5 21:12:49 2016 (r293225)
@@ -28,7 +28,7 @@
.\" @(#)exec.3 8.3 (Berkeley) 1/24/94
.\" $FreeBSD$
.\"
-.Dd December 12, 2015
+.Dd January 5, 2016
.Dt EXEC 3
.Os
.Sh NAME
@@ -161,7 +161,7 @@ the default path is set according to the
definition in
.In paths.h ,
which is set to
-.Dq Ev /usr/bin:/bin .
+.Dq Ev /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin .
For
.Fn execvP ,
the search path is specified as an argument to the function.
Modified: projects/release-pkg/lib/libc/gen/posix_spawn.3
==============================================================================
--- projects/release-pkg/lib/libc/gen/posix_spawn.3 Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/lib/libc/gen/posix_spawn.3 Tue Jan 5 21:12:49 2016 (r293225)
@@ -34,7 +34,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 17, 2011
+.Dd January 5, 2016
.Dt POSIX_SPAWN 3
.Os
.Sh NAME
@@ -126,7 +126,7 @@ the default path is set according to the
definition in
.In paths.h ,
which is set to
-.Dq Ev /usr/bin:/bin .
+.Dq Ev /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin .
.Pp
If
.Fa file_actions
Modified: projects/release-pkg/libexec/rtld-elf/rtld.c
==============================================================================
--- projects/release-pkg/libexec/rtld-elf/rtld.c Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/libexec/rtld-elf/rtld.c Tue Jan 5 21:12:49 2016 (r293225)
@@ -1144,13 +1144,13 @@ digest_dynamic1(Obj_Entry *obj, int earl
* is mapped read-only. DT_MIPS_RLD_MAP is used instead.
*/
-#ifndef __mips__
case DT_DEBUG:
+ if (!obj->writable_dynamic)
+ break;
if (!early)
dbg("Filling in DT_DEBUG entry");
((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug;
break;
-#endif
case DT_FLAGS:
if (dynp->d_un.d_val & DF_ORIGIN)
@@ -1331,6 +1331,8 @@ digest_phdr(const Elf_Phdr *phdr, int ph
break;
case PT_DYNAMIC:
+ if (ph->p_flags & PROT_WRITE)
+ obj->writable_dynamic = true;
obj->dynamic = (const Elf_Dyn *)(ph->p_vaddr + obj->relocbase);
break;
Modified: projects/release-pkg/libexec/rtld-elf/rtld.h
==============================================================================
--- projects/release-pkg/libexec/rtld-elf/rtld.h Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/libexec/rtld-elf/rtld.h Tue Jan 5 21:12:49 2016 (r293225)
@@ -264,6 +264,7 @@ typedef struct Struct_Obj_Entry {
bool valid_hash_sysv : 1; /* A valid System V hash hash tag is available */
bool valid_hash_gnu : 1; /* A valid GNU hash tag is available */
bool dlopened : 1; /* dlopen()-ed (vs. load statically) */
+ bool writable_dynamic : 1; /* PT_DYNAMIC is writable */
struct link_map linkmap; /* For GDB and dlinfo() */
Objlist dldags; /* Object belongs to these dlopened DAGs (%) */
Modified: projects/release-pkg/release/Makefile
==============================================================================
--- projects/release-pkg/release/Makefile Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/release/Makefile Tue Jan 5 21:12:49 2016 (r293225)
@@ -176,7 +176,7 @@ disc1: packagesystem
MK_DEBUG_FILES=no
# Copy distfiles
mkdir -p ${.TARGET}/usr/freebsd-dist
- for dist in MANIFEST $$(ls *.txz | grep -v -- '-dbg'); \
+ for dist in MANIFEST $$(ls *.txz | grep -vE -- '(base|lib32)-dbg'); \
do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
done
# Copy documentation, if generated
@@ -225,7 +225,7 @@ dvd: packagesystem
MK_TESTS=no MK_DEBUG_FILES=no
# Copy distfiles
mkdir -p ${.TARGET}/usr/freebsd-dist
- for dist in MANIFEST $$(ls *.txz | grep -v -- '-dbg'); \
+ for dist in MANIFEST $$(ls *.txz | grep -v -- '(base|lib32)-dbg'); \
do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
done
# Copy documentation, if generated
Modified: projects/release-pkg/release/amd64/mkisoimages.sh
==============================================================================
--- projects/release-pkg/release/amd64/mkisoimages.sh Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/release/amd64/mkisoimages.sh Tue Jan 5 21:12:49 2016 (r293225)
@@ -56,5 +56,5 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
-rm "$1/etc/fstab"
+rm -f "$1/etc/fstab"
rm -f efiboot.img
Modified: projects/release-pkg/release/i386/mkisoimages.sh
==============================================================================
--- projects/release-pkg/release/i386/mkisoimages.sh Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/release/i386/mkisoimages.sh Tue Jan 5 21:12:49 2016 (r293225)
@@ -42,4 +42,4 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
-rm "$1/etc/fstab"
+rm -f "$1/etc/fstab"
Modified: projects/release-pkg/release/pc98/mkisoimages.sh
==============================================================================
--- projects/release-pkg/release/pc98/mkisoimages.sh Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/release/pc98/mkisoimages.sh Tue Jan 5 21:12:49 2016 (r293225)
@@ -42,4 +42,4 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
-rm "$1/etc/fstab"
+rm -f "$1/etc/fstab"
Modified: projects/release-pkg/release/powerpc/mkisoimages.sh
==============================================================================
--- projects/release-pkg/release/powerpc/mkisoimages.sh Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/release/powerpc/mkisoimages.sh Tue Jan 5 21:12:49 2016 (r293225)
@@ -64,6 +64,6 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
-rm "$1/etc/fstab"
-rm /tmp/hfs-boot-block
+rm -f "$1/etc/fstab"
+rm -f /tmp/hfs-boot-block
rm -rf "$1/ppc"
Modified: projects/release-pkg/release/scripts/make-manifest.sh
==============================================================================
--- projects/release-pkg/release/scripts/make-manifest.sh Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/release/scripts/make-manifest.sh Tue Jan 5 21:12:49 2016 (r293225)
@@ -9,18 +9,64 @@
#
# $FreeBSD$
-desc_base="Base system (MANDATORY)"
-desc_kernel="Kernel (MANDATORY)"
-desc_doc="Additional documentation"
-doc_default=off
-desc_lib32="32-bit compatibility libraries"
-desc_ports="Ports tree"
-desc_src="System source code"
-desc_tests="Test suite"
-src_default=off
-tests_default=off
+base="Base system"
+doc="Additional Documentation"
+kernel="Kernel"
+ports="Ports tree"
+src="System source tree"
+lib32="32-bit compatibility libraries"
+tests="Test suite"
-for i in $*; do
- echo "`basename $i` `sha256 -q $i` `tar tvf $i | wc -l | tr -d ' '` `basename $i .txz` \"`eval echo \\\$desc_$(basename $i .txz)`\" `eval echo \\\${$(basename $i .txz)_default:-on}`"
+desc_base="${base} (MANDATORY)"
+desc_base_dbg="${base} (Debugging)"
+desc_doc="${doc}"
+desc_kernel="${kernel} (MANDATORY)"
+desc_kernel_dbg="${kernel} (Debugging)"
+desc_kernel_alt="Alternate ${kernel}"
+desc_kernel_alt_dbg="Alternate ${kernel} (Debugging)"
+desc_lib32="${lib32}"
+desc_lib32_dbg="${lib32} (Debugging)"
+desc_ports="${ports}"
+desc_src="${src}"
+desc_tests="${tests}"
+
+default_doc=off
+default_src=off
+default_tests=off
+default_base_dbg=off
+default_lib32_dbg=off
+default_kernel_alt=off
+default_kernel_dbg=on
+default_kernel_alt_dbg=off
+
+for i in ${*}; do
+ dist="${i}"
+ distname="${i%%.txz}"
+ distname="$(echo ${distname} | tr '-' '_')"
+ distname="$(echo ${distname} | tr 'kernel.' 'kernel_')"
+ hash="$(sha256 -q ${i})"
+ nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')"
+ default="$(eval echo \${default_${distname}:-on})"
+ desc="$(eval echo \"\${desc_${distname}}\")"
+
+ case ${i} in
+ kernel-dbg.txz)
+ desc="${desc_kernel_dbg}"
+ ;;
+ kernel.*-dbg.txz)
+ desc="$(eval echo \"${desc_kernel_alt_dbg}\")"
+ desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')"
+ default="$(eval echo \"${default_kernel_alt_dbg}\")"
+ ;;
+ kernel.*.txz)
+ desc="$(eval echo \"${desc_kernel_alt}\")"
+ desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')"
+ default="$(eval echo \"${default_kernel_alt}\")"
+ ;;
+ *)
+ ;;
+ esac
+
+ printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n"
done
Modified: projects/release-pkg/release/sparc64/mkisoimages.sh
==============================================================================
--- projects/release-pkg/release/sparc64/mkisoimages.sh Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/release/sparc64/mkisoimages.sh Tue Jan 5 21:12:49 2016 (r293225)
@@ -38,7 +38,7 @@ BASEBITSDIR="$1"
publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$BASEBITSDIR/etc/fstab"
makefs -t cd9660 -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME.tmp" "$@"
-rm "$BASEBITSDIR/etc/fstab"
+rm -f "$BASEBITSDIR/etc/fstab"
if [ "x$BOPT" != "x-b" ]; then
mv "$NAME.tmp" "$NAME"
Modified: projects/release-pkg/share/man/man4/ioat.4
==============================================================================
--- projects/release-pkg/share/man/man4/ioat.4 Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/share/man/man4/ioat.4 Tue Jan 5 21:12:49 2016 (r293225)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 17, 2015
+.Dd January 5, 2016
.Dt IOAT 4
.Os
.Sh NAME
@@ -65,6 +65,8 @@ In
.Fn ioat_put_dmaengine "bus_dmaengine_t dmaengine"
.Ft int
.Fn ioat_get_hwversion "bus_dmaengine_t dmaengine"
+.Ft size_t
+.Fn ioat_get_max_io_size "bus_dmaengine_t dmaengine"
.Ft int
.Fn ioat_set_interrupt_coalesce "bus_dmaengine_t dmaengine" "uint16_t delay"
.Ft uint16_t
Modified: projects/release-pkg/sys/dev/ioat/ioat.c
==============================================================================
--- projects/release-pkg/sys/dev/ioat/ioat.c Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/sys/dev/ioat/ioat.c Tue Jan 5 21:12:49 2016 (r293225)
@@ -744,6 +744,15 @@ ioat_get_hwversion(bus_dmaengine_t dmaen
return (ioat->version);
}
+size_t
+ioat_get_max_io_size(bus_dmaengine_t dmaengine)
+{
+ struct ioat_softc *ioat;
+
+ ioat = to_ioat_softc(dmaengine);
+ return (ioat->max_xfer_size);
+}
+
int
ioat_set_interrupt_coalesce(bus_dmaengine_t dmaengine, uint16_t delay)
{
Modified: projects/release-pkg/sys/dev/ioat/ioat.h
==============================================================================
--- projects/release-pkg/sys/dev/ioat/ioat.h Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/sys/dev/ioat/ioat.h Tue Jan 5 21:12:49 2016 (r293225)
@@ -70,6 +70,7 @@ void ioat_put_dmaengine(bus_dmaengine_t
/* Check the DMA engine's HW version */
int ioat_get_hwversion(bus_dmaengine_t dmaengine);
+size_t ioat_get_max_io_size(bus_dmaengine_t dmaengine);
/*
* Set interrupt coalescing on a DMA channel.
Modified: projects/release-pkg/sys/dev/iwm/if_iwm.c
==============================================================================
--- projects/release-pkg/sys/dev/iwm/if_iwm.c Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/sys/dev/iwm/if_iwm.c Tue Jan 5 21:12:49 2016 (r293225)
@@ -2041,7 +2041,6 @@ iwm_mvm_load_ucode_wait_alive(struct iwm
sc->sc_uc_current = ucode_type;
error = iwm_start_fw(sc, ucode_type);
- iwm_fw_info_free(&sc->sc_fw);
if (error) {
sc->sc_uc_current = old_type;
return error;
@@ -4937,6 +4936,7 @@ iwm_suspend(device_t dev)
static int
iwm_detach_local(struct iwm_softc *sc, int do_net80211)
{
+ struct iwm_fw_info *fw = &sc->sc_fw;
device_t dev = sc->sc_dev;
int i;
@@ -4953,6 +4953,10 @@ iwm_detach_local(struct iwm_softc *sc, i
for (i = 0; i < nitems(sc->txq); i++)
iwm_free_tx_ring(sc, &sc->txq[i]);
+ /* Free firmware */
+ if (fw->fw_fp != NULL)
+ iwm_fw_info_free(fw);
+
/* Free scheduler */
iwm_free_sched(sc);
if (sc->ict_dma.vaddr != NULL)
Modified: projects/release-pkg/sys/kern/vfs_default.c
==============================================================================
--- projects/release-pkg/sys/kern/vfs_default.c Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/sys/kern/vfs_default.c Tue Jan 5 21:12:49 2016 (r293225)
@@ -1080,15 +1080,9 @@ vop_stdadvise(struct vop_advise_args *ap
bsize = vp->v_bufobj.bo_bsize;
startn = ap->a_start / bsize;
endn = ap->a_end / bsize;
- for (;;) {
- error = bnoreuselist(&bo->bo_clean, bo, startn, endn);
- if (error == EAGAIN)
- continue;
+ error = bnoreuselist(&bo->bo_clean, bo, startn, endn);
+ if (error == 0)
error = bnoreuselist(&bo->bo_dirty, bo, startn, endn);
- if (error == EAGAIN)
- continue;
- break;
- }
BO_RUNLOCK(bo);
VOP_UNLOCK(vp, 0);
break;
Modified: projects/release-pkg/sys/kern/vfs_subr.c
==============================================================================
--- projects/release-pkg/sys/kern/vfs_subr.c Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/sys/kern/vfs_subr.c Tue Jan 5 21:12:49 2016 (r293225)
@@ -1669,7 +1669,8 @@ bnoreuselist(struct bufv *bufv, struct b
ASSERT_BO_LOCKED(bo);
- for (lblkno = startn;; lblkno++) {
+ for (lblkno = startn;;) {
+again:
bp = BUF_PCTRIE_LOOKUP_GE(&bufv->bv_root, lblkno);
if (bp == NULL || bp->b_lblkno >= endn)
break;
@@ -1677,11 +1678,14 @@ bnoreuselist(struct bufv *bufv, struct b
LK_INTERLOCK, BO_LOCKPTR(bo), "brlsfl", 0, 0);
if (error != 0) {
BO_RLOCK(bo);
- return (error != ENOLCK ? error : EAGAIN);
+ if (error == ENOLCK)
+ goto again;
+ return (error);
}
KASSERT(bp->b_bufobj == bo,
("bp %p wrong b_bufobj %p should be %p",
bp, bp->b_bufobj, bo));
+ lblkno = bp->b_lblkno + 1;
if ((bp->b_flags & B_MANAGED) == 0)
bremfree(bp);
bp->b_flags |= B_RELBUF;
Modified: projects/release-pkg/usr.sbin/bsdinstall/scripts/auto
==============================================================================
--- projects/release-pkg/usr.sbin/bsdinstall/scripts/auto Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/usr.sbin/bsdinstall/scripts/auto Tue Jan 5 21:12:49 2016 (r293225)
@@ -115,7 +115,8 @@ bsdinstall hostname || error "Set hostna
export DISTRIBUTIONS="base.txz kernel.txz"
if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
- DISTMENU=`awk -F'\t' '!/^(kernel|base)/{print $4,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST`
+ DISTMENU=`awk -F'\t' '!/^(kernel\.txz|base\.txz)/{print $1,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST`
+ DISTMENU="$(echo ${DISTMENU} | sed -E 's/\.txz//g')"
exec 3>&1
EXTRA_DISTS=$( eval dialog \
@@ -129,16 +130,20 @@ if [ -f $BSDINSTALL_DISTDIR/MANIFEST ];
done
fi
+LOCAL_DISTRIBUTIONS="MANIFEST"
FETCH_DISTRIBUTIONS=""
for dist in $DISTRIBUTIONS; do
if [ ! -f $BSDINSTALL_DISTDIR/$dist ]; then
FETCH_DISTRIBUTIONS="$FETCH_DISTRIBUTIONS $dist"
+ else
+ LOCAL_DISTRIBUTIONS="$LOCAL_DISTRIBUTIONS $dist"
fi
done
+LOCAL_DISTRIBUTIONS=`echo $LOCAL_DISTRIBUTIONS` # Trim white space
FETCH_DISTRIBUTIONS=`echo $FETCH_DISTRIBUTIONS` # Trim white space
if [ -n "$FETCH_DISTRIBUTIONS" -a -n "$BSDINSTALL_CONFIGCURRENT" ]; then
- dialog --backtitle "FreeBSD Installer" --title "Network Installation" --msgbox "No installation files were found on the boot volume. The next few screens will allow you to configure networking so that they can be downloaded from the Internet." 0 0
+ dialog --backtitle "FreeBSD Installer" --title "Network Installation" --msgbox "Some installation files were not found on the boot volume. The next few screens will allow you to configure networking so that they can be downloaded from the Internet." 0 0
bsdinstall netconfig || error
NETCONFIG_DONE=yes
fi
@@ -299,6 +304,7 @@ esac
if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then
ALL_DISTRIBUTIONS="$DISTRIBUTIONS"
+ WANT_DEBUG=
# Download to a directory in the new system as scratch space
BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist"
@@ -310,15 +316,65 @@ if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then
DISTDIR_IS_UNIONFS=1
mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR"
else
- export DISTRIBUTIONS="$ALL_DISTRIBUTIONS"
+ export DISTRIBUTIONS="$FETCH_DISTRIBUTIONS"
export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST"
fi
export FTP_PASSIVE_MODE=YES
- bsdinstall distfetch || error "Failed to fetch distribution"
+ # Iterate through the distribution list and set a flag if debugging
+ # distributions have been selected.
+ for _DISTRIBUTION in $DISTRIBUTIONS; do
+ case $_DISTRIBUTION in
+ *-dbg.*)
+ [ -e $BSDINSTALL_DISTDIR/$_DISTRIBUTION ] \
+ && continue
+ WANT_DEBUG=1
+ DEBUG_LIST="\n$DEBUG_LIST\n$_DISTRIBUTION"
+ ;;
+ *)
+ ;;
+ esac
+ done
+
+ # Fetch the distributions.
+ bsdinstall distfetch
+ rc=$?
+
+ if [ $rc -ne 0 ]; then
+ # If unable to fetch the remote distributions, recommend
+ # deselecting the debugging distributions, and retrying the
+ # installation, since failure to fetch *-dbg.txz should not
+ # be considered a fatal installation error.
+ msg="Failed to fetch remote distribution"
+ if [ ! -z "$WANT_DEBUG" ]; then
+ # Trim leading and trailing newlines.
+ DEBUG_LIST="${DEBUG_LIST%%\n}"
+ DEBUG_LIST="${DEBUG_LIST##\n}"
+ msg="$msg\n\nPlease deselect the following distributions"
+ msg="$msg and retry the installation:"
+ msg="$msg\n$DEBUG_LIST"
+ fi
+ error "$msg"
+ fi
export DISTRIBUTIONS="$ALL_DISTRIBUTIONS"
fi
+if [ ! -z "$LOCAL_DISTRIBUTIONS" ]; then
+ # Download to a directory in the new system as scratch space
+ BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist"
+ mkdir -p "$BSDINSTALL_FETCHDEST" || error "Could not create directory $BSDINSTALL_FETCHDEST"
+ # Try to use any existing distfiles
+ if [ -d $BSDINSTALL_DISTDIR ]; then
+ DISTDIR_IS_UNIONFS=1
+ mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR"
+ export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST"
+ fi
+ env DISTRIBUTIONS="$LOCAL_DISTRIBUTIONS" \
+ BSDINSTALL_DISTSITE="file:///usr/freebsd-dist" \
+ bsdinstall distfetch || \
+ error "Failed to fetch distribution from local media"
+fi
+
bsdinstall checksum || error "Distribution checksum failed"
bsdinstall distextract || error "Distribution extract failed"
bsdinstall rootpass || error "Could not set root password"
Modified: projects/release-pkg/usr.sbin/cron/crontab/crontab.5
==============================================================================
--- projects/release-pkg/usr.sbin/cron/crontab/crontab.5 Tue Jan 5 21:10:38 2016 (r293224)
+++ projects/release-pkg/usr.sbin/cron/crontab/crontab.5 Tue Jan 5 21:12:49 2016 (r293225)
@@ -17,7 +17,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 28, 2012
+.Dd January 5, 2016
.Dt CRONTAB 5
.Os
.Sh NAME
@@ -74,7 +74,7 @@ is set to
.Pa /bin/sh ,
.Ev PATH
is set to
-.Pa /usr/bin:/bin ,
+.Pa /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin ,
and
.Ev LOGNAME
and
More information about the svn-src-projects
mailing list