Proposing a New App Developer Upload Process
Scott Kitterman
ubuntu at kitterman.com
Thu Sep 6 17:38:09 UTC 2012
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
More information about the ubuntu-devel
mailing list