xemu-project / xemu

Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
https://xemu.app
Other
2.77k stars 279 forks source link

Building aborted when not inside git repo #157

Closed hellux closed 3 years ago

hellux commented 3 years ago

Downloading the latest source archive xemu-xemu-0.5.0.tar.gz and running ./build.sh will instantly fail with the following message:

Compiling for Linux...
+ /tmp/download/xemu-xemu-v0.5.0/configure '--extra-cflags=-DXBOX=1 -O3 -Wno-error=redundant-decls -Wno-error=unused-but-set-variable ' --extra-ldflags= --enable-kvm --disable-xen --disable-werror --target-list=i386-softmmu --enable-trace-backends=nop --enable-sdl --enable-opengl --disable-curl --disable-vnc --disable-vnc-sasl --disable-docs --disable-tools --disable-guest-agent --disable-tpm --disable-live-block-migration --disable-rdma --disable-replication --disable-capstone --disable-fdt --disable-libiscsi --disable-spice --disable-user --disable-stack-protector --disable-glusterfs --disable-gtk --disable-curses --disable-gnutls --disable-nettle --disable-gcrypt --disable-crypto-afalg --disable-virglrenderer --disable-vhost-net --disable-vhost-crypto --disable-vhost-vsock --disable-vhost-user --disable-virtfs --disable-snappy --disable-bzip2 --disable-vde --disable-libxml2 --disable-seccomp --disable-numa --disable-lzo --disable-smartcard --disable-usb-redir --disable-bochs --disable-cloop --disable-dmg --disable-vdi --disable-vvfat --disable-qcow1 --disable-qed --disable-parallels --disable-sheepdog --without-default-devices --disable-blobs

ERROR: missing file /tmp/download/xemu-xemu-v0.5.0/ui/keycodemapdb/README

This is not a GIT checkout but module content appears to
be missing. Do not use 'git archive' or GitHub download links
to acquire QEMU source archives. Non-GIT builds are only
supported with source archives linked from:

  https://www.qemu.org/download/#source

Developers working with GIT can use scripts/archive-source.sh
if they need to create valid source archives.

However, rerunning the build script after running git init will make the build complete successfully.

Is the archive packaged improperly as suggested by the error message?

mborgerson commented 3 years ago

As the message you've shared says, GitHub download links to acquire the source code for this project is unsupported. If you really do want to build from source, please always clone the repo.

hellux commented 3 years ago

As the upstream project doesn't have any package releases on GitHub, I suppose that by "GitHub download links" they mean snapshot downloads of repositories, which may be problematic as they don't include submodules. It seems like they have instead created a bash script (scripts/archive-source.sh) that fetches the submodules and creates a tarball and they then release these tarballs on their website.

The xemu packages on the other hand don't seem to include the submodules (e.g. ui/keycodemapdb missing) and will not build without creating a .git directory. What is the purpose of these source packages if they are not to be used to obtain the source code? Is there a reason not to include the submodules in the package? It would be appreciated by downstream users if these packages were buildable.