moolticute
moolticute copied to clipboard
moolticute's build system is trying to install qzxing.h
It seems like the opensuse tumbleweed build has been failing for a little while with
[ 101s] error: Installed (but unpackaged) file(s) found:
[ 101s] /usr/include/QZXing.h
[ 101s] /usr/include/QZXing_global.h
I assume it's related to the recent QZXing library submodule changes.
I'll look into it when I have time, making an issue to track it until then.
I assume that installing the header is unintentional since it was not being installed before?
ref
- https://github.com/mooltipass/moolticute/commit/bda1c4264a2e45f1a0f558f963a2c0dd6ae07efb
- https://github.com/mooltipass/moolticute/commit/3befd02c50258da268b096bc88c9377e62d48bb2
- https://github.com/mooltipass/moolticute/commit/4f9a9e99ef4a744caf32adf60ba77340e47d8e04
fyi @deXol
@barathrm I'm guessing this is because the submodules are not fetched when building? :)
@barathrm I'm guessing this is because the submodules are not fetched when building? :)
hm I dont understand :thinking: the above error means that make (?) installed the files in the staging environment (to /usr/include/QZXing.h), but since the rpm .spec file didn't list them to be included in the package, they're ignored.
In other words I'd expect that if you run make install you'll get the headers installed on your system.
And I just double-checked building the OBS project locally; the submodule is correctly cloned.
Here are the logs from OBS showing the file being installed (but not packaged by me, hence the error)
[ 102s] /usr/bin/qmake-qt5 -install qinstall /home/abuild/rpmbuild/SOURCES/moolticute-testing-1.03.17.r0.gba0f3a0/src/QZXing/src/QZXing.h /home/abuild/rpmbuild/BUILDROOT/moolticute-testing-1.03.17.r0.gba0f3a0-58.1.x86_64/usr/include/QZXing.h [ 102s] /usr/bin/qmake-qt5 -install qinstall /home/abuild/rpmbuild/SOURCES/moolticute-testing-1.03.17.r0.gba0f3a0/src/QZXing/src/QZXing_global.h /home/abuild/rpmbuild/BUILDROOT/moolticute-testing-1.03.17.r0.gba0f3a0-58.1.x86_64/usr/include/QZXing_global.h
Okay just double-checked the OBS logged and the first build failed when moolticute-testing was bumped from v1.03.15-testing to v1.03.16-testing. So I assume it's somehow related to the submodule transition, but from reading the QZXing-components.pri file, I don't see how... the old one seems to refer to the same header files :thinking:
- old https://github.com/mooltipass/moolticute/blob/5982884943cda70743b9c79375d69d1b43bf2adc/src/QZXing/QZXing-components.pri#L461
- new https://github.com/mooltipass/qzxing/blob/7e9ce8b2819c64d0641618588acd844d29cdf76f/src/QZXing-components.pri#L461
I'll try building the older commit before transitioning to using the submodule when I have the chance to see whether it does not install those headers.
~GitHub doesn't include submodules in the tarball, so I guess that is the issue...~
~Edit: I don't understand why it would show that error (and the logs are unavailable, so I can't check), but I think the build system just downloads the tarball, so the directory should be missing.~
For Fedora I'm probably going to add qxzing as extra source
Edit2: Sorry, I misread things on my phone.
FWIW I don't see how this would've changed with the submodule change, as it seems that the qzxing .pri file always installed the headers even before... so I dont know why it started failing on OBS now.
I'm removing those files manually for now and not packaging them. I don't think it makes sense for the header files to be packaged in the binary package of moolticute. :thinking:
For Fedora I'm probably going to add qxzing as extra source
Makes sense, though that sounds like a bit of a hassle. I guess atm. the openSUSE moolticute source package will contain it :raised_eyebrow:
FWIW I don't see how this would've changed with the submodule change, as it seems that the qzxing .pri file always installed the headers even before... so I dont know why it started failing on OBS now.
I'm removing those files manually for now and not packaging them. I don't think it makes sense for the header files to be packaged in the binary package of moolticute. 🤔
Me neither, it's a very strange issue. I tested it locally and it seemed to install the files even before the submodule change (but I didn't double check, so...). Anyway removing them sounds perfect! Headers should never be in such package.
For Fedora I'm probably going to add qxzing as extra source
Makes sense, though that sounds like a bit of a hassle. I guess atm. the openSUSE moolticute source package will contain it 🤨
I was unaware of how the openSUSE build system worked. In Fedora tarballs are used, never the git repo, hence my confusion about the missing QZXing (as Github doesn't include submodules in tarballs). The fix in Fedora would be to add the submodule as a additional source (tarball) and extract it manually, or package the library (which I did: moolticute.spec, qzxing.spec). But apparently, you don't need to do anything at all! :slightly_smiling_face: