Merge lp:~ubuntu-branches/ubuntu/vivid/granite/vivid-201410300136 into lp:ubuntu/vivid/granite

Proposed by Ubuntu Package Importer
Status: Needs review
Proposed branch: lp:~ubuntu-branches/ubuntu/vivid/granite/vivid-201410300136
Merge into: lp:ubuntu/vivid/granite
Diff against target: 30119 lines (+2359/-26634) (has conflicts)
205 files modified
.coveragerc (+7/-0)
.mailmap (+3/-0)
.testr.conf (+7/-0)
AUTHORS (+5/-29)
CMakeLists.txt (+0/-72)
CONTRIBUTING.rst (+17/-0)
COPYING (+0/-165)
ChangeLog (+76/-0)
HACKING.rst (+4/-0)
INSTALL (+0/-30)
LICENSE (+175/-0)
MANIFEST.in (+6/-0)
PKG-INFO (+37/-0)
README (+0/-26)
README.rst (+15/-0)
babel.cfg (+1/-0)
cmake/COPYING-CMAKE-SCRIPTS (+0/-22)
cmake/FindGObjectIntrospection.cmake (+0/-61)
cmake/FindVala.cmake (+0/-65)
cmake/GObjectIntrospectionMacros.cmake (+0/-22)
cmake/GSettings.cmake (+0/-42)
cmake/Makefile (+0/-286)
cmake/ParseArguments.cmake (+0/-36)
cmake/README (+0/-10)
cmake/README.Vala.rst (+0/-173)
cmake/Translations.cmake (+0/-41)
cmake/ValaPrecompile.cmake (+0/-213)
cmake/ValaVersion.cmake (+0/-96)
contrib/devstack/README.first (+9/-0)
contrib/devstack/extras.d/70-granite.sh (+43/-0)
contrib/devstack/lib/granite (+24/-0)
contrib/devstack/lib/nova_plugins/hypervisor-granite (+66/-0)
contrib/devstack/prepare_devstack.sh (+15/-0)
contrib/lxc/config/granite-common.conf (+4/-0)
contrib/lxc/config/granite-userns.conf (+2/-0)
contrib/lxc/lxc-granite (+120/-0)
debian/changelog (+8/-0)
debian/control (+30/-87)
debian/copyright (+35/-210)
debian/docs (+3/-0)
debian/granite-demo.1 (+0/-14)
debian/granite-demo.install (+0/-1)
debian/granite-demo.manpages (+0/-1)
debian/libgranite-common.install (+0/-2)
debian/libgranite-dev.install (+0/-5)
debian/libgranite2.install (+0/-1)
debian/libgranite2.symbols (+0/-547)
debian/rules (+7/-13)
debian/source/format (+1/-1)
debian/watch (+0/-4)
demo/CMakeLists.txt (+0/-24)
demo/GraniteDemo.vala (+0/-473)
doc/CMakeLists.txt (+0/-49)
doc/source/conf.py (+75/-0)
doc/source/contributing.rst (+4/-0)
doc/source/index.rst (+24/-0)
doc/source/installation.rst (+12/-0)
doc/source/readme.rst (+1/-0)
doc/source/usage.rst (+7/-0)
etc/granite/rootwrap.d/granite.filters (+7/-0)
granite.egg-info/PKG-INFO (+37/-0)
granite.egg-info/SOURCES.txt (+55/-0)
granite.egg-info/dependency_links.txt (+1/-0)
granite.egg-info/not-zip-safe (+1/-0)
granite.egg-info/requires.txt (+4/-0)
granite.egg-info/top_level.txt (+1/-0)
granite/__init__.py (+13/-0)
granite/tests/__init__.py (+14/-0)
granite/tests/test_driver.py (+84/-0)
granite/tests/test_hostops.py (+5/-0)
granite/tests/test_network.py (+16/-0)
granite/tests/test_volumes.py (+11/-0)
granite/virt/lxc/__init__.py (+3/-0)
granite/virt/lxc/config.py (+110/-0)
granite/virt/lxc/containers.py (+216/-0)
granite/virt/lxc/driver.py (+141/-0)
granite/virt/lxc/host_utils.py (+61/-0)
granite/virt/lxc/hostops.py (+78/-0)
granite/virt/lxc/images.py (+79/-0)
granite/virt/lxc/utils.py (+109/-0)
granite/virt/lxc/vifs.py (+108/-0)
granite/virt/lxc/volumes.py (+228/-0)
icons/16x16/application-menu.svg (+0/-97)
icons/16x16/appointment.svg (+0/-161)
icons/22x22/application-menu.svg (+0/-185)
icons/24x24/application-menu.svg (+0/-300)
icons/24x24/appointment.svg (+0/-227)
icons/32x32/application-menu.svg (+0/-209)
icons/48x48/application-menu.svg (+0/-117)
icons/CMakeLists.txt (+0/-8)
icons/scalable/application-menu-symbolic.svg (+0/-70)
lib/Application.vala (+0/-322)
lib/CMakeLists.txt (+0/-117)
lib/Drawing/BufferSurface.vala (+0/-635)
lib/Drawing/Color.vala (+0/-456)
lib/Drawing/Utilities.vala (+0/-99)
lib/GtkPatch/AboutDialog.vala (+0/-489)
lib/Services/Contractor.vala (+0/-65)
lib/Services/ContractorProxy.vala (+0/-342)
lib/Services/IconFactory.vala (+0/-104)
lib/Services/Logger.vala (+0/-223)
lib/Services/Paths.vala (+0/-154)
lib/Services/Settings.vala (+0/-333)
lib/Services/SimpleCommand.vala (+0/-160)
lib/Services/System.vala (+0/-170)
lib/Widgets/AboutDialog.vala (+0/-199)
lib/Widgets/AppMenu.vala (+0/-93)
lib/Widgets/CellRendererBadge.vala (+0/-143)
lib/Widgets/CellRendererExpander.vala (+0/-122)
lib/Widgets/CollapsiblePaned.vala (+0/-103)
lib/Widgets/CompositedWindow.vala (+0/-47)
lib/Widgets/ContractorMenu.vala (+0/-144)
lib/Widgets/ContractorView.vala (+0/-219)
lib/Widgets/DatePicker.vala (+0/-159)
lib/Widgets/DecoratedWindow.vala (+0/-269)
lib/Widgets/Entries.vala (+0/-163)
lib/Widgets/LightWindow.vala (+0/-44)
lib/Widgets/ModeButton.vala (+0/-257)
lib/Widgets/OverlayBar.vala (+0/-182)
lib/Widgets/PopOver.vala (+0/-496)
lib/Widgets/SidebarPaned.vala (+0/-25)
lib/Widgets/SourceList.vala (+0/-2281)
lib/Widgets/StaticNotebook.vala (+0/-132)
lib/Widgets/StatusBar.vala (+0/-113)
lib/Widgets/ThinPaned.vala (+0/-283)
lib/Widgets/TimePicker.vala (+0/-347)
lib/Widgets/ToolButtonWithMenu.vala (+0/-358)
lib/Widgets/Utils.vala (+0/-289)
lib/Widgets/Welcome.vala (+0/-241)
lib/Widgets/WrapLabel.vala (+0/-77)
lib/Widgets/close-button.c (+0/-168)
lib/Widgets/widgets-utils.c (+0/-101)
lib/Widgets/widgets-utils.h (+0/-6)
lib/config.h.cmake (+0/-7)
lib/config.vapi (+0/-4)
lib/granite.deps (+0/-3)
lib/granite.pc.cmake (+0/-12)
lib/style-classes.vala (+0/-38)
openstack-common.conf (+6/-0)
po/CMakeLists.txt (+0/-3)
po/af.po (+0/-193)
po/am.po (+0/-193)
po/ar.po (+0/-193)
po/be.po (+0/-194)
po/bg.po (+0/-193)
po/bs.po (+0/-193)
po/ca.po (+0/-194)
po/cs.po (+0/-194)
po/da.po (+0/-194)
po/de.po (+0/-197)
po/el.po (+0/-196)
po/en_AU.po (+0/-193)
po/en_CA.po (+0/-193)
po/en_GB.po (+0/-193)
po/eo.po (+0/-193)
po/es.po (+0/-194)
po/et.po (+0/-197)
po/eu.po (+0/-196)
po/fa.po (+0/-196)
po/fi.po (+0/-195)
po/fr.po (+0/-195)
po/fr_CA.po (+0/-195)
po/fy.po (+0/-193)
po/gl.po (+0/-195)
po/granite.pot (+0/-193)
po/he.po (+0/-193)
po/hi.po (+0/-195)
po/hr.po (+0/-193)
po/hu.po (+0/-196)
po/id.po (+0/-193)
po/it.po (+0/-195)
po/ja.po (+0/-193)
po/ko.po (+0/-193)
po/lb.po (+0/-197)
po/lt.po (+0/-193)
po/lv.po (+0/-195)
po/ms.po (+0/-193)
po/nb.po (+0/-195)
po/nl.po (+0/-194)
po/nn.po (+0/-193)
po/pl.po (+0/-196)
po/pt.po (+0/-195)
po/pt_BR.po (+0/-194)
po/ro.po (+0/-194)
po/ru.po (+0/-195)
po/rue.po (+0/-193)
po/sk.po (+0/-193)
po/sl.po (+0/-193)
po/sma.po (+0/-193)
po/sq.po (+0/-195)
po/sr.po (+0/-194)
po/sv.po (+0/-193)
po/ta.po (+0/-195)
po/te.po (+0/-193)
po/tr.po (+0/-195)
po/ug.po (+0/-193)
po/uk.po (+0/-193)
po/vi.po (+0/-193)
po/zh_CN.po (+0/-193)
po/zh_TW.po (+0/-193)
requirements.txt (+4/-0)
setup.cfg (+53/-0)
setup.py (+22/-0)
test-requirements.txt (+13/-0)
tox.ini (+36/-0)
Text conflict in debian/changelog
Text conflict in debian/control
Contents conflict in debian/gir1.2-granite-1.0.install
Conflict: can't delete lib because it is not empty.  Not deleting.
Conflict because lib is not versioned, but has versioned children.  Versioned directory.
Conflict: can't delete lib/Widgets because it is not empty.  Not deleting.
Conflict because lib/Widgets is not versioned, but has versioned children.  Versioned directory.
Contents conflict in lib/Widgets/DynamicNotebook.vala
To merge this branch: bzr merge lp:~ubuntu-branches/ubuntu/vivid/granite/vivid-201410300136
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+240073@code.launchpad.net

Description of the change

The package importer has detected a possible inconsistency between the package history in the archive and the history in bzr. As the archive is authoritative the importer has made lp:ubuntu/vivid/granite reflect what is in the archive and the old bzr branch has been pushed to lp:~ubuntu-branches/ubuntu/vivid/granite/vivid-201410300136. This merge proposal was created so that an Ubuntu developer can review the situations and perform a merge/upload if necessary. There are three typical cases where this can happen.
  1. Where someone pushes a change to bzr and someone else uploads the package without that change. This is the reason that this check is done by the importer. If this appears to be the case then a merge/upload should be done if the changes that were in bzr are still desirable.
  2. The importer incorrectly detected the above situation when someone made a change in bzr and then uploaded it.
  3. The importer incorrectly detected the above situation when someone just uploaded a package and didn't touch bzr.

If this case doesn't appear to be the first situation then set the status of the merge proposal to "Rejected" and help avoid the problem in future by filing a bug at https://bugs.launchpad.net/udd linking to this merge proposal.

(this is an automatically generated message)

To post a comment you must log in.

Unmerged revisions

5. By Chuck Short

Initial release.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.coveragerc'
2--- .coveragerc 1970-01-01 00:00:00 +0000
3+++ .coveragerc 2014-10-30 01:43:20 +0000
4@@ -0,0 +1,7 @@
5+[run]
6+branch = True
7+source = granite
8+omit = granite/tests/*,granite/openstack/*
9+
10+[report]
11+ignore-errors = True
12\ No newline at end of file
13
14=== added file '.mailmap'
15--- .mailmap 1970-01-01 00:00:00 +0000
16+++ .mailmap 2014-10-30 01:43:20 +0000
17@@ -0,0 +1,3 @@
18+# Format is:
19+# <preferred e-mail> <other e-mail 1>
20+# <preferred e-mail> <other e-mail 2>
21\ No newline at end of file
22
23=== added file '.testr.conf'
24--- .testr.conf 1970-01-01 00:00:00 +0000
25+++ .testr.conf 2014-10-30 01:43:20 +0000
26@@ -0,0 +1,7 @@
27+[DEFAULT]
28+test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
29+ OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
30+ OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
31+ ${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION
32+test_id_option=--load-list $IDFILE
33+test_list_option=--list
34\ No newline at end of file
35
36=== modified file 'AUTHORS'
37--- AUTHORS 2014-05-22 20:22:06 +0000
38+++ AUTHORS 2014-10-30 01:43:20 +0000
39@@ -1,29 +1,5 @@
40-Granite: A development library for elementary development.
41-
42-Primary Contact
43----------------
44-elementary Team
45-
46-Developers
47-----------
48-ammonkey <am.monkeyd@gmail.com>
49-Avi Romanoff <aviromanoff@gmail.com>
50-Cody Garver
51-Corentin Noël
52-Daniel Foré <daniel@elementaryos.org>
53-Devid Antonio Filoni aka devfil
54-Elias aka eyelash
55-Lucas Baudin <xapantu@gmail.com>
56-Marcus Lundgren
57-Mario Guerriero <mario@elementaryos.org>
58-Mathijs Henquet
59-Maxwell Barvian <mbarvian@gmail.com>
60-Rico Tzschichholz
61-Robert Dyer
62-Tom Beckmann
63-Tristan Cormier
64-ttosttos
65-Victor Eduardo <victoreduardm@gmail.com>
66-Adam Davies <adam.davies@outlook.com>
67-
68-... and everyone who contributed.
69+Chuck Short <chuck.short@canonical.com>
70+Scott Moser <smoser@brickies.net>
71+Scott Moser <smoser@ubuntu.com>
72+Ubuntu <chuck.short@canonical.com>
73+zulcss <zulcss@gmail.com>
74
75=== removed file 'CMakeLists.txt'
76--- CMakeLists.txt 2014-05-22 20:22:06 +0000
77+++ CMakeLists.txt 1970-01-01 00:00:00 +0000
78@@ -1,72 +0,0 @@
79-# Check http://webdev.elementaryos.org/docs/developer-guide/cmake for documentation
80-
81-cmake_minimum_required (VERSION 2.8)
82-cmake_policy (VERSION 2.8)
83-project (granite C)
84-
85-set (PKG_NAME ${CMAKE_PROJECT_NAME})
86-set (PKG_VERSION 0.3.0)
87-set (API_VERSION 1.0)
88-
89-# Used to create GObject introspection files
90-set (PKG_GIR_NAME Granite)
91-
92-list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
93-
94-set (RESOURCES_DIR ${CMAKE_INSTALL_PREFIX}/share/${PKG_NAME}/)
95-set (GETTEXT_PACKAGE ${PKG_NAME})
96-
97-set (CPACK_PACKAGE_VERSION ${PKG_VERSION})
98-set (CPACK_SOURCE_GENERATOR "TGZ")
99-set (CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}")
100-set (CPACK_SOURCE_IGNORE_FILES "/build/;/.bzr/;/.bzrignore;~$;${CPACK_SOURCE_IGNORE_FILES}")
101-
102-include (CPack)
103-add_custom_target (dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
104-
105-find_package (Vala REQUIRED)
106-include (ValaVersion)
107-include (ValaPrecompile)
108-
109-ensure_vala_version ("0.20.1" MINIMUM)
110-
111-#
112-# Packages in PKG_DEPS are used with the vala compiler and other related tools (not versioned.)
113-# Packages in PKG_DEPS_CHECK are used with PKG-Config and for linking, etc. They can contain versions.
114-#
115-# Both should contain *the same packages*, except for those whose VAPI file has a different name. In
116-# such case, PKG_DEPS would use the name of the VAPI, and PKG_DEPS_CHECK would use the name of the
117-# package known by pkg-config.
118-#
119-set (PKG_DEPS
120- gtk+-3.0
121- gio-unix-2.0
122- posix
123- gee-0.8)
124-
125-set (PKG_DEPS_CHECK
126- gtk+-3.0>=3.3.14
127- gio-unix-2.0
128- gthread-2.0
129- gee-0.8)
130-
131-# GI dependencies
132-set (GI_PKG_DEPS Gtk-3.0 Gee-0.8)
133-
134-# Check for the deps
135-find_package (PkgConfig)
136-pkg_check_modules (DEPS REQUIRED ${PKG_DEPS_CHECK})
137-
138-set (VALAC_OPTIONS
139- --thread
140- --target-glib=2.32)
141-
142-if (CMAKE_SYSTEM_NAME MATCHES "Linux")
143- set (VALAC_OPTIONS ${VALAC_OPTIONS} --define=LINUX)
144-endif ()
145-
146-add_subdirectory (lib)
147-add_subdirectory (demo)
148-add_subdirectory (doc)
149-add_subdirectory (po)
150-add_subdirectory (icons)
151\ No newline at end of file
152
153=== added file 'CONTRIBUTING.rst'
154--- CONTRIBUTING.rst 1970-01-01 00:00:00 +0000
155+++ CONTRIBUTING.rst 2014-10-30 01:43:20 +0000
156@@ -0,0 +1,17 @@
157+If you would like to contribute to the development of OpenStack,
158+you must follow the steps in the "If you're a developer, start here"
159+section of this page:
160+
161+ http://wiki.openstack.org/HowToContribute
162+
163+Once those steps have been completed, changes to OpenStack
164+should be submitted for review via the Gerrit tool, following
165+the workflow documented at:
166+
167+ http://wiki.openstack.org/GerritWorkflow
168+
169+Pull requests submitted through GitHub will be ignored.
170+
171+Bugs should be filed on Launchpad, not GitHub:
172+
173+ https://bugs.launchpad.net/granite
174\ No newline at end of file
175
176=== removed file 'COPYING'
177--- COPYING 2014-05-22 20:22:06 +0000
178+++ COPYING 1970-01-01 00:00:00 +0000
179@@ -1,165 +0,0 @@
180- GNU LESSER GENERAL PUBLIC LICENSE
181- Version 3, 29 June 2007
182-
183- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
184- Everyone is permitted to copy and distribute verbatim copies
185- of this license document, but changing it is not allowed.
186-
187-
188- This version of the GNU Lesser General Public License incorporates
189-the terms and conditions of version 3 of the GNU General Public
190-License, supplemented by the additional permissions listed below.
191-
192- 0. Additional Definitions.
193-
194- As used herein, "this License" refers to version 3 of the GNU Lesser
195-General Public License, and the "GNU GPL" refers to version 3 of the GNU
196-General Public License.
197-
198- "The Library" refers to a covered work governed by this License,
199-other than an Application or a Combined Work as defined below.
200-
201- An "Application" is any work that makes use of an interface provided
202-by the Library, but which is not otherwise based on the Library.
203-Defining a subclass of a class defined by the Library is deemed a mode
204-of using an interface provided by the Library.
205-
206- A "Combined Work" is a work produced by combining or linking an
207-Application with the Library. The particular version of the Library
208-with which the Combined Work was made is also called the "Linked
209-Version".
210-
211- The "Minimal Corresponding Source" for a Combined Work means the
212-Corresponding Source for the Combined Work, excluding any source code
213-for portions of the Combined Work that, considered in isolation, are
214-based on the Application, and not on the Linked Version.
215-
216- The "Corresponding Application Code" for a Combined Work means the
217-object code and/or source code for the Application, including any data
218-and utility programs needed for reproducing the Combined Work from the
219-Application, but excluding the System Libraries of the Combined Work.
220-
221- 1. Exception to Section 3 of the GNU GPL.
222-
223- You may convey a covered work under sections 3 and 4 of this License
224-without being bound by section 3 of the GNU GPL.
225-
226- 2. Conveying Modified Versions.
227-
228- If you modify a copy of the Library, and, in your modifications, a
229-facility refers to a function or data to be supplied by an Application
230-that uses the facility (other than as an argument passed when the
231-facility is invoked), then you may convey a copy of the modified
232-version:
233-
234- a) under this License, provided that you make a good faith effort to
235- ensure that, in the event an Application does not supply the
236- function or data, the facility still operates, and performs
237- whatever part of its purpose remains meaningful, or
238-
239- b) under the GNU GPL, with none of the additional permissions of
240- this License applicable to that copy.
241-
242- 3. Object Code Incorporating Material from Library Header Files.
243-
244- The object code form of an Application may incorporate material from
245-a header file that is part of the Library. You may convey such object
246-code under terms of your choice, provided that, if the incorporated
247-material is not limited to numerical parameters, data structure
248-layouts and accessors, or small macros, inline functions and templates
249-(ten or fewer lines in length), you do both of the following:
250-
251- a) Give prominent notice with each copy of the object code that the
252- Library is used in it and that the Library and its use are
253- covered by this License.
254-
255- b) Accompany the object code with a copy of the GNU GPL and this license
256- document.
257-
258- 4. Combined Works.
259-
260- You may convey a Combined Work under terms of your choice that,
261-taken together, effectively do not restrict modification of the
262-portions of the Library contained in the Combined Work and reverse
263-engineering for debugging such modifications, if you also do each of
264-the following:
265-
266- a) Give prominent notice with each copy of the Combined Work that
267- the Library is used in it and that the Library and its use are
268- covered by this License.
269-
270- b) Accompany the Combined Work with a copy of the GNU GPL and this license
271- document.
272-
273- c) For a Combined Work that displays copyright notices during
274- execution, include the copyright notice for the Library among
275- these notices, as well as a reference directing the user to the
276- copies of the GNU GPL and this license document.
277-
278- d) Do one of the following:
279-
280- 0) Convey the Minimal Corresponding Source under the terms of this
281- License, and the Corresponding Application Code in a form
282- suitable for, and under terms that permit, the user to
283- recombine or relink the Application with a modified version of
284- the Linked Version to produce a modified Combined Work, in the
285- manner specified by section 6 of the GNU GPL for conveying
286- Corresponding Source.
287-
288- 1) Use a suitable shared library mechanism for linking with the
289- Library. A suitable mechanism is one that (a) uses at run time
290- a copy of the Library already present on the user's computer
291- system, and (b) will operate properly with a modified version
292- of the Library that is interface-compatible with the Linked
293- Version.
294-
295- e) Provide Installation Information, but only if you would otherwise
296- be required to provide such information under section 6 of the
297- GNU GPL, and only to the extent that such information is
298- necessary to install and execute a modified version of the
299- Combined Work produced by recombining or relinking the
300- Application with a modified version of the Linked Version. (If
301- you use option 4d0, the Installation Information must accompany
302- the Minimal Corresponding Source and Corresponding Application
303- Code. If you use option 4d1, you must provide the Installation
304- Information in the manner specified by section 6 of the GNU GPL
305- for conveying Corresponding Source.)
306-
307- 5. Combined Libraries.
308-
309- You may place library facilities that are a work based on the
310-Library side by side in a single library together with other library
311-facilities that are not Applications and are not covered by this
312-License, and convey such a combined library under terms of your
313-choice, if you do both of the following:
314-
315- a) Accompany the combined library with a copy of the same work based
316- on the Library, uncombined with any other library facilities,
317- conveyed under the terms of this License.
318-
319- b) Give prominent notice with the combined library that part of it
320- is a work based on the Library, and explaining where to find the
321- accompanying uncombined form of the same work.
322-
323- 6. Revised Versions of the GNU Lesser General Public License.
324-
325- The Free Software Foundation may publish revised and/or new versions
326-of the GNU Lesser General Public License from time to time. Such new
327-versions will be similar in spirit to the present version, but may
328-differ in detail to address new problems or concerns.
329-
330- Each version is given a distinguishing version number. If the
331-Library as you received it specifies that a certain numbered version
332-of the GNU Lesser General Public License "or any later version"
333-applies to it, you have the option of following the terms and
334-conditions either of that published version or of any later version
335-published by the Free Software Foundation. If the Library as you
336-received it does not specify a version number of the GNU Lesser
337-General Public License, you may choose any version of the GNU Lesser
338-General Public License ever published by the Free Software Foundation.
339-
340- If the Library as you received it specifies that a proxy can decide
341-whether future versions of the GNU Lesser General Public License shall
342-apply, that proxy's public statement of acceptance of any version is
343-permanent authorization for you to choose that version for the
344-Library.
345
346=== added file 'ChangeLog'
347--- ChangeLog 1970-01-01 00:00:00 +0000
348+++ ChangeLog 2014-10-30 01:43:20 +0000
349@@ -0,0 +1,76 @@
350+CHANGES
351+=======
352+
353+* Bump version number
354+* Fix instance termination
355+* Fix typo when creating a console
356+* Add console support
357+* Fix version
358+* Add lxc console support
359+* configure lxc
360+* Fix networking one more time
361+* remove config of subuid and subgid, minor fixes
362+* Fix devstack bug
363+* Add granite lxc configs
364+* Update requirements
365+* Add tests skeleton
366+* Update readme
367+* more pep8 fixes
368+* Add copyright headers and pep8 fixes
369+* Start adding tests
370+* Add mox3 as a test-requirement
371+* use the lxc daily ppa
372+* More granite fixes
373+* Fix typo
374+* devstack fixes
375+* install granite in the right places
376+* Remove python2-lxc requirements
377+* Add python2-lxc requirements
378+* Add "volumes" for granite
379+* Remove quotes
380+* Fix devstack granite
381+* re-add neutron support
382+* Fix up devstack support
383+* Revert vifs stuff
384+* Shut down network before destroying container
385+* Remove container console
386+* Remove use of idmapshift
387+* various fix ups
388+* fix typo
389+* Dont run tar as root
390+* fix lxc version parsing to support X.Y.Zstring
391+* I cannot spell worth a lick
392+* Simplify lxc container setup
393+* fix block device generator
394+* fix traceback
395+* fix detach
396+* Add disconnect_volume
397+* more volume fixes
398+* remove disk_dev
399+* more volume changes
400+* volume fixes
401+* fix filters
402+* Fix devstack
403+* Fix rootwrapper
404+* fix typos
405+* More updates
406+* Add initial volumes support
407+* Add neutron support
408+* Add granite v2.0
409+* Add more basic funcitlality
410+* Update destroy container
411+* Fix typo
412+* More cleanups
413+* Dont forget to teardown container
414+* Add unprivileged containers support
415+* Add devstack support
416+* fix typo and remove a code copy
417+* fix logfile
418+* fix typos
419+* Complete hostinfo
420+* More cleanups
421+* More host changes
422+* Wire up hostops
423+* add missing files
424+* Add filters
425+* first commit
426
427=== added file 'HACKING.rst'
428--- HACKING.rst 1970-01-01 00:00:00 +0000
429+++ HACKING.rst 2014-10-30 01:43:20 +0000
430@@ -0,0 +1,4 @@
431+granite Style Commandments
432+===============================================
433+
434+Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/
435\ No newline at end of file
436
437=== removed file 'INSTALL'
438--- INSTALL 2014-05-22 20:22:06 +0000
439+++ INSTALL 1970-01-01 00:00:00 +0000
440@@ -1,30 +0,0 @@
441-Installation Instructions
442--------------------------
443-
444-• Build Granite
445-
446- 1) Grab the source:
447- $ bzr branch lp:granite
448-
449- 2) Configure:
450- $ cd granite
451- $ mkdir build
452- $ cd build
453- $ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
454-
455- 3) Build library and demo application:
456- $ make
457-
458- 4) Install (may need root privileges, e.g. using 'sudo')
459- # make install
460-
461- 5) Build API documentation (optional)
462-
463- • Vala API:
464- $ make valadocs
465-
466- • C API:
467- $ make cdocs
468-
469- • Both targets:
470- $ make docs
471
472=== added file 'LICENSE'
473--- LICENSE 1970-01-01 00:00:00 +0000
474+++ LICENSE 2014-10-30 01:43:20 +0000
475@@ -0,0 +1,175 @@
476+
477+ Apache License
478+ Version 2.0, January 2004
479+ http://www.apache.org/licenses/
480+
481+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
482+
483+ 1. Definitions.
484+
485+ "License" shall mean the terms and conditions for use, reproduction,
486+ and distribution as defined by Sections 1 through 9 of this document.
487+
488+ "Licensor" shall mean the copyright owner or entity authorized by
489+ the copyright owner that is granting the License.
490+
491+ "Legal Entity" shall mean the union of the acting entity and all
492+ other entities that control, are controlled by, or are under common
493+ control with that entity. For the purposes of this definition,
494+ "control" means (i) the power, direct or indirect, to cause the
495+ direction or management of such entity, whether by contract or
496+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
497+ outstanding shares, or (iii) beneficial ownership of such entity.
498+
499+ "You" (or "Your") shall mean an individual or Legal Entity
500+ exercising permissions granted by this License.
501+
502+ "Source" form shall mean the preferred form for making modifications,
503+ including but not limited to software source code, documentation
504+ source, and configuration files.
505+
506+ "Object" form shall mean any form resulting from mechanical
507+ transformation or translation of a Source form, including but
508+ not limited to compiled object code, generated documentation,
509+ and conversions to other media types.
510+
511+ "Work" shall mean the work of authorship, whether in Source or
512+ Object form, made available under the License, as indicated by a
513+ copyright notice that is included in or attached to the work
514+ (an example is provided in the Appendix below).
515+
516+ "Derivative Works" shall mean any work, whether in Source or Object
517+ form, that is based on (or derived from) the Work and for which the
518+ editorial revisions, annotations, elaborations, or other modifications
519+ represent, as a whole, an original work of authorship. For the purposes
520+ of this License, Derivative Works shall not include works that remain
521+ separable from, or merely link (or bind by name) to the interfaces of,
522+ the Work and Derivative Works thereof.
523+
524+ "Contribution" shall mean any work of authorship, including
525+ the original version of the Work and any modifications or additions
526+ to that Work or Derivative Works thereof, that is intentionally
527+ submitted to Licensor for inclusion in the Work by the copyright owner
528+ or by an individual or Legal Entity authorized to submit on behalf of
529+ the copyright owner. For the purposes of this definition, "submitted"
530+ means any form of electronic, verbal, or written communication sent
531+ to the Licensor or its representatives, including but not limited to
532+ communication on electronic mailing lists, source code control systems,
533+ and issue tracking systems that are managed by, or on behalf of, the
534+ Licensor for the purpose of discussing and improving the Work, but
535+ excluding communication that is conspicuously marked or otherwise
536+ designated in writing by the copyright owner as "Not a Contribution."
537+
538+ "Contributor" shall mean Licensor and any individual or Legal Entity
539+ on behalf of whom a Contribution has been received by Licensor and
540+ subsequently incorporated within the Work.
541+
542+ 2. Grant of Copyright License. Subject to the terms and conditions of
543+ this License, each Contributor hereby grants to You a perpetual,
544+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
545+ copyright license to reproduce, prepare Derivative Works of,
546+ publicly display, publicly perform, sublicense, and distribute the
547+ Work and such Derivative Works in Source or Object form.
548+
549+ 3. Grant of Patent License. Subject to the terms and conditions of
550+ this License, each Contributor hereby grants to You a perpetual,
551+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
552+ (except as stated in this section) patent license to make, have made,
553+ use, offer to sell, sell, import, and otherwise transfer the Work,
554+ where such license applies only to those patent claims licensable
555+ by such Contributor that are necessarily infringed by their
556+ Contribution(s) alone or by combination of their Contribution(s)
557+ with the Work to which such Contribution(s) was submitted. If You
558+ institute patent litigation against any entity (including a
559+ cross-claim or counterclaim in a lawsuit) alleging that the Work
560+ or a Contribution incorporated within the Work constitutes direct
561+ or contributory patent infringement, then any patent licenses
562+ granted to You under this License for that Work shall terminate
563+ as of the date such litigation is filed.
564+
565+ 4. Redistribution. You may reproduce and distribute copies of the
566+ Work or Derivative Works thereof in any medium, with or without
567+ modifications, and in Source or Object form, provided that You
568+ meet the following conditions:
569+
570+ (a) You must give any other recipients of the Work or
571+ Derivative Works a copy of this License; and
572+
573+ (b) You must cause any modified files to carry prominent notices
574+ stating that You changed the files; and
575+
576+ (c) You must retain, in the Source form of any Derivative Works
577+ that You distribute, all copyright, patent, trademark, and
578+ attribution notices from the Source form of the Work,
579+ excluding those notices that do not pertain to any part of
580+ the Derivative Works; and
581+
582+ (d) If the Work includes a "NOTICE" text file as part of its
583+ distribution, then any Derivative Works that You distribute must
584+ include a readable copy of the attribution notices contained
585+ within such NOTICE file, excluding those notices that do not
586+ pertain to any part of the Derivative Works, in at least one
587+ of the following places: within a NOTICE text file distributed
588+ as part of the Derivative Works; within the Source form or
589+ documentation, if provided along with the Derivative Works; or,
590+ within a display generated by the Derivative Works, if and
591+ wherever such third-party notices normally appear. The contents
592+ of the NOTICE file are for informational purposes only and
593+ do not modify the License. You may add Your own attribution
594+ notices within Derivative Works that You distribute, alongside
595+ or as an addendum to the NOTICE text from the Work, provided
596+ that such additional attribution notices cannot be construed
597+ as modifying the License.
598+
599+ You may add Your own copyright statement to Your modifications and
600+ may provide additional or different license terms and conditions
601+ for use, reproduction, or distribution of Your modifications, or
602+ for any such Derivative Works as a whole, provided Your use,
603+ reproduction, and distribution of the Work otherwise complies with
604+ the conditions stated in this License.
605+
606+ 5. Submission of Contributions. Unless You explicitly state otherwise,
607+ any Contribution intentionally submitted for inclusion in the Work
608+ by You to the Licensor shall be under the terms and conditions of
609+ this License, without any additional terms or conditions.
610+ Notwithstanding the above, nothing herein shall supersede or modify
611+ the terms of any separate license agreement you may have executed
612+ with Licensor regarding such Contributions.
613+
614+ 6. Trademarks. This License does not grant permission to use the trade
615+ names, trademarks, service marks, or product names of the Licensor,
616+ except as required for reasonable and customary use in describing the
617+ origin of the Work and reproducing the content of the NOTICE file.
618+
619+ 7. Disclaimer of Warranty. Unless required by applicable law or
620+ agreed to in writing, Licensor provides the Work (and each
621+ Contributor provides its Contributions) on an "AS IS" BASIS,
622+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
623+ implied, including, without limitation, any warranties or conditions
624+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
625+ PARTICULAR PURPOSE. You are solely responsible for determining the
626+ appropriateness of using or redistributing the Work and assume any
627+ risks associated with Your exercise of permissions under this License.
628+
629+ 8. Limitation of Liability. In no event and under no legal theory,
630+ whether in tort (including negligence), contract, or otherwise,
631+ unless required by applicable law (such as deliberate and grossly
632+ negligent acts) or agreed to in writing, shall any Contributor be
633+ liable to You for damages, including any direct, indirect, special,
634+ incidental, or consequential damages of any character arising as a
635+ result of this License or out of the use or inability to use the
636+ Work (including but not limited to damages for loss of goodwill,
637+ work stoppage, computer failure or malfunction, or any and all
638+ other commercial damages or losses), even if such Contributor
639+ has been advised of the possibility of such damages.
640+
641+ 9. Accepting Warranty or Additional Liability. While redistributing
642+ the Work or Derivative Works thereof, You may choose to offer,
643+ and charge a fee for, acceptance of support, warranty, indemnity,
644+ or other liability obligations and/or rights consistent with this
645+ License. However, in accepting such obligations, You may act only
646+ on Your own behalf and on Your sole responsibility, not on behalf
647+ of any other Contributor, and only if You agree to indemnify,
648+ defend, and hold each Contributor harmless for any liability
649+ incurred by, or claims asserted against, such Contributor by reason
650+ of your accepting any such warranty or additional liability.
651
652=== added file 'MANIFEST.in'
653--- MANIFEST.in 1970-01-01 00:00:00 +0000
654+++ MANIFEST.in 2014-10-30 01:43:20 +0000
655@@ -0,0 +1,6 @@
656+include AUTHORS
657+include ChangeLog
658+exclude .gitignore
659+exclude .gitreview
660+
661+global-exclude *.pyc
662\ No newline at end of file
663
664=== removed file 'NEWS'
665=== added file 'PKG-INFO'
666--- PKG-INFO 1970-01-01 00:00:00 +0000
667+++ PKG-INFO 2014-10-30 01:43:20 +0000
668@@ -0,0 +1,37 @@
669+Metadata-Version: 1.1
670+Name: granite
671+Version: 2014.2.dev76.gff08e7a
672+Summary: native lxc for openstack
673+Home-page: http://www.openstack.org/
674+Author: OpenStack
675+Author-email: openstack-dev@lists.openstack.org
676+License: UNKNOWN
677+Description: ===============================
678+ granite
679+ ===============================
680+
681+ Unprivileged native lxc containers for openstack
682+
683+ * Free software: Apache license
684+ * Documentation: http://docs.openstack.org/developer/granite
685+ * Source: http://git.openstack.org/cgit/openstack/granite
686+ * Bugs: http://bugs.launchpad.net/replace with the name of the project on launchpad
687+
688+ Features
689+ --------
690+
691+ * TODO
692+
693+
694+Platform: UNKNOWN
695+Classifier: Environment :: OpenStack
696+Classifier: Intended Audience :: Information Technology
697+Classifier: Intended Audience :: System Administrators
698+Classifier: License :: OSI Approved :: Apache Software License
699+Classifier: Operating System :: POSIX :: Linux
700+Classifier: Programming Language :: Python
701+Classifier: Programming Language :: Python :: 2
702+Classifier: Programming Language :: Python :: 2.7
703+Classifier: Programming Language :: Python :: 2.6
704+Classifier: Programming Language :: Python :: 3
705+Classifier: Programming Language :: Python :: 3.3
706
707=== removed file 'README'
708--- README 2014-05-22 20:22:06 +0000
709+++ README 1970-01-01 00:00:00 +0000
710@@ -1,26 +0,0 @@
711-Granite
712--------
713-Granite is a development library for elementary development.
714-
715-Granite is an extension to GTK. Among other things, it provides the
716-commonly-used widgets such as modeswitchers, welcome screens, AppMenus,
717-search bars, and more found in elementary apps.
718-
719-Documentation
720--------------
721-You can find the valadoc for Granite (documentation on all classes and
722-functions) at:
723-
724- http://valadoc.elementaryos.org/Granite/index.htm
725-
726-Bugs
727-----
728-If you find bugs while installing or in Granite itself,
729-please report them at:
730-
731- https://launchpad.net/granite/+filebug
732-
733-License
734--------
735-Granite is licensed under LGPLv3+. See the COPYING file for more
736-information about copyrights.
737
738=== added file 'README.rst'
739--- README.rst 1970-01-01 00:00:00 +0000
740+++ README.rst 2014-10-30 01:43:20 +0000
741@@ -0,0 +1,15 @@
742+===============================
743+granite
744+===============================
745+
746+Unprivileged native lxc containers for openstack
747+
748+* Free software: Apache license
749+* Documentation: http://docs.openstack.org/developer/granite
750+* Source: http://git.openstack.org/cgit/openstack/granite
751+* Bugs: http://bugs.launchpad.net/replace with the name of the project on launchpad
752+
753+Features
754+--------
755+
756+* TODO
757
758=== added file 'babel.cfg'
759--- babel.cfg 1970-01-01 00:00:00 +0000
760+++ babel.cfg 2014-10-30 01:43:20 +0000
761@@ -0,0 +1,1 @@
762+[python: **.py]
763
764=== removed directory 'cmake'
765=== removed file 'cmake/COPYING-CMAKE-SCRIPTS'
766--- cmake/COPYING-CMAKE-SCRIPTS 2012-06-09 14:21:24 +0000
767+++ cmake/COPYING-CMAKE-SCRIPTS 1970-01-01 00:00:00 +0000
768@@ -1,22 +0,0 @@
769-Redistribution and use in source and binary forms, with or without
770-modification, are permitted provided that the following conditions
771-are met:
772-
773-1. Redistributions of source code must retain the copyright
774- notice, this list of conditions and the following disclaimer.
775-2. Redistributions in binary form must reproduce the copyright
776- notice, this list of conditions and the following disclaimer in the
777- documentation and/or other materials provided with the distribution.
778-3. The name of the author may not be used to endorse or promote products
779- derived from this software without specific prior written permission.
780-
781-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
782-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
783-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
784-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
785-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
786-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
787-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
788-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
789-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
790-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
791
792=== removed file 'cmake/FindGObjectIntrospection.cmake'
793--- cmake/FindGObjectIntrospection.cmake 2012-06-09 14:21:24 +0000
794+++ cmake/FindGObjectIntrospection.cmake 1970-01-01 00:00:00 +0000
795@@ -1,61 +0,0 @@
796-# - try to find gobject-introspection
797-#
798-# Once done this will define
799-#
800-# INTROSPECTION_FOUND - system has gobject-introspection
801-# INTROSPECTION_SCANNER - the gobject-introspection scanner, g-ir-scanner
802-# INTROSPECTION_COMPILER - the gobject-introspection compiler, g-ir-compiler
803-# INTROSPECTION_GENERATE - the gobject-introspection generate, g-ir-generate
804-# INTROSPECTION_GIRDIR
805-# INTROSPECTION_TYPELIBDIR
806-# INTROSPECTION_CFLAGS
807-# INTROSPECTION_LIBS
808-#
809-# Copyright (C) 2010, Pino Toscano, <pino@kde.org>
810-#
811-# Redistribution and use is allowed according to the terms of the BSD license.
812-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
813-
814-macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname)
815- execute_process(
816- COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_varname} gobject-introspection-1.0
817- OUTPUT_VARIABLE _result
818- RESULT_VARIABLE _null
819- )
820-
821- if (_null)
822- else()
823- string(REGEX REPLACE "[\r\n]" " " _result "${_result}")
824- string(REGEX REPLACE " +$" "" _result "${_result}")
825- separate_arguments(_result)
826- set(${_outvar} ${_result} CACHE INTERNAL "")
827- endif()
828-endmacro(_GIR_GET_PKGCONFIG_VAR)
829-
830-find_package(PkgConfig)
831-if(PKG_CONFIG_FOUND)
832- if(PACKAGE_FIND_VERSION_COUNT GREATER 0)
833- set(_gir_version_cmp ">=${PACKAGE_FIND_VERSION}")
834- endif()
835- pkg_check_modules(_pc_gir gobject-introspection-1.0${_gir_version_cmp})
836- if(_pc_gir_FOUND)
837- set(INTROSPECTION_FOUND TRUE)
838- _gir_get_pkgconfig_var(INTROSPECTION_SCANNER "g_ir_scanner")
839- _gir_get_pkgconfig_var(INTROSPECTION_COMPILER "g_ir_compiler")
840- _gir_get_pkgconfig_var(INTROSPECTION_GENERATE "g_ir_generate")
841- _gir_get_pkgconfig_var(INTROSPECTION_GIRDIR "girdir")
842- _gir_get_pkgconfig_var(INTROSPECTION_TYPELIBDIR "typelibdir")
843- set(INTROSPECTION_CFLAGS "${_pc_gir_CFLAGS}")
844- set(INTROSPECTION_LIBS "${_pc_gir_LIBS}")
845- endif()
846-endif()
847-
848-mark_as_advanced(
849- INTROSPECTION_SCANNER
850- INTROSPECTION_COMPILER
851- INTROSPECTION_GENERATE
852- INTROSPECTION_GIRDIR
853- INTROSPECTION_TYPELIBDIR
854- INTROSPECTION_CFLAGS
855- INTROSPECTION_LIBS
856-)
857
858=== removed file 'cmake/FindVala.cmake'
859--- cmake/FindVala.cmake 2012-06-09 14:21:24 +0000
860+++ cmake/FindVala.cmake 1970-01-01 00:00:00 +0000
861@@ -1,65 +0,0 @@
862-##
863-# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
864-#
865-# Redistribution and use in source and binary forms, with or without
866-# modification, are permitted provided that the following conditions are met:
867-#
868-# 1. Redistributions of source code must retain the above copyright notice,
869-# this list of conditions and the following disclaimer.
870-#
871-# 2. Redistributions in binary form must reproduce the above copyright notice,
872-# this list of conditions and the following disclaimer in the documentation
873-# and/or other materials provided with the distribution.
874-#
875-# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
876-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
877-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
878-# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
879-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
880-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
881-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
882-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
883-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
884-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
885-#
886-# The views and conclusions contained in the software and documentation are those
887-# of the authors and should not be interpreted as representing official policies,
888-# either expressed or implied, of Jakob Westhoff
889-##
890-
891-##
892-# Find module for the Vala compiler (valac)
893-#
894-# This module determines wheter a Vala compiler is installed on the current
895-# system and where its executable is.
896-#
897-# Call the module using "find_package(Vala) from within your CMakeLists.txt.
898-#
899-# The following variables will be set after an invocation:
900-#
901-# VALA_FOUND Whether the vala compiler has been found or not
902-# VALA_EXECUTABLE Full path to the valac executable if it has been found
903-# VALA_VERSION Version number of the available valac
904-##
905-
906-
907-# Search for the valac executable in the usual system paths.
908-find_program(VALA_EXECUTABLE
909- NAMES valac)
910-
911-# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call.
912-# Furthermore set VALA_FOUND to TRUE if Vala has been found (aka.
913-# VALA_EXECUTABLE is set)
914-
915-include(FindPackageHandleStandardArgs)
916-find_package_handle_standard_args(Vala DEFAULT_MSG VALA_EXECUTABLE)
917-
918-mark_as_advanced(VALA_EXECUTABLE)
919-
920-# Determine the valac version
921-if(VALA_FOUND)
922- execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
923- OUTPUT_VARIABLE "VALA_VERSION")
924- string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
925- string(STRIP ${VALA_VERSION} "VALA_VERSION")
926-endif(VALA_FOUND)
927
928=== removed file 'cmake/GObjectIntrospectionMacros.cmake'
929--- cmake/GObjectIntrospectionMacros.cmake 2014-05-22 20:22:06 +0000
930+++ cmake/GObjectIntrospectionMacros.cmake 1970-01-01 00:00:00 +0000
931@@ -1,22 +0,0 @@
932-macro(add_target_gir TARGET_NAME GIR_NAME HEADER C_FILES CFLAGS PKG_VERSION)
933- set(PACKAGES "")
934- foreach(PKG ${ARGN})
935- set(PACKAGES ${PACKAGES} --include=${PKG})
936- endforeach()
937-
938- set(ENV{LD_LIBRARY_PATH} \"${CMAKE_CURRENT_BINARY_DIR}:\$ENV{LD_LIBRARY_PATH}\")
939-
940- set(PKG_GIR_NAME ${GIR_NAME}-${PKG_VERSION})
941-
942- add_custom_command(TARGET ${TARGET_NAME} COMMAND ${INTROSPECTION_SCANNER} ${CFLAGS} -n ${GIR_NAME}
943- --library ${PKG_NAME} ${PACKAGES}
944- --warn-all
945- -o ${CMAKE_CURRENT_BINARY_DIR}/${PKG_GIR_NAME}.gir
946- -L${CMAKE_CURRENT_BINARY_DIR}
947- --nsversion=${PKG_VERSION} ${CMAKE_CURRENT_BINARY_DIR}/${HEADER} ${C_FILES})
948-
949- add_custom_command(TARGET ${TARGET_NAME} COMMAND ${INTROSPECTION_COMPILER} ${CMAKE_CURRENT_BINARY_DIR}/${PKG_GIR_NAME}.gir -o ${CMAKE_CURRENT_BINARY_DIR}/${PKG_GIR_NAME}.typelib)
950-
951- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PKG_GIR_NAME}.gir DESTINATION ${INTROSPECTION_GIRDIR})
952- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PKG_GIR_NAME}.typelib DESTINATION ${INTROSPECTION_TYPELIBDIR})
953-endmacro()
954
955=== removed file 'cmake/GSettings.cmake'
956--- cmake/GSettings.cmake 2012-06-09 14:21:24 +0000
957+++ cmake/GSettings.cmake 1970-01-01 00:00:00 +0000
958@@ -1,42 +0,0 @@
959-# GSettings.cmake, CMake macros written for Marlin, feel free to re-use them.
960-
961-option (GSETTINGS_LOCALINSTALL "Install GSettings Schemas locally instead of to the GLib prefix" ON)
962-
963-option (GSETTINGS_COMPILE "Compile GSettings Schemas after installation" ${GSETTINGS_LOCALINSTALL})
964-
965-if(GSETTINGS_LOCALINSTALL)
966- message(STATUS "GSettings schemas will be installed locally.")
967-endif()
968-
969-if(GSETTINGS_COMPILE)
970- message(STATUS "GSettings shemas will be compiled.")
971-endif()
972-
973-macro(add_schema SCHEMA_NAME)
974-
975- set(PKG_CONFIG_EXECUTABLE pkg-config)
976- # Have an option to not install the schema into where GLib is
977- if (GSETTINGS_LOCALINSTALL)
978- SET (GSETTINGS_DIR "${CMAKE_INSTALL_PREFIX}/share/glib-2.0/schemas/")
979- else (GSETTINGS_LOCALINSTALL)
980- execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} glib-2.0 --variable prefix OUTPUT_VARIABLE _glib_prefix OUTPUT_STRIP_TRAILING_WHITESPACE)
981- SET (GSETTINGS_DIR "${_glib_prefix}/share/glib-2.0/schemas/")
982- endif (GSETTINGS_LOCALINSTALL)
983-
984- # Run the validator and error if it fails
985- execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} gio-2.0 --variable glib_compile_schemas OUTPUT_VARIABLE _glib_comple_schemas OUTPUT_STRIP_TRAILING_WHITESPACE)
986- execute_process (COMMAND ${_glib_comple_schemas} --dry-run --schema-file=${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} ERROR_VARIABLE _schemas_invalid OUTPUT_STRIP_TRAILING_WHITESPACE)
987-
988- if (_schemas_invalid)
989- message (SEND_ERROR "Schema validation error: ${_schemas_invalid}")
990- endif (_schemas_invalid)
991-
992- # Actually install and recomple schemas
993- message (STATUS "GSettings schemas will be installed into ${GSETTINGS_DIR}")
994- install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} DESTINATION ${GSETTINGS_DIR} OPTIONAL)
995-
996- if (GSETTINGS_COMPILE)
997- install (CODE "message (STATUS \"Compiling GSettings schemas\")")
998- install (CODE "execute_process (COMMAND ${_glib_comple_schemas} ${GSETTINGS_DIR})")
999- endif ()
1000-endmacro()
1001
1002=== removed file 'cmake/Makefile'
1003--- cmake/Makefile 2012-06-09 14:21:24 +0000
1004+++ cmake/Makefile 1970-01-01 00:00:00 +0000
1005@@ -1,286 +0,0 @@
1006-# CMAKE generated file: DO NOT EDIT!
1007-# Generated by "Unix Makefiles" Generator, CMake Version 2.8
1008-
1009-# Default target executed when no arguments are given to make.
1010-default_target: all
1011-.PHONY : default_target
1012-
1013-#=============================================================================
1014-# Special targets provided by cmake.
1015-
1016-# Disable implicit rules so canoncical targets will work.
1017-.SUFFIXES:
1018-
1019-# Remove some rules from gmake that .SUFFIXES does not remove.
1020-SUFFIXES =
1021-
1022-.SUFFIXES: .hpux_make_needs_suffix_list
1023-
1024-# Suppress display of executed commands.
1025-$(VERBOSE).SILENT:
1026-
1027-# A target that is always out of date.
1028-cmake_force:
1029-.PHONY : cmake_force
1030-
1031-#=============================================================================
1032-# Set environment variables for the build.
1033-
1034-# The shell in which to execute make rules.
1035-SHELL = /bin/sh
1036-
1037-# The CMake executable.
1038-CMAKE_COMMAND = /usr/bin/cmake
1039-
1040-# The command to remove a file.
1041-RM = /usr/bin/cmake -E remove -f
1042-
1043-# The top-level source directory on which CMake was run.
1044-CMAKE_SOURCE_DIR = /home/mefrio/Scrivania/cmake
1045-
1046-# The top-level build directory on which CMake was run.
1047-CMAKE_BINARY_DIR = /home/mefrio/Scrivania/cmake/cmake
1048-
1049-#=============================================================================
1050-# Targets provided globally by CMake.
1051-
1052-# Special rule for the target edit_cache
1053-edit_cache:
1054- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..."
1055- /usr/bin/cmake -i .
1056-.PHONY : edit_cache
1057-
1058-# Special rule for the target edit_cache
1059-edit_cache/fast: edit_cache
1060-.PHONY : edit_cache/fast
1061-
1062-# Special rule for the target install
1063-install: preinstall
1064- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
1065- /usr/bin/cmake -P cmake_install.cmake
1066-.PHONY : install
1067-
1068-# Special rule for the target install
1069-install/fast: preinstall/fast
1070- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
1071- /usr/bin/cmake -P cmake_install.cmake
1072-.PHONY : install/fast
1073-
1074-# Special rule for the target install/local
1075-install/local: preinstall
1076- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
1077- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
1078-.PHONY : install/local
1079-
1080-# Special rule for the target install/local
1081-install/local/fast: install/local
1082-.PHONY : install/local/fast
1083-
1084-# Special rule for the target install/strip
1085-install/strip: preinstall
1086- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
1087- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
1088-.PHONY : install/strip
1089-
1090-# Special rule for the target install/strip
1091-install/strip/fast: install/strip
1092-.PHONY : install/strip/fast
1093-
1094-# Special rule for the target list_install_components
1095-list_install_components:
1096- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
1097-.PHONY : list_install_components
1098-
1099-# Special rule for the target list_install_components
1100-list_install_components/fast: list_install_components
1101-.PHONY : list_install_components/fast
1102-
1103-# Special rule for the target rebuild_cache
1104-rebuild_cache:
1105- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
1106- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
1107-.PHONY : rebuild_cache
1108-
1109-# Special rule for the target rebuild_cache
1110-rebuild_cache/fast: rebuild_cache
1111-.PHONY : rebuild_cache/fast
1112-
1113-# The main all target
1114-all: cmake_check_build_system
1115- $(CMAKE_COMMAND) -E cmake_progress_start /home/mefrio/Scrivania/cmake/cmake/CMakeFiles /home/mefrio/Scrivania/cmake/cmake/CMakeFiles/progress.marks
1116- $(MAKE) -f CMakeFiles/Makefile2 all
1117- $(CMAKE_COMMAND) -E cmake_progress_start /home/mefrio/Scrivania/cmake/cmake/CMakeFiles 0
1118-.PHONY : all
1119-
1120-# The main clean target
1121-clean:
1122- $(MAKE) -f CMakeFiles/Makefile2 clean
1123-.PHONY : clean
1124-
1125-# The main clean target
1126-clean/fast: clean
1127-.PHONY : clean/fast
1128-
1129-# Prepare targets for installation.
1130-preinstall: all
1131- $(MAKE) -f CMakeFiles/Makefile2 preinstall
1132-.PHONY : preinstall
1133-
1134-# Prepare targets for installation.
1135-preinstall/fast:
1136- $(MAKE) -f CMakeFiles/Makefile2 preinstall
1137-.PHONY : preinstall/fast
1138-
1139-# clear depends
1140-depend:
1141- $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
1142-.PHONY : depend
1143-
1144-#=============================================================================
1145-# Target rules for targets named scratch
1146-
1147-# Build rule for target.
1148-scratch: cmake_check_build_system
1149- $(MAKE) -f CMakeFiles/Makefile2 scratch
1150-.PHONY : scratch
1151-
1152-# fast build rule for target.
1153-scratch/fast:
1154- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/build
1155-.PHONY : scratch/fast
1156-
1157-src/entry.o: src/entry.c.o
1158-.PHONY : src/entry.o
1159-
1160-# target to build an object file
1161-src/entry.c.o:
1162- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.o
1163-.PHONY : src/entry.c.o
1164-
1165-src/entry.i: src/entry.c.i
1166-.PHONY : src/entry.i
1167-
1168-# target to preprocess a source file
1169-src/entry.c.i:
1170- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.i
1171-.PHONY : src/entry.c.i
1172-
1173-src/entry.s: src/entry.c.s
1174-.PHONY : src/entry.s
1175-
1176-# target to generate assembly for a file
1177-src/entry.c.s:
1178- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.s
1179-.PHONY : src/entry.c.s
1180-
1181-src/main_window.o: src/main_window.c.o
1182-.PHONY : src/main_window.o
1183-
1184-# target to build an object file
1185-src/main_window.c.o:
1186- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.o
1187-.PHONY : src/main_window.c.o
1188-
1189-src/main_window.i: src/main_window.c.i
1190-.PHONY : src/main_window.i
1191-
1192-# target to preprocess a source file
1193-src/main_window.c.i:
1194- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.i
1195-.PHONY : src/main_window.c.i
1196-
1197-src/main_window.s: src/main_window.c.s
1198-.PHONY : src/main_window.s
1199-
1200-# target to generate assembly for a file
1201-src/main_window.c.s:
1202- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.s
1203-.PHONY : src/main_window.c.s
1204-
1205-src/menu.o: src/menu.c.o
1206-.PHONY : src/menu.o
1207-
1208-# target to build an object file
1209-src/menu.c.o:
1210- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.o
1211-.PHONY : src/menu.c.o
1212-
1213-src/menu.i: src/menu.c.i
1214-.PHONY : src/menu.i
1215-
1216-# target to preprocess a source file
1217-src/menu.c.i:
1218- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.i
1219-.PHONY : src/menu.c.i
1220-
1221-src/menu.s: src/menu.c.s
1222-.PHONY : src/menu.s
1223-
1224-# target to generate assembly for a file
1225-src/menu.c.s:
1226- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.s
1227-.PHONY : src/menu.c.s
1228-
1229-src/notebook.o: src/notebook.c.o
1230-.PHONY : src/notebook.o
1231-
1232-# target to build an object file
1233-src/notebook.c.o:
1234- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.o
1235-.PHONY : src/notebook.c.o
1236-
1237-src/notebook.i: src/notebook.c.i
1238-.PHONY : src/notebook.i
1239-
1240-# target to preprocess a source file
1241-src/notebook.c.i:
1242- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.i
1243-.PHONY : src/notebook.c.i
1244-
1245-src/notebook.s: src/notebook.c.s
1246-.PHONY : src/notebook.s
1247-
1248-# target to generate assembly for a file
1249-src/notebook.c.s:
1250- $(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.s
1251-.PHONY : src/notebook.c.s
1252-
1253-# Help Target
1254-help:
1255- @echo "The following are some of the valid targets for this Makefile:"
1256- @echo "... all (the default if no target is provided)"
1257- @echo "... clean"
1258- @echo "... depend"
1259- @echo "... edit_cache"
1260- @echo "... install"
1261- @echo "... install/local"
1262- @echo "... install/strip"
1263- @echo "... list_install_components"
1264- @echo "... rebuild_cache"
1265- @echo "... scratch"
1266- @echo "... src/entry.o"
1267- @echo "... src/entry.i"
1268- @echo "... src/entry.s"
1269- @echo "... src/main_window.o"
1270- @echo "... src/main_window.i"
1271- @echo "... src/main_window.s"
1272- @echo "... src/menu.o"
1273- @echo "... src/menu.i"
1274- @echo "... src/menu.s"
1275- @echo "... src/notebook.o"
1276- @echo "... src/notebook.i"
1277- @echo "... src/notebook.s"
1278-.PHONY : help
1279-
1280-
1281-
1282-#=============================================================================
1283-# Special targets to cleanup operation of make.
1284-
1285-# Special rule to run CMake to check the build system integrity.
1286-# No rule that depends on this can have commands that come from listfiles
1287-# because they might be regenerated.
1288-cmake_check_build_system:
1289- $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
1290-.PHONY : cmake_check_build_system
1291-
1292
1293=== removed file 'cmake/ParseArguments.cmake'
1294--- cmake/ParseArguments.cmake 2012-06-09 14:21:24 +0000
1295+++ cmake/ParseArguments.cmake 1970-01-01 00:00:00 +0000
1296@@ -1,36 +0,0 @@
1297-##
1298-# This is a helper Macro to parse optional arguments in Macros/Functions
1299-# It has been taken from the public CMake wiki.
1300-# See http://www.cmake.org/Wiki/CMakeMacroParseArguments for documentation and
1301-# licensing.
1302-##
1303-macro(parse_arguments prefix arg_names option_names)
1304- set(DEFAULT_ARGS)
1305- foreach(arg_name ${arg_names})
1306- set(${prefix}_${arg_name})
1307- endforeach(arg_name)
1308- foreach(option ${option_names})
1309- set(${prefix}_${option} FALSE)
1310- endforeach(option)
1311-
1312- set(current_arg_name DEFAULT_ARGS)
1313- set(current_arg_list)
1314- foreach(arg ${ARGN})
1315- set(larg_names ${arg_names})
1316- list(FIND larg_names "${arg}" is_arg_name)
1317- if(is_arg_name GREATER -1)
1318- set(${prefix}_${current_arg_name} ${current_arg_list})
1319- set(current_arg_name ${arg})
1320- set(current_arg_list)
1321- else(is_arg_name GREATER -1)
1322- set(loption_names ${option_names})
1323- list(FIND loption_names "${arg}" is_option)
1324- if(is_option GREATER -1)
1325- set(${prefix}_${arg} TRUE)
1326- else(is_option GREATER -1)
1327- set(current_arg_list ${current_arg_list} ${arg})
1328- endif(is_option GREATER -1)
1329- endif(is_arg_name GREATER -1)
1330- endforeach(arg)
1331- set(${prefix}_${current_arg_name} ${current_arg_list})
1332-endmacro(parse_arguments)
1333
1334=== removed file 'cmake/README'
1335--- cmake/README 2012-06-09 14:21:24 +0000
1336+++ cmake/README 1970-01-01 00:00:00 +0000
1337@@ -1,10 +0,0 @@
1338- Elementary CMake modules
1339-
1340-This is a set of CMake modules: Translations, GSettings, and Vala modules.
1341-
1342-For all the Vala related modules see README.Vala.rst:
1343- - ParseArguments.cmake
1344- - ValaPrecompile.cmake
1345- - ValaVersion.cmake
1346- - FindVala.cmake
1347-
1348
1349=== removed file 'cmake/README.Vala.rst'
1350--- cmake/README.Vala.rst 2012-06-09 14:21:24 +0000
1351+++ cmake/README.Vala.rst 1970-01-01 00:00:00 +0000
1352@@ -1,173 +0,0 @@
1353-==========
1354-Vala CMake
1355-==========
1356-:Author:
1357- Jakob Westhoff
1358-:Version:
1359- Draft
1360-
1361-
1362-Overview
1363-========
1364-
1365-Vala CMake is a collection of macros for the CMake_ build system to allow the
1366-creation and management of projects developed using the Vala_ programming
1367-language or its "Genie" flavor (less tested).
1368-
1369-
1370-Installation
1371-============
1372-
1373-To use the Vala macros in your own project you need to copy the macro files to
1374-an arbitrary folder in your projects directory and reference them in your
1375-``CMakeLists.txt`` file.
1376-
1377-Assuming the macros are stored under ``cmake/vala`` in your projects folder you
1378-need to add the following information to your base ``CMakeLists.txt``::
1379-
1380- list(APPEND CMAKE_MODULE_PATH
1381- ${CMAKE_SOURCE_DIR}/cmake/vala
1382- )
1383-
1384-After the new module path as been added you can simply include the provided
1385-modules or use the provided find routines.
1386-
1387-
1388-Finding Vala
1389-============
1390-
1391-The find module for vala works like any other Find module in CMake.
1392-You can use it by simply calling the usual ``find_package`` function. Default
1393-parameters like ``REQUIRED`` and ``QUIETLY`` are supported.
1394-
1395-::
1396-
1397- find_package(Vala REQUIRED)
1398-
1399-After a successful call to the find_package function the following variables
1400-will be set:
1401-
1402-VALA_FOUND
1403- Whether the vala compiler has been found or not
1404-
1405-VALA_EXECUTABLE
1406- Full path to the valac executable if it has been found
1407-
1408-VALA_VERSION
1409- Version number of the available valac
1410-
1411-
1412-Precompiling Vala sources
1413-=========================
1414-
1415-CMake is mainly supposed to handle c or c++ based projects. Luckily every vala
1416-program is translated into plain c code using the vala compiler, followed by
1417-normal compilation of the generated c program using gcc.
1418-
1419-The macro ``vala_precompile`` uses that fact to create c files from your .vala
1420-sources for further CMake processing.
1421-
1422-The first parameter provided is a variable, which will be filled with a list of
1423-c files outputted by the vala compiler. This list can than be used in
1424-conjunction with functions like ``add_executable`` or others to create the
1425-necessary compile rules with CMake.
1426-
1427-The initial variable is followed by a list of .vala files to be compiled.
1428-Please take care to add every vala file belonging to the currently compiled
1429-project or library as Vala will otherwise not be able to resolve all
1430-dependencies.
1431-
1432-The following sections may be specified afterwards to provide certain options
1433-to the vala compiler:
1434-
1435-PACKAGES
1436- A list of vala packages/libraries to be used during the compile cycle. The
1437- package names are exactly the same, as they would be passed to the valac
1438- "--pkg=" option.
1439-
1440-OPTIONS
1441- A list of optional options to be passed to the valac executable. This can be
1442- used to pass "--thread" for example to enable multi-threading support.
1443-
1444-DIRECTORY
1445- Specify the directory where the output source files will be stored. If
1446- ommitted, the source files will be stored in CMAKE_CURRENT_BINARY_DIR.
1447-
1448-CUSTOM_VAPIS
1449- A list of custom vapi files to be included for compilation. This can be
1450- useful to include freshly created vala libraries without having to install
1451- them in the system.
1452-
1453-GENERATE_VAPI
1454- Pass all the needed flags to the compiler to create an internal vapi for
1455- the compiled library. The provided name will be used for this and a
1456- <provided_name>.vapi file will be created.
1457-
1458-GENERATE_HEADER
1459- Let the compiler generate a header file for the compiled code. There will
1460- be a header file as well as an internal header file being generated called
1461- <provided_name>.h and <provided_name>_internal.h
1462-
1463-The following call is a simple example to the vala_precompile macro showing an
1464-example to every of the optional sections::
1465-
1466- vala_precompile(VALA_C
1467- source1.vala
1468- source2.vala
1469- source3.vala
1470- PACKAGES
1471- gtk+-2.0
1472- gio-1.0
1473- posix
1474- OPTIONS
1475- --thread
1476- CUSTOM_VAPIS
1477- some_vapi.vapi
1478- GENERATE_VAPI
1479- myvapi
1480- GENERATE_HEADER
1481- myheader
1482- )
1483-
1484-Most important is the variable VALA_C which will contain all the generated c
1485-file names after the call. The easiest way to use this information is to tell
1486-CMake to create an executable out of it.
1487-
1488-::
1489-
1490- add_executable(myexecutable ${VALA_C})
1491-
1492-
1493-Further reading
1494-===============
1495-
1496-The `Pdf Presenter Console`__ , which is a vala based project of mine, makes
1497-heavy usage of the here described macros. To look at a real world example of
1498-these macros the mentioned project is the right place to take a look. The svn
1499-trunk of it can be found at::
1500-
1501- svn://pureenergy.cc/pdf_presenter_console/trunk
1502-
1503-
1504-__ http://westhoffswelt.de/projects/pdf_presenter_console.html
1505-
1506-
1507-Acknowledgments
1508-===============
1509-
1510-Thanks go out to Florian Sowade, a fellow local PHP-Usergroupie, who helped me
1511-a lot with the initial version of this macros and always answered my mostly
1512-dumb CMake questions.
1513-
1514-.. _CMake: http://cmake.org
1515-.. _Vala: http://live.gnome.org/Vala
1516-.. _Genie: http://live.gnome.org/Genie
1517-
1518-
1519-
1520
1521-..
1522- Local Variables:
1523- mode: rst
1524- fill-column: 79
1525- End:
1526- vim: et syn=rst tw=79
1527
1528=== removed file 'cmake/Translations.cmake'
1529--- cmake/Translations.cmake 2014-05-22 20:22:06 +0000
1530+++ cmake/Translations.cmake 1970-01-01 00:00:00 +0000
1531@@ -1,41 +0,0 @@
1532-# Translations.cmake, CMake macros written for Marlin, feel free to re-use them
1533-
1534-macro(add_translations_directory NLS_PACKAGE)
1535- add_custom_target (i18n ALL COMMENT “Building i18n messages.”)
1536- find_program (MSGFMT_EXECUTABLE msgfmt)
1537- file (GLOB PO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.po)
1538- foreach (PO_INPUT ${PO_FILES})
1539- get_filename_component (PO_INPUT_BASE ${PO_INPUT} NAME_WE)
1540- set (MO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PO_INPUT_BASE}.mo)
1541- add_custom_command (TARGET i18n COMMAND ${MSGFMT_EXECUTABLE} -o ${MO_OUTPUT} ${PO_INPUT})
1542-
1543- install (FILES ${MO_OUTPUT} DESTINATION
1544- share/locale/${PO_INPUT_BASE}/LC_MESSAGES
1545- RENAME ${NLS_PACKAGE}.mo)
1546- endforeach (PO_INPUT ${PO_FILES})
1547-endmacro(add_translations_directory)
1548-
1549-
1550-macro(add_translations_catalog NLS_PACKAGE)
1551- add_custom_target (pot COMMENT “Building translation catalog.”)
1552- find_program (XGETTEXT_EXECUTABLE xgettext)
1553-
1554-
1555- set(C_SOURCE "")
1556-
1557- foreach(FILES_INPUT ${ARGN})
1558- file (GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT}/*.c)
1559- foreach(C_FILE ${SOURCE_FILES})
1560- set(C_SOURCE ${C_SOURCE} ${C_FILE})
1561- endforeach()
1562- file (GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT}/*.vala)
1563- foreach(C_FILE ${SOURCE_FILES})
1564- set(C_SOURCE ${C_SOURCE} ${C_FILE})
1565- endforeach()
1566- endforeach()
1567-
1568- add_custom_command (TARGET pot COMMAND
1569- ${XGETTEXT_EXECUTABLE} -d ${NLS_PACKAGE} -o ${CMAKE_CURRENT_SOURCE_DIR}/${NLS_PACKAGE}.pot
1570- ${VALA_SOURCE} ${C_SOURCE} --keyword="_" --keyword="N_" --from-code=UTF-8 --add-comments="/"
1571- )
1572-endmacro()
1573\ No newline at end of file
1574
1575=== removed file 'cmake/ValaPrecompile.cmake'
1576--- cmake/ValaPrecompile.cmake 2014-05-22 20:22:06 +0000
1577+++ cmake/ValaPrecompile.cmake 1970-01-01 00:00:00 +0000
1578@@ -1,213 +0,0 @@
1579-##
1580-# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
1581-#
1582-# Redistribution and use in source and binary forms, with or without
1583-# modification, are permitted provided that the following conditions are met:
1584-#
1585-# 1. Redistributions of source code must retain the above copyright notice,
1586-# this list of conditions and the following disclaimer.
1587-#
1588-# 2. Redistributions in binary form must reproduce the above copyright notice,
1589-# this list of conditions and the following disclaimer in the documentation
1590-# and/or other materials provided with the distribution.
1591-#
1592-# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
1593-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1594-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
1595-# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
1596-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1597-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
1598-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
1599-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
1600-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
1601-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1602-#
1603-# The views and conclusions contained in the software and documentation are those
1604-# of the authors and should not be interpreted as representing official policies,
1605-# either expressed or implied, of Jakob Westhoff
1606-##
1607-
1608-include(ParseArguments)
1609-find_package(Vala REQUIRED)
1610-
1611-##
1612-# Compile vala files to their c equivalents for further processing.
1613-#
1614-# The "vala_precompile" macro takes care of calling the valac executable on the
1615-# given source to produce c files which can then be processed further using
1616-# default cmake functions.
1617-#
1618-# The first parameter provided is a variable, which will be filled with a list
1619-# of c files outputted by the vala compiler. This list can than be used in
1620-# conjuction with functions like "add_executable" or others to create the
1621-# neccessary compile rules with CMake.
1622-#
1623-# The initial variable is followed by a list of .vala files to be compiled.
1624-# Please take care to add every vala file belonging to the currently compiled
1625-# project or library as Vala will otherwise not be able to resolve all
1626-# dependencies.
1627-#
1628-# The following sections may be specified afterwards to provide certain options
1629-# to the vala compiler:
1630-#
1631-# PACKAGES
1632-# A list of vala packages/libraries to be used during the compile cycle. The
1633-# package names are exactly the same, as they would be passed to the valac
1634-# "--pkg=" option.
1635-#
1636-# OPTIONS
1637-# A list of optional options to be passed to the valac executable. This can be
1638-# used to pass "--thread" for example to enable multi-threading support.
1639-#
1640-# CUSTOM_VAPIS
1641-# A list of custom vapi files to be included for compilation. This can be
1642-# useful to include freshly created vala libraries without having to install
1643-# them in the system.
1644-#
1645-# GENERATE_VAPI
1646-# Pass all the needed flags to the compiler to create an internal vapi for
1647-# the compiled library. The provided name will be used for this and a
1648-# <provided_name>.vapi file will be created.
1649-#
1650-# GENERATE_HEADER
1651-# Let the compiler generate a header file for the compiled code. There will
1652-# be a header file as well as an internal header file being generated called
1653-# <provided_name>.h and <provided_name>_internal.h
1654-#
1655-# GENERATE_GIR
1656-# Have the compiler generate a GObject-Introspection repository file with
1657-# name: <provided_name>.gir. This can be later used to create a binary typelib
1658-# using the GI compiler.
1659-#
1660-# GENERATE_SYMBOLS
1661-# Output a <provided_name>.symbols file containing all the exported symbols.
1662-#
1663-# The following call is a simple example to the vala_precompile macro showing
1664-# an example to every of the optional sections:
1665-#
1666-# vala_precompile(VALA_C mytargetname
1667-# source1.vala
1668-# source2.vala
1669-# source3.vala
1670-# PACKAGES
1671-# gtk+-2.0
1672-# gio-1.0
1673-# posix
1674-# DIRECTORY
1675-# gen
1676-# OPTIONS
1677-# --thread
1678-# CUSTOM_VAPIS
1679-# some_vapi.vapi
1680-# GENERATE_VAPI
1681-# myvapi
1682-# GENERATE_HEADER
1683-# myheader
1684-# GENERATE_GIR
1685-# mygir
1686-# GENERATE_SYMBOLS
1687-# mysymbols
1688-# )
1689-#
1690-# Most important is the variable VALA_C which will contain all the generated c
1691-# file names after the call.
1692-##
1693-
1694-macro(vala_precompile output target_name)
1695- parse_arguments(ARGS "TARGET;PACKAGES;OPTIONS;DIRECTORY;GENERATE_GIR;GENERATE_SYMBOLS;GENERATE_HEADER;GENERATE_VAPI;CUSTOM_VAPIS" "" ${ARGN})
1696-
1697- if(ARGS_DIRECTORY)
1698- set(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${ARGS_DIRECTORY})
1699- else(ARGS_DIRECTORY)
1700- set(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
1701- endif(ARGS_DIRECTORY)
1702- include_directories(${DIRECTORY})
1703- set(vala_pkg_opts "")
1704- foreach(pkg ${ARGS_PACKAGES})
1705- list(APPEND vala_pkg_opts "--pkg=${pkg}")
1706- endforeach(pkg ${ARGS_PACKAGES})
1707- set(in_files "")
1708- set(out_files "")
1709- set(out_files_display "")
1710- set(${output} "")
1711- foreach(src ${ARGS_DEFAULT_ARGS})
1712- list(APPEND in_files "${CMAKE_CURRENT_SOURCE_DIR}/${src}")
1713- string(REPLACE ".vala" ".c" src ${src})
1714- string(REPLACE ".gs" ".c" src ${src})
1715- set(out_file "${DIRECTORY}/${src}")
1716- list(APPEND out_files "${DIRECTORY}/${src}")
1717- list(APPEND out_files_display "${src}")
1718- list(APPEND ${output} ${out_file})
1719- endforeach(src ${ARGS_DEFAULT_ARGS})
1720-
1721- set(custom_vapi_arguments "")
1722- if(ARGS_CUSTOM_VAPIS)
1723- foreach(vapi ${ARGS_CUSTOM_VAPIS})
1724- list(APPEND custom_vapi_arguments ${vapi})
1725- endforeach(vapi ${ARGS_CUSTOM_VAPIS})
1726- endif(ARGS_CUSTOM_VAPIS)
1727-
1728- set(vapi_arguments "")
1729- if(ARGS_GENERATE_VAPI)
1730- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_VAPI}.vapi")
1731- list(APPEND out_files_display "${ARGS_GENERATE_VAPI}.vapi")
1732- set(vapi_arguments "--library=${ARGS_GENERATE_VAPI}" "--vapi=${ARGS_GENERATE_VAPI}.vapi")
1733- endif(ARGS_GENERATE_VAPI)
1734-
1735- set(header_arguments "")
1736- if(ARGS_GENERATE_HEADER)
1737- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_HEADER}.h")
1738- list(APPEND out_files_display "${ARGS_GENERATE_HEADER}.h")
1739- list(APPEND header_arguments "--header=${ARGS_GENERATE_HEADER}.h")
1740- endif(ARGS_GENERATE_HEADER)
1741-
1742- set(gir_arguments "")
1743- if(ARGS_GENERATE_GIR)
1744- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_GIR}.gir")
1745- list(APPEND out_files_display "${ARGS_GENERATE_GIR}.gir")
1746- set(gir_arguments "--gir=${ARGS_GENERATE_GIR}.gir")
1747- endif(ARGS_GENERATE_GIR)
1748-
1749- set(symbols_arguments "")
1750- if(ARGS_GENERATE_SYMBOLS)
1751- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_SYMBOLS}.symbols")
1752- list(APPEND out_files_display "${ARGS_GENERATE_SYMBOLS}.symbols")
1753- set(symbols_arguments "--symbols=${ARGS_GENERATE_SYMBOLS}.symbols")
1754- endif(ARGS_GENERATE_SYMBOLS)
1755-
1756- # Workaround for a bug that would make valac run twice. This file is written
1757- # after the vala compiler generates C source code.
1758- set(OUTPUT_STAMP ${CMAKE_CURRENT_BINARY_DIR}/${target_name}_valac.stamp)
1759-
1760- add_custom_command(
1761- OUTPUT
1762- ${OUTPUT_STAMP}
1763- COMMAND
1764- ${VALA_EXECUTABLE}
1765- ARGS
1766- "-C"
1767- ${header_arguments}
1768- ${vapi_arguments}
1769- ${gir_arguments}
1770- ${symbols_arguments}
1771- "-b" ${CMAKE_CURRENT_SOURCE_DIR}
1772- "-d" ${DIRECTORY}
1773- ${vala_pkg_opts}
1774- ${ARGS_OPTIONS}
1775- ${in_files}
1776- ${custom_vapi_arguments}
1777- COMMAND
1778- touch
1779- ARGS
1780- ${OUTPUT_STAMP}
1781- DEPENDS
1782- ${in_files}
1783- ${ARGS_CUSTOM_VAPIS}
1784- COMMENT
1785- "Generating ${out_files_display}"
1786- )
1787-
1788- # This command will be run twice for some reason (pass a non-empty string to COMMENT
1789- # in order to see it). Since valac is not executed from here, this won't be a problem.
1790- add_custom_command(OUTPUT ${out_files} DEPENDS ${OUTPUT_STAMP} COMMENT "")
1791-endmacro(vala_precompile)
1792
1793=== removed file 'cmake/ValaVersion.cmake'
1794--- cmake/ValaVersion.cmake 2012-06-09 14:21:24 +0000
1795+++ cmake/ValaVersion.cmake 1970-01-01 00:00:00 +0000
1796@@ -1,96 +0,0 @@
1797-##
1798-# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
1799-#
1800-# Redistribution and use in source and binary forms, with or without
1801-# modification, are permitted provided that the following conditions are met:
1802-#
1803-# 1. Redistributions of source code must retain the above copyright notice,
1804-# this list of conditions and the following disclaimer.
1805-#
1806-# 2. Redistributions in binary form must reproduce the above copyright notice,
1807-# this list of conditions and the following disclaimer in the documentation
1808-# and/or other materials provided with the distribution.
1809-#
1810-# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
1811-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1812-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
1813-# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
1814-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1815-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
1816-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
1817-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
1818-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
1819-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1820-#
1821-# The views and conclusions contained in the software and documentation are those
1822-# of the authors and should not be interpreted as representing official policies,
1823-# either expressed or implied, of Jakob Westhoff
1824-##
1825-
1826-include(ParseArguments)
1827-find_package(Vala REQUIRED)
1828-
1829-##
1830-# Ensure a certain valac version is available
1831-#
1832-# The initial argument is the version to check for
1833-#
1834-# It may be followed by a optional parameter to specifiy a version range. The
1835-# following options are valid:
1836-#
1837-# EXACT
1838-# Vala needs to be available in the exact version given
1839-#
1840-# MINIMUM
1841-# The provided version is the minimum version. Therefore Vala needs to be
1842-# available in the given version or any higher version
1843-#
1844-# MAXIMUM
1845-# The provided version is the maximum. Therefore Vala needs to be available
1846-# in the given version or any version older than this
1847-#
1848-# If no option is specified the version will be treated as a minimal version.
1849-##
1850-macro(ensure_vala_version version)
1851- parse_arguments(ARGS "" "MINIMUM;MAXIMUM;EXACT" ${ARGN})
1852- set(compare_message "")
1853- set(error_message "")
1854- if(ARGS_MINIMUM)
1855- set(compare_message "a minimum ")
1856- set(error_message "or greater ")
1857- elseif(ARGS_MAXIMUM)
1858- set(compare_message "a maximum ")
1859- set(error_message "or less ")
1860- endif(ARGS_MINIMUM)
1861-
1862- message(STATUS
1863- "checking for ${compare_message}Vala version of ${version}"
1864- )
1865-
1866- unset(version_accepted)
1867-
1868- # MINIMUM is the default if no option is specified
1869- if(ARGS_EXACT)
1870- if(${VALA_VERSION} VERSION_EQUAL ${version} )
1871- set(version_accepted TRUE)
1872- endif(${VALA_VERSION} VERSION_EQUAL ${version})
1873- elseif(ARGS_MAXIMUM)
1874- if(${VALA_VERSION} VERSION_LESS ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
1875- set(version_accepted TRUE)
1876- endif(${VALA_VERSION} VERSION_LESS ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
1877- else(ARGS_MAXIMUM)
1878- if(${VALA_VERSION} VERSION_GREATER ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
1879- set(version_accepted TRUE)
1880- endif(${VALA_VERSION} VERSION_GREATER ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
1881- endif(ARGS_EXACT)
1882-
1883- if (NOT version_accepted)
1884- message(FATAL_ERROR
1885- "Vala version ${version} ${error_message}is required."
1886- )
1887- endif(NOT version_accepted)
1888-
1889- message(STATUS
1890- " found Vala, version ${VALA_VERSION}"
1891- )
1892-endmacro(ensure_vala_version)
1893
1894=== added directory 'contrib'
1895=== added directory 'contrib/devstack'
1896=== added file 'contrib/devstack/README.first'
1897--- contrib/devstack/README.first 1970-01-01 00:00:00 +0000
1898+++ contrib/devstack/README.first 2014-10-30 01:43:20 +0000
1899@@ -0,0 +1,9 @@
1900+contrib/devstack/ directory contains the files necessary to integrate Granite driver with devstack.
1901+
1902+To install:
1903+
1904+git clone https://github.com/zulcss/granite /opt/stack/granite
1905+git clone https://github.com/openstack-dev/devstack /opt/stack/devstack
1906+
1907+cd /opt/stack/granite
1908+contrib/devstack/prepare-devstack.sh
1909
1910=== added directory 'contrib/devstack/extras.d'
1911=== added file 'contrib/devstack/extras.d/70-granite.sh'
1912--- contrib/devstack/extras.d/70-granite.sh 1970-01-01 00:00:00 +0000
1913+++ contrib/devstack/extras.d/70-granite.sh 2014-10-30 01:43:20 +0000
1914@@ -0,0 +1,43 @@
1915+# granite.sh - Devstack extras script to install native lxc
1916+
1917+if [[ $VIRT_DRIVER == "granite" ]]; then
1918+ if [[ $1 == "source" ]]; then
1919+ # Keep track of the current directory
1920+ SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
1921+ TOP_DIR=$SCRIPT_DIR
1922+
1923+ echo $SCRIPT_DIR $TOP_DIR
1924+
1925+ # Import common functions
1926+ source $TOP_DIR/functions
1927+
1928+ # Load local configuration
1929+ source $TOP_DIR/stackrc
1930+
1931+ FILES=$TOP_DIR/files
1932+
1933+ # Get our defaults
1934+ source $TOP_DIR/lib/nova_plugins/hypervisor-granite
1935+ source $TOP_DIR/lib/granite
1936+ elif [[ $2 == "install" ]] ; then
1937+ echo_summary "Configuring granite"
1938+ if is_ubuntu; then
1939+ install_package python-software-properties
1940+ sudo apt-add-repository -y ppa:ubuntu-lxc/daily
1941+ apt_get update
1942+ install_package --force-yes lxc lxc-dev
1943+ sudo sed -i 's/USE_LXC_BRIDGE.*$/USE_LXC_BRIDGE="false"/' \
1944+ /etc/default/lxc-net
1945+ mkdir -p ~/.config/lxc
1946+ echo "lxc.id_map = u 0 100000 65536" > ~/.config/lxc/default.conf
1947+ echo "lxc.id_map = g 0 100000 65536" >> ~/.config/lxc/default.conf
1948+ echo "lxc.network.type = veth" >> ~/.config/lxc/default.conf
1949+ echo "lxc.network.link = lxcbr0" >> ~/.config/lxc/default.conf
1950+ echo "ubuntu veth lxcbr0 2" | sudo tee -a /etc/lxc/lxc-usernet
1951+ echo "ubuntu veth br100 2" | sudo tee -a /etc/lxc/lxc-usernet
1952+ echo "ubuntu veth br-int 2" | sudo tee -a /etc/lxc/lxc-usernet
1953+
1954+ fi
1955+ install_granite
1956+ fi
1957+fi
1958
1959=== added directory 'contrib/devstack/lib'
1960=== added file 'contrib/devstack/lib/granite'
1961--- contrib/devstack/lib/granite 1970-01-01 00:00:00 +0000
1962+++ contrib/devstack/lib/granite 2014-10-30 01:43:20 +0000
1963@@ -0,0 +1,24 @@
1964+# lib/granite
1965+
1966+# Dependencies:
1967+# ``functions`` file
1968+# ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
1969+
1970+# ``stack.sh`` calls the entry points in this order:
1971+# install_granite
1972+
1973+XTRACE=$(set +o | grep xtrace)
1974+set +o xtrace
1975+
1976+
1977+GRANITE_DIR=$DEST/granite
1978+
1979+LXC_REPO=${LXC_REPO:-${GIT_BASE}/lxc/python2-lxc}
1980+LXC_DIR=$DEST/python2-lxc
1981+
1982+function install_granite {
1983+ git_clone $LXC_REPO $LXC_DIR
1984+ setup_develop $LXC_DIR
1985+
1986+ setup_develop $GRANITE_DIR
1987+}
1988
1989=== added directory 'contrib/devstack/lib/nova_plugins'
1990=== added file 'contrib/devstack/lib/nova_plugins/hypervisor-granite'
1991--- contrib/devstack/lib/nova_plugins/hypervisor-granite 1970-01-01 00:00:00 +0000
1992+++ contrib/devstack/lib/nova_plugins/hypervisor-granite 2014-10-30 01:43:20 +0000
1993@@ -0,0 +1,66 @@
1994+# lib/nova_plugins/hypervisor-granite
1995+# Configure the granite hypervisor
1996+
1997+# Enable with:
1998+# VIRT_DRIVER=granite
1999+
2000+# Dependencies:
2001+# ``functions`` file
2002+# ``nova`` configuration
2003+
2004+# install_nova_hypervisor - install any external requirements
2005+# configure_nova_hypervisor - make configuration changes, including those to other services
2006+# start_nova_hypervisor - start any external services
2007+# stop_nova_hypervisor - stop any external services
2008+# cleanup_nova_hypervisor - remove transient data and cache
2009+
2010+# Save trace setting
2011+MY_XTRACE=$(set +o | grep xtrace)
2012+set +o xtrace
2013+
2014+
2015+# Defaults
2016+# --------
2017+
2018+
2019+# Entry Points
2020+# ------------
2021+
2022+# clean_nova_hypervisor - Clean up an installation
2023+function cleanup_nova_hypervisor {
2024+ # This function intentionally left blank
2025+ :
2026+}
2027+
2028+# configure_nova_hypervisor - Set config files, create data dirs, etc
2029+function configure_nova_hypervisor {
2030+ iniset $NOVA_CONF DEFAULT compute_driver granite.virt.lxc.LXCDriver
2031+ iniset $GLANCE_API_CONF DEFAULT container_formats ami,ari,aki,bare,ovf,root-tar
2032+ iniset $GLANCE_API_CONF DEFAULT disk_formats ami,ari,aki,bare,ovf,root-tar
2033+}
2034+
2035+# install_nova_hypervisor() - Install external components
2036+function install_nova_hypervisor {
2037+ # This function intentionally left blank
2038+ :
2039+}
2040+
2041+# start_nova_hypervisor - Start any required external services
2042+function start_nova_hypervisor {
2043+ # This function intentionally left blank
2044+ :
2045+}
2046+
2047+# stop_nova_hypervisor - Stop any external services
2048+function stop_nova_hypervisor {
2049+ # This function intentionally left blank
2050+ :
2051+}
2052+
2053+
2054+# Restore xtrace
2055+$MY_XTRACE
2056+
2057+# Local variables:
2058+# mode: shell-script
2059+# End:
2060
2061=== added file 'contrib/devstack/prepare_devstack.sh'
2062--- contrib/devstack/prepare_devstack.sh 1970-01-01 00:00:00 +0000
2063+++ contrib/devstack/prepare_devstack.sh 2014-10-30 01:43:20 +0000
2064@@ -0,0 +1,15 @@
2065+#!/bin/bash
2066+
2067+set -xe
2068+
2069+env
2070+
2071+NOVAGRANITEDIR=$(readlink -f $(dirname $0)/../..)
2072+INSTALLDIR=${INSTALLDIR:-/opt/stack}
2073+
2074+cp $NOVAGRANITEDIR/contrib/devstack/extras.d/70-granite.sh $INSTALLDIR/devstack/extras.d
2075+cp $NOVAGRANITEDIR/contrib/devstack/lib/nova_plugins/hypervisor-granite $INSTALLDIR/devstack/lib/nova_plugins/
2076+cp $NOVAGRANITEDIR/contrib/devstack/lib/granite $INSTALLDIR/devstack/lib/granite
2077+cat - <<-EOF >> $INSTALLDIR/devstack/localrc
2078+VIRT_DRIVER=granite
2079+EOF
2080
2081=== added directory 'contrib/lxc'
2082=== added directory 'contrib/lxc/config'
2083=== added file 'contrib/lxc/config/granite-common.conf'
2084--- contrib/lxc/config/granite-common.conf 1970-01-01 00:00:00 +0000
2085+++ contrib/lxc/config/granite-common.conf 2014-10-30 01:43:20 +0000
2086@@ -0,0 +1,4 @@
2087+# This derives from the main Ubuntu config
2088+lxc.include = /usr/share/lxc/config/ubuntu.common.conf
2089+
2090+lxc.hook.clone = /usr/share/lxc/hooks/ubuntu-cloud-prep
2091
2092=== added file 'contrib/lxc/config/granite-userns.conf'
2093--- contrib/lxc/config/granite-userns.conf 1970-01-01 00:00:00 +0000
2094+++ contrib/lxc/config/granite-userns.conf 2014-10-30 01:43:20 +0000
2095@@ -0,0 +1,2 @@
2096+# This derives from the main Ubuntu userns config
2097+lxc.include = /usr/share/lxc/config/ubuntu.userns.conf
2098
2099=== added file 'contrib/lxc/lxc-granite'
2100--- contrib/lxc/lxc-granite 1970-01-01 00:00:00 +0000
2101+++ contrib/lxc/lxc-granite 2014-10-30 01:43:20 +0000
2102@@ -0,0 +1,120 @@
2103+#!/bin/bash
2104+
2105+set -e
2106+
2107+STATE_DIR="/var"
2108+HOOK_DIR="/usr/share/lxc/hooks"
2109+CLONE_HOOK_FN="$HOOK_DIR/ubuntu-cloud-prep"
2110+LXC_TEMPLATE_CONFIG="/usr/share/lxc/config"
2111+
2112+# Make sure the usual locations are in PATH
2113+export PATH=$PATH:/usr/sbin:/usr/bin:/sbin:/bin
2114+
2115+if [ -r /etc/default/lxc ]; then
2116+ . /etc/default/lxc
2117+fi
2118+
2119+am_in_userns() {
2120+ [ -e /proc/self/uid_map ] || { echo no; return; }
2121+ [ "$(wc -l /proc/self/uid_map | awk '{ print $1 }')" -eq 1 ] || { echo yes; return; }
2122+ line=$(awk '{ print $1 " " $2 " " $3 }' /proc/self/uid_map)
2123+ [ "$line" = "0 0 4294967295" ] && { echo no; return; }
2124+ echo yes
2125+}
2126+
2127+in_userns=0
2128+[ $(am_in_userns) = "yes" ] && in_userns=1
2129+
2130+usage()
2131+{
2132+ cat <<EOF
2133+LXC Container configuration for Granite instances
2134+
2135+Generic Options
2136+[ --rootfs <path> ]: Path in which rootfs will be placed
2137+[ -T | --tarball ]: Location of tarball
2138+[ -d | --debug ]: Run with 'set -x' to debug errors
2139+
2140+EOF
2141+ return 0
2142+}
2143+
2144+#options=$(getopt -o -- "$@")
2145+#if [ $? -ne 0 ]; then
2146+# usage $(basename $0)
2147+# exit 1
2148+#fi
2149+#eval set -- "$options"
2150+
2151+mapped_uid=-1
2152+mapped_gid=-1
2153+
2154+debug=0
2155+while true
2156+do
2157+ case "$1" in
2158+ -h|--help) usage $0 && exit 0;;
2159+ -p|--path) path=$2; shift 2;;
2160+ -n|--name) name=$2; shift 2;;
2161+ -T|--tarball) tarball=$2; shift 2;;
2162+ -d|--debug) debug=1; shift 1;;
2163+ --rootfs) rootfs=$2; shift 2;;
2164+
2165+ --mapped-uid) mapped_uid=$2; shift 2;;
2166+ --mapped-gid) mapped_gid=$2; shift 2;;
2167+ --) shift 1; break ;;
2168+ *) break ;;
2169+ esac
2170+done
2171+
2172+if [ -z "$path" ]; then
2173+ echo "'path' parameter is required"
2174+ exit 1
2175+fi
2176+
2177+# detect rootfs
2178+config="$path/config"
2179+if [ -z "$rootfs" ]; then
2180+ if grep -q '^lxc.rootfs' $config 2>/dev/null ; then
2181+ rootfs=$(awk -F= '/^lxc.rootfs =/{ print $2 }' $config)
2182+ else
2183+ rootfs=$path/rootfs
2184+ fi
2185+fi
2186+
2187+do_extract_rootfs() {
2188+ trap EXIT
2189+ trap SIGHUP
2190+ trap SIGINT
2191+ trap SIGINT
2192+ trap SIGTERM
2193+
2194+ echo "Extracting container rootfs"
2195+ mkdir -p $rootfs
2196+ cd $rootfs
2197+ if [ $in_userns -eq 1 ]; then
2198+ tar --anchored --exclude="dev/*" --numeric-owner -xpzf "$cache/$filename"
2199+ mkdir -p $rootfs/dev/pts/
2200+ else
2201+ tar --numeric-owner -xpzf "$cache/$filename"
2202+ fi
2203+}
2204+
2205+if [ -n "$tarball" ]; then
2206+ do_extract_rootfs
2207+else:
2208+ echo "Missing tarball"
2209+ exit 1
2210+fi
2211+
2212+if [ $mapped_uid -ne -1 ]; then
2213+ chown $mapped_uid $path/config
2214+ chown -R $mapped_uid $STATE_DIR
2215+ chown -R $mapped_uid $cache
2216+fi
2217+if [ $mapped_gid -ne -1 ]; then
2218+ chgrp $mapped_gid $path/config
2219+ chgrp -R $mapped_gid $STATE_DIR
2220+ chgrp -R $mapped_gid $cache
2221+fi
2222+
2223
2224=== modified file 'debian/changelog'
2225--- debian/changelog 2014-10-28 11:37:50 +0000
2226+++ debian/changelog 2014-10-30 01:43:20 +0000
2227@@ -1,3 +1,4 @@
2228+<<<<<<< TREE
2229 granite (0.3.0~bzr734-1ubuntu1.1) vivid; urgency=medium
2230
2231 * Install typelib files into MA libdir and BD on the version of g-i
2232@@ -64,3 +65,10 @@
2233 * Initial release (Closes: #659539).
2234
2235 -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sat, 09 Jun 2012 14:21:24 +0200
2236+=======
2237+granite (2014.2~b2-0ubuntu1) utopic; urgency=low
2238+
2239+ * Initial release.
2240+
2241+ -- Chuck Short <zulcss@ubuntu.com> Mon, 18 Aug 2014 09:44:44 -0400
2242+>>>>>>> MERGE-SOURCE
2243
2244=== modified file 'debian/control'
2245--- debian/control 2014-10-28 11:37:50 +0000
2246+++ debian/control 2014-10-30 01:43:20 +0000
2247@@ -1,6 +1,7 @@
2248 Source: granite
2249-Section: libs
2250+Section: python
2251 Priority: optional
2252+<<<<<<< TREE
2253 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
2254 XSBC-Original-Maintainer: Sergey "Shnatsel" Davidoff <sergey@elementaryos.org>
2255 Build-Depends: cmake (>= 2.8),
2256@@ -10,90 +11,32 @@
2257 libgirepository1.0-dev,
2258 libgtk-3-dev (>= 3.3.14),
2259 valac (>= 0.20.1)
2260+=======
2261+Maintainer: chuck <zulcss@ubuntu.com>
2262+Build-Depends: debhelper (>= 9), python-all (>= 2.6.6-3~), python-pbr, python-setuptools,
2263+ python-pbr, python-babel, python-psutil, python-oslo.config, python-hacking,
2264+ python-fixtures, python-mox3, python-mock, python-oslosphinx, testrepository, python-mox,
2265+ python-testscenarios, python-testtools, python-nova, python2-lxc
2266+>>>>>>> MERGE-SOURCE
2267 Standards-Version: 3.9.5
2268-Homepage: https://launchpad.net/granite
2269-
2270-Package: libgranite2
2271-Architecture: any
2272-Multi-Arch: same
2273-Depends: libgranite-common (>= ${source:Version}),
2274- ${misc:Depends},
2275- ${shlibs:Depends}
2276-Pre-Depends: multiarch-support
2277-Recommends: apport-hooks-elementary, contractor
2278-Description: extension of GTK+ libraries
2279- Granite is an extension of GTK+. Among other things, it provides
2280- complex widgets and convenience functions designed for use in apps
2281- built for elementary OS.
2282- .
2283- This package contains the shared library.
2284-
2285-Package: libgranite-dev
2286-Section: libdevel
2287-Architecture: any
2288-Depends: gir1.2-granite-1.0 (= ${binary:Version}),
2289- libgee-0.8-dev,
2290- libglib2.0-dev,
2291- libgranite2 (= ${binary:Version}),
2292- libgtk-3-dev (>= 3.3.14),
2293- ${misc:Depends}
2294-Pre-Depends: dpkg (>= 1.15.6)
2295-Description: extension of GTK+ libraries (development files)
2296- Granite is an extension of GTK+. Among other things, it provides
2297- complex widgets and convenience functions designed for use in apps
2298- built for elementary OS.
2299- .
2300- This package contains the static library and header files.
2301-
2302-Package: gir1.2-granite-1.0
2303-Section: introspection
2304-Architecture: any
2305-Multi-Arch: foreign
2306-Depends: ${gir:Depends}, ${misc:Depends}
2307-Pre-Depends: dpkg (>= 1.15.6)
2308-Description: extension of GTK+ libraries (introspection files)
2309- Granite is an extension of GTK+. Among other things, it provides
2310- complex widgets and convenience functions designed for use in apps
2311- built for elementary OS.
2312- .
2313- This package can be used by other packages using the GIRepository format to
2314- generate dynamic bindings.
2315-
2316-Package: libgranite-common
2317-Section: misc
2318-Architecture: all
2319-Multi-Arch: foreign
2320-Depends: ${misc:Depends}
2321-Replaces: libgranite0 (>> 0.2~)
2322-Conflicts: libgranite0 (>> 0.2~)
2323-Pre-Depends: dpkg (>= 1.15.6)
2324-Description: extension of GTK+ libraries (common files)
2325- Granite is an extension of GTK+. Among other things, it provides
2326- complex widgets and convenience functions designed for use in apps
2327- built for elementary OS.
2328- .
2329- This package contains common files needed by library.
2330-
2331-Package: granite-demo
2332-Section: misc
2333-Architecture: any
2334-Depends: libgranite2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
2335-Description: extension of GTK+ libraries (demo binary)
2336- Granite is an extension of GTK+. Among other things, it provides
2337- complex widgets and convenience functions designed for use in apps
2338- built for elementary OS.
2339- .
2340- This package contains a small demo application to show Granite Widgets.
2341-
2342-Package: libgranite2-dbg
2343-Section: debug
2344-Priority: extra
2345-Architecture: any
2346-Multi-Arch: same
2347-Depends: libgranite2 (= ${binary:Version}), ${misc:Depends}
2348-Description: extension of GTK+ libraries (debugging symbols)
2349- Granite is an extension of GTK+. Among other things, it provides
2350- complex widgets and convenience functions designed for use in apps
2351- built for elementary OS.
2352- .
2353- This package contains debugging symbols.
2354+
2355+Package: python-granite
2356+Architecture: any
2357+Depends: ${python:Depends}, ${misc:Depends}, python-oslo.config, python-psutil, python2-lxc,
2358+ nova-common
2359+Description: LXC Containers driver for Openstack Compute
2360+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
2361+ the ubiquitous cloud computing platform that will meet the needs of public
2362+ and private cloud providers regardless of size, by being simple to implement
2363+ and massively scalable.
2364+ .
2365+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller. In
2366+ addition to its "native" API (the OpenStack API), it also supports the Amazon
2367+ EC2 API.
2368+ .
2369+ Nova is intended to be modular and easy to extend and adapt. It supports many
2370+ different hypervisors (KVM and Xen to name a few), different database backends
2371+ (SQLite, MySQL, and PostgreSQL, for instance), different types of user
2372+ databases (LDAP or SQL), etc.
2373+ .
2374+ This package contains the LXC Container driver for Compute
2375
2376=== modified file 'debian/copyright'
2377--- debian/copyright 2014-05-22 20:22:06 +0000
2378+++ debian/copyright 2014-10-30 01:43:20 +0000
2379@@ -1,216 +1,41 @@
2380 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2381 Upstream-Name: granite
2382-Source: https://launchpad.net/granite
2383-
2384+Source: https://github.com/zulcss/granite
2385
2386 Files: *
2387-Copyright: 2011 ammonkey <am.monkeyd@gmail.com>
2388- 2011 Adrien Plazas <kekun.plazas@laposte.net>
2389- 2011 Allen Lowe <lallenlowe@gmail.com>
2390- 2011 Avi Romanoff <avi@elementaryos.org>
2391- 2011 Giulio Collura <giulio.collura@gmail.com>
2392- 2011 Mathijs Henquet <mathijs.henquet@gmail.com>
2393- 2011 Maxwell Barvian <maxwell@elementaryos.org>
2394- 2011 Robert Dyer <psybers@gmail.com>
2395- 2011-2012 Fabian Thoma <fabian@elementaryos.org>
2396- 2011-2012 Jaap Broekhuizen <jaapz.b@gmail.com>
2397- 2011-2012 Lucas Baudin <xapantu@gmail.com>
2398- 2011-2012 Mario Guerriero <mario@elementaryos.org>
2399- 2011-2014 Rico Tzschichholz <ricotz@ubuntu.com>
2400- 2012-2013 Adam Davies <adam.davies@outlook.com>
2401- 2012-2013 Akshay Shekher <akshay@elementaryos.org>
2402- 2012-2013 Andrea Basso <andrea@elementaryos.org>
2403- 2012-2013 Tom Beckmann <tom@elementaryos.org>
2404- 2012-2014 Victor Martinez <victor@elementaryos.org>
2405- 2013 Julián Unrrein <junrrein@gmail.com>
2406- 2013 Julien Spautz <spautz.julien@gmail.com>
2407- 2013 Pedro Paredes <gangsterveggies@gmail.com>
2408- 2013-2014 Niclas Lockner <niclaslockner@gmail.com>
2409- 2013-2014 Sergey "Shnatsel" Davidoff <sergey@elementaryos.org>
2410-License: LGPL-3.0+
2411-
2412-
2413-Files: lib/Widgets/ToolButtonWithMenu.vala
2414-Copyright: 2012 Adam Davies <adam.davies@outlook.com>
2415- 2013 Cody Garver <cody@elementaryos.org>
2416- 2013 David Gomes <david@elementaryos.org>
2417- 2012 Erasmo Marín <erasmo.marin@gmail.com>
2418- 2011 Maxwell Barvian <maxwell@elementaryos.org>
2419- 2012 Rico Tzschichholz <ricotz@ubuntu.com>
2420- 2012 Victor Martinez <victor@elementaryos.org>
2421- 2011 ammonkey <am.monkeyd@gmail.com>
2422- 2011 Adrien Plazas <kekun.plazas@laposte.net>
2423- 2011 Lucas Baudin <xapantu@gmail.com>
2424- 2011 Mathijs Henquet <mathijs.henquet@gmail.com>
2425-License: LGPL-3.0+
2426-
2427-
2428-Files: lib/Widgets/ModeButton.vala
2429-Copyright: 2008 Christian Hergert <chris@dronelabs.com>
2430- 2011 Giulio Collura <giulio.collura@gmail.com>
2431- 2011 Maxwell Barvian <maxwell@elementaryos.org>
2432- 2011 Adrien Plazas <kekun.plazas@laposte.net>
2433- 2011-2012 Lucas Baudin <xapantu@gmail.com>
2434- 2012 Adam Davies <adam.davies@outlook.com>
2435- 2012 Victor Martinez <victor@elementaryos.org>
2436-License: LGPL-3.0+
2437-
2438-
2439-Files: demo/main.vala
2440-Copyright: 2011-2012 Lucas Baudin <xapantu@gmail.com>
2441- 2011-2012 Jaap Broekhuizen <jaapz.b@gmail.com>
2442- 2012 Victor Martinez <victor@elementaryos.org>
2443- 2012 Tom Beckmann <tom@elementaryos.org>
2444- 2013 Julien Spautz <spautz.julien@gmail.com>
2445- 2014 Niclas Lockner <niclaslockner@gmail.com>
2446-License: LGPL-3.0+
2447-
2448-
2449-Files: lib/Widgets/ContractorView.vala
2450-Copyright: 2012 Tom Beckmann <tom@elementaryos.org>
2451-License: LGPL-3.0+
2452-
2453-
2454-Files: lib/Services/ContractorProxy.vala
2455-Copyright: 2011 Lucas Baudin <xapantu@gmail.com>
2456- 2012 Victor Martinez <victor@elementaryos.org>
2457- 2012-2014 Sergey "Shnatsel" Davidoff <sergey@elementaryos.org>
2458-License: LGPL-3.0+
2459-
2460-
2461-Files: lib/Widgets/Welcome.vala
2462-Copyright: 2011 Maxwell Barvian <maxwell@elementaryos.org>
2463- 2012 Victor Martinez <victor@elementaryos.org>
2464- 2011-2012 Lucas Baudin <xapantu@gmail.com>
2465-License: LGPL-3.0+
2466-
2467-
2468-Files: lib/Widgets/widgets-utils.c lib/GtkPatch/gtkpatch-utils.c
2469-Copyright: 2001 CodeFactory AB
2470- 2001-2002 Anders Carlsson
2471- 2003-2004 Matthias Clasen <mclasen@redhat.com>
2472-License: LGPL-2.0+
2473-
2474-
2475-Files: cmake/FindGObjectIntrospection.cmake
2476-Copyright: 2010, Pino Toscano, <pino@kde.org>
2477-License: 3-clause BSD
2478-
2479-
2480-Files: cmake/ParseArguments.cmake
2481-Copyright: 2000-2009 Kitware, Inc., Insight Software Consortium
2482-License: 2-clause BSD
2483-
2484-
2485-Files: cmake/FindVala.cmake
2486- cmake/ValaPrecompile.cmake
2487- cmake/ValaVersion.cmake
2488- cmake/README.Vala.rst
2489-Copyright: 2009-2010 Jakob Westhoff
2490-License: 2-clause BSD
2491-
2492+Copyright: 2014 Canonical Ltd
2493+ <years> <likewise for another author>
2494+Copyright: 2010 OpenStack LLC
2495+Copyright: Others (See individual files for more details)
2496+ Licensed under the Apache License, Version 2.0 (the "License");
2497+ you may not use this file except in compliance with the License.
2498+ You may obtain a copy of the License at
2499+ .
2500+ http://www.apache.org/licenses/LICENSE-2.0
2501+ .
2502+ Unless required by applicable law or agreed to in writing, software
2503+ distributed under the License is distributed on an "AS IS" BASIS,
2504+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2505+ See the License for the specific language governing permissions and
2506+ limitations under the License.
2507+ .
2508+ On Debian-based systems the full text of the Apache version 2.0 license
2509+ can be found in `/usr/share/common-licenses/Apache-2.0'.
2510
2511 Files: debian/*
2512-Copyright: 2011-2014 Rico Tzschichholz <ricotz@ubuntu.com>
2513- 2011-2012 Lucas Baudin <xapantu@gmail.com>
2514- 2012 Devid Antonio Filoni <d.filoni@ubuntu.com>
2515- 2012-2014 Sergey "Shnatsel" Davidoff <sergey@elementaryos.org>
2516- 2014 Corentin Noël <corentin@elementaryos.org>
2517-License: GPL-3.0+
2518-
2519-
2520-License: GPL-3.0+
2521- This program is free software: you can redistribute it and/or modify
2522- it under the terms of the GNU General Public License as published by
2523- the Free Software Foundation, either version 3 of the License, or
2524- (at your option) any later version.
2525- .
2526- This package is distributed in the hope that it will be useful,
2527- but WITHOUT ANY WARRANTY; without even the implied warranty of
2528- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2529- GNU General Public License for more details.
2530- .
2531- You should have received a copy of the GNU General Public License
2532- along with this program. If not, see <http://www.gnu.org/licenses/>.
2533- .
2534- On Debian systems, the complete text of the GNU General
2535- Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
2536-
2537-
2538-License: LGPL-2.0+
2539- This package is free software; you can redistribute it and/or
2540- modify it under the terms of the GNU Lesser General Public
2541- License as published by the Free Software Foundation; version 2
2542- of the License, or (at your option) any later version.
2543- .
2544- This package is distributed in the hope that it will be useful,
2545- but WITHOUT ANY WARRANTY; without even the implied warranty of
2546- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2547- Lesser General Public License for more details.
2548- .
2549- You should have received a copy of the GNU General Public License
2550- along with this program. If not, see <http://www.gnu.org/licenses/>.
2551- .
2552- On Debian systems, the complete text of the GNU Lesser General
2553- Public License 2 can be found in "/usr/share/common-licenses/LGPL-2".
2554-
2555-
2556-License: LGPL-3.0+
2557- This package is free software: you can redistribute it and/or modify it
2558- under the terms of the GNU Lesser General Public License as published by the
2559- Free Software Foundation, either version 3 of the License, or (at your option)
2560- any later version.
2561- .
2562- lazr.restfulclient is distributed in the hope that it will be useful, but
2563- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2564- FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
2565- for more details.
2566- .
2567- On Debian systems the complete text of the LGPL, version 3, can be found at
2568- /usr/share/common-licenses/LGPL-3.
2569-
2570-
2571-License: 3-clause BSD
2572- Redistribution and use in source and binary forms, with or without
2573- modification, are permitted provided that the following conditions
2574- are met:
2575- .
2576- 1. Redistributions of source code must retain the copyright
2577- notice, this list of conditions and the following disclaimer.
2578- 2. Redistributions in binary form must reproduce the copyright
2579- notice, this list of conditions and the following disclaimer in the
2580- documentation and/or other materials provided with the distribution.
2581- 3. The name of the author may not be used to endorse or promote products
2582- derived from this software without specific prior written permission.
2583- .
2584- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
2585- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
2586- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
2587- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
2588- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2589- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2590- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2591- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2592- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2593- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2594-
2595-License: 2-clause BSD
2596- Redistribution and use in source and binary forms, with or without
2597- modification, are permitted provided that the following conditions are met:
2598- .
2599- 1. Redistributions of source code must retain the above copyright notice, this
2600- list of conditions and the following disclaimer.
2601- 2. Redistributions in binary form must reproduce the above copyright notice,
2602- this list of conditions and the following disclaimer in the documentation
2603- and/or other materials provided with the distribution.
2604- .
2605- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
2606- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
2607- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2608- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
2609- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2610- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
2611- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
2612- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2613- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
2614- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2615+Copyright: 20124 Canonical Ltd
2616+License: Apache-2
2617+ Licensed under the Apache License, Version 2.0 (the "License");
2618+ you may not use this file except in compliance with the License.
2619+ You may obtain a copy of the License at
2620+ .
2621+ http://www.apache.org/licenses/LICENSE-2.0
2622+ .
2623+ Unless required by applicable law or agreed to in writing, software
2624+ distributed under the License is distributed on an "AS IS" BASIS,
2625+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2626+ See the License for the specific language governing permissions and
2627+ limitations under the License.
2628+ .
2629+ On Debian-based systems the full text of the Apache version 2.0 license
2630+ can be found in `/usr/share/common-licenses/Apache-2.0'.
2631
2632=== added file 'debian/docs'
2633--- debian/docs 1970-01-01 00:00:00 +0000
2634+++ debian/docs 2014-10-30 01:43:20 +0000
2635@@ -0,0 +1,3 @@
2636+README.rst
2637+requirements.txt
2638+test-requirements.txt
2639
2640=== renamed file 'debian/gir1.2-granite-1.0.install' => 'debian/gir1.2-granite-1.0.install.THIS'
2641=== removed file 'debian/granite-demo.1'
2642--- debian/granite-demo.1 2014-05-22 20:22:06 +0000
2643+++ debian/granite-demo.1 1970-01-01 00:00:00 +0000
2644@@ -1,14 +0,0 @@
2645-.TH granite-demo 1 "Jun 09, 2012"
2646-.SH NAME
2647-granite-demo \- small demo application to show Granite Widgets
2648-.PP
2649-\fBgranite-demo\fP is a small demo application to show Granite Widgets.
2650-Granite is an extension of GTK+. Among other things, it provides
2651-complex widgets and convenience functions designed for use in apps
2652-built for elementary OS.
2653-.SH AUTHOR
2654-granite was written by Maxwell Barvian <mbarvian@gmail.com>, Daniel Foré
2655-<bunny@go-docky.com>, Avi Romanoff <aviromanoff@gmail.com>.
2656-.PP
2657-This manual page was written by Devid Antonio Filoni <d.filoni@ubuntu.com>,
2658-for the Debian project (but may be used by others).
2659
2660=== removed file 'debian/granite-demo.install'
2661--- debian/granite-demo.install 2014-05-22 20:22:06 +0000
2662+++ debian/granite-demo.install 1970-01-01 00:00:00 +0000
2663@@ -1,1 +0,0 @@
2664-usr/bin/*
2665
2666=== removed file 'debian/granite-demo.manpages'
2667--- debian/granite-demo.manpages 2012-06-09 14:21:24 +0000
2668+++ debian/granite-demo.manpages 1970-01-01 00:00:00 +0000
2669@@ -1,1 +0,0 @@
2670-debian/granite-demo.1
2671\ No newline at end of file
2672
2673=== removed file 'debian/libgranite-common.install'
2674--- debian/libgranite-common.install 2014-05-22 20:22:06 +0000
2675+++ debian/libgranite-common.install 1970-01-01 00:00:00 +0000
2676@@ -1,2 +0,0 @@
2677-usr/share/icons/*
2678-usr/share/locale/*
2679
2680=== removed file 'debian/libgranite-dev.install'
2681--- debian/libgranite-dev.install 2014-05-22 20:22:06 +0000
2682+++ debian/libgranite-dev.install 1970-01-01 00:00:00 +0000
2683@@ -1,5 +0,0 @@
2684-usr/include/granite/*
2685-usr/lib/*/libgranite.so
2686-usr/lib/*/pkgconfig/*
2687-usr/share/gir-1.0/*
2688-usr/share/vala/vapi/*
2689\ No newline at end of file
2690
2691=== removed file 'debian/libgranite2.install'
2692--- debian/libgranite2.install 2014-05-22 20:22:06 +0000
2693+++ debian/libgranite2.install 1970-01-01 00:00:00 +0000
2694@@ -1,1 +0,0 @@
2695-usr/lib/*/libgranite.so.2*
2696\ No newline at end of file
2697
2698=== removed file 'debian/libgranite2.symbols'
2699--- debian/libgranite2.symbols 2014-05-22 20:22:06 +0000
2700+++ debian/libgranite2.symbols 1970-01-01 00:00:00 +0000
2701@@ -1,547 +0,0 @@
2702-libgranite.so.2 libgranite2 #MINVER#
2703- GRANITE_APPLICATION_options@Base 0.2.0
2704- get_close_pixbuf@Base 0.2.0
2705- granite_app@Base 0.2.0
2706- granite_application_ABOUT@Base 0.2.3
2707- granite_application_DEBUG@Base 0.2.0
2708- granite_application_construct@Base 0.2.0
2709- granite_application_create_appmenu@Base 0.2.0
2710- granite_application_get_type@Base 0.2.0
2711- granite_application_run@Base 0.2.0
2712- granite_application_set_options@Base 0.2.0
2713- granite_application_show_about@Base 0.2.0
2714- granite_close_button_position_get_type@Base 0.2.3
2715- granite_collapse_mode_get_type@Base 0.2.0
2716- granite_date_time_get_default_date_format@Base 0.3.0~
2717- granite_date_time_get_default_time_format@Base 0.3.0~
2718- granite_date_time_is_clock_format_12h@Base 0.3.0~
2719- granite_drawing_buffer_surface_average_color@Base 0.2.0
2720- granite_drawing_buffer_surface_clear@Base 0.2.0
2721- granite_drawing_buffer_surface_construct@Base 0.2.0
2722- granite_drawing_buffer_surface_construct_with_buffer_surface@Base 0.2.0
2723- granite_drawing_buffer_surface_construct_with_surface@Base 0.2.0
2724- granite_drawing_buffer_surface_exponential_blur@Base 0.2.0
2725- granite_drawing_buffer_surface_fast_blur@Base 0.2.0
2726- granite_drawing_buffer_surface_gaussian_blur@Base 0.2.0
2727- granite_drawing_buffer_surface_get_context@Base 0.2.0
2728- granite_drawing_buffer_surface_get_height@Base 0.2.0
2729- granite_drawing_buffer_surface_get_surface@Base 0.2.0
2730- granite_drawing_buffer_surface_get_type@Base 0.2.0
2731- granite_drawing_buffer_surface_get_width@Base 0.2.0
2732- granite_drawing_buffer_surface_load_to_pixbuf@Base 0.2.0
2733- granite_drawing_buffer_surface_new@Base 0.2.0
2734- granite_drawing_buffer_surface_new_with_buffer_surface@Base 0.2.0
2735- granite_drawing_buffer_surface_new_with_surface@Base 0.2.0
2736- granite_drawing_color_add_hue@Base 0.2.0
2737- granite_drawing_color_brighten_val@Base 0.2.0
2738- granite_drawing_color_construct@Base 0.2.0
2739- granite_drawing_color_construct_from_gdk@Base 0.2.0
2740- granite_drawing_color_darken_by_sat@Base 0.2.0
2741- granite_drawing_color_darken_val@Base 0.2.0
2742- granite_drawing_color_get_hue@Base 0.2.0
2743- granite_drawing_color_get_sat@Base 0.2.0
2744- granite_drawing_color_get_type@Base 0.2.0
2745- granite_drawing_color_get_val@Base 0.2.0
2746- granite_drawing_color_multiply_sat@Base 0.2.0
2747- granite_drawing_color_new@Base 0.2.0
2748- granite_drawing_color_new_from_gdk@Base 0.2.0
2749- granite_drawing_color_set_alpha@Base 0.2.0
2750- granite_drawing_color_set_hue@Base 0.2.0
2751- granite_drawing_color_set_max_sat@Base 0.2.0
2752- granite_drawing_color_set_max_val@Base 0.2.0
2753- granite_drawing_color_set_min_sat@Base 0.2.0
2754- granite_drawing_color_set_min_value@Base 0.2.0
2755- granite_drawing_color_set_sat@Base 0.2.0
2756- granite_drawing_color_set_val@Base 0.2.0
2757- granite_drawing_utilities_average_color@Base 0.2.0
2758- granite_drawing_utilities_cairo_rounded_rectangle@Base 0.2.0
2759- granite_drawing_utilities_construct@Base 0.2.0
2760- granite_drawing_utilities_get_type@Base 0.2.0
2761- granite_drawing_utilities_new@Base 0.2.0
2762- granite_gtk_patch_about_dialog_construct@Base 0.2.0
2763- granite_gtk_patch_about_dialog_get_artists@Base 0.2.0
2764- granite_gtk_patch_about_dialog_get_authors@Base 0.2.0
2765- granite_gtk_patch_about_dialog_get_comments@Base 0.2.0
2766- granite_gtk_patch_about_dialog_get_copyright@Base 0.2.0
2767- granite_gtk_patch_about_dialog_get_documenters@Base 0.2.0
2768- granite_gtk_patch_about_dialog_get_license@Base 0.2.0
2769- granite_gtk_patch_about_dialog_get_license_type@Base 0.2.0
2770- granite_gtk_patch_about_dialog_get_logo@Base 0.2.0
2771- granite_gtk_patch_about_dialog_get_logo_icon_name@Base 0.2.0
2772- granite_gtk_patch_about_dialog_get_program_name@Base 0.2.0
2773- granite_gtk_patch_about_dialog_get_translator_credits@Base 0.2.0
2774- granite_gtk_patch_about_dialog_get_type@Base 0.2.0
2775- granite_gtk_patch_about_dialog_get_version@Base 0.2.0
2776- granite_gtk_patch_about_dialog_get_website@Base 0.2.0
2777- granite_gtk_patch_about_dialog_get_website_label@Base 0.2.0
2778- granite_gtk_patch_about_dialog_new@Base 0.2.0
2779- granite_gtk_patch_about_dialog_set_artists@Base 0.2.0
2780- granite_gtk_patch_about_dialog_set_authors@Base 0.2.0
2781- granite_gtk_patch_about_dialog_set_comments@Base 0.2.0
2782- granite_gtk_patch_about_dialog_set_copyright@Base 0.2.0
2783- granite_gtk_patch_about_dialog_set_documenters@Base 0.2.0
2784- granite_gtk_patch_about_dialog_set_license@Base 0.2.0
2785- granite_gtk_patch_about_dialog_set_license_type@Base 0.2.0
2786- granite_gtk_patch_about_dialog_set_logo@Base 0.2.0
2787- granite_gtk_patch_about_dialog_set_logo_icon_name@Base 0.2.0
2788- granite_gtk_patch_about_dialog_set_program_name@Base 0.2.0
2789- granite_gtk_patch_about_dialog_set_translator_credits@Base 0.2.0
2790- granite_gtk_patch_about_dialog_set_version@Base 0.2.0
2791- granite_gtk_patch_about_dialog_set_website@Base 0.2.0
2792- granite_gtk_patch_about_dialog_set_website_label@Base 0.2.0
2793- granite_services_console_color_get_type@Base 0.2.0
2794- granite_services_contract_data_copy@Base 0.2.0
2795- granite_services_contract_data_destroy@Base 0.2.0
2796- granite_services_contract_data_dup@Base 0.2.0
2797- granite_services_contract_data_free@Base 0.2.0
2798- granite_services_contract_data_get_type@Base 0.2.0
2799- granite_services_contract_execute_with_file@Base 0.2.0
2800- granite_services_contract_execute_with_files@Base 0.2.0
2801- granite_services_contract_get_description@Base 0.2.0
2802- granite_services_contract_get_display_name@Base 0.2.0
2803- granite_services_contract_get_icon@Base 0.2.0
2804- granite_services_contract_get_type@Base 0.2.0
2805- granite_services_contractor_construct@Base 0.2.0
2806- granite_services_contractor_contractor@Base 0.2.0
2807- granite_services_contractor_dbus_GetServicesByLocation@Base 0.2.0
2808- granite_services_contractor_dbus_GetServicesByLocationsList@Base 0.2.0
2809- granite_services_contractor_dbus_api_execute_with_uri@Base 0.2.0
2810- granite_services_contractor_dbus_api_execute_with_uri_list@Base 0.2.0
2811- granite_services_contractor_dbus_api_get_contracts_by_mime@Base 0.2.0
2812- granite_services_contractor_dbus_api_get_contracts_by_mimelist@Base 0.2.0
2813- granite_services_contractor_dbus_api_get_type@Base 0.2.0
2814- granite_services_contractor_dbus_api_list_all_contracts@Base 0.2.0
2815- granite_services_contractor_dbus_api_proxy_get_type@Base 0.2.0
2816- granite_services_contractor_dbus_api_register_object@Base 0.2.0
2817- granite_services_contractor_dbus_get_type@Base 0.2.0
2818- granite_services_contractor_dbus_proxy_get_type@Base 0.2.0
2819- granite_services_contractor_dbus_register_object@Base 0.2.0
2820- granite_services_contractor_ensure@Base 0.2.0
2821- granite_services_contractor_error_quark@Base 0.2.0
2822- granite_services_contractor_get_contract@Base 0.2.0
2823- granite_services_contractor_get_selection_contracts@Base 0.2.0
2824- granite_services_contractor_get_type@Base 0.2.0
2825- granite_services_contractor_new@Base 0.2.0
2826- granite_services_contractor_proxy_get_all_contracts@Base 0.2.0
2827- granite_services_contractor_proxy_get_contracts_by_mime@Base 0.2.0
2828- granite_services_contractor_proxy_get_contracts_by_mimelist@Base 0.2.0
2829- granite_services_contractor_proxy_get_contracts_for_file@Base 0.2.3
2830- granite_services_contractor_proxy_get_contracts_for_files@Base 0.2.3
2831- granite_services_contractor_proxy_get_instance@Base 0.2.0
2832- granite_services_contractor_proxy_get_type@Base 0.2.0
2833- granite_services_icon_factory@Base 0.2.0
2834- granite_services_icon_factory_construct@Base 0.2.0
2835- granite_services_icon_factory_get_default@Base 0.2.0
2836- granite_services_icon_factory_get_type@Base 0.2.0
2837- granite_services_icon_factory_load_symbolic_icon@Base 0.2.0
2838- granite_services_icon_factory_load_symbolic_icon_from_gicon@Base 0.2.0
2839- granite_services_icon_factory_new@Base 0.2.0
2840- granite_services_log_level_get_type@Base 0.2.0
2841- granite_services_logger_construct@Base 0.2.0
2842- granite_services_logger_get_DisplayLevel@Base 0.2.0
2843- granite_services_logger_get_type@Base 0.2.0
2844- granite_services_logger_initialize@Base 0.2.0
2845- granite_services_logger_new@Base 0.2.0
2846- granite_services_logger_notification@Base 0.2.0
2847- granite_services_logger_set_DisplayLevel@Base 0.2.0
2848- granite_services_paths_construct@Base 0.2.0
2849- granite_services_paths_ensure_directory_exists@Base 0.2.0
2850- granite_services_paths_get_data_folder@Base 0.2.0
2851- granite_services_paths_get_home_folder@Base 0.2.0
2852- granite_services_paths_get_type@Base 0.2.0
2853- granite_services_paths_get_user_cache_folder@Base 0.2.0
2854- granite_services_paths_get_user_config_folder@Base 0.2.0
2855- granite_services_paths_get_user_data_folder@Base 0.2.0
2856- granite_services_paths_get_xdg_cache_home_folder@Base 0.2.0
2857- granite_services_paths_get_xdg_config_home_folder@Base 0.2.0
2858- granite_services_paths_get_xdg_data_dir_folders@Base 0.2.0
2859- granite_services_paths_get_xdg_data_home_folder@Base 0.2.0
2860- granite_services_paths_initialize@Base 0.2.0
2861- granite_services_paths_new@Base 0.2.0
2862- granite_services_paths_set_data_folder@Base 0.2.0
2863- granite_services_paths_set_home_folder@Base 0.2.0
2864- granite_services_paths_set_user_cache_folder@Base 0.2.0
2865- granite_services_paths_set_user_config_folder@Base 0.2.0
2866- granite_services_paths_set_user_data_folder@Base 0.2.0
2867- granite_services_paths_set_xdg_cache_home_folder@Base 0.2.0
2868- granite_services_paths_set_xdg_config_home_folder@Base 0.2.0
2869- granite_services_paths_set_xdg_data_dir_folders@Base 0.2.0
2870- granite_services_paths_set_xdg_data_home_folder@Base 0.2.0
2871- granite_services_settings_construct@Base 0.2.0
2872- granite_services_settings_construct_with_backend@Base 0.2.0
2873- granite_services_settings_construct_with_backend_and_path@Base 0.2.0
2874- granite_services_settings_construct_with_path@Base 0.2.0
2875- granite_services_settings_get_schema@Base 0.2.0
2876- granite_services_settings_get_type@Base 0.2.0
2877- granite_services_settings_serializable_get_type@Base 0.2.0
2878- granite_services_settings_serializable_settings_deserialize@Base 0.2.0
2879- granite_services_settings_serializable_settings_serialize@Base 0.2.0
2880- granite_services_settings_verify@Base 0.2.0
2881- granite_services_simple_command_construct@Base 0.2.0
2882- granite_services_simple_command_get_type@Base 0.2.0
2883- granite_services_simple_command_new@Base 0.2.0
2884- granite_services_simple_command_run@Base 0.2.0
2885- granite_services_system_construct@Base 0.2.0
2886- granite_services_system_execute_command@Base 0.2.0
2887- granite_services_system_get_type@Base 0.2.0
2888- granite_services_system_launch@Base 0.2.0
2889- granite_services_system_launch_with_files@Base 0.2.0
2890- granite_services_system_new@Base 0.2.0
2891- granite_services_system_open@Base 0.2.0
2892- granite_services_system_open_files@Base 0.2.0
2893- granite_services_system_open_uri@Base 0.2.0
2894- granite_text_style_get_stylesheet@Base 0.2.0
2895- granite_text_style_get_type@Base 0.2.0
2896- granite_widgets_about_dialog_construct@Base 0.2.0
2897- granite_widgets_about_dialog_get_bug@Base 0.2.0
2898- granite_widgets_about_dialog_get_help@Base 0.2.0
2899- granite_widgets_about_dialog_get_translate@Base 0.2.0
2900- granite_widgets_about_dialog_get_type@Base 0.2.0
2901- granite_widgets_about_dialog_new@Base 0.2.0
2902- granite_widgets_about_dialog_set_bug@Base 0.2.0
2903- granite_widgets_about_dialog_set_help@Base 0.2.0
2904- granite_widgets_about_dialog_set_translate@Base 0.2.0
2905- granite_widgets_app_menu_add_items@Base 0.2.0
2906- granite_widgets_app_menu_construct@Base 0.2.0
2907- granite_widgets_app_menu_construct_with_app@Base 0.2.0
2908- granite_widgets_app_menu_construct_with_urls@Base 0.2.0
2909- granite_widgets_app_menu_get_type@Base 0.2.0
2910- granite_widgets_app_menu_new@Base 0.2.0
2911- granite_widgets_app_menu_new_with_app@Base 0.2.0
2912- granite_widgets_app_menu_new_with_urls@Base 0.2.0
2913- granite_widgets_cell_renderer_badge_construct@Base 0.2.0
2914- granite_widgets_cell_renderer_badge_get_text@Base 0.2.0
2915- granite_widgets_cell_renderer_badge_get_type@Base 0.2.0
2916- granite_widgets_cell_renderer_badge_new@Base 0.2.0
2917- granite_widgets_cell_renderer_badge_set_text@Base 0.2.0
2918- granite_widgets_cell_renderer_expander_construct@Base 0.2.0
2919- granite_widgets_cell_renderer_expander_get_arrow_size@Base 0.2.0
2920- granite_widgets_cell_renderer_expander_get_is_category_expander@Base 0.2.0
2921- granite_widgets_cell_renderer_expander_get_type@Base 0.2.0
2922- granite_widgets_cell_renderer_expander_new@Base 0.2.0
2923- granite_widgets_cell_renderer_expander_set_is_category_expander@Base 0.2.0
2924- granite_widgets_closed_tabs_construct@Base 0.2.3
2925- granite_widgets_closed_tabs_entry_copy@Base 0.3.0~
2926- granite_widgets_closed_tabs_entry_destroy@Base 0.3.0~
2927- granite_widgets_closed_tabs_entry_dup@Base 0.3.0~
2928- granite_widgets_closed_tabs_entry_free@Base 0.3.0~
2929- granite_widgets_closed_tabs_entry_get_type@Base 0.3.0~
2930- granite_widgets_closed_tabs_get_empty@Base 0.2.3
2931- granite_widgets_closed_tabs_get_max_restorable_tabs@Base 0.3.0~
2932- granite_widgets_closed_tabs_get_menu@Base 0.2.3
2933- granite_widgets_closed_tabs_get_type@Base 0.2.3
2934- granite_widgets_closed_tabs_new@Base 0.2.3
2935- granite_widgets_closed_tabs_pick@Base 0.2.3
2936- granite_widgets_closed_tabs_pop@Base 0.2.3
2937- granite_widgets_closed_tabs_push@Base 0.2.3
2938- granite_widgets_closed_tabs_set_max_restorable_tabs@Base 0.3.0~
2939- granite_widgets_collapsible_paned_construct@Base 0.2.0
2940- granite_widgets_collapsible_paned_get_collapse_mode@Base 0.2.0
2941- granite_widgets_collapsible_paned_get_type@Base 0.2.0
2942- granite_widgets_collapsible_paned_new@Base 0.2.0
2943- granite_widgets_collapsible_paned_set_collapse_mode@Base 0.2.0
2944- granite_widgets_composited_window_construct@Base 0.2.0
2945- granite_widgets_composited_window_get_type@Base 0.2.0
2946- granite_widgets_composited_window_new@Base 0.2.0
2947- granite_widgets_contractor_menu_add_item@Base 0.2.0
2948- granite_widgets_contractor_menu_construct@Base 0.2.0
2949- granite_widgets_contractor_menu_get_type@Base 0.2.0
2950- granite_widgets_contractor_menu_name_blacklist@Base 0.2.0
2951- granite_widgets_contractor_menu_new@Base 0.2.0
2952- granite_widgets_contractor_menu_update@Base 0.2.0
2953- granite_widgets_contractor_view_add_item@Base 0.2.0
2954- granite_widgets_contractor_view_construct@Base 0.2.0
2955- granite_widgets_contractor_view_get_selected@Base 0.2.0
2956- granite_widgets_contractor_view_get_type@Base 0.2.0
2957- granite_widgets_contractor_view_name_blacklist@Base 0.2.0
2958- granite_widgets_contractor_view_new@Base 0.2.0
2959- granite_widgets_contractor_view_run_selected@Base 0.2.0
2960- granite_widgets_contractor_view_set_selected@Base 0.2.0
2961- granite_widgets_date_picker_construct@Base 0.2.0
2962- granite_widgets_date_picker_construct_with_format@Base 0.2.0
2963- granite_widgets_date_picker_get_date@Base 0.2.0
2964- granite_widgets_date_picker_get_format@Base 0.2.0
2965- granite_widgets_date_picker_get_type@Base 0.2.0
2966- granite_widgets_date_picker_new@Base 0.2.0
2967- granite_widgets_date_picker_new_with_format@Base 0.2.0
2968- granite_widgets_date_picker_position_dropdown@Base 0.2.0
2969- granite_widgets_date_picker_set_date@Base 0.2.0
2970- granite_widgets_decorated_window_add@Base 0.2.0
2971- granite_widgets_decorated_window_construct@Base 0.2.0
2972- granite_widgets_decorated_window_get_box@Base 0.2.0
2973- granite_widgets_decorated_window_get_draw_ref@Base 0.2.0
2974- granite_widgets_decorated_window_get_show_title@Base 0.2.0
2975- granite_widgets_decorated_window_get_type@Base 0.2.0
2976- granite_widgets_decorated_window_new@Base 0.2.0
2977- granite_widgets_decorated_window_remove@Base 0.2.0
2978- granite_widgets_decorated_window_set_default_theming@Base 0.2.0
2979- granite_widgets_decorated_window_set_show_title@Base 0.2.0
2980- granite_widgets_dynamic_notebook_construct@Base 0.2.0
2981- granite_widgets_dynamic_notebook_get_add_button_tooltip@Base 0.2.3
2982- granite_widgets_dynamic_notebook_get_add_button_visible@Base 0.2.3
2983- granite_widgets_dynamic_notebook_get_allow_drag@Base 0.2.0
2984- granite_widgets_dynamic_notebook_get_allow_duplication@Base 0.2.0
2985- granite_widgets_dynamic_notebook_get_allow_new_window@Base 0.2.0
2986- granite_widgets_dynamic_notebook_get_allow_pinning@Base 0.2.3
2987- granite_widgets_dynamic_notebook_get_allow_restoring@Base 0.2.3
2988- granite_widgets_dynamic_notebook_get_children@Base 0.2.0
2989- granite_widgets_dynamic_notebook_get_current@Base 0.2.0
2990- granite_widgets_dynamic_notebook_get_force_left@Base 0.2.3
2991- granite_widgets_dynamic_notebook_get_group_name@Base 0.2.0
2992- granite_widgets_dynamic_notebook_get_max_restorable_tabs@Base 0.3.0~
2993- granite_widgets_dynamic_notebook_get_menu@Base 0.2.0
2994- granite_widgets_dynamic_notebook_get_n_tabs@Base 0.2.0
2995- granite_widgets_dynamic_notebook_get_nth_page@Base 0.2.0
2996- granite_widgets_dynamic_notebook_get_show_icons@Base 0.2.0
2997- granite_widgets_dynamic_notebook_get_show_tabs@Base 0.2.0
2998- granite_widgets_dynamic_notebook_get_tab_bar_behavior@Base 0.3.0~
2999- granite_widgets_dynamic_notebook_get_tab_by_index@Base 0.2.0
3000- granite_widgets_dynamic_notebook_get_tab_by_widget@Base 0.2.0
3001- granite_widgets_dynamic_notebook_get_tab_position@Base 0.2.0
3002- granite_widgets_dynamic_notebook_get_tabs@Base 0.2.0
3003- granite_widgets_dynamic_notebook_get_tabs_closable@Base 0.2.0
3004- granite_widgets_dynamic_notebook_get_type@Base 0.2.0
3005- granite_widgets_dynamic_notebook_insert_tab@Base 0.2.0
3006- granite_widgets_dynamic_notebook_new@Base 0.2.0
3007- granite_widgets_dynamic_notebook_next_page@Base 0.2.0
3008- granite_widgets_dynamic_notebook_previous_page@Base 0.2.0
3009- granite_widgets_dynamic_notebook_remove_tab@Base 0.2.0
3010- granite_widgets_dynamic_notebook_set_add_button_tooltip@Base 0.2.3
3011- granite_widgets_dynamic_notebook_set_add_button_visible@Base 0.2.3
3012- granite_widgets_dynamic_notebook_set_allow_drag@Base 0.2.0
3013- granite_widgets_dynamic_notebook_set_allow_duplication@Base 0.2.0
3014- granite_widgets_dynamic_notebook_set_allow_new_window@Base 0.2.0
3015- granite_widgets_dynamic_notebook_set_allow_pinning@Base 0.2.3
3016- granite_widgets_dynamic_notebook_set_allow_restoring@Base 0.2.3
3017- granite_widgets_dynamic_notebook_set_current@Base 0.2.0
3018- granite_widgets_dynamic_notebook_set_force_left@Base 0.2.3
3019- granite_widgets_dynamic_notebook_set_group_name@Base 0.2.0
3020- granite_widgets_dynamic_notebook_set_max_restorable_tabs@Base 0.3.0~
3021- granite_widgets_dynamic_notebook_set_show_icons@Base 0.2.0
3022- granite_widgets_dynamic_notebook_set_show_tabs@Base 0.2.0
3023- granite_widgets_dynamic_notebook_set_tab_bar_behavior@Base 0.3.0~
3024- granite_widgets_dynamic_notebook_set_tab_position@Base 0.2.0
3025- granite_widgets_dynamic_notebook_set_tabs_closable@Base 0.2.0
3026- granite_widgets_dynamic_notebook_tab_bar_behavior_get_type@Base 0.3.0~
3027- granite_widgets_hcollapsable_paned_construct@Base 0.2.0
3028- granite_widgets_hcollapsable_paned_get_type@Base 0.2.0
3029- granite_widgets_hcollapsable_paned_new@Base 0.2.0
3030- granite_widgets_hinted_entry_construct@Base 0.2.0
3031- granite_widgets_hinted_entry_get_has_clear_icon@Base 0.2.0
3032- granite_widgets_hinted_entry_get_hint_string@Base 0.2.0
3033- granite_widgets_hinted_entry_get_text@Base 0.2.0
3034- granite_widgets_hinted_entry_get_type@Base 0.2.0
3035- granite_widgets_hinted_entry_hint@Base 0.2.0
3036- granite_widgets_hinted_entry_new@Base 0.2.0
3037- granite_widgets_hinted_entry_set_has_clear_icon@Base 0.2.0
3038- granite_widgets_hinted_entry_set_hint_string@Base 0.2.0
3039- granite_widgets_hinted_entry_set_text@Base 0.2.0
3040- granite_widgets_hinted_entry_unhint@Base 0.2.0
3041- granite_widgets_light_window_construct@Base 0.2.0
3042- granite_widgets_light_window_get_type@Base 0.2.0
3043- granite_widgets_light_window_new@Base 0.2.0
3044- granite_widgets_mode_button_append@Base 0.2.0
3045- granite_widgets_mode_button_append_icon@Base 0.2.0
3046- granite_widgets_mode_button_append_pixbuf@Base 0.2.0
3047- granite_widgets_mode_button_append_text@Base 0.2.0
3048- granite_widgets_mode_button_clear_children@Base 0.2.0
3049- granite_widgets_mode_button_construct@Base 0.2.0
3050- granite_widgets_mode_button_get_n_items@Base 0.2.0
3051- granite_widgets_mode_button_get_selected@Base 0.2.0
3052- granite_widgets_mode_button_get_type@Base 0.2.0
3053- granite_widgets_mode_button_new@Base 0.2.0
3054- granite_widgets_mode_button_remove@Base 0.2.0
3055- granite_widgets_mode_button_set_active@Base 0.2.0
3056- granite_widgets_mode_button_set_item_visible@Base 0.2.0
3057- granite_widgets_mode_button_set_selected@Base 0.2.0
3058- granite_widgets_overlay_bar_construct@Base 0.2.3
3059- granite_widgets_overlay_bar_get_status@Base 0.2.3
3060- granite_widgets_overlay_bar_get_type@Base 0.2.3
3061- granite_widgets_overlay_bar_new@Base 0.2.3
3062- granite_widgets_overlay_bar_set_status@Base 0.2.3
3063- granite_widgets_pop_over_cairo_popover@Base 0.2.0
3064- granite_widgets_pop_over_construct@Base 0.2.0
3065- granite_widgets_pop_over_get_type@Base 0.2.0
3066- granite_widgets_pop_over_move_to_coords@Base 0.2.0
3067- granite_widgets_pop_over_move_to_rect@Base 0.2.0
3068- granite_widgets_pop_over_move_to_widget@Base 0.2.0
3069- granite_widgets_pop_over_move_to_window@Base 0.2.0
3070- granite_widgets_pop_over_new@Base 0.2.0
3071- granite_widgets_pop_over_pop_position_get_type@Base 0.2.0
3072- granite_widgets_pop_over_reset_buffers@Base 0.2.0
3073- granite_widgets_pop_over_set_parent_pop@Base 0.2.0
3074- granite_widgets_search_bar_construct@Base 0.2.0
3075- granite_widgets_search_bar_get_pause_delay@Base 0.2.0
3076- granite_widgets_search_bar_get_type@Base 0.2.0
3077- granite_widgets_search_bar_new@Base 0.2.0
3078- granite_widgets_search_bar_set_pause_delay@Base 0.2.0
3079- granite_widgets_show_about_dialog@Base 0.2.0
3080- granite_widgets_sidebar_paned_construct@Base 0.2.0
3081- granite_widgets_sidebar_paned_get_type@Base 0.2.0
3082- granite_widgets_sidebar_paned_new@Base 0.2.0
3083- granite_widgets_source_list_construct@Base 0.2.0
3084- granite_widgets_source_list_expandable_item_add@Base 0.2.0
3085- granite_widgets_source_list_expandable_item_clear@Base 0.2.0
3086- granite_widgets_source_list_expandable_item_collapse_all@Base 0.2.0
3087- granite_widgets_source_list_expandable_item_collapse_with_parents@Base 0.2.0
3088- granite_widgets_source_list_expandable_item_compare@Base 0.2.3
3089- granite_widgets_source_list_expandable_item_construct@Base 0.2.0
3090- granite_widgets_source_list_expandable_item_contains@Base 0.2.0
3091- granite_widgets_source_list_expandable_item_expand_all@Base 0.2.0
3092- granite_widgets_source_list_expandable_item_expand_with_parents@Base 0.2.0
3093- granite_widgets_source_list_expandable_item_get_children@Base 0.2.0
3094- granite_widgets_source_list_expandable_item_get_collapsible@Base 0.2.0
3095- granite_widgets_source_list_expandable_item_get_expanded@Base 0.2.0
3096- granite_widgets_source_list_expandable_item_get_n_children@Base 0.2.0
3097- granite_widgets_source_list_expandable_item_get_type@Base 0.2.0
3098- granite_widgets_source_list_expandable_item_new@Base 0.2.0
3099- granite_widgets_source_list_expandable_item_remove@Base 0.2.0
3100- granite_widgets_source_list_expandable_item_set_collapsible@Base 0.2.0
3101- granite_widgets_source_list_expandable_item_set_expanded@Base 0.2.0
3102- granite_widgets_source_list_get_editing@Base 0.2.0
3103- granite_widgets_source_list_get_ellipsize_mode@Base 0.2.0
3104- granite_widgets_source_list_get_first_child@Base 0.2.0
3105- granite_widgets_source_list_get_last_child@Base 0.2.0
3106- granite_widgets_source_list_get_n_visible_children@Base 0.2.0
3107- granite_widgets_source_list_get_next_item@Base 0.2.0
3108- granite_widgets_source_list_get_previous_item@Base 0.2.0
3109- granite_widgets_source_list_get_root@Base 0.2.0
3110- granite_widgets_source_list_get_selected@Base 0.2.0
3111- granite_widgets_source_list_get_sort_direction@Base 0.2.0
3112- granite_widgets_source_list_get_type@Base 0.2.0
3113- granite_widgets_source_list_has_item@Base 0.2.0
3114- granite_widgets_source_list_is_item_expanded@Base 0.2.0
3115- granite_widgets_source_list_item_construct@Base 0.2.0
3116- granite_widgets_source_list_item_get_activatable@Base 0.2.0
3117- granite_widgets_source_list_item_get_badge@Base 0.2.0
3118- granite_widgets_source_list_item_get_context_menu@Base 0.2.0
3119- granite_widgets_source_list_item_get_editable@Base 0.2.0
3120- granite_widgets_source_list_item_get_icon@Base 0.2.0
3121- granite_widgets_source_list_item_get_name@Base 0.2.0
3122- granite_widgets_source_list_item_get_parent@Base 0.2.0
3123- granite_widgets_source_list_item_get_selectable@Base 0.2.0
3124- granite_widgets_source_list_item_get_type@Base 0.2.0
3125- granite_widgets_source_list_item_get_visible@Base 0.2.0
3126- granite_widgets_source_list_item_new@Base 0.2.0
3127- granite_widgets_source_list_item_set_activatable@Base 0.2.0
3128- granite_widgets_source_list_item_set_badge@Base 0.2.0
3129- granite_widgets_source_list_item_set_editable@Base 0.2.0
3130- granite_widgets_source_list_item_set_icon@Base 0.2.0
3131- granite_widgets_source_list_item_set_name@Base 0.2.0
3132- granite_widgets_source_list_item_set_parent@Base 0.2.0
3133- granite_widgets_source_list_item_set_selectable@Base 0.2.0
3134- granite_widgets_source_list_item_set_visible@Base 0.2.0
3135- granite_widgets_source_list_new@Base 0.2.0
3136- granite_widgets_source_list_refilter@Base 0.2.0
3137- granite_widgets_source_list_scroll_to_item@Base 0.2.0
3138- granite_widgets_source_list_set_ellipsize_mode@Base 0.2.0
3139- granite_widgets_source_list_set_filter_func@Base 0.2.0
3140- granite_widgets_source_list_set_root@Base 0.2.3
3141- granite_widgets_source_list_set_selected@Base 0.2.0
3142- granite_widgets_source_list_set_sort_direction@Base 0.2.0
3143- granite_widgets_source_list_set_sort_func@Base 0.2.0
3144- granite_widgets_source_list_start_editing_item@Base 0.2.0
3145- granite_widgets_source_list_stop_editing@Base 0.2.0
3146- granite_widgets_static_notebook_append_page@Base 0.2.0
3147- granite_widgets_static_notebook_construct@Base 0.2.0
3148- granite_widgets_static_notebook_get_page@Base 0.2.0
3149- granite_widgets_static_notebook_get_type@Base 0.2.0
3150- granite_widgets_static_notebook_new@Base 0.2.0
3151- granite_widgets_static_notebook_remove_page@Base 0.2.0
3152- granite_widgets_static_notebook_set_page@Base 0.2.0
3153- granite_widgets_static_notebook_set_switcher_visible@Base 0.2.0
3154- granite_widgets_status_bar_construct@Base 0.2.0
3155- granite_widgets_status_bar_get_type@Base 0.2.0
3156- granite_widgets_status_bar_insert_widget@Base 0.2.0
3157- granite_widgets_status_bar_new@Base 0.2.0
3158- granite_widgets_status_bar_set_text@Base 0.2.0
3159- granite_widgets_tab_close@Base 0.3.0~
3160- granite_widgets_tab_construct@Base 0.2.0
3161- granite_widgets_tab_fix_button_theming@Base 0.3.0~
3162- granite_widgets_tab_get_ellipsize_mode@Base 0.2.0
3163- granite_widgets_tab_get_fixed@Base 0.2.0
3164- granite_widgets_tab_get_icon@Base 0.2.0
3165- granite_widgets_tab_get_label@Base 0.2.0
3166- granite_widgets_tab_get_menu@Base 0.2.0
3167- granite_widgets_tab_get_page@Base 0.2.0
3168- granite_widgets_tab_get_pinnable@Base 0.2.3
3169- granite_widgets_tab_get_pinned@Base 0.2.3
3170- granite_widgets_tab_get_restore_data@Base 0.2.3
3171- granite_widgets_tab_get_type@Base 0.2.0
3172- granite_widgets_tab_get_working@Base 0.2.0
3173- granite_widgets_tab_new@Base 0.2.0
3174- granite_widgets_tab_page_container_construct@Base 0.2.3
3175- granite_widgets_tab_page_container_get_tab@Base 0.2.3
3176- granite_widgets_tab_page_container_get_type@Base 0.2.3
3177- granite_widgets_tab_page_container_new@Base 0.2.3
3178- granite_widgets_tab_set_closable@Base 0.3.0~
3179- granite_widgets_tab_set_ellipsize_mode@Base 0.2.0
3180- granite_widgets_tab_set_fixed@Base 0.2.0
3181- granite_widgets_tab_set_icon@Base 0.2.0
3182- granite_widgets_tab_set_is_current_tab@Base 0.3.0~
3183- granite_widgets_tab_set_label@Base 0.2.0
3184- granite_widgets_tab_set_menu@Base 0.2.0
3185- granite_widgets_tab_set_page@Base 0.2.0
3186- granite_widgets_tab_set_pinnable@Base 0.2.3
3187- granite_widgets_tab_set_pinned@Base 0.2.3
3188- granite_widgets_tab_set_restore_data@Base 0.2.3
3189- granite_widgets_tab_set_working@Base 0.2.0
3190- granite_widgets_thin_paned_construct@Base 0.2.0
3191- granite_widgets_thin_paned_get_overlay_handle_window@Base 0.2.0
3192- granite_widgets_thin_paned_get_type@Base 0.2.0
3193- granite_widgets_thin_paned_new@Base 0.2.0
3194- granite_widgets_time_picker_construct@Base 0.2.0
3195- granite_widgets_time_picker_construct_with_format@Base 0.2.0
3196- granite_widgets_time_picker_get_format_12@Base 0.3.0~
3197- granite_widgets_time_picker_get_format_24@Base 0.3.0~
3198- granite_widgets_time_picker_get_time@Base 0.2.0
3199- granite_widgets_time_picker_get_type@Base 0.2.0
3200- granite_widgets_time_picker_new@Base 0.2.0
3201- granite_widgets_time_picker_new_with_format@Base 0.2.0
3202- granite_widgets_time_picker_position_dropdown@Base 0.3.0~
3203- granite_widgets_time_picker_set_time@Base 0.2.0
3204- granite_widgets_tool_button_with_menu_construct@Base 0.2.0
3205- granite_widgets_tool_button_with_menu_construct_from_action@Base 0.2.0
3206- granite_widgets_tool_button_with_menu_construct_from_stock@Base 0.2.0
3207- granite_widgets_tool_button_with_menu_get_fetcher@Base 0.2.0
3208- granite_widgets_tool_button_with_menu_get_horizontal_menu_position@Base 0.2.0
3209- granite_widgets_tool_button_with_menu_get_menu@Base 0.2.0
3210- granite_widgets_tool_button_with_menu_get_type@Base 0.2.0
3211- granite_widgets_tool_button_with_menu_get_vertical_menu_position@Base 0.2.0
3212- granite_widgets_tool_button_with_menu_hmenu_position_get_type@Base 0.2.0
3213- granite_widgets_tool_button_with_menu_new@Base 0.2.0
3214- granite_widgets_tool_button_with_menu_new_from_action@Base 0.2.0
3215- granite_widgets_tool_button_with_menu_new_from_stock@Base 0.2.0
3216- granite_widgets_tool_button_with_menu_popdown_menu@Base 0.2.0
3217- granite_widgets_tool_button_with_menu_popup_menu@Base 0.2.0
3218- granite_widgets_tool_button_with_menu_set_fetcher@Base 0.2.0
3219- granite_widgets_tool_button_with_menu_set_horizontal_menu_position@Base 0.2.0
3220- granite_widgets_tool_button_with_menu_set_menu@Base 0.2.0
3221- granite_widgets_tool_button_with_menu_set_vertical_menu_position@Base 0.2.0
3222- granite_widgets_tool_button_with_menu_vmenu_position_get_type@Base 0.2.0
3223- granite_widgets_utils_apply_text_style_to_label@Base 0.2.0
3224- granite_widgets_utils_get_button_layout_schema@Base 0.2.3
3225- granite_widgets_utils_get_css_provider@Base 0.2.0
3226- granite_widgets_utils_get_default_close_button_position@Base 0.2.3
3227- granite_widgets_utils_is_left_to_right@Base 0.2.0
3228- granite_widgets_utils_set_theming@Base 0.2.0
3229- granite_widgets_utils_set_theming_for_screen@Base 0.2.0
3230- granite_widgets_vcollapsable_paned_construct@Base 0.2.0
3231- granite_widgets_vcollapsable_paned_get_type@Base 0.2.0
3232- granite_widgets_vcollapsable_paned_new@Base 0.2.0
3233- granite_widgets_welcome_append@Base 0.2.0
3234- granite_widgets_welcome_append_with_image@Base 0.2.0
3235- granite_widgets_welcome_append_with_pixbuf@Base 0.2.0
3236- granite_widgets_welcome_construct@Base 0.2.0
3237- granite_widgets_welcome_get_subtitle@Base 0.2.0
3238- granite_widgets_welcome_get_title@Base 0.2.0
3239- granite_widgets_welcome_get_type@Base 0.2.0
3240- granite_widgets_welcome_new@Base 0.2.0
3241- granite_widgets_welcome_remove_item@Base 0.2.0
3242- granite_widgets_welcome_set_item_sensitivity@Base 0.2.0
3243- granite_widgets_welcome_set_item_visible@Base 0.2.0
3244- granite_widgets_welcome_set_subtitle@Base 0.2.0
3245- granite_widgets_welcome_set_title@Base 0.2.0
3246- granite_widgets_wrap_label_construct@Base 0.2.0
3247- granite_widgets_wrap_label_get_type@Base 0.2.0
3248- granite_widgets_wrap_label_new@Base 0.2.0
3249
3250=== modified file 'debian/rules'
3251--- debian/rules 2014-05-22 20:22:06 +0000
3252+++ debian/rules 2014-10-30 01:43:20 +0000
3253@@ -1,16 +1,10 @@
3254 #!/usr/bin/make -f
3255+# See debhelper(7) (uncomment to enable)
3256+# output every command that modifies files on the build system.
3257+#DH_VERBOSE = 1
3258
3259 %:
3260- dh $@ --parallel --with gir
3261-
3262-override_dh_builddeb:
3263- dh_builddeb -- -Zxz
3264-
3265-override_dh_install:
3266- dh_install --fail-missing
3267-
3268-override_dh_makeshlibs:
3269- dh_makeshlibs -- -c1
3270-
3271-override_dh_strip:
3272- dh_strip --dbg-package=libgranite2-dbg
3273+ dh $@ --with python2
3274+
3275+override_dh_auto_test:
3276+ testr init && testr run || true
3277
3278=== modified file 'debian/source/format'
3279--- debian/source/format 2014-05-22 20:22:06 +0000
3280+++ debian/source/format 2014-10-30 01:43:20 +0000
3281@@ -1,1 +1,1 @@
3282-3.0 (quilt)
3283\ No newline at end of file
3284+3.0 (quilt)
3285
3286=== removed file 'debian/watch'
3287--- debian/watch 2014-05-22 20:22:06 +0000
3288+++ debian/watch 1970-01-01 00:00:00 +0000
3289@@ -1,4 +0,0 @@
3290-version=3
3291-opts=dversionmangle=s/\+dfsg// \
3292-https://launchpad.net/granite/+download \
3293- https://launchpad.net/granite/.*/\+download/granite-(.*)\.ta?r?\.?gz
3294
3295=== removed directory 'demo'
3296=== removed file 'demo/CMakeLists.txt'
3297--- demo/CMakeLists.txt 2014-05-22 20:22:06 +0000
3298+++ demo/CMakeLists.txt 1970-01-01 00:00:00 +0000
3299@@ -1,24 +0,0 @@
3300-include_directories (${CMAKE_CURRENT_BINARY_DIR}/../lib)
3301-
3302-set (CMAKE_INCLUDE_CURRENT_DIR ON)
3303-set (CFLAGS ${DEPS_CFLAGS} ${DEPS_CFLAGS_OTHER} )
3304-set (LIB_PATHS ${DEPS_LIBRARY_DIRS})
3305-
3306-link_directories (${LIB_PATHS} ${CMAKE_CURRENT_BINARY_DIR}/../lib)
3307-add_definitions (${CFLAGS})
3308-
3309-set (EXEC_NAME ${PKG_NAME}-demo)
3310-
3311-vala_precompile (VALA_C ${EXEC_NAME}
3312- GraniteDemo.vala
3313-CUSTOM_VAPIS
3314- ${CMAKE_CURRENT_BINARY_DIR}/../lib/${PKG_NAME}.vapi
3315-PACKAGES
3316- ${PKG_DEPS}
3317-OPTIONS
3318- ${VALAC_OPTIONS}
3319-)
3320-
3321-add_executable (${EXEC_NAME} ${VALA_C})
3322-target_link_libraries (${EXEC_NAME} ${PKG_NAME} ${DEPS_LIBRARIES})
3323-install (TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin)
3324
3325=== removed file 'demo/GraniteDemo.vala'
3326--- demo/GraniteDemo.vala 2014-05-22 20:22:06 +0000
3327+++ demo/GraniteDemo.vala 1970-01-01 00:00:00 +0000
3328@@ -1,473 +0,0 @@
3329-/***
3330- Copyright (C) 2011-2013 Lucas Baudin <xapantu@gmail.com>,
3331- Jaap Broekhuizen <jaapz.b@gmail.com>,
3332- Victor Eduardo <victoreduardm@gmal.com>,
3333- Tom Beckmann <tom@elementaryos.org>
3334-
3335- This program or library is free software; you can redistribute it
3336- and/or modify it under the terms of the GNU Lesser General Public
3337- License as published by the Free Software Foundation; either
3338- version 3 of the License, or (at your option) any later version.
3339-
3340- This library is distributed in the hope that it will be useful,
3341- but WITHOUT ANY WARRANTY; without even the implied warranty of
3342- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3343- Lesser General Public License for more details.
3344-
3345- You should have received a copy of the GNU Lesser General
3346- Public License along with this library; if not, write to the
3347- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
3348- Boston, MA 02110-1301 USA.
3349-***/
3350-
3351-public class Granite.Demo : Granite.Application {
3352- /**
3353- * Small helper class for constructing labels a bit faster.
3354- */
3355- private class LLabel : Gtk.Label {
3356- public LLabel (string label) {
3357- this.label = label;
3358- halign = Gtk.Align.START;
3359- }
3360-
3361- public LLabel.indent (string label) {
3362- this.label = label;
3363- margin_left = 12;
3364- }
3365-
3366- public LLabel.markup (string label) {
3367- this.label = label;
3368- use_markup = true;
3369- }
3370-
3371- public LLabel.right (string label) {
3372- this.label = label;
3373- halign = Gtk.Align.END;
3374- }
3375-
3376- public LLabel.right_with_markup (string label) {
3377- this.label = label;
3378- halign = Gtk.Align.END;
3379- }
3380- }
3381-
3382- private class SourceListExpandableItem : Granite.Widgets.SourceList.ExpandableItem {
3383- public SourceListExpandableItem (string name) {
3384- base (name);
3385- }
3386-
3387- public override int compare (Granite.Widgets.SourceList.Item a,
3388- Granite.Widgets.SourceList.Item b)
3389- {
3390- return strcmp (a.name, b.name);
3391- }
3392- }
3393-
3394- /**
3395- * SourceList item. It stores the number of the corresponding page in the notebook widget.
3396- */
3397- private class SourceListItem : Granite.Widgets.SourceList.Item {
3398- public int page_num { get; set; default = -1; }
3399- private static Icon? themed_icon;
3400-
3401- public SourceListItem (string title) {
3402- base (title);
3403- editable = true;
3404-
3405- if (themed_icon == null)
3406- themed_icon = new ThemedIcon.with_default_fallbacks ("help-info-symbolic");
3407-
3408- icon = themed_icon;
3409- }
3410- }
3411-
3412- private Gtk.Grid main_layout; // outer-most container
3413- private Granite.Widgets.ModeButton mode_button;
3414- private int dark_mode_index;
3415-
3416- /**
3417- * Basic app information for Granite.Application. This is used by the About dialog.
3418- */
3419- construct {
3420- application_id = "org.pantheon.granite.demo";
3421- flags = ApplicationFlags.FLAGS_NONE;
3422-
3423- program_name = "Granite Demo";
3424- app_years = "2011 - 2013";
3425-
3426- build_version = "0.2.3";
3427- app_icon = "text-editor";
3428- main_url = "https://launchpad.net/granite";
3429- bug_url = "https://bugs.launchpad.net/granite";
3430- help_url = "https://answers.launchpad.net/granite";
3431- translate_url = "https://translations.launchpad.net/granite";
3432-
3433- about_documenters = { null };
3434- about_artists = { "Daniel P. Fore <daniel@elementaryos.org>" };
3435- about_authors = {
3436- "Maxwell Barvian <mbarvian@gmail.com>",
3437- "Daniel Foré <daniel@elementaryos.org>",
3438- "Avi Romanoff <aviromanoff@gmail.com>",
3439- "Lucas Baudin <xapantu@gmail.com>",
3440- "Victor Eduardo <victoreduardm@gmail.com>",
3441- "Tom Beckmann <tombeckmann@online.de>",
3442- };
3443-
3444- about_comments = "A demo of the Granite toolkit";
3445- about_translators = "Launchpad Translators";
3446- about_license_type = Gtk.License.GPL_3_0;
3447- }
3448-
3449- public override void activate () {
3450- var window = new Gtk.Window ();
3451- window.title = "Granite Demo";
3452- window.window_position = Gtk.WindowPosition.CENTER;
3453-
3454- this.add_window (window);
3455-
3456- var main_toolbar = new Gtk.Toolbar ();
3457- main_toolbar.get_style_context ().add_class (Gtk.STYLE_CLASS_PRIMARY_TOOLBAR);
3458- main_toolbar.hexpand = true;
3459- main_toolbar.vexpand = false;
3460-
3461- // SourceList
3462- var sidebar = new Granite.Widgets.SourceList ();
3463- sidebar.width_request = 200;
3464-
3465- var page_switcher = new Gtk.Notebook ();
3466- page_switcher.show_tabs = false;
3467- page_switcher.show_border = false;
3468- page_switcher.expand = true;
3469-
3470- sidebar.item_selected.connect ((item) => {
3471- var sidebar_item = item as SourceListItem;
3472- assert (sidebar_item != null);
3473- page_switcher.set_current_page (sidebar_item.page_num);
3474- });
3475-
3476- // Main sidebar categories
3477- var widgets_category = new SourceListExpandableItem ("Widgets");
3478- var services_category = new SourceListExpandableItem ("Services");
3479-
3480- // Add and expand categories
3481- sidebar.root.add (widgets_category);
3482- sidebar.root.add (services_category);
3483- sidebar.root.expand_all ();
3484-
3485- var sidebar_paned = new Granite.Widgets.ThinPaned ();
3486- sidebar_paned.pack1 (sidebar, true, false);
3487- sidebar_paned.pack2 (page_switcher, true, false);
3488- sidebar_paned.expand = true;
3489-
3490- // Statusbar
3491- var statusbar = new Granite.Widgets.StatusBar ();
3492- statusbar.set_text ("Granite.Widgets.StatusBar");
3493- statusbar.hexpand = true;
3494- statusbar.vexpand = false;
3495-
3496- // Main widget structure
3497- main_layout = new Gtk.Grid ();
3498- main_layout.expand = true;
3499- main_layout.orientation = Gtk.Orientation.VERTICAL;
3500- main_layout.add (main_toolbar);
3501- main_layout.add (sidebar_paned);
3502- main_layout.add (statusbar);
3503-
3504- window.add (main_layout);
3505-
3506- // Welcome widget
3507- var welcome_screen = create_welcome_screen ();
3508- var welcome_item = new SourceListItem ("Welcome");
3509- widgets_category.add (welcome_item);
3510- welcome_item.page_num = page_switcher.append_page (welcome_screen, null);
3511-
3512- // Select welcome widget
3513- sidebar.selected = welcome_item;
3514-
3515- // Light window
3516- var light_window_icon = new Gtk.Image.from_icon_name ("document-new", Gtk.IconSize.LARGE_TOOLBAR);
3517- var light_window_item = new Gtk.ToolButton (light_window_icon, "Show LightWindow");
3518- light_window_item.icon_name = "document-new";
3519- light_window_item.tooltip_text = "Show Light Window";
3520- light_window_item.halign = light_window_item.valign = Gtk.Align.CENTER;
3521- light_window_item.clicked.connect (show_light_window);
3522-
3523- main_toolbar.insert (light_window_item, -1);
3524-
3525- // StaticNotebook
3526- var staticnotebook = new Granite.Widgets.StaticNotebook ();
3527- var pageone = new Gtk.Label ("Page 1");
3528-
3529- staticnotebook.append_page (new Gtk.Label ("Page 1"), pageone);
3530- staticnotebook.append_page (get_overlay_bar_widget (), new Gtk.Label ("Overlay Bar"));
3531- staticnotebook.append_page (new Gtk.Label ("Page 3"), new Gtk.Label ("Page 3"));
3532-
3533- staticnotebook.page_changed.connect (() => {
3534- pageone.set_text ("Page changed");
3535- });
3536-
3537- var static_notebook_item = new SourceListItem ("StaticNotebook");
3538- static_notebook_item.page_num = page_switcher.append_page (staticnotebook, null);
3539- widgets_category.add (static_notebook_item);
3540-
3541- // ModeButton
3542- mode_button = new Granite.Widgets.ModeButton ();
3543- mode_button.valign = Gtk.Align.CENTER;
3544- mode_button.halign = Gtk.Align.CENTER;
3545-
3546- var normal_mode_index = mode_button.append (new Gtk.Label ("Light"));
3547- dark_mode_index = mode_button.append (new Gtk.Label ("Dark"));
3548-
3549- mode_button.selected = normal_mode_index;
3550-
3551- on_theme_mode_button_changed ();
3552-
3553- mode_button.mode_changed.connect (on_theme_mode_button_changed);
3554-
3555- var mode_button_item = new Gtk.ToolItem ();
3556- mode_button_item.add (mode_button);
3557- main_toolbar.insert (mode_button_item, -1);
3558-
3559- mode_button_item.halign = mode_button_item.valign = Gtk.Align.CENTER;
3560-
3561- // PopOvers
3562- var popover_statusbar_item = new Gtk.Button ();
3563- popover_statusbar_item.relief = Gtk.ReliefStyle.NONE;
3564- popover_statusbar_item.tooltip_text = "Show PopOver";
3565- popover_statusbar_item.add (new Gtk.Image.from_icon_name ("help-info-symbolic",
3566- Gtk.IconSize.MENU));
3567- statusbar.insert_widget (popover_statusbar_item);
3568-
3569- popover_statusbar_item.clicked.connect (() => {
3570- var pop = new Granite.Widgets.PopOver ();
3571-
3572- var pop_hbox = pop.get_content_area () as Gtk.Container;
3573- pop_hbox.add (new Granite.Widgets.HintedEntry ("This is an HintedEntry"));
3574- pop_hbox.add (new Gtk.Label ("Another label"));
3575-
3576- var mode_pop = new Granite.Widgets.ModeButton ();
3577- mode_pop.append (new Gtk.Label ("Mode 1"));
3578- mode_pop.append (new Gtk.Label ("Mode 2"));
3579- mode_pop.append (new Gtk.Label ("Mode 3"));
3580-
3581- pop_hbox.add (mode_pop);
3582- pop_hbox.add (new Granite.Widgets.DatePicker ());
3583-
3584- pop.set_parent_pop (window);
3585- pop.move_to_widget (popover_statusbar_item);
3586-
3587- pop.show_all ();
3588- pop.present ();
3589- pop.run ();
3590- pop.destroy ();
3591- });
3592-
3593- // Date widget
3594- var calendar_tool_item = new Gtk.ToolItem ();
3595- calendar_tool_item.margin_left = 12;
3596- var date_button = new Granite.Widgets.DatePicker.with_format ("%d-%m-%y");
3597- calendar_tool_item.add (date_button);
3598- main_toolbar.insert (calendar_tool_item, -1);
3599-
3600- // Time widget
3601- var time_tool_item = new Gtk.ToolItem ();
3602- time_tool_item.margin_left = 12;
3603- time_tool_item.valign = Gtk.Align.CENTER;
3604- var time_button = new Granite.Widgets.TimePicker ();
3605- time_tool_item.add (time_button);
3606- main_toolbar.insert (time_tool_item, -1);
3607-
3608- // Dynamic notebook
3609- var dynamic_notebook = create_dynamic_notebook ();
3610- var dynamic_notebook_item = new SourceListItem ("DynamicNotebook");
3611- widgets_category.add (dynamic_notebook_item);
3612- dynamic_notebook_item.page_num = page_switcher.append_page (dynamic_notebook, null);
3613-
3614- var right_sep = new Gtk.SeparatorToolItem ();
3615- right_sep.draw = false;
3616- right_sep.set_expand (true);
3617- main_toolbar.insert (right_sep, -1);
3618-
3619- // Search Entry
3620- var search_entry = new Granite.Widgets.SearchBar ("Search");
3621- var search_item = new Gtk.ToolItem ();
3622- search_item.add (search_entry);
3623- search_item.margin_left = 12;
3624- main_toolbar.insert (search_item, -1);
3625-
3626- // App Menu (this gives access to the About dialog)
3627- var main_menu = create_appmenu (new Gtk.Menu ());
3628- main_menu.margin_left = 12;
3629- main_toolbar.insert (main_menu, -1);
3630-
3631- window.set_default_size (800, 550);
3632- window.show_all ();
3633- }
3634-
3635- private void on_theme_mode_button_changed () {
3636- var settings = Gtk.Settings.get_default ();
3637- settings.gtk_application_prefer_dark_theme = (mode_button.selected == dark_mode_index);
3638- }
3639-
3640- private Granite.Widgets.Welcome create_welcome_screen () {
3641- var welcome = new Granite.Widgets.Welcome ("Granite's Welcome Screen",
3642- "This Is Granite's Welcome Widget.");
3643-
3644- Gdk.Pixbuf? pixbuf = null;
3645-
3646- try {
3647- pixbuf = Gtk.IconTheme.get_default ().load_icon ("document-new", 48,
3648- Gtk.IconLookupFlags.GENERIC_FALLBACK);
3649- } catch (Error e) {
3650- warning ("Could not load icon, %s", e.message);
3651- }
3652-
3653- Gtk.Image? image = new Gtk.Image.from_icon_name ("document-open", Gtk.IconSize.DIALOG);
3654-
3655- // Adding elements. Use the most convenient method to add an icon
3656- welcome.append_with_pixbuf (pixbuf, "Create", "Write a new document.");
3657- welcome.append_with_image (image, "Open", "Select a file.");
3658- welcome.append ("document-save", "Save", "With a much longer description.");
3659-
3660- return welcome;
3661- }
3662-
3663- private void show_light_window () {
3664- var light_window = new Granite.Widgets.LightWindow ();
3665-
3666- var light_window_notebook = new Granite.Widgets.StaticNotebook ();
3667- var entry = new Gtk.Entry ();
3668- var open_drop = new Gtk.ComboBoxText ();
3669- var open_lbl = new LLabel ("Alwas Open Mpeg Video Files with Audience");
3670-
3671- var grid = new Gtk.Grid ();
3672- grid.attach (new Gtk.Image.from_icon_name ("video-x-generic", Gtk.IconSize.DIALOG), 0, 0, 1, 2);
3673- grid.attach (entry, 1, 0, 1, 1);
3674- grid.attach (new LLabel ("1.13 GB, Mpeg Video File"), 1, 1, 1, 1);
3675-
3676- grid.attach (light_window_notebook, 0, 2, 2, 1);
3677-
3678- var general = new Gtk.Grid ();
3679- general.attach (new LLabel.markup ("<b>Info:</b>"), 0, 0, 2, 1);
3680-
3681- general.attach (new LLabel.right ("Created:"), 0, 1, 1, 1);
3682- general.attach (new LLabel.right ("Modified:"), 0, 2, 1, 1);
3683- general.attach (new LLabel.right ("Opened:"), 0, 3, 1, 1);
3684- general.attach (new LLabel.right ("Mimetype:"), 0, 4, 1, 1);
3685- general.attach (new LLabel.right ("Location:"), 0, 5, 1, 1);
3686-
3687- general.attach (new LLabel ("Today at 9:50 PM"), 1, 1, 1, 1);
3688- general.attach (new LLabel ("Today at 9:50 PM"), 1, 2, 1, 1);
3689- general.attach (new LLabel ("Today at 10:00 PM"), 1, 3, 1, 1);
3690- general.attach (new LLabel ("video/mpeg"), 1, 4, 1, 1);
3691- general.attach (new LLabel ("/home/daniel/Downloads"), 1, 5, 1, 1);
3692-
3693- general.attach (new LLabel.markup ("<b>Open with:</b>"), 0, 6, 2, 1);
3694- general.attach (open_drop, 0, 7, 2, 1);
3695- general.attach (open_lbl, 0, 8, 2, 1);
3696-
3697- light_window_notebook.append_page (general, new Gtk.Label ("General"));
3698- light_window_notebook.append_page (new Gtk.Label ("More"), new Gtk.Label ("More"));
3699- light_window_notebook.append_page (new Gtk.Label ("Sharing"), new Gtk.Label ("Sharing"));
3700-
3701- open_lbl.margin_left = 24;
3702- open_drop.margin_left = 12;
3703- open_drop.append ("audience", "Audience");
3704- open_drop.active = 0;
3705- grid.margin = 12;
3706- grid.margin_top = 24;
3707- grid.margin_bottom = 24;
3708- entry.text = "Cool Hand Luke";
3709- general.column_spacing = 6;
3710- general.row_spacing = 6;
3711-
3712- light_window.add (grid);
3713- light_window.show_all ();
3714- }
3715-
3716- private Granite.Widgets.DynamicNotebook create_dynamic_notebook () {
3717- int i = 3;
3718-
3719- var dynamic_notebook = new Granite.Widgets.DynamicNotebook ();
3720-
3721- dynamic_notebook.allow_duplication = true;
3722- dynamic_notebook.allow_restoring = true;
3723- dynamic_notebook.max_restorable_tabs = 5;
3724- dynamic_notebook.allow_pinning = true;
3725- dynamic_notebook.show_icons = true;
3726- dynamic_notebook.add_button_tooltip = "New user tab";
3727-
3728- var tab = new Granite.Widgets.Tab ("user1@elementaryos: ~",
3729- new ThemedIcon ("empty"),
3730- new Gtk.Label ("Page 1"));
3731- tab.restore_data = "1";
3732- tab.working = true;
3733- dynamic_notebook.insert_tab (tab, -1);
3734-
3735- var tab2 = new Granite.Widgets.Tab ("user2@elementaryos: ~",
3736- new ThemedIcon ("empty"),
3737- new Gtk.Label ("Page 2"));
3738- tab2.restore_data = "2";
3739- dynamic_notebook.insert_tab (tab2, -1);
3740-
3741- dynamic_notebook.new_tab_requested.connect (() => {
3742- var t = new Granite.Widgets.Tab (@"user$i@elementaryos: ~",
3743- new ThemedIcon ("empty"),
3744- new Gtk.Label (@"Page $i"));
3745- t.restore_data = i.to_string ();
3746- i++;
3747- dynamic_notebook.insert_tab (t, -1);
3748- });
3749-
3750- dynamic_notebook.tab_restored.connect ((label, data, icon) => {
3751- var t = new Granite.Widgets.Tab (label,
3752- icon,
3753- new Gtk.Label ("Page " + data));
3754- t.restore_data = data;
3755- dynamic_notebook.insert_tab (t, -1);
3756- print ("Restored tab %s\n", label);
3757- });
3758-
3759- dynamic_notebook.tab_duplicated.connect ((t) => {
3760- var num = t.restore_data;
3761- var t2 = new Granite.Widgets.Tab (@"user$num@elementaryos: ~",
3762- new ThemedIcon ("empty"),
3763- new Gtk.Label (@"Page $num"));
3764-
3765- t2.restore_data = t.restore_data;
3766- dynamic_notebook.insert_tab (t2, -1);
3767- print ("Duplicated tab %s\n", t2.label);
3768- });
3769-
3770- dynamic_notebook.tab_moved.connect ((t, p) => {
3771- print ("Moved tab %s to %i\n", t.label, p);
3772- });
3773-
3774- dynamic_notebook.tab_switched.connect ((old_t, new_t) => {
3775- print ("Switched from %s to %s\n", old_t.label, new_t.label);
3776- });
3777-
3778- dynamic_notebook.tab_removed.connect ((t) => {
3779- print ("Removed tab %s\n", t.label);
3780- });
3781-
3782- return dynamic_notebook;
3783- }
3784-
3785- private Gtk.Widget get_overlay_bar_widget () {
3786- // OverlayBar (inside StaticNotebook)
3787- var overlay = new Gtk.Overlay ();
3788- overlay.add (new Gtk.Label ("Try to touch the Overlay Bar!"));
3789-
3790- var overlay_bar = new Granite.Widgets.OverlayBar (overlay);
3791- overlay_bar.status = "Overlay Bar Example";
3792-
3793- return overlay;
3794- }
3795-
3796- public static int main (string[] args) {
3797- var application = new Granite.Demo ();
3798-
3799- return application.run (args);
3800- }
3801-}
3802
3803=== removed file 'doc/CMakeLists.txt'
3804--- doc/CMakeLists.txt 2014-05-22 20:22:06 +0000
3805+++ doc/CMakeLists.txt 1970-01-01 00:00:00 +0000
3806@@ -1,49 +0,0 @@
3807-# Serialize deps packages for valadoc
3808-foreach (pkg ${PKG_DEPS})
3809- list (APPEND VALADOC_PKG_OPTS "--pkg=${pkg}")
3810-endforeach ()
3811-
3812-# Source files to scan
3813-set (SRC_DIR "${CMAKE_SOURCE_DIR}/lib")
3814-set (SRC_FILES ${SRC_DIR}/*.vala ${SRC_DIR}/*/*.vala ${SRC_DIR}/*.vapi)
3815-
3816-set (BASE_VALADOC_COMMAND
3817- valadoc
3818- ${VALADOC_PKG_OPTS}
3819- ${SRC_FILES}
3820- --target-glib=2.32
3821- --package-name=${PKG_NAME}
3822- --package-version=${PKG_VERSION})
3823-
3824-#########################
3825-# C API Documentation
3826-#########################
3827-
3828-add_custom_target (cdocs)
3829-add_dependencies (cdocs ${PKG_NAME}) # we need the lib's C header file, and thus valac must run first
3830-
3831-set (C_API_DOC_DIR ${CMAKE_CURRENT_BINARY_DIR}/cdocs)
3832-
3833-add_custom_command (TARGET cdocs COMMAND rm ${C_API_DOC_DIR} -R -f) # delete previous files
3834-add_custom_command (TARGET cdocs COMMAND ${BASE_VALADOC_COMMAND} ${VALADOC_PKG_OPTS} -o ${C_API_DOC_DIR}
3835- --doclet-arg=${CMAKE_BINARY_DIR}/lib/${PKG_NAME}.h --doclet=gtkdoc)
3836-
3837-#########################
3838-# Vala API documentation
3839-#########################
3840-
3841-add_custom_target (valadocs)
3842-set (VALA_API_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/valadocs")
3843-
3844-add_custom_command (TARGET valadocs COMMAND rm ${CMAKE_CURRENT_BINARY_DIR}/images -R -f)
3845-add_custom_command (TARGET valadocs COMMAND cp ${CMAKE_SOURCE_DIR}/doc/images/ ${CMAKE_CURRENT_BINARY_DIR}/images -R)
3846-
3847-add_custom_command (TARGET valadocs COMMAND rm ${VALA_API_DOC_DIR} -R -f) # delete previous files
3848-add_custom_command (TARGET valadocs COMMAND ${BASE_VALADOC_COMMAND} --doclet=html -o ${VALA_API_DOC_DIR})
3849-
3850-#########################
3851-# All the documents
3852-#########################
3853-
3854-add_custom_target (docs)
3855-add_dependencies (docs cdocs valadocs)
3856
3857=== removed directory 'doc/images'
3858=== removed file 'doc/images/AboutDialog.png'
3859Binary files doc/images/AboutDialog.png 2014-05-22 20:22:06 +0000 and doc/images/AboutDialog.png 1970-01-01 00:00:00 +0000 differ
3860=== removed file 'doc/images/DynamicNotebook.png'
3861Binary files doc/images/DynamicNotebook.png 2014-05-22 20:22:06 +0000 and doc/images/DynamicNotebook.png 1970-01-01 00:00:00 +0000 differ
3862=== removed file 'doc/images/LightWindow.png'
3863Binary files doc/images/LightWindow.png 2014-05-22 20:22:06 +0000 and doc/images/LightWindow.png 1970-01-01 00:00:00 +0000 differ
3864=== removed file 'doc/images/ModeButton.png'
3865Binary files doc/images/ModeButton.png 2014-05-22 20:22:06 +0000 and doc/images/ModeButton.png 1970-01-01 00:00:00 +0000 differ
3866=== removed file 'doc/images/OverlayBar.png'
3867Binary files doc/images/OverlayBar.png 2014-05-22 20:22:06 +0000 and doc/images/OverlayBar.png 1970-01-01 00:00:00 +0000 differ
3868=== removed file 'doc/images/PopOver.png'
3869Binary files doc/images/PopOver.png 2014-05-22 20:22:06 +0000 and doc/images/PopOver.png 1970-01-01 00:00:00 +0000 differ
3870=== removed file 'doc/images/Welcome.png'
3871Binary files doc/images/Welcome.png 2014-05-22 20:22:06 +0000 and doc/images/Welcome.png 1970-01-01 00:00:00 +0000 differ
3872=== removed file 'doc/images/cellrendererbadge.png'
3873Binary files doc/images/cellrendererbadge.png 2014-05-22 20:22:06 +0000 and doc/images/cellrendererbadge.png 1970-01-01 00:00:00 +0000 differ
3874=== added directory 'doc/source'
3875=== added file 'doc/source/conf.py'
3876--- doc/source/conf.py 1970-01-01 00:00:00 +0000
3877+++ doc/source/conf.py 2014-10-30 01:43:20 +0000
3878@@ -0,0 +1,75 @@
3879+# -*- coding: utf-8 -*-
3880+# Licensed under the Apache License, Version 2.0 (the "License");
3881+# you may not use this file except in compliance with the License.
3882+# You may obtain a copy of the License at
3883+#
3884+# http://www.apache.org/licenses/LICENSE-2.0
3885+#
3886+# Unless required by applicable law or agreed to in writing, software
3887+# distributed under the License is distributed on an "AS IS" BASIS,
3888+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
3889+# implied.
3890+# See the License for the specific language governing permissions and
3891+# limitations under the License.
3892+
3893+import os
3894+import sys
3895+
3896+sys.path.insert(0, os.path.abspath('../..'))
3897+# -- General configuration ----------------------------------------------------
3898+
3899+# Add any Sphinx extension module names here, as strings. They can be
3900+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
3901+extensions = [
3902+ 'sphinx.ext.autodoc',
3903+ #'sphinx.ext.intersphinx',
3904+ 'oslosphinx'
3905+]
3906+
3907+# autodoc generation is a bit aggressive and a nuisance when doing heavy
3908+# text edit cycles.
3909+# execute "export SPHINX_DEBUG=1" in your terminal to disable
3910+
3911+# The suffix of source filenames.
3912+source_suffix = '.rst'
3913+
3914+# The master toctree document.
3915+master_doc = 'index'
3916+
3917+# General information about the project.
3918+project = u'granite'
3919+copyright = u'2013, OpenStack Foundation'
3920+
3921+# If true, '()' will be appended to :func: etc. cross-reference text.
3922+add_function_parentheses = True
3923+
3924+# If true, the current module name will be prepended to all description
3925+# unit titles (such as .. function::).
3926+add_module_names = True
3927+
3928+# The name of the Pygments (syntax highlighting) style to use.
3929+pygments_style = 'sphinx'
3930+
3931+# -- Options for HTML output --------------------------------------------------
3932+
3933+# The theme to use for HTML and HTML Help pages. Major themes that come with
3934+# Sphinx are currently 'default' and 'sphinxdoc'.
3935+# html_theme_path = ["."]
3936+# html_theme = '_theme'
3937+# html_static_path = ['static']
3938+
3939+# Output file base name for HTML help builder.
3940+htmlhelp_basename = '%sdoc' % project
3941+
3942+# Grouping the document tree into LaTeX files. List of tuples
3943+# (source start file, target name, title, author, documentclass
3944+# [howto/manual]).
3945+latex_documents = [
3946+ ('index',
3947+ '%s.tex' % project,
3948+ u'%s Documentation' % project,
3949+ u'OpenStack Foundation', 'manual'),
3950+]
3951+
3952+# Example configuration for intersphinx: refer to the Python standard library.
3953+#intersphinx_mapping = {'http://docs.python.org/': None}
3954\ No newline at end of file
3955
3956=== added file 'doc/source/contributing.rst'
3957--- doc/source/contributing.rst 1970-01-01 00:00:00 +0000
3958+++ doc/source/contributing.rst 2014-10-30 01:43:20 +0000
3959@@ -0,0 +1,4 @@
3960+============
3961+Contributing
3962+============
3963+.. include:: ../../CONTRIBUTING.rst
3964\ No newline at end of file
3965
3966=== added file 'doc/source/index.rst'
3967--- doc/source/index.rst 1970-01-01 00:00:00 +0000
3968+++ doc/source/index.rst 2014-10-30 01:43:20 +0000
3969@@ -0,0 +1,24 @@
3970+.. granite documentation master file, created by
3971+ sphinx-quickstart on Tue Jul 9 22:26:36 2013.
3972+ You can adapt this file completely to your liking, but it should at least
3973+ contain the root `toctree` directive.
3974+
3975+Welcome to granite's documentation!
3976+========================================================
3977+
3978+Contents:
3979+
3980+.. toctree::
3981+ :maxdepth: 2
3982+
3983+ readme
3984+ installation
3985+ usage
3986+ contributing
3987+
3988+Indices and tables
3989+==================
3990+
3991+* :ref:`genindex`
3992+* :ref:`modindex`
3993+* :ref:`search`
3994
3995=== added file 'doc/source/installation.rst'
3996--- doc/source/installation.rst 1970-01-01 00:00:00 +0000
3997+++ doc/source/installation.rst 2014-10-30 01:43:20 +0000
3998@@ -0,0 +1,12 @@
3999+============
4000+Installation
4001+============
4002+
4003+At the command line::
4004+
4005+ $ pip install granite
4006+
4007+Or, if you have virtualenvwrapper installed::
4008+
4009+ $ mkvirtualenv granite
4010+ $ pip install granite
4011\ No newline at end of file
4012
4013=== added file 'doc/source/readme.rst'
4014--- doc/source/readme.rst 1970-01-01 00:00:00 +0000
4015+++ doc/source/readme.rst 2014-10-30 01:43:20 +0000
4016@@ -0,0 +1,1 @@
4017+.. include:: ../../README.rst
4018\ No newline at end of file
4019
4020=== added file 'doc/source/usage.rst'
4021--- doc/source/usage.rst 1970-01-01 00:00:00 +0000
4022+++ doc/source/usage.rst 2014-10-30 01:43:20 +0000
4023@@ -0,0 +1,7 @@
4024+========
4025+Usage
4026+========
4027+
4028+To use granite in a project::
4029+
4030+ import granite
4031\ No newline at end of file
4032
4033=== added directory 'etc'
4034=== added directory 'etc/granite'
4035=== added directory 'etc/granite/rootwrap.d'
4036=== added file 'etc/granite/rootwrap.d/granite.filters'
4037--- etc/granite/rootwrap.d/granite.filters 1970-01-01 00:00:00 +0000
4038+++ etc/granite/rootwrap.d/granite.filters 2014-10-30 01:43:20 +0000
4039@@ -0,0 +1,7 @@
4040+# nova-rootwrap filters for compute nodes running granite
4041+# This file should be owned by (and only-writable by) the root user
4042+
4043+[filters]
4044+# granite/virt/lxc/containers.py:
4045+idmapshift: CommandFilter, idmapshift, root
4046+ln: CommandFilter, ln, root
4047
4048=== added directory 'granite'
4049=== added directory 'granite.egg-info'
4050=== added file 'granite.egg-info/PKG-INFO'
4051--- granite.egg-info/PKG-INFO 1970-01-01 00:00:00 +0000
4052+++ granite.egg-info/PKG-INFO 2014-10-30 01:43:20 +0000
4053@@ -0,0 +1,37 @@
4054+Metadata-Version: 1.1
4055+Name: granite
4056+Version: 2014.2.dev76.gff08e7a
4057+Summary: native lxc for openstack
4058+Home-page: http://www.openstack.org/
4059+Author: OpenStack
4060+Author-email: openstack-dev@lists.openstack.org
4061+License: UNKNOWN
4062+Description: ===============================
4063+ granite
4064+ ===============================
4065+
4066+ Unprivileged native lxc containers for openstack
4067+
4068+ * Free software: Apache license
4069+ * Documentation: http://docs.openstack.org/developer/granite
4070+ * Source: http://git.openstack.org/cgit/openstack/granite
4071+ * Bugs: http://bugs.launchpad.net/replace with the name of the project on launchpad
4072+
4073+ Features
4074+ --------
4075+
4076+ * TODO
4077+
4078+
4079+Platform: UNKNOWN
4080+Classifier: Environment :: OpenStack
4081+Classifier: Intended Audience :: Information Technology
4082+Classifier: Intended Audience :: System Administrators
4083+Classifier: License :: OSI Approved :: Apache Software License
4084+Classifier: Operating System :: POSIX :: Linux
4085+Classifier: Programming Language :: Python
4086+Classifier: Programming Language :: Python :: 2
4087+Classifier: Programming Language :: Python :: 2.7
4088+Classifier: Programming Language :: Python :: 2.6
4089+Classifier: Programming Language :: Python :: 3
4090+Classifier: Programming Language :: Python :: 3.3
4091
4092=== added file 'granite.egg-info/SOURCES.txt'
4093--- granite.egg-info/SOURCES.txt 1970-01-01 00:00:00 +0000
4094+++ granite.egg-info/SOURCES.txt 2014-10-30 01:43:20 +0000
4095@@ -0,0 +1,55 @@
4096+.coveragerc
4097+.mailmap
4098+.testr.conf
4099+AUTHORS
4100+CONTRIBUTING.rst
4101+ChangeLog
4102+HACKING.rst
4103+LICENSE
4104+MANIFEST.in
4105+README.rst
4106+babel.cfg
4107+openstack-common.conf
4108+requirements.txt
4109+setup.cfg
4110+setup.py
4111+test-requirements.txt
4112+tox.ini
4113+contrib/devstack/README.first
4114+contrib/devstack/prepare_devstack.sh
4115+contrib/devstack/extras.d/70-granite.sh
4116+contrib/devstack/lib/granite
4117+contrib/devstack/lib/nova_plugins/hypervisor-granite
4118+contrib/lxc/lxc-granite
4119+contrib/lxc/config/granite-common.conf
4120+contrib/lxc/config/granite-userns.conf
4121+doc/source/conf.py
4122+doc/source/contributing.rst
4123+doc/source/index.rst
4124+doc/source/installation.rst
4125+doc/source/readme.rst
4126+doc/source/usage.rst
4127+etc/granite/rootwrap.d/granite.filters
4128+granite/__init__.py
4129+granite.egg-info/PKG-INFO
4130+granite.egg-info/SOURCES.txt
4131+granite.egg-info/dependency_links.txt
4132+granite.egg-info/not-zip-safe
4133+granite.egg-info/requires.txt
4134+granite.egg-info/top_level.txt
4135+granite/tests/__init__.py
4136+granite/tests/test_driver.py
4137+granite/tests/test_hostops.py
4138+granite/tests/test_network.py
4139+granite/tests/test_volumes.py
4140+granite/virt/__init__.py
4141+granite/virt/lxc/__init__.py
4142+granite/virt/lxc/config.py
4143+granite/virt/lxc/containers.py
4144+granite/virt/lxc/driver.py
4145+granite/virt/lxc/host_utils.py
4146+granite/virt/lxc/hostops.py
4147+granite/virt/lxc/images.py
4148+granite/virt/lxc/utils.py
4149+granite/virt/lxc/vifs.py
4150+granite/virt/lxc/volumes.py
4151\ No newline at end of file
4152
4153=== added file 'granite.egg-info/dependency_links.txt'
4154--- granite.egg-info/dependency_links.txt 1970-01-01 00:00:00 +0000
4155+++ granite.egg-info/dependency_links.txt 2014-10-30 01:43:20 +0000
4156@@ -0,0 +1,1 @@
4157+
4158
4159=== added file 'granite.egg-info/not-zip-safe'
4160--- granite.egg-info/not-zip-safe 1970-01-01 00:00:00 +0000
4161+++ granite.egg-info/not-zip-safe 2014-10-30 01:43:20 +0000
4162@@ -0,0 +1,1 @@
4163+
4164
4165=== added file 'granite.egg-info/requires.txt'
4166--- granite.egg-info/requires.txt 1970-01-01 00:00:00 +0000
4167+++ granite.egg-info/requires.txt 2014-10-30 01:43:20 +0000
4168@@ -0,0 +1,4 @@
4169+pbr>=0.5.21,<1.0
4170+Babel>=0.9.6
4171+psutil
4172+oslo.config
4173
4174=== added file 'granite.egg-info/top_level.txt'
4175--- granite.egg-info/top_level.txt 1970-01-01 00:00:00 +0000
4176+++ granite.egg-info/top_level.txt 2014-10-30 01:43:20 +0000
4177@@ -0,0 +1,1 @@
4178+granite
4179
4180=== added file 'granite/__init__.py'
4181--- granite/__init__.py 1970-01-01 00:00:00 +0000
4182+++ granite/__init__.py 2014-10-30 01:43:20 +0000
4183@@ -0,0 +1,13 @@
4184+# -*- coding: utf-8 -*-
4185+
4186+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4187+# not use this file except in compliance with the License. You may obtain
4188+# a copy of the License at
4189+#
4190+# http://www.apache.org/licenses/LICENSE-2.0
4191+#
4192+# Unless required by applicable law or agreed to in writing, software
4193+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
4194+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
4195+# License for the specific language governing permissions and limitations
4196+# under the License.
4197
4198=== added directory 'granite/tests'
4199=== added file 'granite/tests/__init__.py'
4200--- granite/tests/__init__.py 1970-01-01 00:00:00 +0000
4201+++ granite/tests/__init__.py 2014-10-30 01:43:20 +0000
4202@@ -0,0 +1,14 @@
4203+# -*- coding: utf-8 -*-
4204+
4205+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4206+# not use this file except in compliance with the License. You may obtain
4207+# a copy of the License at
4208+#
4209+# http://www.apache.org/licenses/LICENSE-2.0
4210+#
4211+# Unless required by applicable law or agreed to in writing, software
4212+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
4213+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
4214+# License for the specific language governing permissions and limitations
4215+# under the License.
4216+
4217
4218=== added file 'granite/tests/test_driver.py'
4219--- granite/tests/test_driver.py 1970-01-01 00:00:00 +0000
4220+++ granite/tests/test_driver.py 2014-10-30 01:43:20 +0000
4221@@ -0,0 +1,84 @@
4222+import fixtures
4223+import mox
4224+
4225+from oslo.config import cfg
4226+
4227+from granite.virt.lxc import containers
4228+from granite.virt.lxc import driver as lxc_connection
4229+from granite.virt.lxc import images
4230+from nova.compute import flavors
4231+from nova.compute import power_state
4232+from nova import context
4233+from nova import db
4234+from nova import test
4235+
4236+CONF = cfg.CONF
4237+CONF.import_opt('instances_path', 'nova.compute.manager')
4238+
4239+class GraniteDriverTestCase(test.TestCase):
4240+ def setUp(self):
4241+ super(GraniteDriverTestCase, self).setUp()
4242+ self.flags(instances_path=self.useFixture(fixtures.TempDir()).path)
4243+ self.lxc_connection = lxc_connection.LXCDriver(None)
4244+
4245+ instance_type = db.flavor_get(context.get_admin_context(), 5)
4246+ sys_meta = flavors.save_flavor_info({}, instance_type)
4247+
4248+ self.instance = {
4249+ 'uuid': '32dfcb37-5af1-552b-357c-be8c3aa38310',
4250+ 'memory_kb': '1024000',
4251+ 'basepath': '/some/path',
4252+ 'bridge_name': 'br100',
4253+ 'vcpus': 2,
4254+ 'project_id': 'fake',
4255+ 'bridge': 'br101',
4256+ 'image_ref': '155d900f-4e14-4e4c-a73d-069cbf4541e6',
4257+ 'root_gb': 10,
4258+ 'ephemeral_gb': 20,
4259+ 'instance_type_id': '5', # m1.small
4260+ 'extra_specs': {},
4261+ 'system_metadata': sys_meta}
4262+
4263+ def test_list_instances(self):
4264+ lxc = self.lxc_connection.list_instances()
4265+ self.assertEqual(lxc.__class__, tuple)
4266+
4267+ def test_list_instances_fail(self):
4268+ pass
4269+
4270+ def test_start_container(self):
4271+ pass
4272+
4273+ def test_start_container_fail(self):
4274+ pass
4275+
4276+ def test_reboot_container(self):
4277+ pass
4278+
4279+ def test_reboot_container_fail(self):
4280+ pass
4281+
4282+ def test_power_off_container(self):
4283+ pass
4284+
4285+ def test_power_off_container_fail(self):
4286+ pass
4287+
4288+ def test_power_on_container(self):
4289+ pass
4290+
4291+ def test_power_on_container_fail(self):
4292+ pass
4293+
4294+ def test_destroy_container(self):
4295+ pass
4296+
4297+ def test_destroy_container_fail(self):
4298+ pass
4299+
4300+ def test_get_container_info(self):
4301+ self.mox.StubOutWithMock(containers.Containers, 'container_exists')
4302+ containers.Containers.container_exists(mox.IgnoreArg()).AndReturn(True)
4303+ self.mox.ReplayAll()
4304+ state = self.lxc_connection.get_info(self.instance)
4305+ self.assertEqual(state['state'], power_state.RUNNING)
4306
4307=== added file 'granite/tests/test_hostops.py'
4308--- granite/tests/test_hostops.py 1970-01-01 00:00:00 +0000
4309+++ granite/tests/test_hostops.py 2014-10-30 01:43:20 +0000
4310@@ -0,0 +1,5 @@
4311+from nova import test
4312+
4313+class GraniteTestHostOps(test.TestCase):
4314+ def setUp(self):
4315+ super(GranitetestHostOps, self).setUp()
4316
4317=== added file 'granite/tests/test_network.py'
4318--- granite/tests/test_network.py 1970-01-01 00:00:00 +0000
4319+++ granite/tests/test_network.py 2014-10-30 01:43:20 +0000
4320@@ -0,0 +1,16 @@
4321+
4322+from nova import test
4323+
4324+
4325+class GraniteGenericVIFDriverTest(test.TestCase):
4326+ def setUp(self):
4327+ super(GraniteGenericVIFDriverTest, self).setUp()
4328+
4329+ def test_bridge_plug(self):
4330+ pass
4331+
4332+ def test_ovs_plug(self):
4333+ pass
4334+
4335+ def test_ovs_unplug(self):
4336+ pass
4337
4338=== added file 'granite/tests/test_volumes.py'
4339--- granite/tests/test_volumes.py 1970-01-01 00:00:00 +0000
4340+++ granite/tests/test_volumes.py 2014-10-30 01:43:20 +0000
4341@@ -0,0 +1,11 @@
4342+from nova import test
4343+
4344+class GraniteVolumeTestCase(test.TestCase):
4345+ def setUp(self):
4346+ super(GraniteVolumeTestCase, self).setUp()
4347+
4348+ def test_volume_connect(self):
4349+ pass
4350+
4351+ def test_volume_disconnect(self):
4352+ pass
4353
4354=== added directory 'granite/virt'
4355=== added file 'granite/virt/__init__.py'
4356=== added directory 'granite/virt/lxc'
4357=== added file 'granite/virt/lxc/__init__.py'
4358--- granite/virt/lxc/__init__.py 1970-01-01 00:00:00 +0000
4359+++ granite/virt/lxc/__init__.py 2014-10-30 01:43:20 +0000
4360@@ -0,0 +1,3 @@
4361+from granite.virt.lxc import driver
4362+
4363+LXCDriver = driver.LXCDriver
4364
4365=== added file 'granite/virt/lxc/config.py'
4366--- granite/virt/lxc/config.py 1970-01-01 00:00:00 +0000
4367+++ granite/virt/lxc/config.py 2014-10-30 01:43:20 +0000
4368@@ -0,0 +1,110 @@
4369+# Copyright (c) 2014 Canonical Ltd
4370+#
4371+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4372+# not use this file except in compliance with the License. You may obtain
4373+# a copy of the License at
4374+#
4375+# http://www.apache.org/licenses/LICENSE-2.0
4376+#
4377+# Unless required by applicable law or agreed to in writing, software
4378+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
4379+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
4380+# License for the specific language governing permissions and limitations
4381+# under the License.
4382+
4383+import os
4384+
4385+from oslo.config import cfg
4386+
4387+from granite.virt.lxc import utils as container_utils
4388+
4389+from nova.openstack.common import fileutils
4390+from nova.openstack.common.gettextutils import _ # noqa
4391+from nova.openstack.common import importutils
4392+from nova.openstack.common import log as logging
4393+from nova import exception
4394+from nova import utils
4395+
4396+LOG = logging.getLogger(__name__)
4397+
4398+CONF = cfg.CONF
4399+
4400+
4401+class LXCConfig(object):
4402+ def __init__(self, container, instance, image_meta, network_info, idmap):
4403+ self.container = container
4404+ self.instance = instance
4405+ self.image_meta = image_meta
4406+ self.network_info = network_info
4407+ self.idmap = idmap
4408+
4409+ def get_config(self):
4410+ LOG.debug('Building LXC container configuration file')
4411+
4412+ lxc_template = self._get_lxc_template()
4413+ if lxc_template:
4414+ self._write_lxc_template(lxc_template)
4415+
4416+ self.container.load_config()
4417+ self.config_lxc_name()
4418+ self.config_lxc_rootfs()
4419+ self.config_lxc_user()
4420+ self.config_lxc_logging()
4421+ self.config_lxc_network()
4422+ self.config_lxc_console()
4423+ self.container.save_config()
4424+
4425+ def _get_lxc_template(self):
4426+ LOG.debug('Fetching LXC template')
4427+
4428+ templates = []
4429+ if (self.image_meta and
4430+ self.image_meta.get('properties', {}).get('template')):
4431+ lxc_template = self.image_meta['propeties'].get('template')
4432+ else:
4433+ lxc_template = CONF.lxc.lxc_default_template
4434+ path = os.listdir(CONF.lxc.lxc_template_dir)
4435+ for line in path:
4436+ templates.append(line.replace('lxc-', ''))
4437+ if lxc_template in templates:
4438+ return lxc_template
4439+
4440+ def _write_lxc_template(self, template_name):
4441+ config_file = container_utils.get_container_config(self.instance)
4442+ f = open(config_file, 'w')
4443+ f.write('lxc.include = %s/%s.common.conf\n' % (CONF.lxc.lxc_config_dir,
4444+ template_name))
4445+ f.write('lxc.include = %s/%s.userns.conf\n' % (CONF.lxc.lxc_config_dir,
4446+ template_name))
4447+ f.close()
4448+
4449+ def config_lxc_name(self):
4450+ if self.instance:
4451+ self.container.append_config_item('lxc.utsname',
4452+ self.instance['uuid'])
4453+
4454+ def config_lxc_rootfs(self):
4455+ container_rootfs = container_utils.get_container_rootfs(self.instance)
4456+ if os.path.exists(container_rootfs):
4457+ self.container.append_config_item('lxc.rootfs', container_rootfs)
4458+
4459+ def config_lxc_logging(self):
4460+ self.container.append_config_item('lxc.logfile',
4461+ container_utils.get_container_logfile(self.instance))
4462+
4463+ def config_lxc_network(self):
4464+ for vif in self.network_info:
4465+ bridge = vif['network']['bridge']
4466+ mac = vif['address']
4467+
4468+ self.container.append_config_item('lxc.network.type', 'veth')
4469+ self.container.append_config_item('lxc.network.hwaddr', mac)
4470+ self.container.append_config_item('lxc.network.link', bridge)
4471+
4472+ def config_lxc_console(self):
4473+ self.container.append_config_item('lxc.console.logfile',
4474+ container_utils.get_container_console(self.instance))
4475+
4476+ def config_lxc_user(self):
4477+ for ent in self.idmap.lxc_conf_lines():
4478+ self.container.append_config_item(*ent)
4479
4480=== added file 'granite/virt/lxc/containers.py'
4481--- granite/virt/lxc/containers.py 1970-01-01 00:00:00 +0000
4482+++ granite/virt/lxc/containers.py 2014-10-30 01:43:20 +0000
4483@@ -0,0 +1,216 @@
4484+# Copyright (c) 2014 Canonical Ltd
4485+#
4486+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4487+# not use this file except in compliance with the License. You may obtain
4488+# a copy of the License at
4489+#
4490+# http://www.apache.org/licenses/LICENSE-2.0
4491+#
4492+# Unless required by applicable law or agreed to in writing, software
4493+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
4494+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
4495+# License for the specific language governing permissions and limitations
4496+# under the License.
4497+
4498+import os
4499+
4500+import lxc
4501+
4502+from oslo.config import cfg
4503+
4504+from granite.virt.lxc import config
4505+from granite.virt.lxc import images
4506+from granite.virt.lxc import utils as container_utils
4507+from granite.virt.lxc import volumes
4508+
4509+from nova.openstack.common.gettextutils import _ # noqa
4510+from nova.openstack.common import importutils
4511+from nova.openstack.common import log as logging
4512+from nova.openstack.common import units
4513+from nova import utils
4514+
4515+MAX_CONSOLE_BYTES = 100 * units.Ki
4516+
4517+lxc_opts = [
4518+ cfg.StrOpt('lxc_default_template',
4519+ default='ubuntu-cloud',
4520+ help='Default LXC template'),
4521+ cfg.StrOpt('lxc_template_dir',
4522+ default='/usr/share/lxc/templates',
4523+ help='Default template directory'),
4524+ cfg.StrOpt('lxc_config_dir',
4525+ default='/usr/share/lxc/config',
4526+ help='Default lxc config dir'),
4527+ cfg.StrOpt('vif_driver',
4528+ default='granite.virt.lxc.vifs.LXCGenericDriver',
4529+ help='Default vif driver'),
4530+ cfg.IntOpt('num_iscsi_scan_tries',
4531+ default=5,
4532+ help='Number of times to rescan iSCSI target to find volume'),
4533+]
4534+
4535+LOG = logging.getLogger(__name__)
4536+
4537+CONF = cfg.CONF
4538+CONF.register_opts(lxc_opts, 'lxc')
4539+
4540+
4541+class Containers(object):
4542+ def __init__(self):
4543+ self.instance_path = None
4544+ self.container_rootfs = None
4545+
4546+ vif_class = importutils.import_class(CONF.lxc.vif_driver)
4547+ self.vif_driver = vif_class()
4548+ self.volumes = volumes.VolumeOps()
4549+ self.idmap = container_utils.LXCUserIdMap()
4550+
4551+ def spawn(self, context, instance, image_meta, injected_files,
4552+ admin_password, network_info, block_device_info=None):
4553+ LOG.debug('Spawning containers')
4554+
4555+ # Check for a vlid image:
4556+ file_type = container_utils.get_disk_format(image_meta)
4557+ if file_type == 'root-tar':
4558+ container_image = '%s.tar.gz' % instance['image_ref']
4559+
4560+ # Setup the LXC instance
4561+ instance_name = instance['uuid']
4562+ container = lxc.Container(instance_name)
4563+ container.set_config_path(CONF.instances_path)
4564+
4565+ # Create the LXC container from the image
4566+ images.fetch_image(context, instance, image_meta, container_image)
4567+ images.create_container(instance)
4568+
4569+ # Write the LXC confgiuration file
4570+ cfg = config.LXCConfig(container, instance, image_meta, network_info,
4571+ self.idmap)
4572+ cfg.get_config()
4573+
4574+ images.setup_container(instance, container_image, self.idmap)
4575+
4576+ for vif in network_info:
4577+ self.vif_driver.plug(instance, vif)
4578+
4579+ # Startint the container
4580+ if not container.running:
4581+ if container.start():
4582+ LOG.info(_('Container started'))
4583+
4584+ def destroy_container(self, context, instance, network_info,
4585+ block_device_info, destroy_disks):
4586+ LOG.debug('Destroying container')
4587+ container = self.get_container_root(instance)
4588+ if container.running:
4589+ container.stop()
4590+ if container.defined:
4591+ # work around for segfaulting api call
4592+ utils.execute('lxc-destroy', '-n', instance['uuid'],
4593+ '-P', CONF.instances_path)
4594+
4595+ def reboot_container(self, context, instance, network_info, reboot_type,
4596+ block_device_info, bad_volumes_callback):
4597+ LOG.debug('Rebooting container')
4598+ container = self.get_container_root(instance)
4599+ if container.running:
4600+ if container.reboot():
4601+ LOG.info(_('Container rebooted'))
4602+
4603+ def stop_container(self, instance):
4604+ LOG.debug('Stopping container')
4605+ container = self.get_container_root(instance)
4606+ if container.running:
4607+ if container.stop():
4608+ LOG.info(_('Container stopped'))
4609+
4610+ def start_container(self, context, instance, network_info,
4611+ block_device_info):
4612+ LOG.debug('Starting container')
4613+ container = self.get_container_root(instance)
4614+ if container.start():
4615+ LOG.info(_('Container started'))
4616+
4617+ def shutdown_container(self, instance, network_info, block_device_info):
4618+ LOG.debug('Shutdown container')
4619+ container = self.get_container_root(instance)
4620+ if container.running:
4621+ for vif in network_info:
4622+ self.driver.unplug(instance, vif)
4623+ container.shutdown()
4624+
4625+ def suspend_container(self, instance):
4626+ LOG.debug('Suspend container')
4627+ container = self.get_container_root(instance)
4628+ if container.defined and container.controllable:
4629+ container.freeze()
4630+
4631+ def resume_container(self, context, instance, network_info,
4632+ block_device_info):
4633+ LOG.debug('Suspend container')
4634+ container = self.get_container_root(instance)
4635+ if container.defined and container.controllable:
4636+ container.unfreeze()
4637+
4638+ def get_container_console(self, instance):
4639+ LOG.debug('Container console log')
4640+
4641+ console_log = container_utils.get_container_console(instance)
4642+ with open(console_log, 'rb') as fp:
4643+ log_data, remaining = utils.last_bytes(fp, MAX_CONSOLE_BYTES)
4644+ if remaining > 0:
4645+ LOG.info(_('Truncated console log returned, '
4646+ '%d bytes ignored'),
4647+ remaining, instance=instance)
4648+ return log_data
4649+
4650+ def attach_container_volume(self, context, connection_info, instance,
4651+ mountpoint, disk_bus=None, device_type=None,
4652+ encryption=None):
4653+ host_device = self.volumes.connect_volume(connection_info, instance,
4654+ mountpoint)
4655+ if host_device:
4656+ container = self.get_container_root(instance)
4657+ if container.running:
4658+ path_stat = os.stat(host_device)
4659+
4660+ container.set_cgroup_item("devices.allow",
4661+ "b %s:%s rwm"
4662+ % (int(path_stat.st_rdev / 256),
4663+ int(path_stat.st_rdev % 256)))
4664+
4665+ # Create the target
4666+ target = '%s%s' % (container_utils.get_container_rootfs(
4667+ instance), mountpoint)
4668+ utils.execute('mknod', 'b', int(path_stat.st_rdev / 256),
4669+ int(path_stat.st_rdev % 256),
4670+ target, run_as_root=True)
4671+
4672+ def detach_container_volume(self, connection_info, instance, mountpoint,
4673+ encryption):
4674+ self.volumes.disconnect_volume(connection_info, instance, mountpoint)
4675+
4676+ def setup_network(self, instance, network_info):
4677+ container = self.get_container_root(instance)
4678+ for vif in network_info:
4679+ self.vif_driver.plug(container, instance, vif)
4680+
4681+ def teardown_network(self, instance, network_info):
4682+ self.vif_driver.unplug(instance, network_info)
4683+
4684+ def container_exists(self, instance):
4685+ container = self.get_container_root(instance)
4686+ if container.running:
4687+ return True
4688+ else:
4689+ return False
4690+
4691+ def get_container_pid(self, instance):
4692+ container = self.get_container_root(instance)
4693+ if container.running:
4694+ return container.init_pid
4695+
4696+ def get_container_root(self, instance):
4697+ container = lxc.Container(instance['uuid'])
4698+ container.set_config_path(CONF.instances_path)
4699+ return container
4700
4701=== added file 'granite/virt/lxc/driver.py'
4702--- granite/virt/lxc/driver.py 1970-01-01 00:00:00 +0000
4703+++ granite/virt/lxc/driver.py 2014-10-30 01:43:20 +0000
4704@@ -0,0 +1,141 @@
4705+# Copyright 2010 United States Government as represented by the
4706+# Administrator of the National Aeronautics and Space Administration.
4707+# All Rights Reserved.
4708+# Copyright (c) 2014 Canonical Ltd
4709+#
4710+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4711+# not use this file except in compliance with the License. You may obtain
4712+# a copy of the License at
4713+#
4714+# http://www.apache.org/licenses/LICENSE-2.0
4715+#
4716+# Unless required by applicable law or agreed to in writing, software
4717+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
4718+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
4719+# License for the specific language governing permissions and limitations
4720+# under the License.
4721+
4722+"""
4723+native-lxc driver
4724+
4725+"""
4726+
4727+import lxc
4728+from oslo.config import cfg
4729+
4730+from granite.virt.lxc import containers
4731+from granite.virt.lxc import hostops
4732+
4733+from nova.compute import power_state
4734+from nova.openstack.common import log as logging
4735+from nova.virt import driver
4736+from nova.virt import volumeutils
4737+
4738+CONF = cfg.CONF
4739+CONF.import_opt('host', 'nova.netconf')
4740+CONF.import_opt('my_ip', 'nova.netconf')
4741+
4742+LOG = logging.getLogger(__name__)
4743+
4744+
4745+class LXCDriver(driver.ComputeDriver):
4746+ def __init__(self, virtapi, read_only=False):
4747+ super(LXCDriver, self).__init__(virtapi)
4748+ self.containers = containers.Containers()
4749+ self.hostops = hostops.HostOps()
4750+
4751+ def init_host(self, host):
4752+ if not lxc.version:
4753+ raise Exception('LXC is not installed')
4754+
4755+ def list_instances(self):
4756+ return lxc.list_containers(config_path=CONF.instances_path)
4757+
4758+ def spawn(self, context, instance, image_meta, injected_files,
4759+ admin_password, network_info=None, block_device_info=None):
4760+ self.containers.spawn(context, instance, image_meta, injected_files,
4761+ admin_password, network_info, block_device_info)
4762+
4763+ def snapshot(self, context, instance, name, update_task_state):
4764+ pass
4765+
4766+ def reboot(self, context, instance, network_info, reboot_type,
4767+ block_device_info=None, bad_volumes_callback=None):
4768+ self.containers.reboot_container(context, instance, network_info,
4769+ reboot_type, block_device_info,
4770+ bad_volumes_callback)
4771+
4772+ def rescue(self, context, instance, network_info, image_meta,
4773+ rescue_password):
4774+ pass
4775+
4776+ def unrescue(self, instance, network_info):
4777+ pass
4778+
4779+ def power_off(self, instance):
4780+ self.containers.stop_container(instance)
4781+
4782+ def power_on(self, context, instance, network_info, block_device_info):
4783+ self.containers.start_container(context, instance, network_info,
4784+ block_device_info)
4785+
4786+ def suspend(self, instance):
4787+ pass
4788+
4789+ def resume(self, context, instance, network_info, block_device_info=None):
4790+ pass
4791+
4792+ def destroy(self, context, instance, network_info, block_device_info=None,
4793+ destroy_disks=True):
4794+ self.containers.destroy_container(context, instance, network_info,
4795+ block_device_info, destroy_disks)
4796+
4797+ def attach_volume(self, context, connection_info, instance, mountpoint,
4798+ disk_bus=None, device_type=None, encryption=None):
4799+ """Attach the disk to the instance at mountpoint using info."""
4800+ self.containers.attach_container_volume(context, connection_info,
4801+ instance, mountpoint,
4802+ disk_bus, device_type,
4803+ encryption)
4804+
4805+ def detach_volume(self, connection_info, instance, mountpoint,
4806+ encryption=None):
4807+ """Detach the disk attached to the instance."""
4808+ self.containers.detach_container_volume(connection_info, instance,
4809+ mountpoint, encryption)
4810+
4811+ def attach_interface(self, instance, image_meta, vif):
4812+ pass
4813+
4814+ def detach_interface(self, instance, vif):
4815+ pass
4816+
4817+ def get_info(self, instance):
4818+ state = self.containers.container_exists(instance)
4819+ if state:
4820+ pstate = power_state.RUNNING
4821+ elif state is False:
4822+ pstate = power_state.SHUTDOWN
4823+ else:
4824+ pstate = power_state.NOSTATE
4825+ return {'state': pstate,
4826+ 'max_mem': 0,
4827+ 'mem': 0,
4828+ 'num_cpu': 2,
4829+ 'cpu_time': 0}
4830+
4831+ def get_console_output(self, context, instance):
4832+ return self.containers.get_container_console(instance)
4833+
4834+ def get_available_resource(self, nodename):
4835+ return self.hostops.get_available_resource(nodename)
4836+
4837+ def get_host_stats(self, refresh=False):
4838+ return self.hostops.get_host_stats(refresh)
4839+
4840+ def get_volume_connector(self, instance):
4841+ return {
4842+ 'ip': CONF.my_ip,
4843+ 'initiator': volumeutils.get_iscsi_initiator(),
4844+ 'host': CONF.host
4845+ }
4846
4847=== added file 'granite/virt/lxc/host_utils.py'
4848--- granite/virt/lxc/host_utils.py 1970-01-01 00:00:00 +0000
4849+++ granite/virt/lxc/host_utils.py 2014-10-30 01:43:20 +0000
4850@@ -0,0 +1,61 @@
4851+# Copyright (c) 2014 Canonical Ltd
4852+#
4853+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4854+# not use this file except in compliance with the License. You may obtain
4855+# a copy of the License at
4856+#
4857+# http://www.apache.org/licenses/LICENSE-2.0
4858+#
4859+# Unless required by applicable law or agreed to in writing, software
4860+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
4861+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
4862+# License for the specific language governing permissions and limitations
4863+# under the License.
4864+
4865+import os
4866+
4867+from oslo.config import cfg
4868+import psutil
4869+
4870+from nova.openstack.common.gettextutils import _ # noqa
4871+from nova.openstack.common import log as logging
4872+
4873+CONF = cfg.CONF
4874+
4875+log = logging.getLogger(__name__)
4876+
4877+
4878+def get_memory_info():
4879+ out = open('/proc/meminfo')
4880+ for line in out:
4881+ if 'MemTotal:' == line.split()[0]:
4882+ split = line.split()
4883+ total = float(split[1])
4884+ if 'MemFree:' == line.split()[0]:
4885+ split = line.split()
4886+ free = float(split[1])
4887+ if 'Buffers:' == line.split()[0]:
4888+ split = line.split()
4889+ buffers = float(split[1])
4890+ if 'Cached:' == line.split()[0]:
4891+ split = line.split()
4892+ cached = float(split[1])
4893+ used = (total - (free + buffers + cached))
4894+ return {'total': int(total / 1024),
4895+ 'free': int(free / 1024),
4896+ 'used': int(used / 1024)}
4897+
4898+
4899+def get_disk_info():
4900+ hddinfo = os.statvfs(CONF.instances_path)
4901+ total = hddinfo.f_frsize * hddinfo.f_blocks
4902+ free = hddinfo.f_frsize * hddinfo.f_bavail
4903+ used = hddinfo.f_frsize * (hddinfo.f_blocks - hddinfo.f_bfree)
4904+ return {'total': total, 'free': free, 'used': used}
4905+
4906+
4907+def get_cpu_count():
4908+ try:
4909+ return psutil.NUM_CPUS
4910+ except (ImportError, AttributeError):
4911+ return 1
4912
4913=== added file 'granite/virt/lxc/hostops.py'
4914--- granite/virt/lxc/hostops.py 1970-01-01 00:00:00 +0000
4915+++ granite/virt/lxc/hostops.py 2014-10-30 01:43:20 +0000
4916@@ -0,0 +1,78 @@
4917+# Copyright (c) 2014 Canonical Ltd
4918+#
4919+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4920+# not use this file except in compliance with the License. You may obtain
4921+# a copy of the License at
4922+#
4923+# http://www.apache.org/licenses/LICENSE-2.0
4924+#
4925+# Unless required by applicable law or agreed to in writing, software
4926+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
4927+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
4928+# License for the specific language governing permissions and limitations
4929+# under the License.
4930+
4931+import re
4932+
4933+from oslo.config import cfg
4934+
4935+import lxc
4936+
4937+from granite.virt.lxc import host_utils as host_utils
4938+from nova.openstack.common.gettextutils import _ # noqa
4939+from nova.openstack.common import jsonutils
4940+from nova.openstack.common import log as logging
4941+from nova.openstack.common import units
4942+from nova import utils
4943+
4944+CONF = cfg.CONF
4945+
4946+log = logging.getLogger(__name__)
4947+
4948+VERSION_RE = re.compile(r"(?P<maj>\d+)[.]?(?P<min>\d+)?"
4949+ "[.]?(?P<mic>\d+)?(?P<extra>.*)?")
4950+
4951+
4952+def parse_version(version):
4953+ try:
4954+ m = VERSION_RE.match(version)
4955+ ver_tup = tuple([int(m.group(n)) for n in ('maj', 'min', 'mic')])
4956+ except AttributeError:
4957+ logging.WARN("bad version: %s" % version)
4958+ ver_tup = (0, 0, 0)
4959+ return utils.convert_version_to_int(ver_tup)
4960+
4961+
4962+class HostOps(object):
4963+ def __init__(self):
4964+ self._stats = None
4965+
4966+ def get_host_stats(self, refresh=False):
4967+ if refresh or self._stats is None:
4968+ self._update_status()
4969+ return self._stats
4970+
4971+ def get_available_resource(self, nodename):
4972+ return self._update_status()
4973+
4974+ def _update_status(self):
4975+ memory = host_utils.get_memory_info()
4976+ disk = host_utils.get_disk_info()
4977+
4978+ dic = {'vcpus': host_utils.get_cpu_count(),
4979+ 'memory_mb': memory['total'],
4980+ 'local_gb': disk['total'] / units.Gi,
4981+ 'vcpus_used': 0,
4982+ 'memory_mb_used': memory['used'],
4983+ 'local_gb_used': disk['used'] / units.Gi,
4984+ 'hypervisor_type': 'lxc',
4985+ 'hypervisor_version': parse_version(lxc.version),
4986+ 'hypervisor_hostname': CONF.host,
4987+ 'cpu_info': '?',
4988+ 'supported_instances': jsonutils.dumps([
4989+ ('i686', 'lxc', 'lxc'),
4990+ ('x86_64', 'lxc', 'lxc'),
4991+ ])}
4992+
4993+ self._stats = dic
4994+ return self._stats
4995
4996=== added file 'granite/virt/lxc/images.py'
4997--- granite/virt/lxc/images.py 1970-01-01 00:00:00 +0000
4998+++ granite/virt/lxc/images.py 2014-10-30 01:43:20 +0000
4999@@ -0,0 +1,79 @@
5000+# Copyright (c) 2014 Canonical Ltd
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: