kumquat-buildroot/support/scripts
James Hilliard fc429c4dc6 package/pkg-python: clean conflicting pep517 packages before install
The python installer package isn't able to overwrite files of packges
that already exist, this causes problems when doing a rebuild or
update without a full clean.

To fix this we can use functionality from importlib to identify and
remove any conflicting python package files before installation.

We also need to use internals from python-installer, as we want to use
the same logic as pyinstaller uses internally for getting the scheme so
that we ensure we clean the correct package scheme (we want it to be the
same as the one we're installing)

Fixes:
Traceback (most recent call last):
  File "/home/buildroot/buildroot/support/scripts/pyinstaller.py", line 69, in <module>
    main()
  File "/home/buildroot/buildroot/support/scripts/pyinstaller.py", line 61, in main
    install(
  File "/home/buildroot/buildroot/output/host/lib/python3.10/site-packages/installer/_core.py", line 109, in install
    record = destination.write_file(
  File "/home/buildroot/buildroot/output/host/lib/python3.10/site-packages/installer/destinations.py", line 207, in write_file
    return self.write_to_fs(scheme, path_, stream, is_executable)
  File "/home/buildroot/buildroot/output/host/lib/python3.10/site-packages/installer/destinations.py", line 167, in write_to_fs
    raise FileExistsError(message)
FileExistsError: File already exists: /home/buildroot/buildroot/output/target/usr/lib/python3.10/site-packages/tinycss2/__init__.py

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Tested-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
[yann.morin.1998@free.fr:
  - extend commit log about the use of the installer internals (the
    symbols prefixed with '_')
  - check path.files against explicitly None
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-08-22 11:54:25 +02:00
..
apply-patches.sh support/scripts/: remove -E flag from patch call 2022-01-03 21:14:32 +01:00
boot-qemu-image.py support/scripts/boot-qemu-image.py: increase the timeout by 10 2022-07-27 15:56:57 +02:00
br2-external support/scripts/br2-external: add kernel extensions 2022-06-22 22:22:30 +02:00
brpkgutil.py
check-bin-arch
check-dotconfig.py support: fix flake8 error E741 ambiguous variable name 2021-10-18 22:31:11 +02:00
check-host-rpath support/scripts: fix TABs/spaces in check-host-rpath 2022-07-30 18:15:08 +02:00
check-kernel-headers.sh
check-merged-usr.sh
cpedb.py
cve.py
expunge-gconv-modules
fix-configure-powerpc64.sh
fix-rpath
gen-bootlin-toolchains toolchain: invert glibc <-> !static dependency 2022-07-27 11:11:19 +02:00
gen-missing-cpe
generate-gitlab-ci-yml utils/checkpackagelib: run unit tests on GitLab CI 2022-02-06 15:35:19 +01:00
genimage.sh
graph-build-time support/scripts/graph-build-time: add support for timeline graphing 2022-03-20 23:52:24 +01:00
graph-depends
hardlink-or-copy
mkmakefile
mkusers support/scripts/mkusers: allow option for system uid/gid 2022-02-05 23:09:31 +01:00
pkg-stats support/scripts/pkg-stats: add linebreak opportunity in CPE ID 2022-08-03 18:17:43 +02:00
pyinstaller.py package/pkg-python: clean conflicting pep517 packages before install 2022-08-22 11:54:25 +02:00
setlocalversion
size-stats support: fix flake8 error E741 ambiguous variable name 2021-10-18 22:31:11 +02:00