Commit 42a8b229 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-display (0.1.1) trusty; urgency=low
* New upstream release.
-- Cody Garver <> Tue, 14 Jul 2015 20:34:22 -0500
switchboard-plug-display (0.1) unstable; urgency=low
* Initial Release.
-- Sergey "Shnatsel" Davidoff <> Sun, 11 Dec 2011 02:45:48 +0300
Source: switchboard-plug-display
Section: x11
Priority: optional
Maintainer: Sergey "Shnatsel" Davidoff <>
Build-Depends: cmake,
debhelper (>= 9),
Standards-Version: 3.9.2
Package: switchboard-plug-display
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Enhances: switchboard
Description: Switchboard plug for display settings
This plug can be used to change display settings like orientation and resolution.
Package: switchboard-plug-display-dbg
Architecture: any
Section: debug
Priority: extra
Depends: switchboard-plug-display (= ${binary:Version}), ${misc:Depends}
Enhances: switchboard-plug-display
Description: Switchboard plug for display settings (debugging symbols)
This plug can be used to change display settings like orientation and resolution.
This package contains debugging symbols for switchboard-plug-display.
Source: <url://>
Files: *
Copyright: Copyright (C) 2011-2014 Sergey "Shnatsel" Davidoff <>
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.
\ No newline at end of file
#!/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-display-dbg
\ No newline at end of file
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