Powered By

Powered by Blogger

Sabtu, 13 Februari 2010

Quickly Package Software on Any OS With EPM

EPM is great for creating packages for any Linux distribution, but also Mac OS X, Cygwin and Open Solaris. Basically after you compile a package, EPM takes your existing binaries scattered across your system, and archive them into a package.

REQUIRES
* Root command line on an Unix-like system, including Mac OS X and Cygwin
** Future article on Cygwin, and InnoSetup for MS Windows, as demand allows
* EPM 4.1+ http://www.epmhome.org/
* Virus-free system, built with your intended application
** You should distribute your app in /usr not the default /usr/local

We'll create the fictional Foo desktop app as an example. You may wish to download the Slackware tarball from http://emacro.sourceforge.net/ for working examples.

INSTALL EASY PACKAGE MANAGER
EPM easily builds on any Unix-like system, with the usual:
sh configure
make
sudo make install

On Ubuntu, you can just run
sudo apt-get install epm


START YOUR EPM.LIST FILE
Create /usr/share/foo/README & LICENSE files. Use those bundled with the source code (unless you are the author).

Use mkepmlist to create an epm.list file for all these files:
mkepmlist -g wheel -u root /usr/bin/foo /usr/share/foo/ > /usr/share/foo.list

Don't forget to add your foo.list file itself, into foo.list

CUSTOMIZATION
Edit the text at the top of your foo.list file.

Reference the working configuration for EMacro, the Emacs configuration application HERE.


This emacro.list file is the recipe for packaging EMacro, using EPM.

Required:
%product WebUpd8 My Summary
%copyright 2010 by Bruce Ingalls Creative Commons licensed
%vendor Foo
%license LICENSE
%readme README
%description Foo - Keep abreast of the coolest new apps
%version 1.2.3


After this header, you can optionally insert shell script for platform dependent code, to allow your epm.list (foo.list) work on all platforms, as well as pre- and post- install and uninstall
code.

TRY IT OUT
Run:
epm foo.list

EPM's error messages are quite good, in case you've made any mistakes.

If all goes well, you'll find your package in a subdirectory named after your system's architecture.

For advanced usage, take a look at makepkg.sh from HERE.


THAT'S IT
Ok, I used many words, but you should find EPM packaging easier than building your app with make in the first place.



This is a guest post by Bruce Ingalls (thank you very much, Bruce!). Browse all of his posts.


I am still learning to use EPM so hopefully Bruce will answer some of the questions you may have.

Tidak ada komentar:

Posting Komentar