internal/rosa: provide package metadata
All checks were successful
Test / Create distribution (push) Successful in 58s
Test / Sandbox (push) Successful in 2m36s
Test / Hakurei (push) Successful in 3m42s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 4m55s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m35s
All checks were successful
Test / Create distribution (push) Successful in 58s
Test / Sandbox (push) Successful in 2m36s
Test / Hakurei (push) Successful in 3m42s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 4m55s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m35s
This had to be done out-of-band because there was no way to efficiently represent these within Artifact. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -11,16 +11,24 @@ var kernelSource = pkg.NewHTTPGetTar(
|
||||
pkg.TarGzip,
|
||||
)
|
||||
|
||||
func (t Toolchain) newKernelSource() pkg.Artifact {
|
||||
func (t Toolchain) newKernelSource() (pkg.Artifact, string) {
|
||||
return t.New("kernel-"+kernelVersion+"-src", 0, nil, nil, nil, `
|
||||
mkdir -p /work/usr/src/
|
||||
cp -r /usr/src/linux /work/usr/src/
|
||||
chmod -R +w /work/usr/src/linux/
|
||||
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource))
|
||||
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)), kernelVersion
|
||||
}
|
||||
func init() { artifactsF[KernelSource] = Toolchain.newKernelSource }
|
||||
func init() {
|
||||
artifactsM[KernelSource] = Metadata{
|
||||
f: Toolchain.newKernelSource,
|
||||
|
||||
func (t Toolchain) newKernelHeaders() pkg.Artifact {
|
||||
Name: "kernel-source",
|
||||
Description: "a writable kernel source tree installed to /usr/src/linux",
|
||||
Website: "https://kernel.org/",
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newKernelHeaders() (pkg.Artifact, string) {
|
||||
return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
@@ -38,11 +46,19 @@ func (t Toolchain) newKernelHeaders() pkg.Artifact {
|
||||
Install: "# headers installed during make",
|
||||
},
|
||||
Rsync,
|
||||
)
|
||||
), kernelVersion
|
||||
}
|
||||
func init() { artifactsF[KernelHeaders] = Toolchain.newKernelHeaders }
|
||||
func init() {
|
||||
artifactsM[KernelHeaders] = Metadata{
|
||||
f: Toolchain.newKernelHeaders,
|
||||
|
||||
func (t Toolchain) newKernel() pkg.Artifact {
|
||||
Name: "kernel-headers",
|
||||
Description: "an installation of kernel headers",
|
||||
Website: "https://kernel.org/",
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newKernel() (pkg.Artifact, string) {
|
||||
return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{
|
||||
Env: []string{
|
||||
"PATH=/system/sbin",
|
||||
@@ -123,14 +139,29 @@ rm -v /work/lib/modules/` + kernelVersion + `/build
|
||||
OpenSSL,
|
||||
UtilLinux,
|
||||
KernelHeaders,
|
||||
)
|
||||
), kernelVersion
|
||||
}
|
||||
func init() { artifactsF[Kernel] = Toolchain.newKernel }
|
||||
func init() {
|
||||
artifactsM[Kernel] = Metadata{
|
||||
f: Toolchain.newKernel,
|
||||
|
||||
func (t Toolchain) newGenInitCPIO() pkg.Artifact {
|
||||
Name: "kernel",
|
||||
Description: "the generic Rosa OS linux kernel",
|
||||
Website: "https://kernel.org/",
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newGenInitCPIO() (pkg.Artifact, string) {
|
||||
return t.New("gen_init_cpio-"+kernelVersion, 0, nil, nil, nil, `
|
||||
mkdir -p /work/system/bin/
|
||||
cc -o /work/system/bin/gen_init_cpio /usr/src/linux/usr/gen_init_cpio.c
|
||||
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource))
|
||||
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)), kernelVersion
|
||||
}
|
||||
func init() {
|
||||
artifactsM[GenInitCPIO] = Metadata{
|
||||
f: Toolchain.newGenInitCPIO,
|
||||
|
||||
Name: "gen_init_cpio",
|
||||
Description: "a program in the kernel source tree for creating initramfs archive",
|
||||
}
|
||||
}
|
||||
func init() { artifactsF[GenInitCPIO] = Toolchain.newGenInitCPIO }
|
||||
|
||||
Reference in New Issue
Block a user