libplatform-api-headers needs to make its headers accessible through #include <ubuntu/*.h>

Bug #1202309 reported by Łukasz Zemczak
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
platform-api
Fix Committed
High
Thomas Voß
platform-api (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Currently. the approach is to install libplatform-api-headers headers into /usr/include/ubuntu-<version> and then create a link to it in /usr/include/ubuntu. This approach does not work, as there might be leftovers from older versions of the directory /usr/include/ubuntu, which makes creation of the links impossible. Thus breaking the headers.

There should be a different way of solving it. xnox recommended:
18:47 < xnox> tvoss_: didrocks: instead, configury / cmake /pkgconfig can point to -I/usr/include/ubuntu-sdk/1/
(...)
18:48 < xnox> tvoss_: didrocks: throught magic of gcc -isystem they can be anywhere, even in a local dir / repo /checkout / anywhere on filesystem.

Related branches

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

usr/include/ubuntu for example can be a symlink to the current default level of the sdk for compatability reasons / ease of building against the deefault, e.g.:

usr/include/ubuntu -> usr/include/ubuntu-<version>/ubuntu

The real headers are shipped in: usr/include/ubuntu-<version>/ubuntu/*.h

Then we need to have:
ubuntu-sdk-<version>.pc which define -I /usr/include/ubuntu-<version>
and a default
ubuntu-sdk.pc a symlink to current ubuntu-sdk-<version>.pc.

The ubuntu-sdk-default package will then be the one that ships symlinks only to the current ubuntu-sdk-<version>
This is very similar to how boost-dev, python, python3, etc... are all "dummy" default symlink only packages, depending on the "versioned" default one.

Revision history for this message
Thomas Voß (thomas-voss) wrote :

Having thought about this a little I think having versioned include-directories for the platform api is not a good idea. Removing it until we encounter a real use-case.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Yeah, agree. There are ways to fetch the deb unpack into directory for each ubuntu release and use those headers / link them.

Plus I don't think we have yet broken the api/abi, since libqtubuntu_sensors did not provide headers or dev package, thus one couldn't directly only link against it, or did i get it wrong?! despite shipping in public directory.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:platform-api at revision 94, scheduled for release in platform-api, milestone ubuntu-13.05

Changed in platform-api:
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package platform-api - 0.18.2+13.10.20130719-0ubuntu1

---------------
platform-api (0.18.2+13.10.20130719-0ubuntu1) saucy; urgency=low

  [ Thomas Voß ]
  * Remove versioned include directories. (LP: #1202309)

  [ Ricardo Mendoza ]
  * Stop changing focus when the binder that died was the last app in
    our list. (LP: #1202803)
  * Dont refocus other app if app dies while shell has focus. (LP:
    #1178288)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 96
 -- Ubuntu daily release <email address hidden> Fri, 19 Jul 2013 02:02:00 +0000

Changed in platform-api (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.