Tag Archives: package

Build strongswan v5.5.0 debian package -- with debug symbols

Usually I am using the packages from the official repositories. However, sometimes it's necessary to use a newer version, I recently had to do this with strongswan and I'm sharing the procedure for other people to try.

Get the build dependencies

[codesyntax lang="bash"]

apt-get update
apt-get install devscripts fakeroot
apt-get build-dep strongswan

[/codesyntax]

Obtain and build the package

[codesyntax lang="bash"]

mkdir ~/work
cd ~/work
debcheckout strongswan
cd strongswan
sed -e '/dh_strip/ s/^#*/#/' -i debian/rules
sed -e 's/debhelper.*/debhelper,/g' -i debian/control
dpkg-buildpackage -rfakeroot -uc -b

[/codesyntax]

How to install the same debian packages on another system

The approach is simple: generate a list of installed packages on Debian-based systems and install this list of packages on the new box. This approach is useful when you want to install the same packages on another fresh OS install for example.

1. To export the list of installed packages, proceed as follows:
[codesyntax lang="bash"]

dpkg --get-selections | grep -v deinstall > LIST_FILE

[/codesyntax]

The file LIST_FILE is small so it can be emailed to yourself by using:
[codesyntax lang="bash"]

dpkg --get-selections | grep -v deinstall > LIST_FILE && cat LIST_FILE | mailx -s "`hostname -f`: Package list" "user@test.org"

[/codesyntax]

2. Once you’ve got your server up and running with a fresh base install
[codesyntax lang="bash"]

apt-get update
apt-get dist-upgrade

[/codesyntax]

3. Move your LIST_FILE file into your home directory and run the following commands to recover the previous generated list:
[codesyntax lang="bash"]

dpkg --clear-selections
dpkg --set-selections < LIST_FILE

[/codesyntax]

4. Install the packages
[codesyntax lang="bash"]

aptitude install

[/codesyntax]