diff --git a/pmb/config/init.py b/pmb/config/init.py index 317e92b9..142d03d4 100644 --- a/pmb/config/init.py +++ b/pmb/config/init.py @@ -697,11 +697,13 @@ def frontend(args: PmbArgs) -> None: # Work folder (needs to be first, so we can create chroots early) config = get_context().config + using_default_pmaports = config.aports[-1].is_relative_to(config.work) + config.work, work_exists = ask_for_work_path(config.work) - # If the work dir is not the default, reset aports and make - # it relative to the work dir - if not config.aports[0].is_relative_to(config.work): + # If the work dir changed then we need to update the pmaports path + # to be relative to the new workdir + if using_default_pmaports: config.aports = [config.work / "cache_git/pmaports"] # Update args and save config (so chroots and 'pmbootstrap log' work) diff --git a/pmb/parse/arguments.py b/pmb/parse/arguments.py index 7dfeb716..c6eecd02 100644 --- a/pmb/parse/arguments.py +++ b/pmb/parse/arguments.py @@ -886,6 +886,7 @@ def get_parser(): parser.add_argument( "-w", "--work", + type=lambda x: Path(x).absolute(), help="folder where all data gets stored (chroots, caches, built packages)", ) parser.add_argument(