First you will need to extract the .deb to a temporary directory (tmpdir).
Code: Select all
dpkg-deb -x name-of-package.deb tmpdir
Then we are going to pull the control file that is located in the tmp/DEBIAN/ folder. This is where you will make your dependency changes.
Code: Select all
dpkg-deb --control name-of-package.deb
Code: Select all
gedit tmpdir/DEBIAN/control
Code: Select all
Package: gnome-panel
Version: 1:2.26.0-0ubuntu7
Architecture: i386
Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com>
Installed-Size: 1168
Depends: libatk1.0-0 (>= 1.20.0), libbonobo2-0 (>= 2.15.0), libbonoboui2-0 (>= 2.15.1), libc6 (>= 2.4), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libecal1.2-7 (>= 2.26.1), libedataserver1.2-11 (>= 2.26.1), libedataserverui1.2-8 (>= 2.26.1), libgconf2-4 (>= 2.13.5), libglade2-0 (>= 1:2.6.1), libglib2.0-0 (>= 2.20.0), libgnome-desktop-2-11 (>= 1:2.25.90), libgnome-menu2 (>= 2.15.4), libgnome2-0 (>= 2.17.3), libgnomeui-0 (>= 2.22.0), libgtk2.0-0 (>= 2.16.0), libgweather1 (>= 2.25.5), libical0 (>= 0.30), liborbit2 (>= 1:2.14.10), libpanel-applet2-0 (>= 2.19.3), libpango1.0-0 (>= 1.18.0), libpolkit-dbus2 (>= 0.7), libpolkit2 (>= 0.7), librsvg2-2 (>= 2.22.3), libwnck22 (>= 2.22.0), libx11-6, gnome-panel-data (>= 1:2.26), gnome-panel-data (<< 1:2.27), gnome-desktop-data (>= 2.10.0-1), gnome-control-center (>= 1:2.8.2-3), gnome-menus (>= 2.11.1-1), gnome-about (>= 2.10.0-1)
Recommends: gnome-applets (>= 2.12.1-1), gnome-session, evolution-data-server, gnome-icon-theme (>= 2.18), alacarte, indicator-applet
Suggests: yelp, gnome2-user-guide, gnome-terminal | x-terminal-emulator, gnome-system-tools, nautilus, menu-xdg (>= 0.2)
Section: gnome
Priority: optional
Description: launcher and docking facility for GNOME
The GNOME Panel is an essential part of the GNOME Desktop, providing
toolbar-like “panels” which can be attached to the sides of your desktop.
They are used to launch applications and embed a number of other
functions, such as quick launch icons, the clock, the notification area,
volume controls and the battery charge indicator, and utilities ranging
from weather forecast to system monitoring.
Original-Maintainer: Guilherme de S. Pastore <gpastore@debian.org>
Depends: This line determines what files the your particular package requires in order to run. In many cases a lot of these files are not actually needed, but are part of a package deal and may require some changes in order for the package to function fully and properly without them. For instance, If you were to get rid of nautilus as a dependency (which is pulled in by other dependencies like gnome-control-center) You would have to configure gnome-pane's menul to open up another file manager of your choice. Keep in mind that if you are trying to remove a particular dependency, that it can and will often times be pulled in by other dependencies that requires that same dependency to run. A couple ways you can check to see what each dependency pulls is to run
Code: Select all
apt-cache depends name-of-package-or-dependency.deb
Code: Select all
dpkg -I name-of-package.deb
Pre-Depends: If applicable, then this specifies the dependencies that are needed to be pre-installed before anything else related to the original package can be installed.
Recommends: This specifies packages that would normally be installed with the original. Usually these are files that help to get the full functionability of what ever you are installing. In this case, if you did not have the gnome-applets installed then you would have a panel, but it will not be very functional without the menu, task manager, clock, etc.
Suggests: This specifies packages that would enhance the original package.
Conflicts: This specifies packages, that if installed, will not allow the package your trying to install, to be installed . . . Got it . . . Good.
Replaces: Pretty obvious, the package you are tying to install will replace specified packages in this line.
Now that you have an idea of which each of these lines specify, you can now edit them to include or not include other packages with the one you want to install. After you have edited your control file you will need to repackage your .deb with this command.
Code: Select all
dpkg -b tmpdir new-name-of-package.deb
Tags: dependency debian deb ubuntu package