Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 548624

Summary: sci-electronics/fritzing-0.9.2b does not install parts directory
Product: Gentoo Linux Reporter: Chris Mayo <aklhfex>
Component: Current packagesAssignee: Christian Ruppert (idl0r) <idl0r>
Status: RESOLVED FIXED    
Severity: normal CC: gentoo, gentoo_bugs.nu_q5v, losier.cc, mrueg, orzel, raimue, stian
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Ebuild patch

Description Chris Mayo 2015-05-04 18:41:57 UTC
Parts (electronic component templates) are key to Fritzing and were installed by previous ebuilds (from the source archive).

They weren't added to
  https://github.com/fritzing/fritzing-app/archive/0.9.2b.tar.gz

and are found in their own repository
  https://github.com/fritzing/fritzing-parts


https://github.com/fritzing/fritzing-app/wiki/1.3-Linux-notes

Request for source tarball from openSUSE
http://fritzing.org/forum/thread/6159/
Comment 1 Manuel Rüger (RETIRED) gentoo-dev 2015-06-13 10:51:20 UTC
https://github.com/fritzing/fritzing-parts/issues/17
Comment 2 Manuel Rüger (RETIRED) gentoo-dev 2015-06-30 15:20:33 UTC
Okay, there's a release out now. Where does it need to be installed at?

I suppose /usr/share/fritzing/parts?
Comment 3 Chris Mayo 2015-07-03 18:31:35 UTC
Seems to work, but only starting with:
Fritzing -f /usr/share/fritzing
Comment 4 Losier Blackheath 2015-09-26 10:37:31 UTC
i just found a clue about it:

$ strings /usr/bin/Fritzing | grep portage
/var/tmp/portage/sci-electronics/fritzing-0.9.2b/image//usr/share/fritzing

and according to the build output, this string correspond to the building value $PKGDATADIR:
x86_64-pc-linux-gnu-g++ -c -O2 -pipe -mtls-dialect=gnu2 -march=native -mfpmath=both -mtls-dialect=gnu2 -fabi-version=6 -Wall -W -D_REENTRANT -fPIC -DQUAZIP_INSTALLED -DLINUX_64 -DDATADIR=\"/var/tmp/portage/sci-electronics/fritzing-0.9.2b/image//usr/share\" -DPKGDATADIR=\"/var/tmp/portage/sci-electronics/fritzing-0.9.2b/image//usr/share/fritzing\" -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CONCURRENT_LIB -DQT_SERIALPORT_LIB -DQT_CORE_LIB -I. -isystem /usr/include/quazip -isystem /usr/include/minizip -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtSql -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtSerialPort -isystem /usr/include/qt5/QtCore -Irelease -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o release/graphicsflowlayout.o src/partsbinpalette/graphicsflowlayout.cpp

it indicates that fritzing does try to find the data from PKGDATADIR at runtime, and the source code proves it. (see src/utils/folderutils.cpp, line 181)

so i think we can just hack the ebuild to fix PKGDATADIR at configuring.
Comment 5 Chris Mayo 2015-09-27 10:49:34 UTC
Created attachment 413056 [details, diff]
Ebuild patch

Right - ebuild is adding ${D} to prefix.

Patch attached that uses INSTALL_ROOT instead and installs the parts.
Comment 6 Bruno Santos 2015-09-27 13:02:45 UTC
I can confirm the problem with the ebuild. Fritzing gives an error when opening complaining about the parts being missing.

Using the patch in the ebuild effectively solves the problem. 
The parts are installed in /usr/share/fritzing/parts and Fritzing no longer complains when starting .
Comment 7 Phil Tooley 2015-11-21 15:21:28 UTC
I have the identical problem, resolved but the submitted patch.

Can the maintainers please consider merging this one into the tree?
Comment 8 Philippe Trottier 2015-12-23 16:53:28 UTC

I will merge the last patch to my overlay . I have tested on amd64 and arm(v6 and v7).
Comment 10 Thomas Capricelli 2016-01-06 23:14:01 UTC
Hit by the same problem
Comment 11 Jon Gerdes 2016-01-07 12:36:39 UTC
Patch from comment 5 works for me on amd64.  Thank you Chris Mayo.
Comment 12 Michael Lange 2016-03-16 19:09:20 UTC
The submitted patch solves the problem with the missing parts library. (amd64)
Please merge into portage.
Comment 13 typograph 2016-03-18 13:07:32 UTC
Hit the same problem (amd64). "Fritzing -f /usr/share/fritzing" doesn't work (segfault on opening files), patched version works (thanks Chris Mayo!). Why is the patch not in the tree yet?
Comment 14 Chris Mayo 2016-07-02 10:43:19 UTC
Fixed by fritzing-0.9.2b-r1 now in the tree.

sci-electronics/fritzing: Install parts library with 0.9.2b #548624
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53c843126785b377f6cbca9d2ea03001f9153dbd