Skip to content

Commit 113bcd7

Browse files
fix(bundler): In .deb packages, set uid=0 for all files (#7980)
1 parent d0ae675 commit 113bcd7

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

.changes/bundler-deb-fix-owner.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'tauri-bundler': 'patch:bug'
3+
---
4+
5+
In Debian packages, set `root` the owner of control files and package files.

tooling/bundler/src/bundle/linux/debian.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,10 +367,20 @@ fn create_tar_from_dir<P: AsRef<Path>, W: Write>(src_dir: P, dest_file: W) -> cr
367367
}
368368
let dest_path = src_path.strip_prefix(src_dir)?;
369369
if entry.file_type().is_dir() {
370-
tar_builder.append_dir(dest_path, src_path)?;
370+
let stat = fs::metadata(src_path)?;
371+
let mut header = tar::Header::new_gnu();
372+
header.set_metadata(&stat);
373+
header.set_uid(0);
374+
header.set_gid(0);
375+
tar_builder.append_data(&mut header, dest_path, &mut io::empty())?;
371376
} else {
372377
let mut src_file = fs::File::open(src_path)?;
373-
tar_builder.append_file(dest_path, &mut src_file)?;
378+
let stat = src_file.metadata()?;
379+
let mut header = tar::Header::new_gnu();
380+
header.set_metadata(&stat);
381+
header.set_uid(0);
382+
header.set_gid(0);
383+
tar_builder.append_data(&mut header, dest_path, &mut src_file)?;
374384
}
375385
}
376386
let dest_file = tar_builder.into_inner()?;

0 commit comments

Comments
 (0)