3

I'm running Ubuntu 14.04.

I have many 3rd party system libraries which I use for projects, but managing library installation is difficult. Some libraries are .deb files, some are built from source (which I then create a .deb from), and some are .run files.

My goal is to have my own personal repository which hosts these 3rd party system libraries in the form of .deb files. My issue is converting .run files into .deb files.

I've tried using checkinstall to run the .deb file (specifically the UEye camera drivers found here ), hoping that checkinstall would capture the modifications to my filesystem, but unfortunately that was a disaster.

Are there any clean ways to turn .run files into .deb files?

2
  • 2
    Run files are usually shell scripts, so if you know some BASH, then you can take a look at the script (what does it do, what files does it install where, etc) and manually create a deb package.
    – psimon
    Commented Jun 23, 2014 at 18:13
  • As psimon implies, .run files are not standardized -- it's just a conventional suffix for something that installs something.
    – goldilocks
    Commented Jun 23, 2014 at 18:40

2 Answers 2

2

There isn't a simple or universal method to do this. The first part of a common .run file (I'm going to use ATI driver installation file as reference) is a script, followed by a stream of compressed data which is immediately stored in the filesystem. To convert it to a deb file, you must uncompress the stream in a directory, create the debian/ directory, in your rules file you must edit it so dhmake just take the directory structure and copy the files where they should be, since you don't have a Makefile or equivalent that uses the install script.

I strongly recommend just asking to the software distributor to create a Debian package since most of these run files aren't even DFSG compatible.

1

What I ended up doing was:

  1. Create a custom .deb which contains the .run file
  2. "Install" the .run file to /tmp
  3. Use postinst to execute the .run file (and delete afterwards)
  4. This particular .run file actually provides its own uninstall script that doesn't need the original .run file. So I use postrm to execute that script.

Everything works very nicely. No complaints and very simple.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .