By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 999 - Build issue: pykdeextensions contains hardcoded path for debian/ubuntu
Summary: Build issue: pykdeextensions contains hardcoded path for debian/ubuntu
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: non-core programs (show other bugs)
Version: 3.5.13 [Trinity]
Hardware: All Linux
: P5 blocker
Assignee: Francois Andriot
URL:
Depends on:
Blocks:
 
Reported: 2012-05-11 05:07 CDT by Francois Andriot
Modified: 2012-10-19 15:23 CDT (History)
3 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
pykdeextensions 3.5.13: fix libtool commands to build only unversioned shared module ".so" (874 bytes, patch)
2012-05-11 16:59 CDT, Francois Andriot
Details | Diff
pykdeextensions 3.5.13: fix hardcoded path to EXTRA_MODULE_DIR (1.04 KB, patch)
2012-05-11 17:06 CDT, Francois Andriot
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Andriot 2012-05-11 05:07:39 CDT
Hello, when building kde-guidance, it uses pykdeextensions to build a .cpp file from a template.

Look at this file:
http://git.trinitydesktop.org/cgit/pytdeextensions/tree/src/kdedistutils.py

It contains 3 lines relative to kde-guidance:
#define EXTRA_MODULE_DIR "/opt/trinity/share/python-support/tde-guidance-trinity"
#define EXTRA_MODULE_DIR_TWO "/opt/trinity/share/python-support/guidance-backends-trinity"
#define EXTRA_MODULE_DIR_THREE "/opt/trinity/share/python-support/tde-guidance-powermanager-trinity"

Problems:
1) The template should not contain hardcoded path for a specific application (guidance in that case)
2) The template should not contain any path that is distribution-specific ! The "python-support" directory does not exist at all on RHEL/Fedora.
Comment 1 Francois Andriot 2012-05-11 16:59:49 CDT
Created attachment 619 [details]
pykdeextensions 3.5.13: fix libtool commands to build only unversioned shared module ".so"

By default, libtool builds the KCM modules both as static library (kcm_XXX.a) and versioned dynamic library (kcm_XXX.so.0.0.0).
The attached patch disables static library compilation, and disable versioning of shared library, so that only "kcm_XXX.so" and "kcm_XXX.la" files remain. These are the only useful files for a KCM module.
Comment 2 Francois Andriot 2012-05-11 17:06:19 CDT
Created attachment 620 [details]
pykdeextensions 3.5.13: fix hardcoded path to EXTRA_MODULE_DIR

The attached patch replaces the hardcoded path to "guidance" libraries with a Python variable.

After patching pykdeextensions, you should modify your Guidance build script so that it sets a shell environment variable which defines the path where Guidance python libraries will be installed.

E.g, to keep the previous behaviour (for Debian/Ubuntu):

export EXTRA_MODULE_DIR="/opt/trinity/share/python-support/kde-guidance-trinity"
./setup.py build

[...]

export EXTRA_MODULE_DIR="/opt/trinity/share/python-support/kde-guidance-trinity"
./setup.py install

Please note that there were previously 3 hardcoded variables in the script:
EXTRA_MODULE_DIR
EXTRA_MODULE_DIR_TWO
EXTRA_MODULE_DIR_THREE
I think that 1 variable per TDE application is enough, so I did not patch the 2 remaining variables.
Comment 3 Timothy Pearson 2012-06-12 12:57:08 CDT
Comment on attachment 619 [details]
pykdeextensions 3.5.13: fix libtool commands to build only unversioned shared module ".so"

Committed to GIT in hash 76be949.
Comment 4 Timothy Pearson 2012-06-12 13:20:31 CDT
> Problems:
> 1) The template should not contain hardcoded path for a specific application
> (guidance in that case)
> 2) The template should not contain any path that is distribution-specific ! The
> "python-support" directory does not exist at all on RHEL/Fedora.

I fully agree with point #1; the lines in question must have been added before TDE as some kind of hack around a Python problem.

I have removed the guidance-specific lines in GIT hash ce50b65.  Any problems with tde-guidance that show up as a result should be filed in a new bug report.