Commit 03e543f9 authored by Nicolas Bruguier's avatar Nicolas Bruguier

Initial commit.

This folder contains Debian packaging template.
It will allow you to set up daily builds of your plug in Launchpad, as well as
build your plug into an installable .deb package directly
It also builds a package with debugging symbols for your plug, so your users can
use a debugger with your plug (after they install the -dbg package).
However, you'll still have to fill in some fields manually to use it.
First of all, replace the template plug name with the name of your plug:
$ cd debian; sed -i s/switchboard-plug-template/switchboard-plug-<your-plug-name-here>/g *
Without the <brackets>, of course. It will replace the name in all files.
If it complains about source not being a usual file, it's OK.
Then, open the file named "control". Replace the description templates with
actual description of your plug; don't forget to intend the long description
with space (you can already see the indentation in the template)
Finally, the hardest part: you have to specify build dependencies for your plug.
You've already specified the required libraries in CMakeLists.txt (didn't you?),
now you have to specify the Debian/Ubuntu packages that ship development files
for those libraries.
Of course, there are several ways to do it, but the easiest way (if you're on
Debian/Ubuntu) is to run the following:
$ dpkg -S /usr/lib/pkgconfig/<library-pkg-config-name>.pc
Substitute <library-pkg-config-name> with the library name you specified in
CMakeLists.txt, and the command will return the appropriate Debian package name.
Add package names for all your libs to the "Build-Depends" field in control file,
separating library names with commas.
Voila! You're done!
Oh, wait, you'll have to update copyright file too. But after all that hard work
it's a pleasure, isn't it?
### ??? PROFIT ###
To check if the packaging worked, and if you can really actually build
installable .deb files, cd to the source code directory and run
$ debuild
If it aborts with "running debsign failed" error, it means that you probably*
did everything right, and you can start reaping the benefit of having Debian
First, you can build code into installable .deb packages right away,
which probably will save you some hassle installing/uninstalling your plug and
make installation cleaner.
Second, you can send the package over to your not-that-geeky friends and they'll
enjoy your plug too.
Third, you can set up daily builds in Launchpad using Recipes. The easiest way
is to bug somebody in #elemntary-dev on FreeNode or ask a question in
pantheon-plugs project and ask to include your plug in elementary daily builds.
* Nobody can tell if you've specified the build dependencies correctly until
you try to build the package in a build farm or installing it on a clean system
without any extra libraries installed. If you make a recipe in Launchpad and
it fails to build, you probably forgot some build dependency. Examine the build
log, it holds the key.
If you have trouble using this thing, come bug me in #elementary-dev on FreeNode
-- Sergey "Shnatsel" Davidoff
switchboard-plug-security-privacy ( trusty; urgency=low
* Vertically center Lock labels
-- Cody Garver <> Wed, 15 Apr 2015 00:26:52 -0500
switchboard-plug-security-privacy (0.1) trusty; urgency=low
* Initial Release.
-- Cody Garver <> Fri, 10 Apr 2015 22:33:47 -0500
Source: switchboard-plug-security-privacy
Section: x11
Priority: optional
Maintainer: Corentin Noël <>
Build-Depends: cmake (>= 2.8),
debhelper (>= 9),
libgtk-3-dev (>= 3.11.6),
valac-0.24 | valac (>= 0.23.2)
Standards-Version: 3.9.5
Package: switchboard-plug-security-privacy
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}, light-locker
Enhances: switchboard
Description: Manage security and privacy
Switchboard plug for managing the security and privacy of your system.
Package: switchboard-plug-security-privacy-dbg
Architecture: any
Section: debug
Priority: extra
Depends: switchboard-plug-security-privacy (= ${binary:Version}),
Enhances: switchboard-plug-security-privacy
Description: Manage security and privacy (debugging symbols)
Switchboard plug for managing the security and privacy of your system.
This package contains debugging symbols for switchboard-plug-template.
Source: <url://>
Files: *
Copyright: Copyright (C) 2014 Corentin Noël <>
License: GPL-3
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA.
See /usr/share/common-licenses/GPL-3 on your debian system.
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
dh $@
dh_strip --dbg-package=switchboard-plug-security-privacy-dbg
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment