for tomorrow's meeting: ARB exception proposal

Allison Randal allison at canonical.com
Tue Nov 16 19:20:22 GMT 2010


On 11/16/2010 08:30 AM, Martin Pitt wrote:
> = .desktop files =
>
> This wasn't discussed extensively, but some comments indicated that
> making an exception for those for maverick should be okay. (Hasn't
> been officially approved yet, though)

Noted.

> = Python binaries =
> Is that actually an issue? They could all live in /opt/<packagename>/,
> we are mostly concerned about user-facing apps which ship a desktop
> file?
>
> Do we have actual cases where those extra packages ship command line
> applications or something which needs to be in $PATH?
>
> How would people think about the (maverick only) permission to ship a
> symlink to /opt/... in /usr/local/bin?

We're not overly concerned about binaries for user-facing apps, but it's 
worth deciding now if you're comfortable with the exception. A simple 
command-line interface corresponding to a simple desktop app does seem 
like a reasonable possibility.

> = Python libraries =
>
> For maverick we could require app developers to add their application
> path directory to sys.path, and fix quickly to do that automatically.
> Would that be practical?

For Natty, Didier has fixed Quickly, cdbs, python-support, and 
python-distutils-extra to handle /opt installation. But we can't 
backport those fixes to Maverick. (We can ignore Lucid, as we aren't 
targeting these apps to Lucid.)

The core problem is that cdbs and dh_support (as shipped in Maverick) 
currently only support prefix=/usr for Python, when we need 
prefix=/opt/<appname> or prefix=/opt/<vendor>/<appname>.

Our best alternative is to have the ARB manually modify the developer's 
source packages to add .install files forcing an /opt install. It's a 
little labor intensive, but we were already prepared to do more work for 
the Maverick ARB reviews, and there are really only 4 proposals in our 
queue anyway. We'll test this strategy on the existing applications in 
the queue before the next TB meeting.

> pyc files are just a "nice to have", so we could ship maverick
> packages without them.

Yes, we can skip them for Maverick packages, the small loss in speed 
isn't a big problem for the lightweight apps we're considering. Python 
version symlinks we can probably also skip (since it's a custom app lib 
directory).

> I didn't quite get why people asked for a vendor prefix in /opt/, like
> /opt/ubuntu. What would this give us? AFAIK it wouldn't address any of
> above problems, and just additionally require LANANA registration,
> etc.?

/opt is a common location for user-compiled applications and libraries, 
so even though we're not using it for any Ubuntu packages, there is a 
substantial risk of namespace collision. Also, the /opt/ubuntu vendor 
prefix (or whatever name) ultimately gives us a sensible location for 
installing .desktop files, and other files we want to move from the 
standard paths to /opt.


An added question came up while I was pinning down the Python libs 
install of whether installing the legal data and package information 
under /opt instead of /usr/share/doc/<appname> is legal, or will be 
visible to other parts of the system. Legally it should be fine as long 
as we clearly state that /opt/<vendor>/<appname>/doc is the specified 
location for license files for lightweight apps.

Allison



More information about the technical-board mailing list