Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

moolticute's build system is trying to install qzxing.h #1230

Open
barathrm opened this issue Jul 7, 2024 · 8 comments
Open

moolticute's build system is trying to install qzxing.h #1230

barathrm opened this issue Jul 7, 2024 · 8 comments

Comments

@barathrm
Copy link
Contributor

barathrm commented Jul 7, 2024

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

@barathrm
Copy link
Contributor Author

barathrm commented Jul 7, 2024

fyi @deXol

@limpkin
Copy link
Collaborator

limpkin commented Jul 8, 2024

@barathrm I'm guessing this is because the submodules are not fetched when building? :)

@barathrm
Copy link
Contributor Author

barathrm commented Jul 9, 2024

@barathrm I'm guessing this is because the submodules are not fetched when building? :)

hm I dont understand 🤔 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.

@barathrm
Copy link
Contributor Author

barathrm commented Jul 9, 2024

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

@barathrm
Copy link
Contributor Author

barathrm commented Jul 9, 2024

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 🤔

image

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.

@principis
Copy link
Contributor

principis commented Jul 25, 2024

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.

@barathrm
Copy link
Contributor Author

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. 🤔

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 🤨

@principis
Copy link
Contributor

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! 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants