Skip to content

Commit 0a71b3b

Browse files
committed
Merge branch 'master' into OS-8525
2 parents 4ed160d + be10a6b commit 0a71b3b

File tree

30 files changed

+732
-316
lines changed

30 files changed

+732
-316
lines changed

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<!--
88
Copyright 2019 Joyent, Inc.
9-
Copyright 2024 MNX Cloud, Inc.
9+
Copyright 2025 MNX Cloud, Inc.
1010
-->
1111

1212
# Triton Contribution Guidelines
@@ -55,7 +55,7 @@ tracking -- primarily to allow interaction with those without access to JIRA.
5555

5656
## Code of Conduct
5757

58-
All persons and/or organizations contributing to, or intercting with our
58+
All persons and/or organizations contributing to, or interacting with our
5959
repositories or communities are required to abide by the
6060
[illumos Code of Conduct][coc].
6161

Jenkinsfile

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
/*
88
* Copyright 2022 Joyent, Inc.
9-
* Copyright 2023 MNX Cloud, Inc.
9+
* Copyright 2025 MNX Cloud, Inc.
1010
*/
1111

1212
@Library('jenkins-joylib@v1.0.8') _
@@ -45,8 +45,8 @@ pipeline {
4545
'<dd>platform root password [default: randomly chosen]</dd>\n' +
4646
'<dt>-S</dt>\n' +
4747
'<dd>do *not* run smatch [default is to run smatch]</dd>\n' +
48-
'<dt>-s gcc7</dt>\n' +
49-
'<dd>shadow compilers, comma delimited (gcc7,gcc#) [default: none]</dd>\n' +
48+
'<dt>-s gcc14</dt>\n' +
49+
'<dd>shadow compilers, comma delimited (gcc14,gcc#) [default: none]</dd>\n' +
5050
'</dl>'
5151
)
5252
text(
@@ -112,8 +112,9 @@ pipeline {
112112
stage('check') {
113113
agent {
114114
node {
115-
label 'platform:true && image_ver:21.4.0 && pkgsrc_arch:x86_64 && ' +
116-
'dram:16gb && !virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
115+
label 'platform:true && image_ver:24.4.1 && ' +
116+
'pkgsrc_arch:x86_64 && (dram:16gb || dram:32gb ) && ' +
117+
'!virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
117118
customWorkspace "workspace/smartos-${BRANCH_NAME}-check"
118119
}
119120
}
@@ -157,8 +158,9 @@ set -o pipefail
157158
// completes).
158159
// Use ${BRANCH_NAME} instead.
159160
node {
160-
label 'platform:true && image_ver:21.4.0 && pkgsrc_arch:x86_64 && ' +
161-
'dram:16gb && !virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
161+
label 'platform:true && image_ver:24.4.1 && ' +
162+
'pkgsrc_arch:x86_64 && (dram:16gb || dram:32gb ) && ' +
163+
'!virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
162164
customWorkspace "workspace/smartos-${BRANCH_NAME}-default"
163165
}
164166
}
@@ -197,15 +199,16 @@ export ENGBLD_BITS_UPLOAD_IMGAPI=true
197199
cleanWhenNotBuilt: true,
198200
deleteDirs: true
199201
joySlackNotifications(
200-
channel: 'smartos', comment: 'default')
202+
channel: 'cloud-smartos', comment: 'default')
201203
}
202204
}
203205
}
204206
stage('debug') {
205207
agent {
206208
node {
207-
label 'platform:true && image_ver:21.4.0 && pkgsrc_arch:x86_64 && ' +
208-
'dram:16gb && !virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
209+
label 'platform:true && image_ver:24.4.1 && ' +
210+
'pkgsrc_arch:x86_64 && (dram:16gb || dram:32gb ) && ' +
211+
'!virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
209212
customWorkspace "workspace/smartos-${BRANCH_NAME}-debug"
210213
}
211214
}
@@ -246,16 +249,17 @@ export PLAT_CONFIGURE_ARGS="-d $PLAT_CONFIGURE_ARGS"
246249
cleanWhenNotBuilt: true,
247250
deleteDirs: true
248251
joySlackNotifications(
249-
channel: 'smartos', comment: 'debug')
252+
channel: 'cloud-smartos', comment: 'debug')
250253
}
251254
}
252255
}
253-
stage('gcc7') {
256+
stage('gcc14') {
254257
agent {
255258
node {
256-
label 'platform:true && image_ver:21.4.0 && pkgsrc_arch:x86_64 && ' +
257-
'dram:16gb && !virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
258-
customWorkspace "workspace/smartos-${BRANCH_NAME}-gcc7"
259+
label 'platform:true && image_ver:24.4.1 && ' +
260+
'pkgsrc_arch:x86_64 && (dram:16gb || dram:32gb ) && ' +
261+
'!virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
262+
customWorkspace "workspace/smartos-${BRANCH_NAME}-gcc14"
259263
}
260264
}
261265
when {
@@ -272,18 +276,18 @@ export PLAT_CONFIGURE_ARGS="-d $PLAT_CONFIGURE_ARGS"
272276
steps {
273277
sh('git clean -fdx')
274278
sh('''
275-
export PLAT_CONFIGURE_ARGS="-p gcc7 -r $PLAT_CONFIGURE_ARGS"
279+
export PLAT_CONFIGURE_ARGS="-p gcc14 -r $PLAT_CONFIGURE_ARGS"
276280
# enough to make sure we don't pollute the main Manta dir
277-
# Also for now we implicitly promise that the gcc7 deliverables are DEBUG,
278-
# but we could choose to make -gcc7 *and* -debug-gcc7 stages later and alter
281+
# Also for now we implicitly promise that the gcc14 deliverables are DEBUG,
282+
# but we could choose to make -gcc14 *and* -debug-gcc14 stages later and alter
279283
# PLATFORM_DEBUG_SUFFIX accordingly.
280-
export PLATFORM_DEBUG_SUFFIX=-gcc7
281-
./tools/build_jenkins -c -d -S gcc7
284+
export PLATFORM_DEBUG_SUFFIX=-gcc14
285+
./tools/build_jenkins -c -d -S gcc14
282286
''')
283287
}
284288
post {
285289
always {
286-
archiveArtifacts artifacts: 'output/gcc7/**',
290+
archiveArtifacts artifacts: 'output/gcc14/**',
287291
onlyIfSuccessful: false,
288292
allowEmptyArchive: true
289293
cleanWs cleanWhenSuccess: true,
@@ -292,15 +296,16 @@ export PLATFORM_DEBUG_SUFFIX=-gcc7
292296
cleanWhenNotBuilt: true,
293297
deleteDirs: true
294298
joySlackNotifications(
295-
channel: 'smartos', comment: 'gcc7')
299+
channel: 'cloud-smartos', comment: 'gcc14')
296300
}
297301
}
298302
}
299303
stage('strap-cache') {
300304
agent {
301305
node {
302-
label 'platform:true && image_ver:21.4.0 && pkgsrc_arch:x86_64 && ' +
303-
'dram:16gb && !virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
306+
label 'platform:true && image_ver:24.4.1 && ' +
307+
'pkgsrc_arch:x86_64 && (dram:16gb || dram:32gb ) && ' +
308+
'!virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
304309
customWorkspace "workspace/smartos-${BRANCH_NAME}-strap-cache"
305310
}
306311
}
@@ -335,7 +340,7 @@ export MANTA_TOOLS_PATH=/root/bin/
335340
cleanWhenNotBuilt: true,
336341
deleteDirs: true
337342
joySlackNotifications(
338-
channel: 'smartos', comment: 'strap-cache')
343+
channel: 'cloud-smartos', comment: 'strap-cache')
339344
}
340345
}
341346
}
@@ -344,10 +349,9 @@ export MANTA_TOOLS_PATH=/root/bin/
344349
}
345350
post {
346351
always {
352+
joySlackNotifications(comment: 'pipeline complete')
347353
joySlackNotifications(
348-
channel: 'jenkins', comment: 'pipeline complete')
349-
joySlackNotifications(
350-
channel: 'smartos', comment: 'pipeline complete')
354+
channel: 'cloud-smartos', comment: 'pipeline complete')
351355
}
352356
}
353357
}

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
#
1313
# Copyright 2022 Joyent, Inc.
14-
# Copyright 2022 MNX Cloud, Inc.
14+
# Copyright 2025 MNX Cloud, Inc.
1515
#
1616

1717
#
@@ -357,7 +357,7 @@ FORCEARG_yes=-f
357357
touch $@
358358

359359
# build our proto.strap area
360-
0-strap-stamp:
360+
0-strap-stamp: 0-preflight-stamp
361361
$(ROOT)/tools/build_strap make \
362362
-a $(ADJUNCT_TARBALL) -d $(STRAP_PROTO) -j $(MAX_JOBS) \
363363
$(FORCEARG_$(FORCE_STRAP_REBUILD))

README.md

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -165,33 +165,32 @@ QEMU
165165
## Setting up a Build Environment
166166

167167
The first step when building is to set up a build environment. The SmartOS
168-
build requires building on SmartOS. As of the `base-64-lts 21.4.0` build
169-
image, the SmartOS Platform Image must be 20211007 or newer. This can be done
168+
build requires building on SmartOS. As of the `base-64-lts 24.4.1` build
169+
image, the SmartOS Platform Image must be 20220728 or newer. This can be done
170170
in VMware, on an existing SmartOS machine, or other virtualization. You must
171171
build inside of a non-global zone.
172172

173173
### Minimum Platform Image
174174

175-
As of [OS-8412](https://smartos.org/bugview/OS-8412), OpenSSH requires OpenSSL
176-
3.0 to build, which means that you'll need to use a platform that includes
177-
[OS-8334](https://smartos.org/bugview/OS-8334). Release builds as of
178-
20211216T012707Z will satisfy this requirement.
175+
Because of changes in our build system regarding python3, you'll need to use a
176+
platform that includes [OS-8397](https://smartos.org/bugview/OS-8397). Release
177+
builds as of 20220728T031731Z will satisfy this requirement.
179178

180179
### Importing the Zone Image
181180

182-
The SmartOS build currently uses the `base-64-lts 21.4.0` image
183-
which has a UUID of `c8715b60-7e98-11ec-82d1-03d16599f529 `. To import
181+
The SmartOS build currently uses the `base-64-lts 24.4.1` image
182+
which has a UUID of `2f1dc911-6401-4fa4-8e9d-67ea2e39c271`. To import
184183
the image, you should run the imgadm command from the global zone:
185184

186185
```
187-
# imgadm import c8715b60-7e98-11ec-82d1-03d16599f529
188-
Importing c8715b60-7e98-11ec-82d1-03d16599f529 (base-64-lts@21.4.0) from "https://images.smartos.org"
189-
Gather image c8715b60-7e98-11ec-82d1-03d16599f529 ancestry
190-
Must download and install 1 image (148.6 MiB)
191-
Download 1 image [=======================>] 100% 148.62MB 497.77KB/s 5m 5s
192-
Downloaded image c8715b60-7e98-11ec-82d1-03d16599f529 (148.6 MiB)
193-
...82d1-03d16599f529 [=======================>] 100% 148.62MB 5.12MB/s 29s
194-
Imported image c8715b60-7e98-11ec-82d1-03d16599f529 (base-64-lts@21.4.0)
186+
# imgadm import 2f1dc911-6401-4fa4-8e9d-67ea2e39c271
187+
Importing 2f1dc911-6401-4fa4-8e9d-67ea2e39c271 (base-64-lts@24.4.1) from "https://images.smartos.org"
188+
Gather image 2f1dc911-6401-4fa4-8e9d-67ea2e39c271 ancestry
189+
Must download and install 1 image (237.1 MiB)
190+
Download 1 image [=======================>] 100% 237.16MB 18.90MB/s 12s
191+
Downloaded image 2f1dc911-6401-4fa4-8e9d-67ea2e39c271 (237.1 MiB)
192+
...8e9d-67ea2e39c271 [=======================>] 100% 237.16MB 31.69MB/s 7s
193+
Imported image 2f1dc911-6401-4fa4-8e9d-67ea2e39c271 (base-64-lts@24.4.1)
195194
#
196195
```
197196

@@ -201,7 +200,7 @@ To create a zone, you need to create a `joyent` branded zone with
201200
`vmadm`. We recommend that the zone have the following attributes:
202201

203202
* The brand set to `"joyent"`
204-
* The `image_uuid` set to `"c8715b60-7e98-11ec-82d1-03d16599f529"`
203+
* The `image_uuid` set to `"2f1dc911-6401-4fa4-8e9d-67ea2e39c271"`
205204
* At least 25 GiB of disk space specified in the `quota` property
206205
* At least 2-4 GiB of DRAM specified in the `max-physical-memory`
207206
property

configure

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
#
1515
# Copyright 2021 Joyent, Inc.
16-
# Copyright 2023 MNX Cloud, Inc.
16+
# Copyright 2024 MNX Cloud, Inc.
1717
#
1818
shopt -s xpg_echo
1919
unalias -a
@@ -40,7 +40,7 @@ fi
4040
# We configure the projects framework using a 'configure-projects' file. This
4141
# is a plain text file which contains the project name, the branch we wish to
4242
# build it at, and either a URL to a git repository or 'origin' to denote the
43-
# github.com/joyent/<repo> location. See create_projects.
43+
# github.com/TritonDataCenter/<repo> location. See create_projects.
4444
#
4545
read -r -d '' configure_projects < default.configure-projects
4646

@@ -154,7 +154,7 @@ function checkout_project
154154
function create_projects
155155
{
156156
local dir="projects/local"
157-
local git_stem="https://github.com/joyent"
157+
local git_stem="https://github.com/TritonDataCenter"
158158

159159
[[ -d "$dir" ]] || mkdir -p "$dir" || fatal "failed to create $dir"
160160

@@ -202,9 +202,9 @@ function install_pkgin
202202
local pkglist
203203

204204
pkglist="build-essential flex libxslt openjdk11 nodejs"
205-
pkglist="$pkglist p5-XML-Parser gettext python27 py39-expat python39"
205+
pkglist="$pkglist p5-XML-Parser gettext python27 python312"
206206
pkglist="$pkglist coreutils gsed pkg_alternatives cdrtools"
207-
pkglist="$pkglist py27-sqlite3 nasm pigz smartos-build-tools"
207+
pkglist="$pkglist nasm pigz smartos-build-tools"
208208

209209
$conf_priv pkgin -f update || fatal "failed to update pkgsrc repository"
210210

@@ -384,9 +384,9 @@ SHADOW_CCCS="$SHADOW_CCCS"; export SHADOW_CCCS
384384
JAVA_ROOT=/opt/local/java/openjdk11; export JAVA_ROOT
385385
FLEX=/opt/local/bin/flex; export FLEX
386386
GNUXGETTEXT=/opt/local/bin/xgettext; export GNUXGETTEXT
387-
PYTHON3=/opt/local/bin/python3.9; export PYTHON3
388-
PYTHON3_VERSION=3.9; export PYTHON3_VERSION
389-
PYTHON3_PKGVERS=-39; export PYTHON3_PKGVERS
387+
PYTHON3=/opt/local/bin/python3.12; export PYTHON3
388+
PYTHON3_VERSION=3.12; export PYTHON3_VERSION
389+
PYTHON3_PKGVERS=-312; export PYTHON3_PKGVERS
390390
PYTHON3_SUFFIX=''; export PYTHON3_SUFFIX
391391
BLD_JAVA_11=''; export BLD_JAVA_11
392392
@@ -414,8 +414,8 @@ AR=/usr/bin/ar; export AR
414414
if [[ -z "\$MAKE" ]]; then
415415
MAKE="\$SRC/tools/proto/root_i386-nd/opt/onbld/bin/i386/dmake"; export MAKE
416416
fi
417-
LEX=/opt/local/bin/lex; export LEX
418-
YACC=/opt/local/bin/yacc; export YACC
417+
# As of illumos#16873, we no longer need to define LEX, as it's in tools.
418+
# As of illumos#16319, we no longer need to define YACC, as it's in tools.
419419
BISON=/opt/local/bin/bison; export BISON
420420
GM4=/opt/local/bin/gm4; export GM4
421421
ASTBINDIR=/opt/local/ast/bin; export ASTBINDIR

default.configure-build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ PUBLISHER="joyent"
22
RELEASE_VER="joyent_147"
33
ON_CLOSED_BINS_URL="https://us-central.manta.mnx.io/Joyent_Dev/public/releng/illumos/on-closed-bins.i386.tar.bz2"
44
ON_CLOSED_BINS_ND_URL="https://us-central.manta.mnx.io/Joyent_Dev/public/releng/illumos/on-closed-bins-nd.i386.tar.bz2"
5-
ILLUMOS_ADJUNCT_TARBALL_URL="https://us-central.manta.mnx.io/Joyent_Dev/public/releng/adjuncts/illumos-adjunct.20220720.tgz"
5+
ILLUMOS_ADJUNCT_TARBALL_URL="https://us-central.manta.mnx.io/Joyent_Dev/public/releng/adjuncts/illumos-adjunct.20240926.tgz"

0 commit comments

Comments
 (0)