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