[Unit] Description=Furtka Live Installer (Flask) After=network-online.target Wants=network-online.target [Service] Type=simple WorkingDirectory=/opt/furtka # Python 3.14's new pathlib.Path.copy() refuses source==target paths, and # archinstall's sync_log_to_install_medium() trips on that at __exit__ # because the chroot bindmount is already gone by the time it copies # /var/log/archinstall/install.log. The install itself has already # succeeded; this just means the log-sync step throws a misleading # traceback. Neutralise the call on the live ISO (never runs on the # target) so users don't see it. Idempotent — second run is a no-op. ExecStartPre=/bin/sh -c 'sed -i "s|absolute_logfile\\.copy(logfile_target, preserve_metadata=True)|None # furtka patch: py3.14 Path.copy same-path workaround|" /usr/lib/python*/site-packages/archinstall/lib/installer.py || true' ExecStart=/usr/bin/python -m flask --app app run --host 0.0.0.0 --port 5000 Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target