b4j4 / indicator-kdeconnect

AppIndicator for KDE Connect
GNU Lesser General Public License v2.1
372 stars 37 forks source link

Rpm problem #93

Closed ozky closed 7 years ago

ozky commented 7 years ago

I got compiled this in Mageia 6 but have problem with customized spec file it will compile it but it will complain at install missing require. LANG=C urpmi indicator-kdeconnect-0.9.1-1.x86_64.rpm A requested package cannot be installed: indicator-kdeconnect-0.9.1-1.x86_64 (due to unsatisfied typelib(Caja)[== 3.0]

In Mageia there is typelib(Caja)[== 2.0] lib64caja-gir2.0:/usr/lib64/girepository-1.0/Caja-2.0.typelib

indicator-kdeconnect.txt

b4j4 commented 7 years ago

Strange, because nothing from Caja is required to compile it.

ozky commented 7 years ago

Yes not to build but it's when i try to install compiled rpm package.

andyholmes commented 7 years ago

Looks like python-caja (Caja file manager bindings) is a requirement for kdeconnect-send-caja.py

You could probably just remove those lines from your local copy of rpm/indicator-kdeconnect.spec to build it now.

ozky commented 7 years ago

No that's not my problem at all package build fine but it add wrong require to rpm so it will be just useless if that go do it will just fails at build.

Here is more better output of rpm requires.

Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: libappindicator3.so.1()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) libdbusmenu-glib.so.4()(64bit) libgdk-3.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-3.so.0()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) python(abi) python3 typelib(Caja) = 3.0 typelib(GObject) typelib(Gdk) typelib(Gtk) = 3.0 typelib(Nautilus) = 3.0 typelib(Nemo) = 3.0 typelib(Notify) = 0.7 Processing files: indicator-kdeconnect-debuginfo-0.9.1-1.x86_64 Provides: indicator-kdeconnect-debuginfo = 0.9.1-1 indicator-kdeconnect-debuginfo(x86-64) = 0.9.1-1 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/ozky/rpmbuild/BUILDROOT/indicator-kdeconnect-0.9.1-1.x86_64 Wrote: /home/ozky/rpmbuild/SRPMS/indicator-kdeconnect-0.9.1-1.src.rpm Wrote: /home/ozky/rpmbuild/RPMS/x86_64/indicator-kdeconnect-0.9.1-1.x86_64.rpm Wrote: /home/ozky/rpmbuild/RPMS/x86_64/indicator-kdeconnect-debuginfo-0.9.1-1.x86_64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.iQHONK umask 022 cd /home/ozky/rpmbuild/BUILD cd indicator-kdeconnect-0.9.1 /usr/bin/rm -rf /home/ozky/rpmbuild/BUILDROOT/indicator-kdeconnect-0.9.1-1.x86_64 exit 0

andyholmes commented 7 years ago

You can see here that the only file related to RPM even containing the word "caja" is rpm/inidicator-kdeconnect.spec. As @Bajoja said Caja is not a build requirement, but possibly indicator-kdeconnect.spec is indicating to RPM that is an install requirement, which would explain why it builds without fault, but doesn't install.

ozky commented 7 years ago

Yeah i changed gi.require_version('Caja', '3.0') to gi.require_version('Caja', '2.0') in kdeconnect-send-caja.py and it will then install it. I noticed from sources folder have spec file what is not working without modifying it manually with corrected bongus dates why it's there if it's not working. ?

andyholmes commented 7 years ago

Perhaps no one has build RPM from git in some time, and whoever maintains the Fedora package doesn't use the provided spec file. I think it's a strange thing for RPM to guess dependencies at install time.

ozky commented 7 years ago

Yes it's very strange i don't even use mate at all i use lxqt with brand new Mageia 6 released week ago. One solution would be use rpm spec subpackages what recommend those python etc extensions. It also add possible to install indicator-kdeconnect to lxqt without any extensions like caja. https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch10s04.html

b4j4 commented 7 years ago

Try to comments all requirements to see what happen, the spec file on Open Suse and Fedora don't have this problems.

ozky commented 7 years ago

I already did it and it didn't work require is hardcoded and if it's rpm spec can't ignore it.

b4j4 commented 7 years ago

I'm not and expert on spec files, so i can help you much than this.