diff --git a/packages.py b/packages.py index 1c5f4e1..196900a 100644 --- a/packages.py +++ b/packages.py @@ -338,6 +338,28 @@ def build_package(package: Package): if package.mode == 'cross': logging.info(f'Cross-compiling {package.path}') + + def umount(): + subprocess.run( + [ + 'umount', + '-lc', + '/usr/share/i18n/locales', + ], + stderr=subprocess.DEVNULL, + ) + + result = subprocess.run([ + 'mount', + '-o', + 'bind', + '/chroot/copy/usr/share/i18n/locales', + '/usr/share/i18n/locales', + ]) + if result.returncode != 0: + logging.fatal(f'Failed to bind mount glibc locales from chroot') + exit(1) + result = subprocess.run( makepkg_cmd + makepkg_compile_opts, env=makepkg_cross_env | {'QEMU_LD_PREFIX': '/usr/aarch64-linux-gnu'}, diff --git a/wrapper.py b/wrapper.py index 0a7036f..bc57485 100644 --- a/wrapper.py +++ b/wrapper.py @@ -58,8 +58,6 @@ else: atexit.register(at_exit) - # TODO: Remove the mount of /usr/share/i18n/locales. It's a trick so we don't need to generate the locales in the chroot. - # Something like a prebuilt docker image as base or copying the files from it would be good. subprocess.run([ 'docker', 'run', @@ -80,6 +78,4 @@ else: '-v', '/dev:/dev', #'-v', '/mnt/kupfer:/mnt/kupfer:z', - '-v', - '/usr/share/i18n/locales:/usr/share/i18n/locales:ro' ] + [tag, 'kupferbootstrap'] + sys.argv[1:])