achadwick/styrene

pkg-dir is not working (possible RegEx error)

Opened this issue · 1 comments

Hello,
I believe I found bug in installing packages from custom path.
I am using this command from MSYS2 environment:
styrene --pkg-dir=/mnt/F1/dist-pkg/ -o ./dist-package ./dist-f1.cfg --debug
and my setting for this is

...
packages = f1-msys-dev-env
...

and package is where it should:
/mnt/F1/dist-pkg/f1-msys-dev-env-1.0-1-x86_64.pkg.tar.xz

Log is following (I added some log entries to it):

$ styrene --pkg-dir=/mnt/F1/dist-pkg/ -o ./dist-package ./dist-f1.cfg --debug
INFO: styrene.bundle: Creating tree in “./dist-package/f1-tools-w64”…
:: Synchronizing package databases...
 mingw32 is up to date
 mingw64 is up to date
 msys is up to date
DEBUG: styrene.bundle: cleanup: removing “./dist-package/f1-tools-w64/_location.txt”
DEBUG: styrene.bundle: cleanup: removing “./dist-package/f1-tools-w64/_icons”
DEBUG: styrene.bundle: cleanup: removing “./dist-package/f1-tools-w64/_scripts”
INFO: styrene.bundle: Installing packages requested in the spec…
INFO: styrene.bundle: Installing ['f1-msys-dev-env', 'mingw-w64-x86_64-win7appid'] into “./dist-package/f1-tools-w64”
INFO: styrene.bundle: Entry: f1-msys-dev-env-1.0-1-x86_64.pkg.tar.xz
INFO: styrene.bundle: RegEx: re.compile('\n            ^ f1\\-msys\\-dev\\-env\n            - (?P<version> [^-]+ - \\d+ )\n            - any\n            [.]pkg[.]tar\n            (?: [.](?:gz|xz) )?\n            $\n        ', re.IGNORECASE|re.VERBOSE)
INFO: styrene.bundle: RegMatch: None
INFO: styrene.bundle: Entry: f1-msys-dev-env-1.0-1-x86_64.pkg.tar.xz
INFO: styrene.bundle: RegEx: re.compile('\n            ^ mingw\\-w64\\-x86_64\\-win7appid\n            - (?P<version> [^-]+ - \\d+ )\n            - any\n            [.]pkg[.]tar\n            (?: [.](?:gz|xz) )?\n            $\n        ', re.IGNORECASE|re.VERBOSE)
INFO: styrene.bundle: RegMatch: None
DEBUG: styrene.bundle: Running “pacman --sync --quiet --root ./dist-package/f1-tools-w64 --needed --noconfirm --noprogressbar --noscriptlet --arch x86_64 mingw-w64-x86_64-win7appid f1-msys-dev-env”…
warning: mingw-w64-x86_64-win7appid-1.1-3 is up to date -- skipping
error: target not found: f1-msys-dev-env
warning: 'f1-msys-dev-env' is a file, did you mean -U/--upgrade instead of -S/--sync?
ERROR: styrene.cmdline: Unexpected error while processing “./dist-f1.cfg”
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/styrene/cmdline.py", line 258, in main
    process_spec_file(spec, options)
  File "/usr/lib/python3.7/site-packages/styrene/cmdline.py", line 138, in process_spec_file
    bundle.write_distributables(output_dir, options)
  File "/usr/lib/python3.7/site-packages/styrene/bundle.py", line 192, in write_distributables
    self._install_native_packages(distroot, pkgdirs=options.pkgdirs)
  File "/usr/lib/python3.7/site-packages/styrene/bundle.py", line 580, in _install_native_packages
    self._install_packages(root, packages, pkgdirs=pkgdirs)
  File "/usr/lib/python3.7/site-packages/styrene/bundle.py", line 498, in _install_packages
    subprocess.check_call(cmd)
  File "/usr/lib/python3.7/subprocess.py", line 341, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['pacman', '--sync', '--quiet', '--root', './dist-package/f1-tools-w64', '--needed', '--noconfirm', '--noprogressbar', '--noscriptlet', '--arch', 'x86_64', 'mingw-w64-x86_64-win7appid', 'f1-msys-dev-env']' returned non-zero exit status 1.

What I did to make it working (I am no RegEx expert, I just needed to do something) is that I rewrited bundle.py:447 from - any to - (?:x86_64|i686). It worked for me and I believe that - any is not valid regex pattern.

Thank you,
Vojtech

I'm affected by this issue too.