On Thursday, September 06, 2012 01:29:45 PM Stéphane Graber wrote:
> 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>_".

You'll need to be at least somewhat careful about FHS reservations in /opt.  
/etc/opt is defined and subdirectories in it can be used, but directories such 
as /opt/bin, /opt/lib, and /opt/man cannot.  Also, it's probably worth 
mentioning that last I checked, extras.ubuntu.com was not LANANA registered.  
Someone should do that.

Scott K

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Reply via email to