Some time ago, Juniper Networks sold their beloved Junos Pulse SSL VPN, and thus new company called Pulse Secure was created. Which resulted in Pulse Secure client, which is used to establish secure authentication to the (VPN) tunnel.

Since Juniper never supported Linux, it comes as no surprise that successor company client supports every other platform except Linux.

Setting Juniper VPN/Secure Pulse on Linux is pain. Basically, it comes down to using Java applet in web browser or using 3rd party hacks and scripts. Something I refused to accept.

Getting it to work in a web browser

Although, it can be bit confusing on 64 bit architecture, getting VPN access via web browser is simple. You just need to install right packages:

Debian remains to be my favorite distribution, however there’s one thing that’s missing, that thing is called PPA.

There were numerous discussions on this topic inside of Debian, but AFAIK without any visible movement. Thus, I decided to publish a utility I’ve been using for some time now.

PPA’s

Since its introduction, PPA’s are exclusively connected to Ubuntu and its derivatives (Mint, Elementary, etc …). But over time, a number of interesting projects appeared whose whole development is happening inside of PPA’s. To name few, I’m talking about TLP, Geary, Oracle Java Installer, Elementary OS and etc … Some of these projects are in WNPP without much happening for a long time, i.e: TLP

One option was to repackage these packages and then have them uploaded to Debian, or just go rogue and install them directly from its PPA’s. Title of this post might hint which path I took.

In theory, adding Ubuntu packages on your Debian system is a bad idea, and adding its PPA’s is probably even worse. But, I’ve been using couple (TLP, Geary, couple of custom icon sets) of these PPA’s on my personal/work boxes, and to be honest, never had a single problem. Also, setting Pinning priority to low for the PPA you added is never a bad idea.

When we talk about Debian we must talk in the superlative. One of the reasons why Google and International Space Station are choosing Debian as their default Linux distribution is because it has (by far) the biggest package collection. At the time of writing this document, there are 61801 packages in Debian Sid (Unstable/Development distribution).

But as with many things in life, your greatest asset can be also your biggest liability—unless you take things under control. As an example, people usually complain how package versions in Debian “Stable” are too old, and they are spot on right ignorant. The author of this document has never used Debian “Stable” outside of production and has solely relied on some of the ingenious mechanisms provided by Debian, which when properly configured can provide you with unlimited possibilities.

APT Pinning

Pinning allows you to install and run package versions from other (Testing/Unstable/Experimental) Debian branches without having to upgrade the whole distribution to that particular branch.

Example 1:

You are running Debian 7.2 (Wheezy), and you want latest “libjmagick6-java” version (i.e: 6.6.9), however you only see the version which is present in Stable repository (6.2.6). When you look for the package on Debian packages, you can see that the version you want is present in Testing/Unstable.

Preface

This document was composed in aim to briefly reflect on Debian packaging system (dpkg) and provide information on how Debian packages are automatically created and managed (uploaded) using Maven/Ant. Scope of the document implies that the reader already has basic knowledge of Debian/dpkg and/or Maven/Ant. Even though there are concise theoretical explanation, author tried the “teach by examples” approach, thus you’ll be able to find plethora of code examples.Debian packet creation is more then just a simple hack which consists of putting right files into right directories, there’s also lot of parts of packing process which weren’t explained in depth. I highly advise you read the official Debian New Maintainers’ Guide to get a full understanding on what was tried to be said here.

Since intention of this document is to be as straightforward as possible, for your assistance some parts have been marked as:

“Technical²”, providing additional technical insight, isn’t absolutely necessary and can even be skipped:

As I couldn’t retain my curiosity for Ubuntu’s “Raring Ringtail” release, I ended up having a dual boot with Ubuntu 13.04 and Debian Sid.

Even thought at the moment 13.04 is only 24% complete, it’s already a pretty promising release. However, one thing that heavily annoyed me is that global menu and HUD (still) don’t work out of box with Eclipse IDE.

Being part of Debian Java team (working on Eclipse) I had to do something about it. To make it as simple as possible for you, I made a package which enables mentioned features.

Package is made for/tested and working on 32/64 bit architectures on 12.04/12.10/13.04 Ubuntu.