Proposing a New App Developer Upload Process
Emmet Hikory
persia at ubuntu.com
Wed Sep 5 03:18:19 UTC 2012
Steve Langasek wrote:
> On Tue, Sep 04, 2012 at 05:20:47PM -0400, Michael Hall wrote:
> > > It's possible that namespacing within /usr - for instance,
> > > requiring each subdirectory and binary name to be prefixed with
> > > 'extras.' - would give better results with regards to the upstream
> > > build systems, I'm not sure. But if we are going to try to do
> > > namespacing of extras packages to avoid the need for coordination,
> > > we definitely would need improved package helpers that support
> > > namespacing of packages (i.e., debhelper support).
>
> > Would it be reasonable for MyApps to add a package name prefix to the
> > submitted package, rather than requiring the developer to do so?
> > MyApps will already be modifying the submitted package to include the
> > generator AppArmor profile.
>
> > So, for example, if I submit quickly-gtk as a source package to
> > MyApps, it would convert it to extras-quickly-gtk, add the AppArmor
> > profile, and re-build the source package before submitting it to the
> > PPA/buildds.
>
> For package renaming that seems easy enough to do, but if we're worried
> about file conflicts, dynamically prefixing filenames when building the
> package is going to have an even worse impact on the upstream code than
> changing directories does.
Changing the base filename indeed generates more complicated issues,
not only in terms of collisions, but also in terms of coordination between
code and data (e.g. code expects to find ${CONFIG_DIR}/package and fails
to initialise properly with only ${CONFIG_DIR}/extras-package.
However, if we consider "renaming" to apply to the entire path, rather
than the bare filename, this becomes considerably less of an issue. If
MyApps were to call tooling that changed the default installation location
for files while preserving bare filenames, then there is less potential
for conflict. The standard mechanism for this is to place the non-system
files in per-package namespaced directories in /opt.
For the convenience of developers, this should likely be implemented
through debhelper support, so that if one specifies `dh --with-extras`
one gets the alternate installation prefix, as well as the apparmor
profile, etc.
--
Emmet HIKORY
More information about the ubuntu-devel
mailing list