about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-09-22 23:17:59 +0200
committerRobert Günzler <r@gnzler.io>2026-09-22 23:18:22 +0200
commit46a9adacc932048fbe09cebb27398b9c0f7d1f25 (patch)
treed8b9777636d38c6e53129f0a82d0acb53b3a8eab
parent45b882af8d69bde7d6959c52ea6e92b91ba93962 (diff)
downloadsite-46a9adacc932048fbe09cebb27398b9c0f7d1f25.tar.gz
allow force building
Signed-off-by: Robert Günzler <r@gnzler.io>
-rw-r--r--src/main.zig7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main.zig b/src/main.zig
index 2134d45..b1be499 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -19,6 +19,9 @@ pub fn main(init: std.process.Init) !void {
     try Cli.run(init);
 }
 
+// TODO: make this not a global
+var FORCE: bool = false;
+
 const Cli = struct {
     fn usage() void {
         std.debug.print("usage: rbc SOURCE TARGET-DIR\n\n", .{});
@@ -33,6 +36,8 @@ const Cli = struct {
         const args = try init.minimal.args.toSlice(gpa);
         defer gpa.free(args);
 
+        if (init.environ_map.get("RBC_FORCE")) |_| FORCE = true;
+
         // parse options
         for (args) |arg| {
             if (std.mem.eql(u8, arg, "help")) return Cli.usage();
@@ -399,6 +404,8 @@ fn formatLink(gpa: Allocator, name: []const u8, offset: ?[]const u8) ![]u8 {
 }
 
 fn targetExists(io: Io, gpa: Allocator, target_fd: Io.File, root_dir: Io.Dir) !bool {
+    if (FORCE) return false;
+
     const target_parts = getXattrSourceComponents(gpa, target_fd) catch |err|
         switch (err) {
             error.XattrNotFound => return false,