Proposing a New App Developer Upload Process

Stéphane Graber stgraber at ubuntu.com
Thu Sep 6 17:29:45 UTC 2012


On 12-09-06 12:12 PM, Steve Langasek wrote:
> On Thu, Sep 06, 2012 at 03:35:50PM +0200, Stefano Rivera wrote:
>> Hi ubuntu-devel (2012.09.06_15:31:14_+0200)
>>> The hooks just run a script provided by another package (in the
>>> archive). It makes the decisions on how to collate things.
> 
>> A (hopefully) clearer attempt to articulate this:
> 
>> We make the extras packages entirely self-contained and namespaced.
> 
>> Then, we provide some machinery outside them that handles collates
>> things across extras packages. If there's some kind of conflict here,
>> (although it should be avoidable), it's not an issue. It just results in
>> a broken extras package. Not broken in a way that stops apt from
>> working. And it doesn't break anything in the Ubuntu archive, only the
>> conflicting extras packages.
> 
> There's no reason that any of this should be done in a postinst hook.  If we
> already have a scheme to make the extras packages properly namespaced with
> no conflicts, the same class of namespacing should be used as well for the
> integration points (the shared directories), and the files should all be
> shipped in the package.  "If there's a conflict" means it's designed wrong,
> because this should be done in a way that there's never a conflict.
> 
> It's completely achievable to have our packaging helper create the correct
> symlinks automatically.  Compared to the work of getting the package
> installed correctly in /opt/extras.u.c/$pkg, it's a piece of cake, even.


I agree that we shouldn't generate the symlinks from the maintainer
scripts, instead we should just be enforcing the same filename
requirement as the ARB is currently using for files outside of /opt.

That's prefixing any file outside of /opt/extras.ubuntu.com/<package> by
<package>_. As dpkg is ensuring we can't have two binary packages
installed with the same name on the system, there's no potential
conflict possible.

My opinion would be to have the following:
 - All files in /opt/extras.ubuntu.com/<package>
 - Have a reserved directory in /opt/extras.ubuntu.com or directly in /opt/
 - Use /opt/extras.ubuntu.com/<reserved>/ or /opt/<reserved>/ to contain
symlinks to the desktop files, dbus services, unity lenses/scopes, ...
adding that path at the end of the XDG_DATA_DIRS list. Any file in that
path needs to be prefixed by "<package>_".

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 897 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20120906/86963303/attachment.pgp>


More information about the ubuntu-devel mailing list