From owner-svn-src-user@freebsd.org Sun Aug 23 06:56:29 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 42B993B3D35 for ; Sun, 23 Aug 2020 06:56:29 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BZ5dT11Hnz4LkK; Sun, 23 Aug 2020 06:56:29 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E076D236BE; Sun, 23 Aug 2020 06:56:28 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07N6uSmr002554; Sun, 23 Aug 2020 06:56:28 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07N6uS3P002553; Sun, 23 Aug 2020 06:56:28 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008230656.07N6uS3P002553@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Sun, 23 Aug 2020 06:56:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364498 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 364498 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Aug 2020 06:56:29 -0000 Author: pho Date: Sun Aug 23 06:56:28 2020 New Revision: 364498 URL: https://svnweb.freebsd.org/changeset/base/364498 Log: Added a new regression test. Added: user/pho/stress2/misc/timeout.sh (contents, props changed) Added: user/pho/stress2/misc/timeout.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/timeout.sh Sun Aug 23 06:56:28 2020 (r364498) @@ -0,0 +1,53 @@ +#!/bin/sh + +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright (c) 2020 Peter Holm +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Process group orphanage test scenario. +# "panic: Assertion pgrp->pg_jobc > 0 failed at kern_proc.c:740" seen. +# Fixed in r364495. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg + +sed '1,/^EOF/d' < $0 > /tmp/timeout.sh +chmod +x /tmp/timeout.sh + +timeout 30 su $testuser -c 'cd /tmp; ./timeout.sh' + +rm /tmp/timeout.sh +exit 0 +EOF +#!/bin/sh + +for i in `jot 1000`; do + sleep 120 & +done +wait +exit 0 From owner-svn-src-user@freebsd.org Tue Aug 25 05:15:41 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 769763BE4EB for ; Tue, 25 Aug 2020 05:15:41 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BbHJF2Z3Zz3bGw; Tue, 25 Aug 2020 05:15:41 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3B29B24771; Tue, 25 Aug 2020 05:15:41 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07P5FfTg051760; Tue, 25 Aug 2020 05:15:41 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07P5Ffba051759; Tue, 25 Aug 2020 05:15:41 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008250515.07P5Ffba051759@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 25 Aug 2020 05:15:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364752 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 364752 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Aug 2020 05:15:41 -0000 Author: pho Date: Tue Aug 25 05:15:40 2020 New Revision: 364752 URL: https://svnweb.freebsd.org/changeset/base/364752 Log: Added a syzkaller reproducer. Added: user/pho/stress2/misc/syzkaller22.sh (contents, props changed) Added: user/pho/stress2/misc/syzkaller22.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/syzkaller22.sh Tue Aug 25 05:15:40 2020 (r364752) @@ -0,0 +1,71 @@ +#!/bin/sh + +# panic: Assertion *buflen >= 2 failed at ../../../kern/vfs_cache.c:2837 +# cpuid = 21 +# time = 1598296274 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0149a9e860 +# vpanic() at vpanic+0x182/frame 0xfffffe0149a9e8b0 +# panic() at panic+0x43/frame 0xfffffe0149a9e910 +# vn_fullpath_any_smr() at vn_fullpath_any_smr+0x4df/frame 0xfffffe0149a9e980 +# sys___realpathat() at sys___realpathat+0x20b/frame 0xfffffe0149a9ead0 +# amd64_syscall() at amd64_syscall+0x159/frame 0xfffffe0149a9ebf0 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe0149a9ebf0 +# --- syscall (0, FreeBSD ELF64, nosys), rip = 0x8004294ea, rsp = 0x7fffffffe548, rbp = 0x7fffffffe580 --- +# KDB: enter: panic +# [ thread pid 2831 tid 100306 ] +# Stopped at kdb_enter+0x37: movq $0,0x10b4246(%rip) +# db> x/s version +# version: FreeBSD 13.0-CURRENT #0 r364722: Mon Aug 24 21:04:09 CEST 2020 +# pho@t2.osted.lan:/usr/src/sys/amd64/compile/PHO\012 +# db> + +# $FreeBSD$ + +[ `uname -p` != "amd64" ] && exit 0 + +# Obtained from markj (syzkaller). +# Fixed by r364723. + +. ../default.cfg +kldstat -v | grep -q sctp || kldload sctp.ko +cat > /tmp/syzkaller22.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t r[1] = {0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x1012ul, -1, 0ul); + intptr_t res = 0; + memcpy((void*)0x20000000, "./file0\000", 8); + syscall(SYS_open, 0x20000000ul, 0x200645ul, 0ul); + memcpy((void*)0x20000000, ".\000", 2); + res = syscall(SYS_open, 0x20000000ul, 0ul, 0ul); + if (res != -1) + r[0] = res; + memcpy((void*)0x20000240, "./file0\000", 8); + syscall(SYS___realpathat, r[0], 0x20000240ul, 0x20000280ul, 8ul, 0ul); + return 0; +} +EOF +mycc -o /tmp/syzkaller22 -Wall -Wextra -O0 /tmp/syzkaller22.c || + exit 1 + +(cd /tmp; timeout 1m ./syzkaller22) + +rm -f /tmp/syzkaller22 /tmp/syzkaller22.c /tmp/syzkaller22.core /tmp/file0 +exit 0 From owner-svn-src-user@freebsd.org Wed Aug 26 06:41:18 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BC1443CB139 for ; Wed, 26 Aug 2020 06:41:18 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bbx8Z4dytz4lXp; Wed, 26 Aug 2020 06:41:18 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 82EC3F091; Wed, 26 Aug 2020 06:41:18 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07Q6fIBo097926; Wed, 26 Aug 2020 06:41:18 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07Q6fI7f097925; Wed, 26 Aug 2020 06:41:18 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008260641.07Q6fI7f097925@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Wed, 26 Aug 2020 06:41:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364803 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 364803 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Aug 2020 06:41:18 -0000 Author: pho Date: Wed Aug 26 06:41:18 2020 New Revision: 364803 URL: https://svnweb.freebsd.org/changeset/base/364803 Log: Fix a compiler warning. Modified: user/pho/stress2/misc/sendfile14.sh Modified: user/pho/stress2/misc/sendfile14.sh ============================================================================== --- user/pho/stress2/misc/sendfile14.sh Wed Aug 26 04:01:06 2020 (r364802) +++ user/pho/stress2/misc/sendfile14.sh Wed Aug 26 06:41:18 2020 (r364803) @@ -323,7 +323,7 @@ move(void *arg) while (active >= MAXTHREADS) usleep(100000); active++; - num = (int)arg; + num = (int)(long)arg; sprintf(ifile, "%s/f%06d.%06d", fromdir, getpid(), num); writer(ifile); From owner-svn-src-user@freebsd.org Wed Aug 26 06:42:25 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 548193CB344 for ; Wed, 26 Aug 2020 06:42:25 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bbx9s0FMsz4lQ6; Wed, 26 Aug 2020 06:42:25 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E082FECE7; Wed, 26 Aug 2020 06:42:24 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07Q6gOuP098043; Wed, 26 Aug 2020 06:42:24 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07Q6gOWh098039; Wed, 26 Aug 2020 06:42:24 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008260642.07Q6gOWh098039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Wed, 26 Aug 2020 06:42:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364804 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 364804 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Aug 2020 06:42:25 -0000 Author: pho Date: Wed Aug 26 06:42:23 2020 New Revision: 364804 URL: https://svnweb.freebsd.org/changeset/base/364804 Log: Removed unused include files. Modified: user/pho/stress2/misc/fdatasync.sh user/pho/stress2/misc/fdatasync2.sh user/pho/stress2/misc/ftruncate.sh user/pho/stress2/misc/tmpfs16.sh Modified: user/pho/stress2/misc/fdatasync.sh ============================================================================== --- user/pho/stress2/misc/fdatasync.sh Wed Aug 26 06:41:18 2020 (r364803) +++ user/pho/stress2/misc/fdatasync.sh Wed Aug 26 06:42:23 2020 (r364804) @@ -63,9 +63,6 @@ exit $e EOF #include #include -#include -#include -#include #include #include Modified: user/pho/stress2/misc/fdatasync2.sh ============================================================================== --- user/pho/stress2/misc/fdatasync2.sh Wed Aug 26 06:41:18 2020 (r364803) +++ user/pho/stress2/misc/fdatasync2.sh Wed Aug 26 06:42:23 2020 (r364804) @@ -61,9 +61,6 @@ exit $e EOF #include #include -#include -#include -#include #include #include Modified: user/pho/stress2/misc/ftruncate.sh ============================================================================== --- user/pho/stress2/misc/ftruncate.sh Wed Aug 26 06:41:18 2020 (r364803) +++ user/pho/stress2/misc/ftruncate.sh Wed Aug 26 06:42:23 2020 (r364804) @@ -66,9 +66,6 @@ exit $e EOF #include #include -#include -#include -#include #include #include Modified: user/pho/stress2/misc/tmpfs16.sh ============================================================================== --- user/pho/stress2/misc/tmpfs16.sh Wed Aug 26 06:41:18 2020 (r364803) +++ user/pho/stress2/misc/tmpfs16.sh Wed Aug 26 06:42:23 2020 (r364804) @@ -69,9 +69,6 @@ exit $e EOF #include #include -#include -#include -#include #include #include From owner-svn-src-user@freebsd.org Thu Aug 27 21:01:03 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3E3DE3C2F20 for ; Thu, 27 Aug 2020 21:01:03 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BcwB70Hjfz4mST; Thu, 27 Aug 2020 21:01:03 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C77D59E4F; Thu, 27 Aug 2020 21:01:02 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07RL12iS032386; Thu, 27 Aug 2020 21:01:02 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07RL11Bo032381; Thu, 27 Aug 2020 21:01:01 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202008272101.07RL11Bo032381@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 27 Aug 2020 21:01:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364887 - user/gjb/thermite-git X-SVN-Group: user X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: user/gjb/thermite-git X-SVN-Commit-Revision: 364887 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2020 21:01:03 -0000 Author: gjb Date: Thu Aug 27 21:01:01 2020 New Revision: 364887 URL: https://svnweb.freebsd.org/changeset/base/364887 Log: Copy primary scripts and configuration files from thermite to thermite-git for 13.x. Sponsored by: Rubicon Communications, LLC (netgate.com) Added: user/gjb/thermite-git/ user/gjb/thermite-git/builds-13.conf - copied unchanged from r364886, user/gjb/thermite/builds-12.conf user/gjb/thermite-git/defaults-13.conf - copied unchanged from r364886, user/gjb/thermite/defaults-12.conf user/gjb/thermite-git/main.conf - copied unchanged from r364886, user/gjb/thermite/main.conf user/gjb/thermite-git/thermite.sh - copied unchanged from r364886, user/gjb/thermite/thermite.sh user/gjb/thermite-git/zfs-cleanup.sh - copied unchanged from r364886, user/gjb/thermite/zfs-cleanup.sh Copied: user/gjb/thermite-git/builds-13.conf (from r364886, user/gjb/thermite/builds-12.conf) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/builds-13.conf Thu Aug 27 21:01:01 2020 (r364887, copy of r364886, user/gjb/thermite/builds-12.conf) @@ -0,0 +1,28 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +. "${__BUILDCONFDIR}/main.conf" + +releasesrc="head" +heads="12" +stables= + +revs="${heads} ${stables}" +archs="amd64 i386 powerpc powerpc64 powerpcspe sparc64 arm armv6 armv7 aarch64" +types="snap" + +x86_kernels="GENERIC" +arm_kernels="ALLWINNER_UP BANANAPI BEAGLEBONE CUBIEBOARD CUBIEBOARD2 CUBOX-HUMMINGBOARD GUMSTIX" +arm_kernels="${arm_kernels} RPI-B RPI2 RPI3 PANDABOARD WANDBOARD PINE64" +kernels="${x86_kernels} GENERIC64 ${arm_kernels} MPC85XXSPE" + +case ${types} in + snap) + BUILDSVNREV="$(cat ${__BUILDCONFDIR}/svnrev_src)" + BUILDDATE="$(cat ${__BUILDCONFDIR}/builddate)" + ;; + *) + ;; +esac Copied: user/gjb/thermite-git/defaults-13.conf (from r364886, user/gjb/thermite/defaults-12.conf) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/defaults-13.conf Thu Aug 27 21:01:01 2020 (r364887, copy of r364886, user/gjb/thermite/defaults-12.conf) @@ -0,0 +1,27 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +. "${__BUILDCONFDIR}/main.conf" + +BUILDSVNREV="$(cat ${__BUILDCONFDIR}/svnrev_src)" +BUILDDATE="$(cat ${__BUILDCONFDIR}/builddate)" +BUILDTYPE="snap" + +SRCBRANCH="base/head@${BUILDSVNREV}" +PORTBRANCH="ports/head@HEAD" +DOCBRANCH="doc/head@HEAD" + +WITH_DVD= +WITH_COMPRESSED_IMAGES=1 +XZ_THREADS=0 + +case ${BUILDTYPE} in + snap) + NODOC=1 + ;; + *) + NODOC= + ;; +esac Copied: user/gjb/thermite-git/main.conf (from r364886, user/gjb/thermite/main.conf) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/main.conf Thu Aug 27 21:01:01 2020 (r364887, copy of r364886, user/gjb/thermite/main.conf) @@ -0,0 +1,66 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# Lowercase variables are used by the build script. +# Uppercase variables are used by the individual build itself. + +use_zfs=1 +emailgoesto= +emailsentfrom= +scriptdir="$(dirname $(realpath ${0}))" +srcdir="${scriptdir}/../release" +logdir="${scriptdir}/../logs" +chroots="${scriptdir}/../chroots" +## To build all architectures in parallel, set the 'parallel' variable to +## 'parallel'. Note, this puts extreme CPU load on the machine. +#parallel="parallel" +parallel="" + +ftpdir="/snap/ftp" + +zfs_root="zroot" +zfs_mount="releng" +zfs_parent="${zfs_root}/${zfs_mount}" +__WRKDIR_PREFIX="/releng" + +if [ ! -e "${__BUILDCONFDIR}/svnrev_src" -o \ + ! -e "${__BUILDCONFDIR}/builddate" ]; then + echo "svnrev or builddate file does not exist." + echo "Run 'setrev.sh -b ' first." + exit 1 +fi + +load_stage_env() { } + +SVNROOT="svn://svn.FreeBSD.org/" + +KERNEL="GENERIC" +WORLD_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" +KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" + +CHROOTBUILD_SKIP=1 +SRC_UPDATE_SKIP=1 +PORTS_UPDATE_SKIP=1 +DOC_UPDATE_SKIP=1 +# Hack to unset the exported BOARDNAME from sourced arm/armv6 configuration +# files. +unset BOARDNAME +unset CHROOT_MAKEENV +unset EMBEDDEDBUILD +unset EMBEDDEDPORTS +unset EMBEDDED_TARGET +unset EMBEDDED_TARGET_ARCH +unset WITH_VMIMAGES + +# Check if it is a 'releng' hostname. Do not set this special +# variable if it is not. +case "$(hostname -s)" in + releng*) + export EVERYTHINGISFINE=1 + ;; + *) + export EVERYTHINGISFINE= + ;; +esac Copied: user/gjb/thermite-git/thermite.sh (from r364886, user/gjb/thermite/thermite.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/thermite.sh Thu Aug 27 21:01:01 2020 (r364887, copy of r364886, user/gjb/thermite/thermite.sh) @@ -0,0 +1,626 @@ +#!/bin/sh +#- +# Copyright (c) 2012, 2013 Glen Barber +# Copyright (c) 2013-2019 The FreeBSD Foundation +# Copyright (c) 2020 Rubicon Communications, LLC (netgate.com) +# All rights reserved. +# +# Portions of this software were developed by Glen Barber +# under sponsorship from the FreeBSD Foundation. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# Thermite is a pyrotechnic composition of shell script and zfs. +# When executed, it generates a significant amount of heat. +# Wrapper script for release.sh to automate mass release builds. +# +# $FreeBSD$ +# + +usage() { + echo "$(basename ${0}) -c /path/to/configuration/file" + exit 1 +} + +info() { + out="${@}" + printf "$(date +%Y%m%d-%H:%M:%S)\tINFO:\t${out}\n" >/dev/stdout + unset out +} + +verbose() { + if [ -z ${debug} ] || [ ${debug} -eq 0 ]; then + return 0 + fi + out="${@}" + printf "$(date +%Y%m%d-%H:%M:%S)\tDEBUG:\t${out}\n" >/dev/stdout + unset out +} + +runcmd() { + verbose "${rev} ${arch} ${kernel} ${type}" + eval "$@" +} + +loop_revs() { + verbose "loop_revs() start" + for rev in ${revs}; do + verbose "loop_revs() arguments: $@" + eval runcmd "$@" + done + unset rev + verbose "loop_revs() stop" +} + +loop_archs() { + verbose "loop_archs() start" + for arch in ${archs}; do + verbose "loop_archs() arguments: $@" + eval runcmd "$@" + done + unset arch + verbose "loop_archs() stop" +} + +loop_kernels() { + verbose "loop_kernels() start" + for kernel in ${kernels}; do + verbose "loop_kernels() arguments: $@" + eval runcmd "$@" + done + unset kernel + verbose "loop_kernel() stop" +} + +loop_types() { + verbose "loop_types() start" + for type in ${types}; do + verbose "loop_types() arguments: $@" + eval runcmd "$@" + done + unset type + verbose "loop_types() stop" +} + +runall() { + verbose "runall() start" + verbose "runall() arguments: $@" + eval loop_revs loop_archs loop_kernels loop_types "$@" + verbose "runall() stop" +} + +check_use_zfs() { + if [ ! -c /dev/zfs ]; then + echo "ZFS is required." + exit 1 + fi + return 0 +} + +truncate_logs() { + source_config || return 0 + echo > ${logdir}/${rev}-${arch}-${kernel}-${type}.log + return 0 +} + +source_config() { + local configfile + configfile="${scriptdir}/${rev}-${arch}-${kernel}-${type}.conf" + if [ ! -e "${configfile}" ]; then + return 1 + fi + . "${configfile}" + return 0 +} + +zfs_mount_tree() { + source_config || return 0 + _tree=${1} + [ -z ${_tree} ] && return 0 + seed_src= + case ${_tree} in + src) + seed_src=1 + ;; + doc) + [ ! -z ${NODOC} ] && return 0 + ;; + ports) + [ ! -z ${NOPORTS} ] && return 0 + ;; + *) + info "Unknown source tree type: ${_tree}" + return 0 + ;; + esac + _clone="${zfs_parent}/${rev}-${_tree}-${type}" + _mount="/${zfs_mount}/${rev}-${arch}-${kernel}-${type}" + _target="${zfs_parent}/${rev}-${arch}-${kernel}-${type}-${_tree}" + info "Cloning ${_clone}@clone to ${_target}" + zfs clone -p -o mountpoint=${_mount}/usr/${_tree} \ + ${_clone}@clone ${_target} + unset _clone _mount _target _tree _seedmount _seedtarget +} + +zfs_mount_src() { + source_config || return 0 + _tree=src + _clone="${zfs_parent}/${rev}-${_tree}-${type}" + # Only create chroot seeds for x86. + case ${arch} in + amd64|i386) + ;; + *) + return 0 + ;; + esac + _seedmount=${chroots}/${rev}/${arch}/${type} + _seedtarget="${zfs_parent}/${rev}-${arch}-${type}-chroot" + info "Creating ${_seedtarget} from ${_clone}" + zfs clone -p -o mountpoint=${_seedmount} \ + ${_clone}@clone ${_seedtarget} + unset _clone _mount _target _tree _seedmount _seedtarget +} + +zfs_create_tree() { + source_config || return 0 + _tree=${1} + [ -z ${_tree} ] && return 0 + [ ! -z $(eval echo \${zfs_${_tree}_seed_${rev}_${type}}) ] && return 0 + case ${_tree} in + src) + _svnsrc="${SVNROOT}/${SRCBRANCH}" + ;; + doc) + [ ! -z ${NODOC} ] && return 0 + _svnsrc="${SVNROOT}/${DOCBRANCH}" + ;; + ports) + [ ! -z ${NOPORTS} ] && return 0 + _svnsrc="${SVNROOT}/${PORTBRANCH}" + ;; + *) + info "Unknown source tree type: ${_tree}" + return 0 + ;; + esac + _clone="${zfs_parent}/${rev}-${_tree}-${type}" + _mount="/${zfs_mount}/${rev}-${_tree}-${type}" + info "Creating ${_clone}" + zfs create -o atime=off -o mountpoint=${_mount} ${_clone} + info "Source checkout ${_svnsrc} to ${_mount}" + svn co -q ${_svnsrc} ${_mount} + info "Creating ZFS snapshot ${_clone}@clone" + zfs snapshot ${_clone}@clone + eval zfs_${_tree}_seed_${rev}_${type}=1 + unset _clone _mount _tree _svnsrc +} + +zfs_bootstrap() { + [ -z ${use_zfs} ] && return 0 + runall zfs_create_tree src + runall zfs_create_tree ports + runall zfs_create_tree doc + zfs_bootstrap_done=1 +} + +zfs_finish_bootstrap() { + runall zfs_mount_tree src + runall zfs_mount_tree ports + runall zfs_mount_tree doc +} + +prebuild_setup() { + info "Creating ${logdir}" + mkdir -p ${logdir} + info "Creating ${srcdir}" + mkdir -p ${srcdir} + info "Creating ${chroots}" + mkdir -p ${chroots} + info "Checking out src/release to ${srcdir}" + svn co -q --force svn://svn.freebsd.org/base/${releasesrc}/release \ + ${srcdir} + info "Reverting any changes to ${srcdir}" + svn revert -R ${srcdir} +} + +# Email log output when a stage has completed +send_logmail() { + [ -z "${emailgoesto}" ] && return 0 + [ -z "${emailsentfrom}" ] && return 0 + local _body + local _subject + _subject="${2}" + _body="$(tail -n 50 ${1})" + + printf "From: ${emailsentfrom}\nTo: ${emailgoesto}\nSubject: ${_subject}\n\n${_body}\n\n" \ + | /usr/sbin/sendmail -oi -f ${emailsentfrom} ${emailgoesto} + return 0 +} + +# Email completed output +send_completed_email() { + [ -z "${emailgoesto}" ] && return 0 + [ -z "${emailsentfrom}" ] && return 0 + local _body + local _subject + _subject="$(hostname -s) snapshot builds completed" + _body="$(uname -r)" + + printf "From: ${emailsentfrom}\nTo: ${emailgoesto}\nSubject: ${_subject}\n\n${_body}\n\n" \ + | /usr/sbin/sendmail -oi -f ${emailsentfrom} ${emailgoesto} + return 0 +} + +# Stage builds for ftp propagation. +ftp_stage() { + _build="${rev}-${arch}-${kernel}-${type}" + _conf="${scriptdir}/${_build}.conf" + source_config || return 0 + [ -z "${EVERYTHINGISFINE}" ] && return 0 + + load_stage_env + info "Staging for ftp: ${_build}" + [ ! -z "${EMBEDDEDBUILD}" ] && export EMBEDDEDBUILD + [ ! -z "${BOARDNAME}" ] && export BOARDNAME + [ ! -z "${BUILDSVNREV}" ] && export SVNREVISION=${BUILDSVNREV} + [ ! -z "${BUILDDATE}" ] && export BUILDDATE + [ -z "${SVNREVISION}" -a -e "${scriptdir}/svnrev_src" ] && \ + export SVNREVISION="$(cat ${scriptdir}/svnrev_src)" + [ -z "${BUILDDATE}" -a -e "${scriptdir}/builddate" ] && \ + export BUILDDATE="$(cat ${scriptdir}/builddate)" + chroot ${CHROOTDIR} make -C /usr/src/release \ + -f Makefile.mirrors \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + KERNCONF=${KERNEL} WITH_VMIMAGES=${WITH_VMIMAGES} \ + WITH_DVD=${WITH_DVD} \ + ftp-stage >> ${logdir}/${_build}.log 2>&1 + + if [ -z "${ftpdir}" ]; then + info "FTP directory (ftpdir) not set." + info "Refusing to rsync(1) to the stage area." + return 0 + fi + + case ${type} in + release) + _type="releases" + ;; + *) + _type="snapshots" + ;; + esac + + mkdir -p "${ftpdir}/${_type}" + rsync -avH ${CHROOTDIR}/R/ftp-stage/${_type}/* \ + ${ftpdir}/${_type}/ >> ${logdir}/${_build}.log 2>&1 + unset BOARDNAME BUILDDATE EMBEDDEDBUILD SVNREVISION WITH_VMIMAGES + return 0 +} + +# Run the release builds. +build_release() { + _build="${rev}-${arch}-${kernel}-${type}" + _conf="${scriptdir}/${_build}.conf" + source_config || return 0 + info "Building release: ${_build}" + set >> ${logdir}/${_build}.log + env -i __BUILDCONFDIR="${__BUILDCONFDIR}" \ + /bin/sh ${srcdir}/release.sh -c ${_conf} \ + >> ${logdir}/${_build}.log 2>&1 + + ftp_stage + ls -1 ${CHROOTDIR}/R/* >> ${logdir}/${_build}.log + send_logmail ${logdir}/${_build}.log ${_build} + unset _build _conf +} + +# Run the release builds in parallel. CAUSES INSANE CPU LOAD. +parallelbuild_release() { + _build="${rev}-${arch}-${kernel}-${type}" + _conf="${scriptdir}/${_build}.conf" + source_config || return 0 + ( + info "Building release: ${_build}" + set >> ${logdir}/${_build}.log + env -i __BUILDCONFDIR="${__BUILDCONFDIR}" \ + /bin/sh ${srcdir}/release.sh -c ${_conf} \ + >> ${logdir}/${_build}.log 2>&1 + + ftp_stage + ls -1 ${CHROOTDIR}/R/* >> ${logdir}/${_build}.log + send_logmail ${logdir}/${_build}.log ${_build} + ) & + unset _build _conf +} + +# Upload AWS EC2 AMI images. +upload_ec2_ami() { + _build="${rev}-${arch}-${kernel}-${type}" + _conf="${scriptdir}/${_build}.conf" + source_config || return 0 + case ${arch}:${kernel} in + amd64:GENERIC) + _EC2TARGET=amd64 + _EC2TARGET_ARCH=amd64 + ;; + aarch64:GENERIC) + # XXX: temporary until support for stable/11 is added + case ${rev} in + 13|12) + _EC2TARGET=arm64 + _EC2TARGET_ARCH=aarch64 + ;; + *) + return 0 + ;; + esac + # end XXX + ;; + *) + return 0 + ;; + esac + info "Uploading EC2 AMI image for build: ${_build}" + if [ ! -e "${CHROOTDIR}/${AWSKEYFILE}" ]; then + cp -p ${AWSKEYFILE} ${CHROOTDIR}/${AWSKEYFILE} + if [ $? -ne 0 ]; then + info "Amazon EC2 key file not found." + return 0 + fi + fi + if [ -z "${AWSREGION}" -o -z "${AWSBUCKET}" -o -z "${AWSKEYFILE}" ]; then + return 0 + fi + mount -t devfs devfs ${CHROOTDIR}/dev + chroot ${CHROOTDIR} make -C /usr/src/release \ + AWSREGION=${AWSREGION} \ + AWSBUCKET=${AWSBUCKET} \ + AWSKEYFILE=${AWSKEYFILE} \ + EC2PUBLIC=${EC2PUBLIC} \ + EC2PUBLICSNAP=${EC2PUBLICSNAP} \ + EC2SNSTOPIC=${EC2SNSTOPIC} \ + TARGET=${_EC2TARGET} \ + TARGET_ARCH=${_EC2TARGET_ARCH} \ + ec2ami \ + >> ${logdir}/${_build}.ec2.log 2>&1 + unset _build _conf AWSREGION AWSBUCKET AWSKEYFILE EC2PUBLIC EC2SNSTOPIC EC2PUBLICSNAP + unset _EC2TARGET _EC2TARGET_ARCH + umount ${CHROOTDIR}/dev + return 0 +} # upload_ec2_ami() + +# Upload Vagrant virtual machine images. +upload_vagrant_image() { + _build="${rev}-${arch}-${kernel}-${type}" + _conf="${scriptdir}/${_build}.conf" + source_config || return 0 + case ${arch} in + amd64) + ;; + *) + return 0 + ;; + esac + if [ -z "${VAGRANT_UPLOAD_CONF}" ]; then + return 0 + fi + info "Uploading Vagrant virtual machine image for build: ${_build}" + if [ ! -e "${CHROOTDIR}/${VAGRANT_UPLOAD_CONF}" ]; then + cp -p ${VAGRANT_UPLOAD_CONF} \ + ${CHROOTDIR}/${VAGRANT_UPLOAD_CONF} + if [ $? -ne 0 ]; then + info "Vagrant key file not found." + return 0 + fi + fi + mount -t devfs devfs ${CHROOTDIR}/dev + chroot ${CHROOTDIR} make -C /usr/src/release \ + VAGRANT_UPLOAD_CONF=${VAGRANT_UPLOAD_CONF} \ + vagrant-upload \ + >> ${logdir}/${_build}.vagrant.log 2>&1 + unset _build _conf VAGRANT_UPLOAD_CONF + umount ${CHROOTDIR}/dev + return 0 +} # upload_vagrant_image() + +# Upload Google Compute Engine virtual machine images. +upload_gce_image() { + _build="${rev}-${arch}-${kernel}-${type}" + _conf="${scriptdir}/${_build}.conf" + source_config || return 0 + case ${arch} in + amd64) + ;; + *) + return 0 + ;; + esac + if [ -z "${GCE_LOGIN_SKIP}" -o -z "${GCE_BUCKET}" ]; then + return 0 + fi + info "Uploading GCE virtual machine image for build: ${_build}" + if [ ! -d "${CHROOTDIR}/${GCE_CONFIG_DIR}" ]; then + if [ ! -e "${GCE_CONFIG_PKG}" ]; then + echo "Cannot locate config tarball." + return 0 + fi + mkdir -p ${CHROOTDIR}/${GCE_CONFIG_LOC} + tar -xzf ${GCE_CONFIG_PKG} -C ${CHROOTDIR}/${GCE_CONFIG_LOC} + fi + mount -t devfs devfs ${CHROOTDIR}/dev + chroot ${CHROOTDIR} make -C /usr/src/release \ + GCE_BUCKET=${GCE_BUCKET} \ + GCE_LOGIN_SKIP=1 \ + GCE_LICENSE="${GCE_LICENSE}" \ + gce-upload \ + >> ${logdir}/${_build}.gce 2>&1 + unset _build _conf GCE_BUCKET GCE_CONFIG_DIR GCE_CONFIG_PKG + unset GCE_CONFIG_LOC GCE_LOGIN_SKIP + umount ${CHROOTDIR}/dev + return 0 +} # upload_gce_image() + +# Install amd64/i386 "seed" chroots for all branches being built. +install_chroots() { + source_config || return 0 + if [ ${rev} -le 8 ]; then + info "This script does not support rev=${rev}" + return 0 + fi + case ${arch} in + i386) + _chrootarch="i386" + ;; + *) + _chrootarch="amd64" + ;; + esac + [ ! -z $(eval echo \${zfs_${_chrootarch}_seed_${rev}_${type}}) ] \ + && return 0 + _clone="${zfs_parent}/${rev}-${_chrootarch}-worldseed-${type}" + _mount="/${zfs_mount}/${rev}-${arch}-worldseed-${type}" + _build="${rev}-${arch}-${kernel}-${type}" + _dest="${__WRKDIR_PREFIX}/${_build}" + _srcdir="${chroots}/${rev}/${_chrootarch}/${type}" + _objdir="${chroots}/${rev}-obj/${_chrootarch}/${type}" + info "Creating ${_mount}" + zfs create -o atime=off -o mountpoint=${_mount} ${_clone} + info "Installing ${_mount}" + env MAKEOBJDIRPREFIX=${_objdir} \ + make -C ${_srcdir} \ + __MAKE_CONF=/dev/null SRCCONF=/dev/null \ + TARGET=${_chrootarch} TARGET_ARCH=${_chrootarch} \ + DESTDIR=${_mount} \ + installworld distribution >> \ + ${logdir}/${_build}.log 2>&1 + zfs snapshot ${_clone}@clone + eval zfs_${_chrootarch}_seed_${rev}_${type}=1 + unset _build _dest _objdir _srcdir _clone _mount + + return 0 +} + +zfs_clone_chroots() { + source_config || return 0 + case ${arch} in + i386) + _chrootarch="i386" + ;; + *) + _chrootarch="amd64" + ;; + esac + _clone="${zfs_parent}/${rev}-${_chrootarch}-worldseed-${type}" + _mount="/${zfs_mount}/${rev}-${arch}-worldseed-${type}" + _build="${rev}-${arch}-${kernel}-${type}" + _dest="${__WRKDIR_PREFIX}/${_build}" + info "Cloning ${_chrootarch} world to ${zfs_parent}/${_build}" + zfs clone -p -o mountpoint=${_dest} ${_clone}@clone ${zfs_parent}/${_build} + unset _clone _mount _build _dest + + return 0 +} + +# Build amd64/i386 "seed" chroots for all branches being built. +build_chroots() { + source_config || return 0 + if [ ${rev} -le 9 ]; then + info "This script does not support rev ${rev}" + return 0 + fi + case ${arch} in + i386) + _chrootarch="i386" + ;; + *) + _chrootarch="amd64" + ;; + esac + [ ! -z $(eval echo \${chroot_${_chrootarch}_build_${rev}_${type}}) ] && return 0 + _build="${rev}-${_chrootarch}-${type}" + _srcdir="${chroots}/${rev}/${_chrootarch}/${type}" + _objdir="${chroots}/${rev}-obj/${_chrootarch}/${type}" + mkdir -p "${_srcdir}" + # Source the build configuration file to get + # the SRCBRANCH to use + if [ -z ${zfs_bootstrap_done} ]; then + # Skip svn checkout, the trees are there. + info "SVN checkout ${SRCBRANCH} for ${_chrootarch} ${type}" + svn co -q ${SVNROOT}/${SRCBRANCH} \ + ${_srcdir} \ + >> ${logdir}/${_build}.log 2>&1 + fi + info "Building $(realpath ${_srcdir}) world" + env MAKEOBJDIRPREFIX=${_objdir} \ + make -C ${_srcdir} ${WORLD_FLAGS} \ + __MAKE_CONF=/dev/null SRCCONF=/dev/null \ + TARGET=${_chrootarch} TARGET_ARCH=${_chrootarch} \ + buildworld >> \ + ${logdir}/${_build}.log 2>&1 + eval chroot_${_chrootarch}_build_${rev}_${type}=1 + unset _build _dest _objdir _srcdir + + return 0 +} + +main() { + releasesrc="head" + export __BUILDCONFDIR="$(dirname $(realpath ${0}))" + + while getopts "c:d" opt; do + case ${opt} in + c) + CONF=${OPTARG} + [ -e ${CONF} ] && . $(realpath ${CONF}) + ;; + d) + debug=1 + ;; + \?) + usage + ;; + esac + done + shift $(($OPTIND - 1)) + [ -z ${CONF} ] && usage + use_zfs=1 + check_use_zfs + zfs_bootstrap_done= + prebuild_setup + runall truncate_logs + zfs_bootstrap + runall zfs_mount_src + runall build_chroots + runall install_chroots + runall zfs_clone_chroots + zfs_finish_bootstrap + runall ${parallel}build_release + wait + runall upload_ec2_ami + runall upload_gce_image + runall upload_vagrant_image + send_completed_email +} + +main "$@" + Copied: user/gjb/thermite-git/zfs-cleanup.sh (from r364886, user/gjb/thermite/zfs-cleanup.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/zfs-cleanup.sh Thu Aug 27 21:01:01 2020 (r364887, copy of r364886, user/gjb/thermite/zfs-cleanup.sh) @@ -0,0 +1,150 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +usage() { + echo "$(basename ${0}) -d -c /path/to/configuration/file" + exit 1 +} + +zfs_teardown() { + for r in ${revs}; do + for a in ${archs}; do + for k in ${kernels}; do + for t in ${types}; do + s="${r}-${a}-${k}-${t}" + c="${r}-${a}-${t}" + if [ -e ${scriptdir}/${s}.conf ]; + then + zfs list ${zfs_parent}/${s}-src >/dev/null 2>&1 + rc=$? + if [ ${rc} -eq 0 ]; then + echo -n "${pfx} Destroying " \ + >/dev/stdout + echo " ${zfs_parent}/${s}-src" \ + >/dev/stdout + zfs destroy -f ${zfs_parent}/${s}-src + fi + zfs list ${zfs_parent}/${s}-ports >/dev/null 2>&1 + rc=$? + if [ ${rc} -eq 0 ]; then + echo -n "${pfx} Destroying " \ + >/dev/stdout + echo " ${zfs_parent}/${s}-ports" \ + >/dev/stdout + zfs destroy -f ${zfs_parent}/${s}-ports + fi + zfs list ${zfs_parent}/${s}-doc >/dev/null 2>&1 + rc=$? + if [ ${rc} -eq 0 ]; then + echo -n "${pfx} Destroying " \ + >/dev/stdout + echo " ${zfs_parent}/${s}-doc" \ + >/dev/stdout + zfs destroy -f ${zfs_parent}/${s}-doc + fi + zfs list ${zfs_parent}/${c}-chroot >/dev/null 2>&1 + rc=$? + if [ ${rc} -eq 0 ]; then + echo -n "${pfx} Destroying " \ + >/dev/stdout + echo " ${zfs_parent}/${c}-chroot" \ + >/dev/stdout + zfs destroy -f ${zfs_parent}/${c}-chroot + fi + zfs list ${zfs_parent}/${s} >/dev/null 2>&1 + rc=$? + if [ ${rc} -eq 0 ]; then + echo -n "${pfx} Destroying " \ + >/dev/stdout + echo " ${zfs_parent}/${s}" \ + >/dev/stdout + zfs destroy -f ${zfs_parent}/${s} + fi + fi + done + done + done + done + + for r in ${revs}; do + for t in ${types}; do + for i in src doc ports; do + zfs list ${zfs_parent}/${r}-${i}-${t}@clone >/dev/null 2>&1 + rc=$? + if [ ${rc} -eq 0 ]; then + echo -n "${pfx} Destroying " \ + >/dev/stdout + echo " ${zfs_parent}/${r}-${i}-${t}@clone" \ + >/dev/stdout + zfs destroy -f ${zfs_parent}/${r}-${i}-${t}@clone + fi + zfs list ${zfs_parent}/${r}-${i}-${t} >/dev/null 2>&1 + rc=$? + if [ ${rc} -eq 0 ]; then + echo -n "${pfx} Destroying " \ + >/dev/stdout + echo " ${zfs_parent}/${r}-${i}-${t}" \ + >/dev/stdout + zfs destroy -f ${zfs_parent}/${r}-${i}-${t} + fi + done + done + done + + zfs destroy ${zfs_parent}/${r}-amd64-worldseed-snap@clone + zfs destroy ${zfs_parent}/${r}-amd64-worldseed-snap + zfs destroy ${zfs_parent}/${r}-i386-worldseed-snap@clone + zfs destroy ${zfs_parent}/${r}-i386-worldseed-snap + + echo -n "ZFS datasets were destroyed. They will be created" + echo " automatically via thermite.sh." + + return 0 +} + +main() { + export __BUILDCONFDIR="$(dirname $(realpath ${0}))" + CSCONF= + + while getopts "c:d" opt; do + case ${opt} in + c) + CSCONF="${OPTARG}" + ;; + d) + delete_only=1 + ;; + *) + ;; + esac + done + shift $(( ${OPTIND} - 1 )) + + if [ -z "${CSCONF}" ]; then + echo "Build configuration file is required." + usage + fi + + CSCONF="$(realpath ${CSCONF})" + + if [ ! -f "${CSCONF}" ]; then + echo "Build configuration is not a regular file." + exit 1 + fi + + . "${CSCONF}" + + if [ ${use_zfs} -eq 0 ]; then + echo "== use_zfs is set to '0'; skipping." >/dev/stdout + exit 0 + fi + + pfx="===" + + delete_only=1 + zfs_teardown +} + +main "$@" From owner-svn-src-user@freebsd.org Thu Aug 27 21:07:36 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 367293C38BA for ; Thu, 27 Aug 2020 21:07:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BcwKh13k7z4mrQ; Thu, 27 Aug 2020 21:07:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 04A72A1B3; Thu, 27 Aug 2020 21:07:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07RL7aAD037548; Thu, 27 Aug 2020 21:07:36 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07RL7Vs3037524; Thu, 27 Aug 2020 21:07:31 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202008272107.07RL7Vs3037524@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 27 Aug 2020 21:07:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364888 - user/gjb/thermite-git X-SVN-Group: user X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: user/gjb/thermite-git X-SVN-Commit-Revision: 364888 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2020 21:07:36 -0000 Author: gjb Date: Thu Aug 27 21:07:31 2020 New Revision: 364888 URL: https://svnweb.freebsd.org/changeset/base/364888 Log: Add 13.x thermite configuration files. Sponsored by: Rubicon Communications, LLC (netgate.com) Added: user/gjb/thermite-git/13-aarch64-GENERIC-snap.conf (contents, props changed) user/gjb/thermite-git/13-aarch64-PINE64-LTS-snap.conf (contents, props changed) user/gjb/thermite-git/13-aarch64-PINE64-snap.conf (contents, props changed) user/gjb/thermite-git/13-aarch64-PINEBOOK-snap.conf (contents, props changed) user/gjb/thermite-git/13-aarch64-ROCK64-snap.conf (contents, props changed) user/gjb/thermite-git/13-aarch64-ROCKPRO64-snap.conf (contents, props changed) user/gjb/thermite-git/13-aarch64-RPI3-snap.conf (contents, props changed) user/gjb/thermite-git/13-amd64-GENERIC-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv6-RPI-B-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-BANANAPI-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-BEAGLEBONE-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-CUBIEBOARD-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-CUBIEBOARD2-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-CUBOX-HUMMINGBOARD-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-GENERICSD-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-PANDABOARD-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-RPI2-snap.conf (contents, props changed) user/gjb/thermite-git/13-armv7-WANDBOARD-snap.conf (contents, props changed) user/gjb/thermite-git/13-i386-GENERIC-snap.conf (contents, props changed) user/gjb/thermite-git/13-powerpc-GENERIC-snap.conf (contents, props changed) user/gjb/thermite-git/13-powerpc64-GENERIC64-snap.conf (contents, props changed) user/gjb/thermite-git/13-powerpcspe-MPC85XXSPE-snap.conf (contents, props changed) Added: user/gjb/thermite-git/13-aarch64-GENERIC-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-aarch64-GENERIC-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,20 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +TARGET="arm64" +TARGET_ARCH="aarch64" + +__CONFIG_NAME="${BUILDBRANCH}-${TARGET_ARCH}-${KERNEL}-${BUILDTYPE}" +CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/${TARGET}/${TARGET_ARCH}.conf + +WITH_VMIMAGES=1 +WITH_COMPRESSED_VMIMAGES=1 +WITH_CLOUDWARE=1 Added: user/gjb/thermite-git/13-aarch64-PINE64-LTS-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-aarch64-PINE64-LTS-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="aarch64" +export BOARDNAME="PINE64-LTS" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm64/${BOARDNAME}.conf + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-aarch64-PINE64-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-aarch64-PINE64-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="aarch64" +export BOARDNAME="PINE64" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm64/${BOARDNAME}.conf + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-aarch64-PINEBOOK-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-aarch64-PINEBOOK-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="aarch64" +export BOARDNAME="PINEBOOK" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm64/${BOARDNAME}.conf + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-aarch64-ROCK64-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-aarch64-ROCK64-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="aarch64" +export BOARDNAME="ROCK64" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm64/${BOARDNAME}.conf + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-aarch64-ROCKPRO64-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-aarch64-ROCKPRO64-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="aarch64" +export BOARDNAME="ROCKPRO64" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm64/${BOARDNAME}.conf + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-aarch64-RPI3-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-aarch64-RPI3-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="aarch64" +export BOARDNAME="RPI3" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm64/${BOARDNAME}.conf + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-amd64-GENERIC-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-amd64-GENERIC-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,20 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +TARGET="amd64" +TARGET_ARCH="amd64" + +__CONFIG_NAME="${BUILDBRANCH}-${TARGET_ARCH}-${KERNEL}-${BUILDTYPE}" +CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/${TARGET}/${TARGET_ARCH}.conf + +WITH_VMIMAGES=1 +WITH_COMPRESSED_VMIMAGES=1 +WITH_CLOUDWARE=1 Added: user/gjb/thermite-git/13-armv6-RPI-B-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv6-RPI-B-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,30 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv6" +export KERNEL="RPI-B" +export BOARDNAME="RPI-B" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-BANANAPI-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-BANANAPI-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="BANANAPI" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-BEAGLEBONE-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-BEAGLEBONE-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="BEAGLEBONE" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-CUBIEBOARD-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-CUBIEBOARD-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="CUBIEBOARD" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-CUBIEBOARD2-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-CUBIEBOARD2-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="CUBIEBOARD2" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-CUBOX-HUMMINGBOARD-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-CUBOX-HUMMINGBOARD-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="CUBOX-HUMMINGBOARD" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-GENERICSD-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-GENERICSD-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="GENERICSD" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-PANDABOARD-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-PANDABOARD-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="PANDABOARD" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-RPI2-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-RPI2-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="RPI2" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-armv7-WANDBOARD-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-armv7-WANDBOARD-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +export EMBEDDED_TARGET_ARCH="armv7" +export BOARDNAME="WANDBOARD" +export RELENGDIR="$(realpath $(dirname $(basename ${0}))/../release)" +export __CONFIG_NAME="${BUILDBRANCH}-${EMBEDDED_TARGET_ARCH}-${BOARDNAME}-${BUILDTYPE}" +export CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/arm/${BOARDNAME}.conf + +#KERNEL_FLAGS="-j6" +WORLD_FLAGS="-j10" + +load_stage_env() { + TARGET=${EMBEDDED_TARGET} + TARGET_ARCH=${EMBEDDED_TARGET_ARCH} +} + +if [ ! -z ${FTP_STAGING} ]; then + load_stage_env +fi + Added: user/gjb/thermite-git/13-i386-GENERIC-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-i386-GENERIC-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,22 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +TARGET="i386" +TARGET_ARCH="i386" + +__CONFIG_NAME="${BUILDBRANCH}-${TARGET_ARCH}-${KERNEL}-${BUILDTYPE}" +CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/${TARGET}/${TARGET_ARCH}.conf + +CHROOT_MAKEENV="TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}" +WITH_VMIMAGES=1 +WITH_COMPRESSED_VMIMAGES=1 +XZ_THREADS="10" +WITH_CLOUDWARE= Added: user/gjb/thermite-git/13-powerpc-GENERIC-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-powerpc-GENERIC-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +TARGET="powerpc" +TARGET_ARCH="powerpc" + +__CONFIG_NAME="${BUILDBRANCH}-${TARGET_ARCH}-${KERNEL}-${BUILDTYPE}" +CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/${TARGET}/${TARGET_ARCH}.conf + +WORLD_FLAGS="-j10" Added: user/gjb/thermite-git/13-powerpc64-GENERIC64-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-powerpc64-GENERIC64-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +TARGET="powerpc" +TARGET_ARCH="powerpc64" +KERNEL="GENERIC64" + +__CONFIG_NAME="${BUILDBRANCH}-${TARGET_ARCH}-${KERNEL}-${BUILDTYPE}" +CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/${TARGET}/${TARGET_ARCH}.conf + +WORLD_FLAGS="-j10" Added: user/gjb/thermite-git/13-powerpcspe-MPC85XXSPE-snap.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/thermite-git/13-powerpcspe-MPC85XXSPE-snap.conf Thu Aug 27 21:07:31 2020 (r364888) @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BUILDBRANCH="13" + +. "${__BUILDCONFDIR}/defaults-${BUILDBRANCH}.conf" + +TARGET="powerpc" +TARGET_ARCH="powerpcspe" +KERNEL="MPC85XXSPE" + +__CONFIG_NAME="${BUILDBRANCH}-${TARGET_ARCH}-${KERNEL}-${BUILDTYPE}" +CHROOTDIR="${__WRKDIR_PREFIX}/${__CONFIG_NAME}" + +. ${srcdir}/release/${TARGET}/${TARGET_ARCH}.conf + +WORLD_FLAGS="-j10" From owner-svn-src-user@freebsd.org Thu Aug 27 21:08:24 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4B7BD3C3B0D for ; Thu, 27 Aug 2020 21:08:24 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BcwLc1H1Zz4nJl; Thu, 27 Aug 2020 21:08:24 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0F19BA14E; Thu, 27 Aug 2020 21:08:24 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07RL8N6u037627; Thu, 27 Aug 2020 21:08:23 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07RL8NBG037625; Thu, 27 Aug 2020 21:08:23 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202008272108.07RL8NBG037625@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 27 Aug 2020 21:08:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364889 - user/gjb/thermite-git X-SVN-Group: user X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: user/gjb/thermite-git X-SVN-Commit-Revision: 364889 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2020 21:08:24 -0000 Author: gjb Date: Thu Aug 27 21:08:23 2020 New Revision: 364889 URL: https://svnweb.freebsd.org/changeset/base/364889 Log: Update primary configuration files for thermite to build from git. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: user/gjb/thermite-git/builds-13.conf user/gjb/thermite-git/defaults-13.conf user/gjb/thermite-git/main.conf Modified: user/gjb/thermite-git/builds-13.conf ============================================================================== --- user/gjb/thermite-git/builds-13.conf Thu Aug 27 21:07:31 2020 (r364888) +++ user/gjb/thermite-git/builds-13.conf Thu Aug 27 21:08:23 2020 (r364889) @@ -5,24 +5,16 @@ . "${__BUILDCONFDIR}/main.conf" -releasesrc="head" -heads="12" +releasesrc="main" +heads="13" stables= revs="${heads} ${stables}" -archs="amd64 i386 powerpc powerpc64 powerpcspe sparc64 arm armv6 armv7 aarch64" +archs="amd64 i386 powerpc powerpc64 powerpcspe armv6 armv7 aarch64" types="snap" x86_kernels="GENERIC" -arm_kernels="ALLWINNER_UP BANANAPI BEAGLEBONE CUBIEBOARD CUBIEBOARD2 CUBOX-HUMMINGBOARD GUMSTIX" -arm_kernels="${arm_kernels} RPI-B RPI2 RPI3 PANDABOARD WANDBOARD PINE64" +arm_kernels="ALLWINNER_UP BANANAPI BEAGLEBONE CUBIEBOARD CUBIEBOARD2 CUBOX-HUMMINGBOARD" +arm_kernels="${arm_kernels} RPI-B RPI2 RPI3 WANDBOARD PINE64 PINE64-LTS GENERICSD" +arm_kernels="${arm_kernels} PINEBOOK ROCK64 ROCKPRO64" kernels="${x86_kernels} GENERIC64 ${arm_kernels} MPC85XXSPE" - -case ${types} in - snap) - BUILDSVNREV="$(cat ${__BUILDCONFDIR}/svnrev_src)" - BUILDDATE="$(cat ${__BUILDCONFDIR}/builddate)" - ;; - *) - ;; -esac Modified: user/gjb/thermite-git/defaults-13.conf ============================================================================== --- user/gjb/thermite-git/defaults-13.conf Thu Aug 27 21:07:31 2020 (r364888) +++ user/gjb/thermite-git/defaults-13.conf Thu Aug 27 21:08:23 2020 (r364889) @@ -5,13 +5,11 @@ . "${__BUILDCONFDIR}/main.conf" -BUILDSVNREV="$(cat ${__BUILDCONFDIR}/svnrev_src)" -BUILDDATE="$(cat ${__BUILDCONFDIR}/builddate)" BUILDTYPE="snap" -SRCBRANCH="base/head@${BUILDSVNREV}" -PORTBRANCH="ports/head@HEAD" -DOCBRANCH="doc/head@HEAD" +SRCBRANCH="main" +PORTBRANCH="main" +DOCBRANCH="main" WITH_DVD= WITH_COMPRESSED_IMAGES=1 @@ -25,3 +23,5 @@ case ${BUILDTYPE} in NODOC= ;; esac + +KERNEL_FLAGS="" Modified: user/gjb/thermite-git/main.conf ============================================================================== --- user/gjb/thermite-git/main.conf Thu Aug 27 21:07:31 2020 (r364888) +++ user/gjb/thermite-git/main.conf Thu Aug 27 21:08:23 2020 (r364889) @@ -25,16 +25,12 @@ zfs_mount="releng" zfs_parent="${zfs_root}/${zfs_mount}" __WRKDIR_PREFIX="/releng" -if [ ! -e "${__BUILDCONFDIR}/svnrev_src" -o \ - ! -e "${__BUILDCONFDIR}/builddate" ]; then - echo "svnrev or builddate file does not exist." - echo "Run 'setrev.sh -b ' first." - exit 1 -fi - load_stage_env() { } -SVNROOT="svn://svn.FreeBSD.org/" +GITROOT="https://cgit-beta.FreeBSD.org/" +GITSRC="src.git" +GITDOC="doc.git" +GITPORTS="ports.git" KERNEL="GENERIC" WORLD_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" @@ -44,8 +40,8 @@ CHROOTBUILD_SKIP=1 SRC_UPDATE_SKIP=1 PORTS_UPDATE_SKIP=1 DOC_UPDATE_SKIP=1 -# Hack to unset the exported BOARDNAME from sourced arm/armv6 configuration -# files. +# Hack to unset the exported BOARDNAME from sourced arm/armv{6,7} +# configuration files. unset BOARDNAME unset CHROOT_MAKEENV unset EMBEDDEDBUILD From owner-svn-src-user@freebsd.org Thu Aug 27 21:09:18 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 34D373C3B22 for ; Thu, 27 Aug 2020 21:09:18 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BcwMf0ZXbz4n3l; Thu, 27 Aug 2020 21:09:18 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EB6FFA322; Thu, 27 Aug 2020 21:09:17 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07RL9HcO037710; Thu, 27 Aug 2020 21:09:17 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07RL9HTl037709; Thu, 27 Aug 2020 21:09:17 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202008272109.07RL9HTl037709@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 27 Aug 2020 21:09:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364890 - user/gjb/thermite-git X-SVN-Group: user X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: user/gjb/thermite-git X-SVN-Commit-Revision: 364890 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2020 21:09:18 -0000 Author: gjb Date: Thu Aug 27 21:09:17 2020 New Revision: 364890 URL: https://svnweb.freebsd.org/changeset/base/364890 Log: Update thermite-git/thermite.sh to build from git, plus many other various optimizations. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: user/gjb/thermite-git/thermite.sh Modified: user/gjb/thermite-git/thermite.sh ============================================================================== --- user/gjb/thermite-git/thermite.sh Thu Aug 27 21:08:23 2020 (r364889) +++ user/gjb/thermite-git/thermite.sh Thu Aug 27 21:09:17 2020 (r364890) @@ -188,31 +188,32 @@ zfs_create_tree() { [ ! -z $(eval echo \${zfs_${_tree}_seed_${rev}_${type}}) ] && return 0 case ${_tree} in src) - _svnsrc="${SVNROOT}/${SRCBRANCH}" + _gitsrc="${GITROOT}/${GITSRC}" ;; doc) [ ! -z ${NODOC} ] && return 0 - _svnsrc="${SVNROOT}/${DOCBRANCH}" + _gitsrc="${GITROOT}/${GITDOC}" ;; ports) [ ! -z ${NOPORTS} ] && return 0 - _svnsrc="${SVNROOT}/${PORTBRANCH}" + _gitsrc="${GITROOT}/${GITPORTS}" ;; *) info "Unknown source tree type: ${_tree}" return 0 ;; esac + TREE="$(echo ${_tree} | tr '[:lower:]' '[:upper:]')" _clone="${zfs_parent}/${rev}-${_tree}-${type}" _mount="/${zfs_mount}/${rev}-${_tree}-${type}" info "Creating ${_clone}" zfs create -o atime=off -o mountpoint=${_mount} ${_clone} - info "Source checkout ${_svnsrc} to ${_mount}" - svn co -q ${_svnsrc} ${_mount} + info "Source checkout ${_gitsrc} to ${_mount}" + git clone -q -b ${TREEBRANCH} ${_gitsrc} ${_mount} info "Creating ZFS snapshot ${_clone}@clone" zfs snapshot ${_clone}@clone eval zfs_${_tree}_seed_${rev}_${type}=1 - unset _clone _mount _tree _svnsrc + unset _clone _mount _tree _gitsrc } zfs_bootstrap() { @@ -230,17 +231,30 @@ zfs_finish_bootstrap() { } prebuild_setup() { - info "Creating ${logdir}" - mkdir -p ${logdir} - info "Creating ${srcdir}" - mkdir -p ${srcdir} - info "Creating ${chroots}" - mkdir -p ${chroots} - info "Checking out src/release to ${srcdir}" - svn co -q --force svn://svn.freebsd.org/base/${releasesrc}/release \ - ${srcdir} - info "Reverting any changes to ${srcdir}" - svn revert -R ${srcdir} + [ ! -z $(eval echo \${zfs_${_tree}_prebuild_${rev}_${type}}) ] && return 0 + _mount="${logdir}" + _clone="${zfs_parent}/${rev}-logs-${type}" + mkdir -p ${_mount} + info "Creating ${_mount}" + zfs create -o atime=off -o mountpoint=${_mount} ${_clone} + + _mount="${chroots}" + _clone="${zfs_parent}/${rev}-chroots-${type}" + mkdir -p ${_mount} + info "Creating ${_mount}" + zfs create -o atime=off -o mountpoint=${_mount} ${_clone} + + _mount="${srcdir}" + _clone="${zfs_parent}/${rev}-src-${type}" + mkdir -p ${_mount} + info "Creating ${_mount}" + zfs create -o atime=off -o mountpoint=${_mount} ${_clone} + + eval zfs_${_chrootarch}_prebuild_${rev}_${type}=1 + + info "Checking out tree to ${srcdir}" + git clone -q -b ${releasesrc} ${GITROOT}/${GITSRC} ${srcdir} + } # Email log output when a stage has completed @@ -282,12 +296,6 @@ ftp_stage() { info "Staging for ftp: ${_build}" [ ! -z "${EMBEDDEDBUILD}" ] && export EMBEDDEDBUILD [ ! -z "${BOARDNAME}" ] && export BOARDNAME - [ ! -z "${BUILDSVNREV}" ] && export SVNREVISION=${BUILDSVNREV} - [ ! -z "${BUILDDATE}" ] && export BUILDDATE - [ -z "${SVNREVISION}" -a -e "${scriptdir}/svnrev_src" ] && \ - export SVNREVISION="$(cat ${scriptdir}/svnrev_src)" - [ -z "${BUILDDATE}" -a -e "${scriptdir}/builddate" ] && \ - export BUILDDATE="$(cat ${scriptdir}/builddate)" chroot ${CHROOTDIR} make -C /usr/src/release \ -f Makefile.mirrors \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ @@ -313,7 +321,7 @@ ftp_stage() { mkdir -p "${ftpdir}/${_type}" rsync -avH ${CHROOTDIR}/R/ftp-stage/${_type}/* \ ${ftpdir}/${_type}/ >> ${logdir}/${_build}.log 2>&1 - unset BOARDNAME BUILDDATE EMBEDDEDBUILD SVNREVISION WITH_VMIMAGES + unset BOARDNAME EMBEDDEDBUILD WITH_VMIMAGES return 0 } @@ -325,7 +333,7 @@ build_release() { info "Building release: ${_build}" set >> ${logdir}/${_build}.log env -i __BUILDCONFDIR="${__BUILDCONFDIR}" \ - /bin/sh ${srcdir}/release.sh -c ${_conf} \ + /bin/sh ${srcdir}/release/release.sh -c ${_conf} \ >> ${logdir}/${_build}.log 2>&1 ftp_stage @@ -343,7 +351,7 @@ parallelbuild_release() { info "Building release: ${_build}" set >> ${logdir}/${_build}.log env -i __BUILDCONFDIR="${__BUILDCONFDIR}" \ - /bin/sh ${srcdir}/release.sh -c ${_conf} \ + /bin/sh ${srcdir}/release/release.sh -c ${_conf} \ >> ${logdir}/${_build}.log 2>&1 ftp_stage @@ -364,17 +372,16 @@ upload_ec2_ami() { _EC2TARGET_ARCH=amd64 ;; aarch64:GENERIC) - # XXX: temporary until support for stable/11 is added + # stable/11 arm64/aarch64 is not supported case ${rev} in - 13|12) + 11) + return 0 + ;; + *) _EC2TARGET=arm64 _EC2TARGET_ARCH=aarch64 ;; - *) - return 0 - ;; esac - # end XXX ;; *) return 0 @@ -483,10 +490,6 @@ upload_gce_image() { # Install amd64/i386 "seed" chroots for all branches being built. install_chroots() { source_config || return 0 - if [ ${rev} -le 8 ]; then - info "This script does not support rev=${rev}" - return 0 - fi case ${arch} in i386) _chrootarch="i386" @@ -513,6 +516,29 @@ install_chroots() { DESTDIR=${_mount} \ installworld distribution >> \ ${logdir}/${_build}.log 2>&1 + + ## XXX: Temporary hack to install git from pkg(8) instead of + ## building from ports. + mount -t devfs devfs ${_mount}/dev + cp /etc/resolv.conf ${_mount}/etc/resolv.conf + env ASSUME_ALWAYS_YES=yes pkg -c ${_mount} install -y devel/git + env ASSUME_ALWAYS_YES=yes pkg -c ${_mount} clean -y + #mkdir -p ${_mount}/usr/ports + #mount -t nullfs /releng/13-ports-snap ${_mount} + #GITUNSETOPTS="CONTRIB CURL CVS GITWEB GUI HTMLDOCS" + #GITUNSETOPTS="${GITUNSETOPTS} ICONV NLS P4 PERL" + #GITUNSETOPTS="${GITUNSETOPTS} SEND_EMAIL SUBTREE SVN" + #GITUNSETOPTS="${GITUNSETOPTS} PCRE PCRE2" + #eval chroot ${_mount} env OPTIONS_UNSET=\"${GITUNSETOPTS}\" \ + #make -C /usr/ports/devel/git FORCE_PKG_REGISTER=1 \ + # WRKDIRPREFIX=/tmp/ports \ + # DISTDIR=/tmp/distfiles \ + # install clean distclean + #rm -f ${_mount}/etc/resolv.conf + #umount ${_mount}/usr/ports + umount ${_mount}/dev + # End XXX + zfs snapshot ${_clone}@clone eval zfs_${_chrootarch}_seed_${rev}_${type}=1 unset _build _dest _objdir _srcdir _clone _mount @@ -544,10 +570,6 @@ zfs_clone_chroots() { # Build amd64/i386 "seed" chroots for all branches being built. build_chroots() { source_config || return 0 - if [ ${rev} -le 9 ]; then - info "This script does not support rev ${rev}" - return 0 - fi case ${arch} in i386) _chrootarch="i386" @@ -561,15 +583,8 @@ build_chroots() { _srcdir="${chroots}/${rev}/${_chrootarch}/${type}" _objdir="${chroots}/${rev}-obj/${_chrootarch}/${type}" mkdir -p "${_srcdir}" - # Source the build configuration file to get - # the SRCBRANCH to use - if [ -z ${zfs_bootstrap_done} ]; then - # Skip svn checkout, the trees are there. - info "SVN checkout ${SRCBRANCH} for ${_chrootarch} ${type}" - svn co -q ${SVNROOT}/${SRCBRANCH} \ - ${_srcdir} \ - >> ${logdir}/${_build}.log 2>&1 - fi + mkdir -p "${_objdir}" + zfs clone -p -o mountpoint=$(realpath ${_srcdir}) ${zfs_parent}/${rev}-src-${type}@clone ${zfs_parent}$(realpath ${_srcdir}) || exit 1 info "Building $(realpath ${_srcdir}) world" env MAKEOBJDIRPREFIX=${_objdir} \ make -C ${_srcdir} ${WORLD_FLAGS} \ @@ -584,7 +599,7 @@ build_chroots() { } main() { - releasesrc="head" + releasesrc="main" export __BUILDCONFDIR="$(dirname $(realpath ${0}))" while getopts "c:d" opt; do @@ -606,7 +621,7 @@ main() { use_zfs=1 check_use_zfs zfs_bootstrap_done= - prebuild_setup + runall prebuild_setup runall truncate_logs zfs_bootstrap runall zfs_mount_src From owner-svn-src-user@freebsd.org Thu Aug 27 21:47:44 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AA67A3C4756 for ; Thu, 27 Aug 2020 21:47:44 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BcxD03rmyz4qjk; Thu, 27 Aug 2020 21:47:44 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 67A3BA74E; Thu, 27 Aug 2020 21:47:44 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07RLli5F062398; Thu, 27 Aug 2020 21:47:44 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07RLli9M062397; Thu, 27 Aug 2020 21:47:44 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202008272147.07RLli9M062397@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 27 Aug 2020 21:47:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r364894 - user/gjb/thermite-git X-SVN-Group: user X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: user/gjb/thermite-git X-SVN-Commit-Revision: 364894 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2020 21:47:44 -0000 Author: gjb Date: Thu Aug 27 21:47:43 2020 New Revision: 364894 URL: https://svnweb.freebsd.org/changeset/base/364894 Log: Explicitly set atime=off for zfs dataset clones. Wrap long lines while here. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: user/gjb/thermite-git/thermite.sh Modified: user/gjb/thermite-git/thermite.sh ============================================================================== --- user/gjb/thermite-git/thermite.sh Thu Aug 27 21:37:35 2020 (r364893) +++ user/gjb/thermite-git/thermite.sh Thu Aug 27 21:47:43 2020 (r364894) @@ -156,7 +156,7 @@ zfs_mount_tree() { _mount="/${zfs_mount}/${rev}-${arch}-${kernel}-${type}" _target="${zfs_parent}/${rev}-${arch}-${kernel}-${type}-${_tree}" info "Cloning ${_clone}@clone to ${_target}" - zfs clone -p -o mountpoint=${_mount}/usr/${_tree} \ + zfs clone -p -o atime=off -o mountpoint=${_mount}/usr/${_tree} \ ${_clone}@clone ${_target} unset _clone _mount _target _tree _seedmount _seedtarget } @@ -176,7 +176,7 @@ zfs_mount_src() { _seedmount=${chroots}/${rev}/${arch}/${type} _seedtarget="${zfs_parent}/${rev}-${arch}-${type}-chroot" info "Creating ${_seedtarget} from ${_clone}" - zfs clone -p -o mountpoint=${_seedmount} \ + zfs clone -p -o atime=off -o mountpoint=${_seedmount} \ ${_clone}@clone ${_seedtarget} unset _clone _mount _target _tree _seedmount _seedtarget } @@ -561,7 +561,8 @@ zfs_clone_chroots() { _build="${rev}-${arch}-${kernel}-${type}" _dest="${__WRKDIR_PREFIX}/${_build}" info "Cloning ${_chrootarch} world to ${zfs_parent}/${_build}" - zfs clone -p -o mountpoint=${_dest} ${_clone}@clone ${zfs_parent}/${_build} + zfs clone -p -o atime=off -o mountpoint=${_dest} \ + ${_clone}@clone ${zfs_parent}/${_build} unset _clone _mount _build _dest return 0 @@ -584,7 +585,9 @@ build_chroots() { _objdir="${chroots}/${rev}-obj/${_chrootarch}/${type}" mkdir -p "${_srcdir}" mkdir -p "${_objdir}" - zfs clone -p -o mountpoint=$(realpath ${_srcdir}) ${zfs_parent}/${rev}-src-${type}@clone ${zfs_parent}$(realpath ${_srcdir}) || exit 1 + zfs clone -p -o atime=off -o mountpoint=$(realpath ${_srcdir}) \ + ${zfs_parent}/${rev}-src-${type}@clone \ + ${zfs_parent}$(realpath ${_srcdir}) || exit 1 info "Building $(realpath ${_srcdir}) world" env MAKEOBJDIRPREFIX=${_objdir} \ make -C ${_srcdir} ${WORLD_FLAGS} \