OptRequirement

Differences between revisions 1 and 2
Revision 1 as of 2012-04-11 10:14:28
Size: 1296
Editor: dholbach
Comment:
Revision 2 as of 2012-04-11 11:11:58
Size: 1480
Editor: dholbach
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<TableOfContents>>
Line 9: Line 11:

= Exceptions =
Exceptions to the /opt requirement need approval by the TB on a case by case basis. Currently unity extensions and .desktop file are allowed.

This page discusses the current state of the /opt requirement for apps.

Background

Apps which go to the AppReviewBoard, currently have the requirement to install files into /opt.

Rationale

  • Avoiding conflicts: Installing files into a separate location on the file system helps to avoid file conflicts.

  • (Future) confinement: In the future this would allow us to more easily confine apps.(?)

Exceptions

Exceptions to the /opt requirement need approval by the TB on a case by case basis. Currently unity extensions and .desktop file are allowed.

Problems

  • Our toolkits, checking tools and frameworks are stream-lined to install files into /usr, not into /opt.
  • General documentation on the internet is all about /usr.
  • If you want to get your app into Ubuntu, you have to either special-case where you look for files or maintain separate versions of your code.

Solutions

  • Conflicts could be easily avoided if we check package contents against:
    • $release Contents*.gz files (for stable releases that's even easier)
    • Contents*.gz files for backports, archive.canonical.com and extras
    • One caveat would be diversions and alternatives, but they could be checked with a logic like in command-not-found.
  • Confinement is a problem not solved by the /opt requirement, but with initiatives like SecurityTeam/Specifications/Precise/AppArmorEasyprof be considered in the future.

OptRequirement (last edited 2012-04-30 20:54:43 by static-50-53-5-218)