Debian Packaging

upload_ppa.sh

This a work-in-progress how-to to create Debian packages for Ryzom client and all its dependencies.

You will find all the files here :

http://hg.kervala.net/packaging/file/

3rd-party libraries

libsquish

libsquish is not yet packaged for Debian so I googleed about it and found the Panda3D project (http://www.panda3d.org) was using libsquish and debianized it.

But their scripts were only created static libs, so I slightly modified them.

libwww

libwww is not packaged anymore for recent distribution, so I got the debian directory from the last release and updated it.

Ryzom Core

I just updated files from http://svn.debian.org/wsvn/pkg-games/packages/trunk/nel/

Update changelogs

I coded a little script which convert Mercurial log to ChangeLog file.

If you execute it, it will update the changelog.

Create .deb

You can uncompress .zip files in their respective root directory (NeL in code/nel and Ryzom in code/ryzom).

And type "debuild -b" to create all packages.

Upload to your PPA (Ubuntu specific)

If you don't want to create binary packages now, you can upload sources to your PPA and it will create all packages for all supported platforms.

To do that, I coded a script which can simplify the process :

The syntax to use is : upload_ppa.sh <source directory> <version> <distrib> [minor version]

  • "upload_ppa.sh nel 0.7.666 maverick" will create all NeL packages (libs, tools, -dev, etc...) for Maverick Mercat (Ubuntu 10.10)

If you already uploaded a package and just changed packaging stuff, you can append a number: upload_ppa.sh nel 0.7.666 maverick 1

Here are the steps it performs:

  1. update Debian changelog (it will open it with nano), when you're done, press ctrl+x
  2. remove temporay files in debian directory
  3. backup your changelog in parent directory as <source>-<distrib>-changelog (useful if you plan to create packages for several distribs)
  4. export or copy your sources to ../<source>-<version>
  5. copy "debian" directory to ../<source>-<version>
  6. execute debuild -S to create source packages
  7. ask you confirmation before to upload to your PPA

A lot of checks are missing, you have to manually install a lot of packages such as : debhelper, dput, cvs, svn, git, mercurial

It's uploading to ppa:$USER/ppa so if your username is not the same as your PPA account, it will fail and your "ppa" has to be named "ppa" (the first one should have this name).

Test existing PPA

I'm using my PPA to create NeL/Ryzom packages and all dependencies:

https://edge.launchpad.net/~kervala/+archive/ppa

You can use it directly by adding "ppa:kervala/ppa" to your sources.

WARNING: If you install ryzom-client-data, it will patch/download data files in /usr/share/games/ryzom so be sure you have enough disk space on this disk (it will take about 7 GB), don't install this package if you have your files located elsewhere.

If you installed static client version, you can create a symbolic link from /usr/share/games/ryzom to your real game client directory and then you will be able to patch in your right directory.

  File Modified

ZIP Archive libwww.zip

Jan 27, 2014 by Matthew Lagoe

ZIP Archive nel.zip

Jan 27, 2014 by Matthew Lagoe

ZIP Archive ryzom.zip

Jan 27, 2014 by Matthew Lagoe

ZIP Archive ryzom-core.zip

Jan 27, 2014 by Matthew Lagoe

Text File squish.patch

Jan 27, 2014 by Matthew Lagoe

ZIP Archive squish.zip

Jan 27, 2014 by Matthew Lagoe

File update.sh

Jan 27, 2014 by Matthew Lagoe

File upload_ppa.sh

Jan 27, 2014 by Matthew Lagoe