|
|
|
|
Menu |
|
|
Home |
| |
|
Discussions |
| |
|
Tools |
| |
|
Affiliates |
| |
|
Content |
| |
|
Info |
| | |
|
|
|
|
|
User Info |
|
Membership:
Latest: MichaelSnaRe
New Today: 0
New Yesterday: 0
Overall: 9144
People Online:
Visitors: 52
Members: 0
Total: 52
|
|
|
|
|
|
Full disclosure |
|
|
|
|
|
|
|
|
|
IT Security and Insecurity Portal |
|
|
How to Recompile/Repack a .deb Program. |
|
Posted: Thu Jan 18, 2007 10:03 pm |
|
|
shai-tan |
Valuable expert |
|
|
Joined: Feb 22, 2005 |
Posts: 477 |
|
|
|
|
|
|
|
How to Recompile/Repack a .deb Program.
By: Shai-tan
Ok so you have a program you like on your Debian GNU/Linux based system and would like to edit a menu or option or even recompile the .deb source with a new option or config. You may wonder how you can do this. Well here goes.
Build the basic development environment:
Code: | apt-get install devscripts build-essential fakeroot |
This installs the necessary packages needed for most development builds in GNU/Linux.
Now you need the source code for the package you wish to repack:
Code: | apt-get source packagename |
This will download the source code for the package into the directory you are currently in. So please Change Directory (cd) to the directory you want to work in. The above command also unpacks the tar file for you into that directory, so now for you to edit the source code you need to cd into the source folder:
Code: | cd packagename-version |
Now make your changes. You can adjust which flags are passed to the configure script by looking at the file inside the debian/ directory called "rules". This is where "./configure" and "make" are called from.
So once your changes are made we need to setup the dependencies to repack the package:
Code: |
apt-get build-dep packagename |
Now you can actually rebuild the package. You perform a rebuild by using the debuild command. If you are not the maintainer of the package you will need to add two flags to this telling the build process not to sign the package. In most cases -us -uc are the switches you wish to use. (make sure you are in the source main directory packagename version):
Now if you look in the parent directory you will find your recompiled .deb file.
You can install it using:
Code: | dpkg ?i packagename.deb |
If you store your packages inside an Apt repository then you can use "pinning" to make your local package have a higher priority than others.
This doesn't work if you're just using "dpkg --install packagename.deb" to install the file though. In that case you can either:
*Put the package "on hold", so it is never upgraded.
*Rebuild your package with a higher version number, e.g: foo-1.2sarge1
Shai-tan |
|
_________________ Shai-tan
?In short: just say NO TO DRUGS, and maybe you won?t end up like the Hurd people.? -- Linus Torvalds |
|
|
|
|
www.waraxe.us Forum Index -> Linux world
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT
Page 1 of 1
|
|
|
Powered by phpBB © 2001-2008 phpBB Group
|
|
|
|
|
|
|