mirror of
https://github.com/hyperknot/openfreemap.git
synced 2026-05-21 14:02:15 +00:00
work
This commit is contained in:
@@ -97,7 +97,7 @@ def download(area: str, version: str, runs_dir: Path) -> bool:
|
||||
check=True,
|
||||
)
|
||||
|
||||
subprocess.run(['unpigz', temp_dir / 'tiles.btrfs.gz'])
|
||||
subprocess.run(['unpigz', temp_dir / 'tiles.btrfs.gz'], check=True)
|
||||
btrfs_src = temp_dir / 'tiles.btrfs'
|
||||
|
||||
shutil.rmtree(version_dir, ignore_errors=True)
|
||||
|
||||
@@ -73,11 +73,22 @@ def clean_up_mounts():
|
||||
with open('/etc/fstab') as fp:
|
||||
fstab_str = fp.read()
|
||||
|
||||
# handle deleted files
|
||||
p = subprocess.run(['mount'], capture_output=True, text=True, check=True)
|
||||
lines = [l for l in p.stdout.splitlines() if '/mnt/ofm/' in l and '(deleted)' in l]
|
||||
for l in lines:
|
||||
mnt_path = Path(l.split('(deleted) on ')[1].split(' type btrfs')[0])
|
||||
assert mnt_path.exists()
|
||||
subprocess.run(['umount', mnt_path], check=True)
|
||||
mnt_path.rmdir()
|
||||
|
||||
# clean all mounts not in current fstab
|
||||
for subdir in mnt_dir.iterdir():
|
||||
if f'{subdir} ' in fstab_str:
|
||||
continue
|
||||
|
||||
subprocess.run(['umount', subdir])
|
||||
print(f'removing old mount {subdir}')
|
||||
subprocess.run(['umount', subdir], check=True)
|
||||
subdir.rmdir()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user