Commit b99959b1 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-parental-controls (0.1) trusty; urgency=low
* Initial Release.
-- Cody Garver <> Fri, 11 Sep 2015 20:51:26 -0500
Source: switchboard-plug-parental-controls
Section: x11
Priority: optional
Maintainer: Sergey "Shnatsel" Davidoff <>
Build-Depends: cmake,
debhelper (>= 9),
Standards-Version: 3.9.6
Package: switchboard-plug-parental-controls
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Enhances: switchboard
Description: Manage parental controls
Switchboard plug for managing parental controls.
Package: switchboard-plug-parental-controls-dbg
Architecture: any
Section: debug
Priority: extra
Depends: switchboard-plug-parental-controls (= ${binary:Version}), ${misc:Depends}
Enhances: switchboard-plug-parental-controls
Description: Manage parental controls (debugging symbols)
Switchboard plug for managing parental controls.
This package contains debugging symbols for switchboard-plug-parental-controls.
Files: *
Copyright: Copyright (C) 2011-2013 Sergey "Shnatsel" Davidoff <>
Copyright (C) 2015 Adam Bieńkowski <>
License: GPL-3
Files: debian/*
Copyright: Copyright (C) 2011-2013 Sergey "Shnatsel" Davidoff <>
Copyright (C) 2015 Adam Bieńkowski <>
Copyright (C) 2015 Cameron Norman <>
Copyright (C) 2015 Cody Garver <>
License: GPL-3
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-parental-controls-dbg
dh_install --fail-missing
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