--- weston-1.9.0.orig/autogen.sh +++ weston-1.9.0/autogen.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +test -n "$srcdir" || srcdir=`dirname "$0"` +test -n "$srcdir" || srcdir=. +( + cd "$srcdir" && + autoreconf --force -v --install +) || exit +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" --- weston-1.9.0.orig/data/COPYING +++ weston-1.9.0/data/COPYING @@ -0,0 +1,37 @@ +For the DMZ cursors: + +(c) 2007-2010 Novell, Inc. + +This work is licenced under the Creative Commons Attribution-Share Alike 3.0 +United States License. To view a copy of this licence, visit +http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative +Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. + +The terminal icon is taken from the gnome-icon-theme collection which +is also distributed under the Creative Commons BY-SA 3.0 license. + + +(C) 2013 DENSO CORPORATION + +Permission to use, copy, modify, distribute, and sell following listed images +for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the copyright holders not be used in +advertising or publicity pertaining to distribution of the images +without specific, written prior permission. The copyright holders make +no representations about the suitability of these images for any +purpose. It is provided "as is" without express or implied warranty. + +background.png +tiling.png +fullscreen.png +panel.png +random.png +sidebyside.png +home.png +icon_ivi_clickdot.png +icon_ivi_flower.png +icon_ivi_simple-egl.png +icon_ivi_simple-shm.png +icon_ivi_smoke.png --- weston-1.9.0.orig/debian/README.Debian +++ weston-1.9.0/debian/README.Debian @@ -0,0 +1,9 @@ +README for weston: +------------------ + +If you want to run weston under KMS (from a console, rather than from within X) +as non-root, you should start it via the weston-launch wrapper. For that to +work, you either need to have logind running and have a local session +registered, or your user needs to be member of the weston-launch group. + + -- Laurent Bigonville , Sun, 11 Aug 2013 17:29:28 +0200 --- weston-1.9.0.orig/debian/README.source +++ weston-1.9.0/debian/README.source @@ -0,0 +1,58 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + break + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new + +where is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete + +You may need to run quilt pop -a to unapply patches first before running +this command. --- weston-1.9.0.orig/debian/changelog +++ weston-1.9.0/debian/changelog @@ -0,0 +1,271 @@ +weston (1.9.0-3) unstable; urgency=medium + + * debian/patches/0001-Add-suport-for-new-libsystemd.patch: + + Consistently check for libsystem.pc rather than libsystemd-login.pc + to get session support for weston-launch. + + -- Emilio Pozuelo Monfort Sun, 01 Nov 2015 17:32:38 +0100 + +weston (1.9.0-2) unstable; urgency=medium + + * d/control: tighten versioned build depends + + -- Héctor Orón Martínez Sun, 27 Sep 2015 12:26:29 +0200 + +weston (1.9.0-1) unstable; urgency=medium + + * New upstream release + + -- Héctor Orón Martínez Sun, 27 Sep 2015 00:18:22 +0200 + +weston (1.8.0-3) unstable; urgency=medium + + * Add support for new libsystemd. + (Closes: #779754) + + -- Hector Oron Tue, 01 Sep 2015 13:32:59 +0200 + +weston (1.8.0-2) unstable; urgency=medium + + * d/control: bump wayland versioned build dependency + + -- Hector Oron Sat, 13 Jun 2015 02:49:22 +0200 + +weston (1.8.0-1) unstable; urgency=medium + + * New upstream release. + + -- Hector Oron Sat, 13 Jun 2015 02:10:31 +0200 + +weston (1.7.0-1) unstable; urgency=medium + + [ Timo Aaltonen ] + * New upstream release. + * control: Bump libinput and libwayland-dev build-deps. + * install: Add new files. + + [ Emilio Pozuelo Monfort ] + * Remove Cyril from Uploaders. Thanks for your past work! + * Upload to unstable. + + -- Emilio Pozuelo Monfort Wed, 27 May 2015 01:07:50 +0200 + +weston (1.6.1-1) experimental; urgency=medium + + * New upstream bugfix release: + - compositor fixes + - input fixes + - shell fixes + * d/control: bump standards version, no changes needed. + + -- Hector Oron Sat, 24 Jan 2015 10:20:02 +0100 + +weston (1.6.0-2) unstable; urgency=medium + + * Switch back to use upstream tarball. + + -- Hector Oron Tue, 23 Sep 2014 17:49:21 +0200 + +weston (1.6.0-1) unstable; urgency=medium + + * New upstream release. + * Fix "weston-terminal: exits under load" + - Thanks Rémi Denis-Courmont for report. + (Closes: #760043) + + -- Hector Oron Fri, 19 Sep 2014 16:38:47 +0200 + +weston (1.5.93-2) unstable; urgency=medium + + [ Hector Oron ] + * d/control: + + allow third party graphic stacks + + update EGL wayland driver library + + [ Emilio Pozuelo Monfort ] + * Upload to unstable. + + -- Emilio Pozuelo Monfort Tue, 16 Sep 2014 22:43:37 +0200 + +weston (1.5.93-1) experimental; urgency=medium + + * New upstream development release. + * d/patches/*: drop them. + * d/control: + + bump wayland version requirement for build. + + bump build depend on libinput-dev. + * Upload to experimental. + + -- Hector Oron Fri, 12 Sep 2014 18:28:31 +0200 + +weston (1.5.0-3) unstable; urgency=medium + + * d/p/0001-libinput-Use-floating-point-instead-of-fixed-point-n.patch, + d/p/0001-Require-libinput-0.4.0.patch, + debian/control: + + Build against libinput 0.5.0. + * debian/weston.install, + debian/rules: + + Disable cairo-gl support. It causes trouble in some embedded platforms + so we're disabling its support, at least for now. + + -- Emilio Pozuelo Monfort Fri, 05 Sep 2014 02:14:06 +0200 + +weston (1.5.0-2) unstable; urgency=medium + + * debian/control, + debian/rules: + + Enable libinput backend. + + -- Emilio Pozuelo Monfort Sun, 01 Jun 2014 17:25:06 +0200 + +weston (1.5.0-1) unstable; urgency=medium + + * Add myself to Uploaders. + * New upstream release. + * Switch back to source format 1.0 for now. + * debian/control: + + Drop librsvg2-bin build dependency, no longer needed. + * debian/clean: + + Dropped, no longer needed. + * debian/weston.install: + + Fix path for demo clients. + + Install the fullscreen shell. + * debian/patches/0001-animation-fix-move-scale-animation.patch: + + Patch from Jonny Lamb, taken from wayland-devel@, that fixes + move animations, as triggered e.g. by exposay. + * d/p/0001-exposay-fix-crash-when-navigating-with-the-keyboard.patch: + + New patch, fix a crash in exposay. + + -- Emilio Pozuelo Monfort Sat, 24 May 2014 02:53:44 +0200 + +weston (1.4.0-1) unstable; urgency=medium + + * New upstream release 1.4.0: + - Window buttons for xwayland windows and proper decorations for the + nested compositor (wayland backend) + - Make the gl-renderer a loadable module and make it possible to + switch from pixman to gl renderer at runtime. This lets the + compositor start up faster, since we can load the gl-renderer and + initialize EGL+GLES2 later in the startup + - Support framebuffer formats other than XRGB8888 (gbm-format config + value under [core] section). + - Use logind for privileged access. logind can now do the this that + weston-launch used to do: drm drop/set master and opening input + devices. With this, weston can run on KMS without the + weston-launch setuid helper. + - struct weston_surface split into struct weston_surface and struct + weston_view. This is a weston-internal feature, that makes it + possible to display a surface in multiple places in the compositor. + - Better output unplug handling. We used to crash and in general not + handle output (monitor) unplug at all. We now clean up properly + and move windows back into the visible region when their output is + unplugged. + - Keyboard focus animation and exposay (exposé-like window picker) + - More touch screen support, including touch-to-move and + touch-to-activate for surfaces, touch screen drag-and-drop + - Started work on xdg-shell protocol. The xdg-shell is a more format + attempt at developing a protocol for the interaction between + applications and a desktop environmet. The wl_shell protocol + currently in wayland was always only a place-holder to help + boot-strap toolkit support. Now that GNOME Shell is moving to + Wayland, we have a full-featured desktop to drive the work and we + can start the effort in earnest + - Nested compositor buffer pass-through. We specified a new EGL + extension to allow a nested compositor to pass buffers through to + the underlying compositor. This lets the nested compositor skip + rendering and instead present the contents using a subsurface or + such in the underlying compositor + - Crop and scale protocol. This protocol, which we're initially + staging in weston, lets a client specify that a only sub-rectangle + of it's surface should be presented, and potentially scaled up. + - weston-terminal gained scrollback history, use Ctrl+Shift UP/DOWN + to scroll. Added a context menu for easy access to copy/paste/new + terminal (which have always been available as Ctrl-Shift-C/V/N) + * d/control: update + + bump standards version + + build depend on librsvg2-bin for PNG file generation. + + add build dependency against libxcb-composite0-dev for build + + add build-dependency against libxcb-xkb-dev (Closes: #733229) + + add build-dependency against libpango1.0-dev for the editor + * d/weston.install: update + + drop weston-tablet-shell + + add gl-renderer + + add clients + + -- Hector Oron Thu, 30 Jan 2014 23:06:00 +0100 + +weston (1.3.0-1) unstable; urgency=low + + [ Sven Joachim ] + * Bump libwayland-dev build-depends to (>= 1.2.0). + + [ Laurent Bigonville ] + * debian/rules: + - Install weston-launch with setuid bit set (LP: #1102597) + - Set libexec path to /usr/lib/weston + * debian/weston.lintian-overrides: Add override for the mode of weston-launch + executable + * debian/weston.examples: Install weston.ini as an example file + * debian/weston.postinst: Create weston-launch group on installation + (LP: #1203017) + * debian/control, debian/weston.install: Enable colord support + * debian/README.Debian: Fix directions on how to run weston under KMS + (Closes: #714379) + * debian/control: Add a dependency against adduser + * debian/control: Use canonical URL's for Vcs field + + [ Timo Aaltonen ] + * rules: Explicitly enable cairo-gl so that weston-screensaver gets + built. + + [ Hector Oron ] + * New upstream release (1.3.0) (Closes: #719144). + * Add myself to Uploaders. + * Switch Debian source format to 3.0 quilt + + -- Hector Oron Fri, 11 Oct 2013 13:03:04 +0200 + +weston (1.1.1-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release (Closes: #675138, #699045). + * Add a watch file. + * control: Add missing build-depends: libmtdev-dev, libxcursor-dev, + libpam0g-dev, libvpx-dev. + * Use source format 1.0. + * control: Bump the build-depends on libxkbcommon-dev to (>= 0.1.0~2). + * rules: Make the test run failure non-fatal, since it doesn't work + properly in headless-mode. + * weston.install: Add new files. + * control: Bump build-depends on mesa derived components to 9.0~. + * control, compat: Switch to debhelper 9. + * control: Bump policy to 3.9.4, no changes. + * control: Added homepage (Closes: #687571). + * Add README.source. + * patches/series: Add a placeholder file. + + [ Sven Joachim ] + * Configure with --disable-libunwind until libunwind starts shipping + pkg-config files (see #711854). + * Add build-dependencies on libsystemd-login-dev and libglu1-mesa-dev. + + [ Mike Gabriel ] + * control: add libgl1-mesa-dri to Recommends: field. (Closes: #714351). + * control: add myself to Uploaders: field. + + -- Mike Gabriel Fri, 28 Jun 2013 14:31:18 +0200 + +weston (0.85.0-1) experimental; urgency=low + + * Initial release (Closes: #630809). + * Build without setuid for weston; it's very young and experimental, so + let's be cautious. + * Document weston's setuid bit (or lack thereof) in README.Debian. + * Tiny/toy clients will be shipped in a later upload. + * Restrict to linux-any since wayland isn't as portable as X. + * Make sure the following packages are at least at 8.0-2 in the + generated dependencies: libegl1-mesa, libegl1-mesa-drivers, and + libgles2-mesa. + + -- Cyril Brulebois Tue, 21 Feb 2012 23:58:19 +0100 --- weston-1.9.0.orig/debian/compat +++ weston-1.9.0/debian/compat @@ -0,0 +1 @@ +9 --- weston-1.9.0.orig/debian/control +++ weston-1.9.0/debian/control @@ -0,0 +1,63 @@ +Source: weston +Section: x11 +Priority: optional +Maintainer: Debian X Strike Force +Uploaders: + Mike Gabriel , + Héctor Orón Martínez , + Emilio Pozuelo Monfort , +Build-Depends: + debhelper (>= 9), + quilt, + dh-autoreconf, + pkg-config, + libpixman-1-dev (>= 0.25.2), + libpng-dev, + libjpeg-dev, + libcolord-dev (>= 0.1.27), + mesa-common-dev, + libglu1-mesa-dev, + libegl1-mesa-dev (>= 9.0~), + libegl1-mesa-drivers (>= 9.0~), + libgles2-mesa-dev (>= 9.0~), + libwayland-dev (>= 1.9.0), + libxcb1-dev, + libxcb-composite0-dev, + libxcb-xfixes0-dev, + libxcb-xkb-dev, + libx11-xcb-dev, + libx11-dev, + libudev-dev, + libgbm-dev, + libxkbcommon-dev (>= 0.3.0), + libcairo2-dev, + libpango1.0-dev, + libgdk-pixbuf2.0-dev, + libxcursor-dev, + libmtdev-dev, + libpam0g-dev, + libvpx-dev, + libsystemd-dev, + libinput-dev (>= 0.8.0), +Standards-Version: 3.9.6 +Homepage: http://wayland.freedesktop.org/ +Vcs-Git: git://anonscm.debian.org/pkg-xorg/wayland/weston +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-xorg/wayland/weston.git + +Package: weston +Architecture: linux-any +Depends: + adduser, + libegl1-mesa (>= 8.0-2) | libegl1-x11, + libwayland-egl1-mesa (>= 10.1.0-2) | libwayland-egl1, + libgles2-mesa (>= 8.0-2) | libgles2, + ${shlibs:Depends}, + ${misc:Depends}, +Recommends: + libgl1-mesa-dri, +Description: reference implementation of a wayland compositor + Part of the Wayland project is also the Weston reference implementation + of a Wayland compositor. Weston can run as an X client or under Linux + KMS and ships with a few demo clients. The Weston compositor is a minimal + and fast compositor and is suitable for many embedded and mobile use + cases. --- weston-1.9.0.orig/debian/copyright +++ weston-1.9.0/debian/copyright @@ -0,0 +1,495 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: http://wayland.freedesktop.org/ + +Files: clients/* +Copyright: © 2008-2011 Kristian Høgsberg + © 2009 Chris Wilson + © 2010-2012 Intel Corporation + © 2011 Benjamin Franzke + © 2011 Collabora, Ltd. + © 2011 Tim Wiederhake +License: + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + +Files: clients/glmatrix.c +Copyright: © 2003, 2004 Jamie Zawinski +License: + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation. No representations are made about the suitability of this + software for any purpose. It is provided "as is" without express or + implied warranty. + +Files: data/* +Copyright: © 2007-2010 Novell, Inc. +License: CC-BY-SA-3.0 + +Files: data/terminal.png +Copyright: @ 2002-2008 GNOME Project +License: CC-BY-SA-3.0 + +Files: shared/* +Copyright: © 2011 Intel Corporation + © 2008 Kristian Høgsberg +License: + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + +Files: src/* +Copyright:© 2008-2011 Kristian Høgsberg + © 2009-2011 Intel Corporation + © 2010-2011 Benjamin Franzke + © 2011 Collabora, Ltd. +License: + Permission to use, copy, modify, distribute, and sell this software and + its documentation for any purpose is hereby granted without fee, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of the copyright holders not be used in + advertising or publicity pertaining to distribution of the software + without specific, written prior permission. The copyright holders make + no representations about the suitability of this software for any + purpose. It is provided "as is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY + SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Files: src/hash.* +Copyright: © 2009 Intel Corporation + © 1988-2004 Keith Packard and Bart Massey. +License: + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + . + Except as contained in this notice, the names of the authors + or their institutions shall not be used in advertising or + otherwise to promote the sale, use or other dealings in this + Software without prior written authorization from the + authors. + . + Authors: + Eric Anholt + Keith Packard + + + +License: CC-BY-SA-3.0 + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS + CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS + PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE + WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS + PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND + AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS + LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU + THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH + TERMS AND CONDITIONS. + . + . + 1. Definitions + . + "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + . + "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + . + "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + . + "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + . + "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + . + "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + . + "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + . + "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + . + "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + . + "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + . + "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + . + . + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + . + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + - to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + . + - to create and Reproduce Adaptations provided that any such + Adaptation, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + . + - to Distribute and Publicly Perform the Work including as + incorporated in Collections; and, + . + - to Distribute and Publicly Perform Adaptations. + . + - For the avoidance of doubt: + - Non-waivable Compulsory License Schemes. In those jurisdictions + in which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + - Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives + the exclusive right to collect such royalties for any exercise + by You of the rights granted under this License; and, + - Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that + the Licensor is a member of a collecting society that + administers voluntary licensing schemes, via that society, from + any exercise by You of the rights granted under this License. + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. Subject to Section 8(f), all rights not + expressly granted by Licensor are hereby reserved. + . + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + - You may Distribute or Publicly Perform the Work only under the + terms of this License. You must include a copy of, or the Uniform + Resource Identifier (URI) for, this License with every copy of the + Work You Distribute or Publicly Perform. You may not offer or + impose any terms on the Work that restrict the terms of this + License or the ability of the recipient of the Work to exercise the + rights granted to that recipient under the terms of the + License. You may not sublicense the Work. You must keep intact all + notices that refer to this License and to the disclaimer of + warranties with every copy of the Work You Distribute or Publicly + Perform. When You Distribute or Publicly Perform the Work, You may + not impose any effective technological measures on the Work that + restrict the ability of a recipient of the Work from You to + exercise the rights granted to that recipient under the terms of + the License. This Section 4(a) applies to the Work as incorporated + in a Collection, but this does not require the Collection apart + from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor + You must, to the extent practicable, remove from the Collection any + credit as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + . + - You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License + with the same License Elements as this License; (iii) a Creative + Commons jurisdiction license (either this or a later license + version) that contains the same License Elements as this License + (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons + Compatible License. If you license the Adaptation under one of the + licenses mentioned in (iv), you must comply with the terms of that + license. If you license the Adaptation under the terms of any of + the licenses mentioned in (i), (ii) or (iii) (the "Applicable + License"), you must comply with the terms of the Applicable License + generally and the following provisions: (I) You must include a copy + of, or the URI for, the Applicable License with every copy of each + Adaptation You Distribute or Publicly Perform; (II) You may not + offer or impose any terms on the Adaptation that restrict the terms + of the Applicable License or the ability of the recipient of the + Adaptation to exercise the rights granted to that recipient under + the terms of the Applicable License; (III) You must keep intact all + notices that refer to the Applicable License and to the disclaimer + of warranties with every copy of the Work as included in the + Adaptation You Distribute or Publicly Perform; (IV) when You + Distribute or Publicly Perform the Adaptation, You may not impose + any effective technological measures on the Adaptation that + restrict the ability of a recipient of the Adaptation from You to + exercise the rights granted to that recipient under the terms of + the Applicable License. This Section 4(b) applies to the Adaptation + as incorporated in a Collection, but this does not require the + Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + . + - If You Distribute, or Publicly Perform the Work or any Adaptations + or Collections, You must, unless a request has been made pursuant + to Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) + the name of the Original Author (or pseudonym, if applicable) if + supplied, and/or if the Original Author and/or Licensor designate + another party or parties (e.g., a sponsor institute, publishing + entity, journal) for attribution ("Attribution Parties") in + Licensor's copyright notice, terms of service or by other + reasonable means, the name of such party or parties; (ii) the title + of the Work if supplied; (iii) to the extent reasonably + practicable, the URI, if any, that Licensor specifies to be + associated with the Work, unless such URI does not refer to the + copyright notice or licensing information for the Work; and (iv) , + consistent with Ssection 3(b), in the case of an Adaptation, a + credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, + at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then + as part of these credits and in a manner at least as prominent as + the credits for the other contributing authors. For the avoidance + of doubt, You may only use the credit required by this Section for + the purpose of attribution in the manner set out above and, by + exercising Your rights under this License, You may not implicitly + or explicitly assert or imply any connection with, sponsorship or + endorsement by the Original Author, Licensor and/or Attribution + Parties, as appropriate, of You or Your use of the Work, without + the separate, express prior written permission of the Original + Author, Licensor and/or Attribution Parties. + . + - Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute + or Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify + or take other derogatory action in relation to the Work which would + be prejudicial to the Original Author's honor or + reputation. Licensor agrees that in those jurisdictions + (e.g. Japan), in which any exercise of the right granted in Section + 3(b) of this License (the right to make Adaptations) would be + deemed to be a distortion, mutilation, modification or other + derogatory action prejudicial to the Original Author's honor and + reputation, the Licensor will waive or not assert, as appropriate, + this Section, to the fullest extent permitted by the applicable + national law, to enable You to reasonably exercise Your right under + Section 3(b) of this License (right to make Adaptations) but not + otherwise. + . + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, + LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR + WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, + STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF + TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, + NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, + OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT + DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED + WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + . + 6. Limitation on Liability. + . + EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL + LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT + OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + . + 7. Termination + . + - This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this + License. Individuals or entities who have received Adaptations or + Collections from You under this License, however, will not have + their licenses terminated provided such individuals or entities + remain in full compliance with those licenses. Sections 1, 2, 5, 6, + 7, and 8 will survive any termination of this License. + . + - Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the + terms of this License), and this License will continue in full + force and effect unless terminated as stated above. + . + . + 8. Miscellaneous + . + - Each time You Distribute or Publicly Perform the Work or a + Collection, the Licensor offers to the recipient a license to the + Work on the same terms and conditions as the license granted to You + under this License. + . + - Each time You Distribute or Publicly Perform an Adaptation, + Licensor offers to the recipient a license to the original Work on + the same terms and conditions as the license granted to You under + this License. + . + - If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + . + - No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + . + - This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no + understandings, agreements or representations with respect to the + Work not specified here. Licensor shall not be bound by any + additional provisions that may appear in any communication from + You. This License may not be modified without the mutual written + agreement of the Licensor and You. + . + - The rights granted under, and the subject matter referenced, in + this License were drafted utilizing the terminology of the Berne + Convention for the Protection of Literary and Artistic Works (as + amended on September 28, 1979), the Rome Convention of 1961, the + WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms + Treaty of 1996 and the Universal Copyright Convention (as revised + on July 24, 1971). These rights and subject matter take effect in + the relevant jurisdiction in which the License terms are sought to + be enforced according to the corresponding provisions of the + implementation of those treaty provisions in the applicable + national law. If the standard suite of rights granted under + applicable copyright law includes additional rights not granted + under this License, such additional rights are deemed to be + included in the License; this License is not intended to restrict + the license of any rights under applicable law. --- weston-1.9.0.orig/debian/patches/0001-Add-suport-for-new-libsystemd.patch +++ weston-1.9.0/debian/patches/0001-Add-suport-for-new-libsystemd.patch @@ -0,0 +1,30 @@ +From fe00842e1562d78f2811c8dad46125041cccab87 Mon Sep 17 00:00:00 2001 +From: Michael Biebl +Date: Thu, 9 Jul 2015 16:18:39 +0200 +Subject: [PATCH] Add suport for new libsystemd + +In systemd v209, the various libraries were merged into a single +libsystemd library. When checking for systemd > 209, use the new library +name instead of the deprecated libsystemd-login. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -380,13 +380,13 @@ + AS_IF([test "x$enable_resize_optimization" = "xyes"], + [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) + +-PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198], ++PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd >= 198], + [have_systemd_login=yes], [have_systemd_login=no]) + AS_IF([test "x$have_systemd_login" = "xyes"], + [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])]) + AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes") + +-PKG_CHECK_MODULES(SYSTEMD_LOGIN_209, [libsystemd-login >= 209], ++PKG_CHECK_MODULES(SYSTEMD_LOGIN_209, [libsystemd >= 209], + [have_systemd_login_209=yes], [have_systemd_login_209=no]) + AS_IF([test "x$have_systemd_login_209" = "xyes"], + [AC_DEFINE([HAVE_SYSTEMD_LOGIN_209], [1], [Have systemd-login >= 209])]) --- weston-1.9.0.orig/debian/patches/series +++ weston-1.9.0/debian/patches/series @@ -0,0 +1 @@ +0001-Add-suport-for-new-libsystemd.patch --- weston-1.9.0.orig/debian/rules +++ weston-1.9.0/debian/rules @@ -0,0 +1,30 @@ +#!/usr/bin/make -f + +override_dh_auto_configure: + dh_auto_configure -- --disable-libunwind --libexec=/usr/lib/weston \ + --with-cairo=image --enable-libinput-backend + +override_dh_auto_test: + # the test suite does not 100% pass in headless mode + dh_auto_test || true + +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + +override_dh_install: + dh_install --fail-missing -X.la + +override_dh_makeshlibs: + # No-op: libraries are private, not shared. + +override_dh_fixperms: + dh_fixperms -Xusr/bin/weston-launch + +%: + dh $@ --with quilt,autoreconf + +# For maintainer use only, generate a tarball: +gentarball: SOURCE=$(shell dpkg-parsechangelog|awk '/^Source:/ {print $$2}') +gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//') +gentarball: + git archive --format=tar upstream-unstable --prefix=$(SOURCE)-$(UV)/ | gzip -9 > ../$(SOURCE)_$(UV).orig.tar.gz --- weston-1.9.0.orig/debian/watch +++ weston-1.9.0/debian/watch @@ -0,0 +1,3 @@ +#git=git://anongit.freedesktop.org/wayland/weston +version=3 +http://wayland.freedesktop.org/releases/weston-(.*)\.tar\.xz --- weston-1.9.0.orig/debian/weston.examples +++ weston-1.9.0/debian/weston.examples @@ -0,0 +1 @@ +weston.ini --- weston-1.9.0.orig/debian/weston.install +++ weston-1.9.0/debian/weston.install @@ -0,0 +1,56 @@ +usr/bin/wcap-decode +usr/bin/weston +usr/bin/weston-info +usr/bin/weston-launch +usr/bin/weston-terminal +usr/include/weston +usr/lib/weston/weston-desktop-shell +usr/lib/weston/weston-keyboard +usr/lib/weston/weston-ivi-shell-user-interface +usr/lib/weston/weston-screenshooter +usr/lib/weston/weston-simple-im +usr/lib/*/pkgconfig/weston.pc +usr/lib/*/weston/cms-colord.so +usr/lib/*/weston/cms-static.so +usr/lib/*/weston/desktop-shell.so +usr/lib/*/weston/drm-backend.so +usr/lib/*/weston/fbdev-backend.so +usr/lib/*/weston/fullscreen-shell.so +usr/lib/*/weston/gl-renderer.so +usr/lib/*/weston/headless-backend.so +usr/lib/*/weston/hmi-controller.so +usr/lib/*/weston/ivi-shell.so +usr/lib/*/weston/wayland-backend.so +usr/lib/*/weston/x11-backend.so +usr/lib/*/weston/xwayland.so +usr/share/man/man1/weston.1 +usr/share/man/man5/weston.ini.5 +usr/share/man/man7/weston-drm.7 +usr/share/wayland-sessions/weston.desktop +usr/share/weston + +# Clients +weston-calibrator usr/lib/weston/ +weston-clickdot usr/lib/weston/ +weston-cliptest usr/lib/weston/ +weston-desktop-shell usr/lib/weston/ +weston-dnd usr/lib/weston/ +weston-editor usr/lib/weston/ +weston-eventdemo usr/lib/weston/ +weston-flower usr/lib/weston/ +weston-fullscreen usr/lib/weston/ +weston-image usr/lib/weston/ +weston-info usr/lib/weston/ +weston-keyboard usr/lib/weston/ +weston-multi-resource usr/lib/weston/ +weston-resizor usr/lib/weston/ +weston-scaler usr/lib/weston/ +weston-screenshooter usr/lib/weston/ +weston-simple-egl usr/lib/weston/ +weston-simple-im usr/lib/weston/ +weston-simple-shm usr/lib/weston/ +weston-simple-touch usr/lib/weston/ +weston-smoke usr/lib/weston/ +weston-stacking usr/lib/weston/ +weston-terminal usr/lib/weston/ +weston-transformed usr/lib/weston/ --- weston-1.9.0.orig/debian/weston.lintian-overrides +++ weston-1.9.0/debian/weston.lintian-overrides @@ -0,0 +1 @@ +weston: setuid-binary usr/bin/weston-launch 4755 root/root --- weston-1.9.0.orig/debian/weston.postinst +++ weston-1.9.0/debian/weston.postinst @@ -0,0 +1,42 @@ +#!/bin/sh +# postinst script for weston +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + if ! getent group weston-launch >/dev/null; then + addgroup --quiet --system weston-launch + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 --- weston-1.9.0.orig/doc/doxygen/devtools.dox +++ weston-1.9.0/doc/doxygen/devtools.dox @@ -0,0 +1,51 @@ +/* + * Copyright © 2015 Samsung Electronics Co., Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/** +@mainpage + +- @ref zunitc - Simple test framework + +@section tools_overview Overview + +The tools area currently consists of one sub-project (@ref zunitc) that is +refined from the prior single weston/tests source folder. + +@subsection tools_overview_old Old Code Organization + +The original 'tests' folder contained basic weston testing with an +integrated test runner framework. Over time things progressed to the +stage where splitting apart into discrete layers was warranted. + +@dotfile tools_arch_old.gv "Original test code organization" + +@subsection tools_overview_new New Code Organization + +The test code that is not weston-specific gets split out to a separate +folder and/or folders. + +@dotfile tools_arch_new.gv "Refactored test code organization" + +*/ --- weston-1.9.0.orig/doc/doxygen/tools.dox +++ weston-1.9.0/doc/doxygen/tools.dox @@ -0,0 +1,31 @@ +/* + * Copyright © 2015 Samsung Electronics Co., Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/** +@mainpage + +- @ref zunitc - Simple test framework + +*/ --- weston-1.9.0.orig/doc/doxygen/tools_arch_new.gv +++ weston-1.9.0/doc/doxygen/tools_arch_new.gv @@ -0,0 +1,85 @@ +/* + * Copyright © 2015 Samsung Electronics Co., Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +digraph toolarch_new { + rankdir = "TB"; + + node[shape=record] + + subgraph cluster_0 { + label = "./tests"; + + keyboard_test_c [label = "{keyboard-test.c|tests\l}"] + text_test_c [label = "{text-test.c|tests\l}"] + vertex_clip_test_c [label = "{vertex-clip-test.c|tests\l}"] + + spacer [shape = point, style = invis] + + weston_test_client_helper [label = "{weston-test-client-helper.h/.c|Weston test protocol\l}"] + + weston_test_c [label = "{weston-test.c|Extension protocol\nimplementation}"] + } + + subgraph cluster_1 { + label = "./tools/waycheck"; + + waycheck [label = "{waycheck.c| \n \n }"] + } + + subgraph cluster_2 { + label = "./tools/wayland_fixtures"; + + wtst_fixtures [label = "{wtst_fixtures.h/c|Wayland tracking structs\lWayland callbacks\l}"] + } + + subgraph cluster_3 { + label = "./tools/zunitc"; + + zunitc [label = "{zunitc|Test definition macros\lTest running functions\lTest reporting functions\lTest run lifecycle\l}"] + } + + keyboard_test_c -> weston_test_client_helper + keyboard_test_c -> wtst_fixtures + keyboard_test_c -> zunitc + vertex_clip_test_c -> zunitc + text_test_c -> weston_test_client_helper + text_test_c -> wtst_fixtures + text_test_c -> zunitc + + waycheck -> wtst_fixtures + waycheck -> zunitc + + wtst_fixtures -> zunitc + + edge [style = dashed, arrowhead = open] + weston_test_client_helper -> weston_test_c + + edge [style = invis] + weston_test_client_helper -> zunitc + + text_test_c -> spacer + keyboard_test_c -> spacer + spacer -> weston_test_client_helper +} --- weston-1.9.0.orig/doc/doxygen/tools_arch_old.gv +++ weston-1.9.0/doc/doxygen/tools_arch_old.gv @@ -0,0 +1,53 @@ +/* + * Copyright © 2015 Samsung Electronics Co., Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +digraph toolarch_old { + rankdir = "TB"; + + node[shape = record] + + subgraph cluster_0 { + label = "./tests"; + + keyboard_test_c [label = "{keyboard-test.c|tests\l}"] + text_test_c [label = "{text-test.c|tests\l}"] + vertex_clip_test_c [label = "{vertex-clip-test.c|tests\l}"] + + weston_test_client_helper [label = "{weston-test-client-helper.h/.c|Wayland tracking structs\lWeston test protocol\lWayland callbacks\lTest run lifecycle\l}"] + + weston_test_c [label = "{weston-test.c|Extension protocol\nimplementation}"] + weston_test_runner [label = "{weston-test-runner.h/.c|Test definition macros\lTest running functions\lTest reporting functions\lTest run lifecycle\l}"] + } + + weston_test_client_helper -> weston_test_runner + keyboard_test_c -> weston_test_client_helper + keyboard_test_c -> weston_test_runner + vertex_clip_test_c -> weston_test_runner + text_test_c -> weston_test_client_helper + text_test_c -> weston_test_runner + + edge [style = dashed, arrowhead = open] + weston_test_client_helper -> weston_test_c +} --- weston-1.9.0.orig/ivi-shell/README +++ weston-1.9.0/ivi-shell/README @@ -0,0 +1,79 @@ + In-vehicle infotainment (information and entertainment) + graphical environment support modules for Weston + + +IVI-shell is an alternative shell for Weston, a Wayland display server. +Window management and application interaction with the display server +are very different to that of a normal desktop, which is why this is +a separate shell and not an extension to the desktop-shell suite with +xdg_shell. As such, applications need to be specifically written to use +IVI-shell. + +IVI-shell contains two main features: +- Common layout library for surface, which allow ivi-shell developer + to develop own shell, linking Common layout library. + For the time being, the library refers Genivi ilm interface. + + http://projects.genivi.org/wayland-ivi-extension/ + +- Extension protocol; ivi-application to tie wl_surface and a given ID. + With this ID, shell can identify which wl_surface is drawn by which + application. In in-vehicle infortainment system, a shell has to update + a property of a wl_surface. E.g. there may be a use case when vehicle + starts to move, the wl_surface drawn by Car navigation is expected to + move top of surfaces. + +The actual software components delivered with Weston are: + +- ivi-application.xml: + Wayland protocol extension for IVI-applications; the public + shell protocol (the same concept as xdg_shell). + Implemented by ivi-shell.so. + +- ivi-shell.so: + A Weston shell module that implements ivi-application.xml interfaces. + Loads ivi-layout.so. + +- ivi-layout.so: + Implements the IVI window management concepts: Screen, Layer, + Surface, groups of Layers, groups of Surfaces, see: + http://projects.genivi.org/ivi-layer-management/node/13 + Offers a stable API for writing IVI-controller modules like + hmi-controller.so against the IVI concepts. In other words, + it offers an API to write IVI window manager modules. + +- hmi-controller.so: + A sample implementation of an IVI-controller module, usually + replaced by IVI system vendors. + Uses ivi-layout.so to perform essentially window manager tasks. + This implementation keeps all window management inside the module, + while IVI-systems may use another module that exposes all window + management via Wayland or other protocol for an external process + to control: + http://git.projects.genivi.org/?p=wayland-ivi-extension.git;a=summary + +- ivi-hmi-controller.xml: + Wayland protocol extension for IVI display control; the private + shell protocol for weston-ivi-shell-user-interface client + (the same concept as desktop-shell.xml). + Implemented by hmi-controller.so, and usually replaced by IVI + system vendors. + +- weston-ivi-shell-user-interface: + A sample implementation of an IVI shell helper client, usually + replaced by IVI system vendors. + A helper client for basic display content, similar to + weston-desktop-shell. + + +How to compile: +same as weston. To disable, use option: --disable-ivi-shell for configure. + +How to configure weston.ini: +reference ini file will be generated in /ivi-shell. + +How to run: +same as weston. exec weston. + +How to use UI: +http://lists.freedesktop.org/archives/wayland-devel/attachments/20140625/abbfc064/attachment-0001.png --- weston-1.9.0.orig/notes.txt +++ weston-1.9.0/notes.txt @@ -0,0 +1,87 @@ +This file is a collection of informal notes, with references to where +they were originally written. Each note should have a source and date +mentioned. Let's keep these in date order, newest first. + + + +----------------------------------------------------------------------- +2015-04-14; Pekka Paalanen +http://lists.freedesktop.org/archives/wayland-devel/2015-April/021309.html + +Never destroy weston_views or weston_surfaces from animation hooks. +Never destroy weston_views from weston_view signals. + +Basically, never manipulate a list while transversing it. + + +----------------------------------------------------------------------- +2012-10-23; Pekka Paalanen +http://lists.freedesktop.org/archives/wayland-devel/2012-October/005969.html + +For anyone wanting to port or write their own window manager to Wayland: + +Most likely you have a desktop window manager. A quick way to get +started, is to fork Weston's desktop-shell plugin and start hacking it. +Qt could be another good choice, but I am not familiar with it. + +You also need to understand some concepts. I'm repeating things I wrote +to the wayland-devel list earlier, a little rephrased. + +We need to distinguish three different things here (towards Wayland +clients): + +- compositors (servers) + All Wayland compositors are indistinguishable by definition, + since they are Wayland compositors. They only differ in the + global interfaces they advertise, and for general purpose + compositors, we should aim to support the same minimum set of + globals everywhere. For instance, all desktop compositors + should implement wl_shell. In X, this component corresponds to + the X server with a built-in compositing manager. + +- shells + This is a new concept compared to an X stack. A shell defines + how a user and applications interact. The most familiar is a + desktop (environment). If KDE, Gnome, and XFCE are desktop + environments, they all fall under the *same* shell: the desktop + shell. You can have applications in windows, several visible at + the same time, you have keyboards and mice, etc. + + An example of something that is not a desktop shell + could be a TV user interface. TV is profoundly different: + usually no mouse, no keyboard, but you have a remote control + with some buttons. Freely floating windows probably do not make + sense. You may have picture-in-picture, but usually not several + applications showing at once. Most importantly, trying to run + desktop applications here does not work due to the + incompatible application and user interface paradigms. + + On protocol level, a shell is the public shell interface(s), + currently for desktop it is the wl_shell. + +- "window managers" + The X Window Managers correspond to different wl_shell + implementations, not different shells, since they pratically + all deal with a desktop environment. You also want all desktop + applications to work with all window managers, so you need to + implement wl_shell anyway. + +I understand there could be special purpose X Window Managers, that +would better correspond to their own shells. These window managers +might not implement e.g. EWMH by the spec. + +When you implement your own window manager, you want to keep the public +desktop shell interface (wl_shell). You can offer new public +interfaces, too, but keep in mind, that someone needs to make +applications use them. + +In Weston, a shell implementation has two parts: a weston plugin, and a +special client. For desktop shell (wl_shell) these are src/shell.c and +clients/desktop-shell.c. The is also a private protocol extension that +these two can explicitly communicate with. + +The plugin does window management, and the client does most of user +interaction: draw backgrounds, panels, buttons, lock screen dialog, +basically everything that is on screen. + +----------------------------------------------------------------------- --- weston-1.9.0.orig/releasing.txt +++ weston-1.9.0/releasing.txt @@ -0,0 +1,102 @@ +To make a release of Weston and/or Wayland, follow these steps. + + 0. Verify the test suites and codebase checks pass. All of the + tests pass should either pass or skip. + + $ make check + + 1. Update the first three lines of configure.ac to the intended + version, commit. Also note that Weston includes versioned + dependencies on 'wayland-server' and 'wayland-client' in + configure.ac which occasionally need updated as well. Then commit + your changes: + + $ export RELEASE_NUMBER="x.y.z" + $ export RELEASE_NAME="[alpha|beta|RC1|RC2|official|point]" + $ git status + $ git commit configure.ac -m "configure.ac: bump to version $RELEASE_NUMBER for the $RELEASE_NAME release" + $ git push + + 2. For Weston releases, install Xwayland, either from your distro or + manually (see http://wayland.freedesktop.org/building.html). If + you install it to a location other than /usr/bin/Xwayland, specify + this in the following env var: + + XWAYLAND=$(which Xwayland) # Or specify your own path + export DISTCHECK_CONFIGURE_FLAGS="--with-xserver-path=$XWAYLAND" + + If you're using a locally installed libinput or other dependency + libraries, you'll likely need to set a few other environment + variables: + + export WLD="" + export LD_LIBRARY_PATH=$WLD/lib + export PKG_CONFIG_PATH=$WLD/lib/pkgconfig:$WLD/share/pkgconfig/ + + 3. Run the release.sh script to generate the tarballs, sign and + upload them, and generate a release announcement template. + This script can be obtained from X.org's modular package: + + http://cgit.freedesktop.org/xorg/util/modular/tree/release.sh + + The script supports a --dry-run option to test it without actually + doing a release. If the script fails on the distcheck step due to + a testsuite error that can't be fixed for some reason, you can + skip testsuite by specifying the --dist argument. Pass --help to + see other supported options. + + $ release.sh . + + For wayland, also publish the publican documentation to + wayland.freedesktop.org: + + $ ./publish-doc + + + 4. Compose the release announcements. The script will generate + *.x.y.0.announce files with a list of changes and tags, one for + wayland, one for weston. Prepend these with a human-readable + listing of the most notable changes. For x.y.0 releases, indicate + the schedule for the x.y+1.0 release. + + 5. pgp sign the the release announcements and send them to + wayland-devel@lists.freedesktop.org + + 6. Get your freshly posted release email URL from + http://lists.freedesktop.org/archives/wayland-devel/ + + 7. Update releases.html in wayland-web with links to tarballs and + the release email URL. + + The register_release script in wayland-web will generate an HTML + snippet that can be pasted into releases.html (or e.g. in emacs + insert it via "C-u M-! register_release x.y.z RC2") and + customized. + + Once satisfied: + + $ git commit ./releases.html -m "Add ${RELEASE_NUMBER} release" + $ git push + $ ./deploy + + 8. Update topic in #wayland to point to the release announcement URL + +For x.y.0 releases, also create the release series x.y branch. The x.y +branch is for bug fixes and conservative changes to the x.y.0 release, +and is where we release x.y.z releases from. Creating the x.y branch +opens up master for new development and lets new development move on. +We've done this both after the x.y.0 release (to focus development on +bug fixing for the x.y.1 release for a little longer) or before the +x.y.0 release (like we did with the 1.5.0 release, to unblock master +development early). + + $ git branch x.y + $ git push origin x.y + +The master branch configure.ac version should always be (at least) +x.y.90, with x.y being the most recent stable branch. Stable branch +configure version is just whatever was most recently released from +that branch. + +For stable branches, we commit fixes to master first, then cherry-pick +them back to the stable branch. --- weston-1.9.0.orig/tools/zunitc/doc/zunitc.dox +++ weston-1.9.0/tools/zunitc/doc/zunitc.dox @@ -0,0 +1,159 @@ +/* + * Copyright © 2015 Samsung Electronics Co., Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/** +@page zunitc zunitc + +- @ref zunitc_overview +- @ref zunitc_execution + - @ref zunitc_execution_commandline + - @ref zunitc_execution_matching + - @ref zunitc_execution_wildcards + - @ref zunitc_execution_repeat + - @ref zunitc_execution_randomize +- @ref zunitc_fixtures +- @ref zunitc_functions + +@section zunitc_overview Overview + +A simple test framework in plain C suitable for basic unit and integration testing. + +The main rationale for creating this framework was to have a simple to use testing +framework with tests implemented in C using common patterns and under a +compatible license. The structure of the test code and macro use is intended to +follow common patterns established by frameworks such as Boost Test and Google Test. + + +To get started, one or more tests should be defined via ZUC_TEST() and/or +ZUC_TEST_F(), which set up automatic test registration via gcc extensions. +To actually execute tests, ZUC_RUN_TESTS() should be called. + + +Tests can use several ZUC_ASSERT_* or ZUC_ASSERTG_* checks to validate +conditions. The ZUC_ASSERT_* ones upon failure will mark the current test +as failing and immediatly execute a return. On the other hand, the +ZUC_ASSERTG_* tests will mark the current test as failed and then execute a +'goto' targeting the specified label. + +The set of fatal test checks are + +- ZUC_ASSERT_TRUE() +- ZUC_ASSERT_FALSE() +- ZUC_ASSERT_NULL() +- ZUC_ASSERT_NOT_NULL() +- ZUC_ASSERT_EQ() +- ZUC_ASSERT_NE() +- ZUC_ASSERT_LT() +- ZUC_ASSERT_LE() +- ZUC_ASSERT_GT() +- ZUC_ASSERT_GE() +- ZUC_ASSERT_STREQ() +- ZUC_ASSERT_STRNE() + +and + +- ZUC_ASSERTG_TRUE() +- ZUC_ASSERTG_FALSE() +- ZUC_ASSERTG_NULL() +- ZUC_ASSERTG_NOT_NULL() +- ZUC_ASSERTG_EQ() +- ZUC_ASSERTG_NE() +- ZUC_ASSERTG_LT() +- ZUC_ASSERTG_LE() +- ZUC_ASSERTG_GT() +- ZUC_ASSERTG_GE() +- ZUC_ASSERTG_STREQ() +- ZUC_ASSERTG_STRNE() + +Unconditional test values for logging and termination are +- ZUC_SKIP() +- ZUC_FATAL() + +Unconditional message logging for failure cases only is +- ZUC_TRACEPOINT() + +@section zunitc_execution Controlling Execution + +To control execution, the various zuc_set_* functions can be called +before invoking ZUC_RUN_TESTS(). + +@subsection zunitc_execution_commandline Commandline Parameters + +The current implementation defers processing of command-line parameters +to the main application hosting the testing. It is possible that a +helper function to process certain parameters may be added. + +@subsection zunitc_execution_matching Matching Patterns for Tests + +The function zuc_set_filter() can be used to specify a pattern for +matching or excluding tests from a run. The general form is + match1[:match2[:match3..n]][:-exclude1[:exclude2[:exclude3..n]]] + +@subsection zunitc_execution_wildcards Matching Wildcards + +Wildcards can be used in the match/exclude patterns and recognize the +following two special characters: +- '*' matches any number of characters including zero. +- '?' matches any single character. + +Calling zuc_list_tests() after zuc_set_filter() can be done to show the +effects of the matching without needing to actually run tests. + +@subsection zunitc_execution_repeat Repeating Tests + +Setting the repeat count higher than 1 ( via zuc_set_repeat() ) will +cause the tests to be executed several times in a row. This can be +useful for stress testing, checking for leaks, etc. + +@subsection zunitc_execution_randomize Randomizing Tests + +Test ordering can be randomized by setting a non-zero positive value to +zuc_set_random(). Setting it to 1 will cause the framework to pick a +random seed based on the time. A value greater than 1 will be taken as a +random seed itself. And setting it to 0 will disable randomization and +allow the tests to be executed in their natural ordering. + +@section zunitc_fixtures Fixtures + +Per-suite and per-test setup and teardown fixtures can be implemented by +defining an instance of struct zuc_fixture and using it as the first +parameter to ZUC_TEST_F(). + +@section zunitc_functions Functions + +- ZUC_TEST() +- ZUC_TEST_F() +- ZUC_RUN_TESTS() +- zuc_cleanup() +- zuc_list_tests() +- zuc_set_filter() +- zuc_set_random() +- zuc_set_spawn() +- zuc_set_output_tap() +- zuc_set_output_junit() +- zuc_has_skip() +- zuc_has_failure() + +*/ --- weston-1.9.0.orig/wcap/README +++ weston-1.9.0/wcap/README @@ -0,0 +1,99 @@ +WCAP Tools + +WCAP is the video capture format used by Weston (Weston CAPture). +It's a simple, lossless format, that encodes the difference between +frames as run-length encoded rectangles. It's a variable framerate +format, that only records new frames along with a timestamp when +something actually changes. + +Recording in Weston is started by pressing MOD+R and stopped by +pressing MOD+R again. Currently this leaves a capture.wcap file in +the cwd of the weston process. The file format is documented below +and Weston comes with the wcap-decode tool to convert the wcap file +into something more usable: + + - Extract single or all frames as individual png files. This will + produce a lossless screenshot, which is useful if you're trying to + screenshot a brief glitch or something like that that's hard to + capture with the screenshot tool. + + wcap-decode takes a number of options and a wcap file as its + arguments. Without anything else, it will show the screen size and + number of frames in the file. Pass --frame= to extract a + single frame or pass --all to extract all frames as png files: + + [krh@minato weston]$ wcap-snapshot capture.wcap + wcap file: size 1024x640, 176 frames + [krh@minato weston]$ wcap-snapshot capture.wcap 20 + wrote wcap-frame-20.png + wcap file: size 1024x640, 176 frames + + - Decode and the wcap file and dump it as a YUV4MPEG2 stream on + stdout. This format is compatible with most video encoders and can + be piped directly into a command line encoder such as vpxenc (part + of libvpx, encodes to a webm file) or theora_encode (part of + libtheora, encodes to a ogg theora file). + + Using vpxenc to encode a webm file would look something like this: + + [krh@minato weston]$ wcap-decode --yuv4mpeg2 ../capture.wcap | + vpxenc --target-bitrate=1024 --best -t 4 -o foo.webm - + + where we select target bitrate, pass -t 4 to let vpxenc use + multiple threads. To encode to Ogg Theora a command line like this + works: + + [krh@minato weston]$ wcap-decode ../capture.wcap --yuv4mpeg2 | + theora_encode - -o cap.ogv + + +WCAP File format + +The file format has a small header and then just consists of the +indivial frames. The header is + + uint32_t magic + uint32_t format + uint32_t width + uint32_t height + +all CPU endian 32 bit words. The magic number is + + #define WCAP_HEADER_MAGIC 0x57434150 + +and makes it easy to recognize a wcap file and verify that it's the +right endian. There are four supported pixel formats: + + #define WCAP_FORMAT_XRGB8888 0x34325258 + #define WCAP_FORMAT_XBGR8888 0x34324258 + #define WCAP_FORMAT_RGBX8888 0x34325852 + #define WCAP_FORMAT_BGRX8888 0x34325842 + +Each frame has a header: + + uint32_t msecs + uint32_t nrects + +which specifies a timestamp in ms and the number of rectangles that +changed since previous frame. The timestamps are typically just a raw +system timestamp and the first frame doesn't start from 0ms. + +A frame consists of a list of rectangles, each of which represents the +component-wise difference between the previous frame and the current +using a run-length encoding. The initial frame is decoded against a +previous frame of all 0x00000000 pixels. Each rectangle starts out +with + + int32_t x1 + int32_t y1 + int32_t x2 + int32_t y2 + +followed by (x2 - x1) * (y2 - y1) pixels, run-length encoded. The +run-length encoding uses the 'X' channel in the pixel format to encode +the length of the run. That is for WCAP_FORMAT_XRGB8888, for example, +the length of the run is in the upper 8 bits. For X values 0-0xdf, +the length is X + 1, for X above or equal to 0xe0, the run length is 1 +<< (X - 0xe0 + 7). That is, a pixel value of 0xe3000100, means that +the next 1024 pixels differ by RGB(0x00, 0x01, 0x00) from the previous +pixels.