aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-21 14:07:20 +0900
committerOphestra <cat@gensokyo.uk>2026-05-21 14:07:20 +0900
commit443a7a30f618c32fea6e564f0fcf0822a0d43538 (patch)
tree8b52b0e75d9b00e3a560179eef800cdd62015107
parent497e4a564200dd51fdd950e1b83e7a5722e74a4c (diff)
internal/rosa: use string pair for files
This is a much cleaner representation than the separator syntax. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/azalea/evaluate.go2
-rw-r--r--internal/rosa/package/glib/package.az8
-rw-r--r--internal/rosa/package/kernel/package.az24
-rw-r--r--internal/rosa/package/libarchive/package.az2
-rw-r--r--internal/rosa/state.go19
5 files changed, 28 insertions, 27 deletions
diff --git a/internal/rosa/azalea/evaluate.go b/internal/rosa/azalea/evaluate.go
index 617a1618..d57f5cac 100644
--- a/internal/rosa/azalea/evaluate.go
+++ b/internal/rosa/azalea/evaluate.go
@@ -91,7 +91,7 @@ type TypeError struct {
}
func (e TypeError) Error() string {
- return "expected " + e.Asserted.String() + ", got " + e.Concrete.String()
+ return fmt.Sprintf("expected %s, got %s", e.Asserted, e.Concrete)
}
func (e TypeError) Is(err error) bool {
diff --git a/internal/rosa/package/glib/package.az b/internal/rosa/package/glib/package.az
index 583c7832..316ae8e2 100644
--- a/internal/rosa/package/glib/package.az
+++ b/internal/rosa/package/glib/package.az
@@ -10,10 +10,10 @@ package glib {
checksum = "Rkszn6W4RHjyspyqfXdVAVawdwDJCuS0Zu0f7qot7tbJhnw2fUDoUUJB40m-1MCX";
};
- files = [
- "/etc/machine-id:stub-machine-id-fhs",
- "/system/var/lib/dbus/machine-id:stub-machine-id",
- ];
+ files = {
+ "/etc/machine-id": "stub-machine-id-fhs";
+ "/system/var/lib/dbus/machine-id": "stub-machine-id";
+ };
exec = meson {
setup = {
diff --git a/internal/rosa/package/kernel/package.az b/internal/rosa/package/kernel/package.az
index 70ceb997..70dbe28d 100644
--- a/internal/rosa/package/kernel/package.az
+++ b/internal/rosa/package/kernel/package.az
@@ -17,10 +17,10 @@ package kernel-headers {
source = kernel-source;
- files = [
+ files = {
// updated manually for API changes
- "version.h",
- ];
+ "version.h";
+ };
toyboxEarly = true;
exec = make {
@@ -61,16 +61,16 @@ package kernel {
"f54a91f5337cd918eb86cf600320d25b6cfd8209.patch",
"6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch",
];
- files = [
- arch {
- amd64 = ".config:kernel_amd64.config";
- arm64 = ".config:kernel_arm64.config";
- riscv64 = ".config:kernel_riscv64.config";
- },
+ files = {
+ ".config": arch {
+ amd64 = "kernel_amd64.config";
+ arm64 = "kernel_arm64.config";
+ riscv64 = "kernel_riscv64.config";
+ };
- ".installkernel:installkernel",
- ".depmod:depmod",
- ];
+ ".installkernel": "installkernel";
+ ".depmod": "depmod";
+ };
env = [
"PATH=/system/sbin",
diff --git a/internal/rosa/package/libarchive/package.az b/internal/rosa/package/libarchive/package.az
index 2816e299..73b87804 100644
--- a/internal/rosa/package/libarchive/package.az
+++ b/internal/rosa/package/libarchive/package.az
@@ -10,7 +10,7 @@ package libarchive {
checksum = "CUJK4MDQmZmATClgQBH2Wt-7Ts4iiSUlg1J_TVb6-5IK3rVUgVLIMc5k-bnWB9w3";
};
- files = [ "CTestCustom.cmake" ];
+ files = { "CTestCustom.cmake"; };
writable = true;
early = "\ninstall -Dv /usr/src/CTestCustom.cmake /cure/\n";
diff --git a/internal/rosa/state.go b/internal/rosa/state.go
index 6142e4ac..6ff6f1cf 100644
--- a/internal/rosa/state.go
+++ b/internal/rosa/state.go
@@ -899,7 +899,7 @@ func (ctx *evalContext) pf(
var (
attr PackageAttr
patches []string
- files []string
+ files []KV
excl bool
early bool
@@ -965,16 +965,17 @@ func (ctx *evalContext) pf(
for _, pair := range files {
var pathname *check.Absolute
- dst, src, ok := strings.Cut(pair, ":")
- if !ok {
- src, dst = dst, filepath.Base(dst)
+ if pathname, err = check.NewAbs(pair[0]); err != nil {
+ pathname = AbsUsrSrc.Append(pair[0])
+ err = nil
}
- if pathname, err = check.NewAbs(dst); err != nil {
- pathname = AbsUsrSrc.Append(dst)
+
+ if pair[1] == "" {
+ pair[1] = pair[0]
}
var p []byte
- p, err = fs.ReadFile(ctx.b, src)
+ p, err = fs.ReadFile(ctx.b, pair[1])
if err != nil {
return
}
@@ -982,8 +983,8 @@ func (ctx *evalContext) pf(
attr.Paths = append(attr.Paths, pkg.Path(
pathname,
false,
- pkg.NewFile(filepath.Base(dst), p),
- ))
+ pkg.NewFile(filepath.Base(pair[0]), p)),
+ )
}
if excl {