Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am packaging an application that contains binaries that would normally go in /usr/bin and a shared library that would go in /usr/lib.

However, the package guidelines for submitting applications to the software center suggest that binaries should go into /opt.

What is the proper way of putting these files into /opt yet making sure they are in the $PATH?


For clarification, the page I'm referring to is here: http://developer.ubuntu.com/publish/my-apps-packages/ and it states:

"Be able to be installed into /opt/...."

share|improve this question

2 Answers 2

up vote 3 down vote accepted

Packages that are submitted for extras.ubuntu.com cannot install binaries that are intended to be accessible from the default $PATH - they are meant to be relatively lightweight GUI applications. This excludes installing Upstart services or other files into /etc.

The restrictions on files were made for security reasons when the ARB process was written up.

For applications such as these, you can still submit them to the Ubuntu archive (main, universe) & request a backport to the stable release.

share|improve this answer

Background

Could you give more information - "the package guidelines suggest that binaries should go into /opt" ?

I think that the Debian and the Debian based don't use the /opt directory. By the LinuxFilesystemTreeOverview /1/:

"/opt can be used to store addition software for your system, which is not handled by the package manager."

Linking

If you want to use the /opt, you could make the symlinks /2/, /3/, /4/ to the /usr/bin etc.

Examples

The Project Neon /5/ is packaging the development versions of the Amarok and the KDE to /opt so they can be used side by side the stable versions.

The Neon has a ppa /6/ so you could donwload the source packages and examine them.

Links:

  1. https://help.ubuntu.com/community/LinuxFilesystemTreeOverview
  2. http://forums.debian.net/viewtopic.php?f=19&t=45964
  3. http://man.he.net/man1/dh_link
  4. https://wiki.ubuntu.com/PackagingGuide
  5. https://wiki.kubuntu.org/Kubuntu/ProjectNeon/
  6. https://launchpad.net/~neon/+archive/ppa

--Edit--

Thoughts after reading the http://developer.ubuntu.com/publish/my-apps-packages/.

"Be able to be installed into /opt/"

just means that the source should run from the /opt/. It does not be in the $PATH, if you are calling it with the full path.

Here the development version of the Amarok is installed under the /opt and the Exec /1/,/2/ key is:

Exec=/opt/project-neon/bin/amarok %U

enter image description here

But this is only my impression !

More links

  1. http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
  2. http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
share|improve this answer
    
developer.ubuntu.com/publish/my-apps-packages => "Be able to be installed into /opt/..." –  Nathan Osman Nov 3 '11 at 17:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.