diff --git a/debian/.gitattributes b/debian/.gitattributes new file mode 100644 index 000000000..6a031635c --- /dev/null +++ b/debian/.gitattributes @@ -0,0 +1 @@ +changelog merge=dpkg-mergechangelogs diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 000000000..97b993676 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,12 @@ +tmp/ +libopenxr1-monado/ +monado-cli/ +monado-gui/ +monado-service/ +.debhelper/ +debhelper-build-stamp +files +*.debhelper.log +*.substvars +*.debhelper +!patches/ diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 000000000..67ce6cd7c --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,23 @@ +monado (0.3.0-2) experimental; urgency=medium + + This build of Monado on Linux supports running much of the runtime + in "service mode", with a systemd user service and socket activation + auto-starting it. + + To enable this without logging out and back in, run: + + systemctl --user enable monado + systemctl --user start monado.socket + + If you do not do that, you will need to start monado-service manually + before running an OpenXR-based application. + + To stop Monado, run: + + systemctl --user stop monado.service + + and run the following to allow manually running a monado-service instance: + + systemctl --user stop monado.socket + + -- Rylie Pavlik Tue, 14 Jul 2020 16:01:24 -0500 diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 000000000..42914888f --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,16 @@ +monado for Debian +----------------- + +The active OpenXR runtime is controlled by +/etc/xdg/openxr/1/active_runtime.json. This file is managed by the +update-alternatives system, under the name openxr1-active-runtime. + +Note that at this time, you can have only a single runtime active, across all +architectures. (This is an upstream bug in the OpenXR loader spec, tracked here: +) This package is +built so that the runtime will be found in the default path, so you can have +this runtime installed on multiple architectures and have them all work +(assuming dependencies permit). However, you'd switch between Monado and some +other runtime for all architectures at once. + + -- Rylie Pavlik Thu, 26 Mar 2020 09:36:58 -0500 diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 000000000..6020e1ed4 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,23 @@ +This package is based on the version of Monado in Debian +(https://salsa.debian.org/monado-team/monado), but is slightly adapted for use +directly within the "upstream" source tree. + +There is useful stuff, more directed at package maintenance for distro +submission, in the Debian copy of this file: + + +To build a package for local use: + +- Checkout the branch you want to build (assuming `master` here) and make sure + your tree is clean (`git reset --hard` will be used later!) A fresh clone or + one kept clean just for package building is probably a good idea. +- Do a `git merge --no-commit debian/sid` (or `debian/buster-backports`, or + `ubuntu/focal`, or...) +- `debian/extra/prepare-commit-package.sh master` to make the orig.tar.gz file + and add the `debian/changelog` entry. (Add an additional command line argument + with the debian revision if you want to customize it. The default is usually + good.) +- `debuild -uc -us` to build an unsigned source and binary package on your + machine. Or, however else you want to build. (e.g. `debuild -S` for a signed + source-only package to upload to a PPA, etc) +- `git reset --hard` to undo the merging-in changes when you're done. diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..0ec196915 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,95 @@ +monado (21.0.0~dfsg1-2~bpo11+1) bullseye-backports; urgency=medium + + * Rebuild for bullseye-backports. + * d/control: Update for backport. + * d/gbp.conf: Update for backport + + -- Rylie Pavlik Tue, 26 Oct 2021 17:04:56 -0500 + +monado (21.0.0~dfsg1-2) unstable; urgency=medium + + * d/control + - Add Build-Depends on libbsd-dev for pidfile support when + building service. + - Bump Standards-Version to 4.6.0, no changes required. + - Remove Build-Depends that we don't actually use. + - Exclude some dependencies on less-common arches to fix builds. + * d/copyright: Update + * Backport patch for upstream to fix FTBFS, closes: #997239 + * Clean up/annotate patches + * Switch to pandoc from markdown for formatting changelog. + + -- Rylie Pavlik Tue, 26 Oct 2021 16:59:16 -0500 + +monado (21.0.0~dfsg1-1) unstable; urgency=medium + + * New upstream version 21.0.0~dfsg1 + * Fix gbp.conf for sid. + * Exclude bitmap icons for SteamVR driver due to unclear + license/source + * Disable building new SteamVR driver. + * d/control + - Fix Vcs- fields for sid + - Update metadata based on conformance results + - Update Standards-Version to 4.5.1 - no changes required. + - Add Build-Depends on gstreamer for video-file support + * d/copyright: Update + * Drop 0001-Fix-destdir-repetition-with-systemd-unit.patch: + merged upstream. + * Add patch to allow overriding package version + * d/rules: Provide the Debian version to the build + + -- Rylie Pavlik Thu, 11 Feb 2021 15:36:12 -0600 + +monado (0.3.0-3) unstable; urgency=medium + + * Source-only upload. + + -- Andrew Lee (李健秋) Sat, 18 Jul 2020 07:58:47 +0800 + +monado (0.3.0-2) experimental; urgency=medium + + * Adjust build to use service-enabled mode on Linux. + - Adds a patch to fix systemd unit install location + - Adds a new binary package, monado-service, on Linux. + + -- Rylie Pavlik Tue, 14 Jul 2020 16:01:24 -0500 + +monado (0.3.0-1) unstable; urgency=medium + + * New upstream version 0.3.0 - substantial upstream changes. + * Apply cme fixes. + * d/control: + - Fix Vcs-Browser, Vcs-Git + - Add Build-Depends on libx11-xcb-dev + - Revise package description now that conformance tests are released. + - Disable optional hidapi dependency on hurd + - Add Build-Depends: libdbus-1-dev and a Suggests for Bluetooth Low + Energy support + * d/copyright: Update + * d/rules: + - Disable IPC/service module for now. + - Fix/use all reproducibility flags. + - Configure to force system cJSON. + - Comment out flag only needed before Bullseye. + - Explicitly disable OpenHMD to avoid confusion/CI issues. + - Update for upstream config flags + * d/README.source: Document procedure for updating and backporting package + * docs: Bundle README.source + * docs: Ship upstream changelog. + * Update xml metadata description. + + -- Rylie Pavlik Fri, 10 Jul 2020 16:53:54 -0500 + +monado (0.1.0+git108.a8a4d8c3-2) unstable; urgency=medium + + * Add patches to fix build on ppc64el, s390x, powerpc + * Rebuild to unblock migration. + + -- Rylie Pavlik Thu, 09 Apr 2020 18:03:59 -0500 + +monado (0.1.0+git108.a8a4d8c3-1) unstable; urgency=medium + + * Initial release (Closes: #943486) + + -- Rylie Pavlik Wed, 08 Apr 2020 10:11:01 -0500 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..f758d6f4b --- /dev/null +++ b/debian/control @@ -0,0 +1,104 @@ +Source: monado +Maintainer: Rylie Pavlik +Uploaders: Andrew Lee (李健秋) +Section: libs +Priority: optional +Build-Depends: debhelper-compat (= 12), + cmake, + glslang-tools, + libavcodec-dev [!hppa !sh4], + libbsd-dev [linux-any], + libcjson-dev, + libdbus-1-dev [linux-any], + libegl1-mesa-dev, + libeigen3-dev, + libgl1-mesa-dev, + libglvnd-dev, + libgstreamer1.0-dev, + libgstreamer-plugins-base1.0-dev, + libhidapi-dev [!hurd-i386], + libopencv-dev [!alpha !ia64 !sparc64 !x32], + libsystemd-dev [linux-any], + libsdl2-dev, + libudev-dev, + libusb-1.0-0-dev, + libuvc-dev, + libv4l-dev, + libvulkan-dev, + libwayland-dev, + libx11-dev, + libx11-xcb-dev, + libxcb-randr0-dev, + libxrandr-dev, + libxxf86vm-dev, + pandoc , + pkg-config +Standards-Version: 4.6.0 +Vcs-Browser: https://gitlab.freedesktop.org/monado/monado/-/tree/debian/bullseye +Vcs-Git: https://gitlab.freedesktop.org/monado/monado.git -b debian/bullseye +Homepage: https://monado.freedesktop.org/ +Rules-Requires-Root: no + +Package: monado-service +Architecture: linux-any +Multi-Arch: foreign +Depends: ${shlibs:Depends}, + ${misc:Depends} +Recommends: xr-hardware, + libopenxr-loader1, + libopenxr1-monado (= ${binary:Version}) +Description: Monado XR hardware and composition service + Monado is an open-source package for interacting with virtual and + augmented reality (collectively known as XR) hardware and software. + . + This package provides the service that provides the VR compositor and + hardware drivers to Monado clients like libopenxr1-monado. + +Package: libopenxr1-monado +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + monado-service (= ${binary:Version}) [linux-any] +Recommends: xr-hardware, + libopenxr-loader1 +Suggests: bluez [linux-any] +Provides: libopenxr1 +Description: Monado implementation of the OpenXR API + Monado is an open-source package for interacting with virtual and + augmented reality (collectively known as XR) hardware and software. + . + This package provides a runtime that aims to be a complete and conforming + implementation of the OpenXR API from Khronos. When used with the + "simulated" device driver, this package is conformant with OpenXR 1.0. + When used with any other driver, this package is based on a published + Khronos Specification and is expected to pass the Khronos Conformance + Process. Current conformance status can be found at + www.khronos.org/conformance. + +Package: monado-cli +Architecture: any +Section: graphics +Depends: ${shlibs:Depends}, + ${misc:Depends} +Recommends: xr-hardware +Description: Monado command-line utility + Monado is an open-source package for interacting with virtual and + augmented reality (collectively known as XR) hardware and software. + . + This package provides a command line utility that can be used to test + probing for XR hardware. + +Package: monado-gui +Architecture: any +Section: graphics +Depends: ${shlibs:Depends}, + ${misc:Depends} +Recommends: xr-hardware +Description: Monado GUI config and debug utility + Monado is an open-source package for interacting with virtual and + augmented reality (collectively known as XR) hardware and software. + . + This package provides a graphical interface utility that can be used to + test probing for XR hardware, as well as performing calibration of + cameras for use in tracking. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..74e74f34d --- /dev/null +++ b/debian/copyright @@ -0,0 +1,518 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: monado +Source: +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: * +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: cmake/GetGitRevisionDescription.cmake.in +Copyright: Iowa State University 2009-2010. +License: BSL-1.0 + +Files: debian/* +Copyright: 2020, 2021, Rylie Pavlik +License: BSL-1.0 + +Files: debian/extra/* +Copyright: 2020, Rylie Pavlik +License: CC0-1.0 + +Files: debian/org.freedesktop.monado.openxr1.metainfo.xml +Copyright: 2020, Collabora, Ltd. +License: CC0-1.0 + +Files: doc/* +Copyright: 2018-2020, Collabora, Ltd. and the Monado contributors +License: BSL-1.0 + +Files: doc/CHANGELOG.md +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/* +Copyright: 2020, Collabora, Ltd. and the Proclamation contributors +License: CC0-1.0 + +Files: doc/changes/auxiliary/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/big/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/compositor/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/drivers/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/misc_features/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/misc_fixes/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/state_trackers/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/changes/xrt/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: CC0-1.0 + +Files: doc/howto-release.md +Copyright: 2018-2020, Collabora, Ltd. +License: BSL-1.0 + +Files: scripts/* +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/external/Catch2/* +Copyright: 2020, Two Blue Cubes Ltd. +License: BSL-1.0 + +Files: src/external/cjson/* +Copyright: 2009-2017, Dave Gamble and cJSON contributors +License: Expat + +Files: src/external/flexkalman/* +Copyright: 2019, Collabora, Ltd. + 2015, 2016, Sensics, Inc. +License: Apache-2.0 + +Files: src/external/flexkalman/flexkalman/AbsoluteOrientationMeasurement.h + src/external/flexkalman/flexkalman/AngularVelocityMeasurement.h + src/external/flexkalman/flexkalman/FlexibleKalmanBase.h + src/external/flexkalman/flexkalman/FlexibleKalmanCorrect.h + src/external/flexkalman/flexkalman/FlexibleKalmanFilter.h + src/external/flexkalman/flexkalman/FlexibleKalmanMeta.h + src/external/flexkalman/flexkalman/FlexibleUnscentedCorrect.h + src/external/flexkalman/flexkalman/MatrixExponentialMap.h + src/external/flexkalman/flexkalman/OrientationConstantVelocity.h + src/external/flexkalman/flexkalman/OrientationState.h + src/external/flexkalman/flexkalman/PoseConstantVelocity.h + src/external/flexkalman/flexkalman/PoseConstantVelocityGeneric.h + src/external/flexkalman/flexkalman/PoseDampedConstantVelocity.h + src/external/flexkalman/flexkalman/PoseSeparatelyDampedConstantVelocity.h + src/external/flexkalman/flexkalman/PoseState.h + src/external/flexkalman/flexkalman/PoseStateExponentialMap.h +Copyright: 2019, 2020, Collabora, Ltd. + 2015, 2016, Sensics, Inc. +License: Apache-2.0 + +Files: src/external/flexkalman/flexkalman/AbsolutePositionLeverArmMeasurement.h + src/external/flexkalman/flexkalman/SO3.h +Copyright: 2019, 2020, Collabora, Ltd. +License: Apache-2.0 or BSL-1.0 + +Files: src/external/flexkalman/flexkalman/AbsolutePositionMeasurement.h + src/external/flexkalman/flexkalman/AugmentedProcessModel.h + src/external/flexkalman/flexkalman/AugmentedState.h + src/external/flexkalman/flexkalman/ConstantProcess.h + src/external/flexkalman/flexkalman/EigenQuatExponentialMap.h + src/external/flexkalman/flexkalman/ExternalQuaternion.h + src/external/flexkalman/flexkalman/PureVectorState.h + src/external/flexkalman/flexkalman/SigmaPointGenerator.h +Copyright: 2015, 2016, Sensics, Inc. +License: Apache-2.0 + +Files: src/external/flexkalman/flexkalman/BaseTypes.h +Copyright: 2019, Collabora, Ltd. +License: Apache-2.0 + +Files: src/external/glad/* +Copyright: 2020, Collabora, Ltd. and the Monado contributors +License: BSL-1.0 + +Files: src/external/glad/include/* +Copyright: 2007-2020, The Khronos Group Inc. +License: Khronos + +Files: src/external/glad/include/KHR/* +Copyright: 2008-2018, The Khronos Group Inc. +License: Khronos + +Files: src/external/glad/include/glad/* +Copyright: 2013-2020, The Khronos Group, Inc. +License: Apache-2.0 +Comment: This is generated from the specification XML (licensed as above) by GLAD2. + +Files: src/external/glad/src/* +Copyright: 2013-2020, David Herberth +License: Expat + +Files: src/external/hungarian/* +Copyright: 2016, mcximing +License: BSD-2-clause + +Files: src/external/imgui/* +Copyright: 2015, Stephan Dilly + 2014-2020, Omar Cornut +License: Expat + +Files: src/external/imgui/imgui/implot.cpp + src/external/imgui/imgui/implot.h + src/external/imgui/imgui/implot_internal.h + src/external/imgui/imgui/implot_items.cpp +Copyright: 2020, Evan Pezent +License: Expat + +Files: src/external/imgui/imgui/imstb_rectpack.h + src/external/imgui/imgui/imstb_textedit.h + src/external/imgui/imgui/imstb_truetype.h +Copyright: 2017, Sean Barrett +License: Expat or Unlicense + +Files: src/external/imgui/imgui_monado/* +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/external/jnipp/* +Copyright: 2016, Mitchell Dowd + 2020, Collabora, Ltd. +License: Expat + +Files: src/external/jnipp/README.md + src/external/jnipp/dotest.sh + src/external/jnipp/jnipp.cpp + src/external/jnipp/jnipp.h + src/external/jnipp/makefile +Copyright: 2020, Collabora, Ltd. + 2016-2020, Mitchell Dowd +License: Expat + +Files: src/external/jnipp/tests/* +Copyright: 2020, Collabora, Ltd. + 2016-2020, Mitchell Dowd +License: Expat + +Files: src/external/openvr_includes/* +Copyright: 2015, Valve Corporation +License: BSD-3-clause + +Files: src/external/openvr_includes/CHANGELOG.md +Copyright: 2018-2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/external/openvr_includes/openvr_driver.h +Copyright: 2015-2020, Valve Corporation +License: BSD-3-clause + +Files: src/external/openxr_includes/* +Copyright: 2007-2020, The Khronos Group Inc. +License: Apache-2.0 or Expat + +Files: src/external/openxr_includes/openxr/loader_interfaces.h +Copyright: 2017-2020, The Khronos Group Inc. + 2017, Valve Corporation + 2017, LunarG, Inc. +License: Apache-2.0 + +Files: src/xrt/* +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/auxiliary/bindings/bindings.json +Copyright: 2018-2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/auxiliary/math/m_imu_3dof.c + src/xrt/auxiliary/math/m_imu_3dof.h +Copyright: 2020, Collabora, Ltd. + 2013, Jakob Bornecrantz. + 2013, Fredrik Hultin. +License: BSL-1.0 + +Files: src/xrt/auxiliary/math/m_quatexpmap.cpp +Copyright: 2019, 2020, Collabora, Ltd. + 2015, 2016, Sensics, Inc. +License: Apache-2.0 + +Files: src/xrt/auxiliary/math/m_vec3.h +Copyright: 2020, Nova King. + 2019, 2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/android/android_sensors.c +Copyright: 2020, Collabora, Ltd. + 2015, Joey Ferwerda. + 2013, Jakob Bornecrantz. + 2013, Fredrik Hultin. +License: BSL-1.0 + +Files: src/xrt/drivers/hdk/hdk_device.cpp +Copyright: 2019, Collabora, Ltd. + 2014-2018, Sensics, Inc. + 2014, Kevin M. Godby +License: BSL-1.0 + +Files: src/xrt/drivers/hydra/* +Copyright: 2019, Collabora, Ltd. + 2011, Iowa State University +License: BSL-1.0 + +Files: src/xrt/drivers/hydra/hydra_interface.h +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/illixr/* +Copyright: 2020, 2021, The Board of Trustees of the University of Illinois. +License: BSL-1.0 + +Files: src/xrt/drivers/north_star/* +Copyright: 2020, Nova King. + 2019, 2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/north_star/distortion/* +Copyright: 2020, Nova King. + 2020, Hesham Wahba. +License: BSD-3-clause + +Files: src/xrt/drivers/north_star/ns_hmd.c +Copyright: 2020, Nova King. + 2020, Moses Turner. + 2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/north_star/ns_hmd.h +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/psvr/* +Copyright: 2019, 2020, Collabora, Ltd. + 2016, Joey Ferwerda. +License: BSL-1.0 + +Files: src/xrt/drivers/psvr/psvr_interface.h + src/xrt/drivers/psvr/psvr_prober.c +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/realsense/* +Copyright: 2020, Nova King. + 2019, 2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/realsense/rs_interface.h +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/drivers/vive/* +Copyright: 2019, 2020, Collabora, Ltd. + 2016-2019, Philipp Zabel +License: BSL-1.0 + +Files: src/xrt/drivers/vive/vive_config.c + src/xrt/drivers/vive/vive_config.h + src/xrt/drivers/vive/vive_controller.h + src/xrt/drivers/vive/vive_device.h + src/xrt/drivers/vive/vive_prober.c + src/xrt/drivers/vive/vive_prober.h +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/ipc/shared/proto.json + src/xrt/ipc/shared/proto.schema.json +Copyright: 2018-2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/targets/openxr/install_active_runtime.sh +Copyright: 2019, Drew DeVault +License: BSL-1.0 + +Files: src/xrt/targets/openxr/openxr_monado.in.json +Copyright: 2018-2020, Collabora, Ltd. +License: BSL-1.0 + +Files: src/xrt/targets/steamvr_drv/resources/* +Copyright: 2018-2020, Collabora, Ltd. +License: BSL-1.0 + +Files: tests/* +Copyright: 2018-2021, Collabora, Ltd. +License: BSL-1.0 + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + https://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache version 2.0 license + can be found in "/usr/share/common-licenses/Apache-2.0". + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-clause + This software is Copyright (c) 2021 by X. Ample. + . + This is free software, licensed under: + . + The (three-clause) BSD License + . + The BSD License + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + * Neither the name of X. Ample nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSL-1.0 + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by this + license (the "Software") to use, reproduce, display, distribute, execute, and + transmit the Software, and to prepare derivative works of the Software, and to + permit third-parties to whom the Software is furnished to do so, all subject to + the following: + . + The copyright notices in the Software and this entire statement, including the + above license grant, this restriction and the following disclaimer, must be + included in all copies of the Software, in whole or in part, and all derivative + works of the Software, unless such copies or derivative works are solely in the + form of machine-executable object code generated by a source language + processor. + . + 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, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY + DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +License: CC0-1.0 + foo has dedicated the work to the Commons by waiving all of his + or her rights to the work worldwide under copyright law and all related or + neighboring legal rights he or she had in the work, to the extent allowable by + law. + Works under CC0 do not require attribution. When citing the work, you should + not imply endorsement by the author. + To the extent possible under law, the author(s) have dedicated all + copyright and related and neighboring rights to this software to the public + domain worldwide. This software is distributed without any warranty. + On Debian systems, the complete text of the CC0 license, version 1.0, + can be found in /usr/share/common-licenses/CC0-1.0. + +License: Expat + 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 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. + +License: Khronos + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Materials. + . + THE MATERIALS ARE 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 + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +License: Unlicense + This is free and unencumbered software released into the public domain. + . + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + . + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + . + 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 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. + . + For more information, please refer to diff --git a/debian/copyright-scan-patterns.yml b/debian/copyright-scan-patterns.yml new file mode 100644 index 000000000..4df1898bb --- /dev/null +++ b/debian/copyright-scan-patterns.yml @@ -0,0 +1,5 @@ +--- +ignore: + pattern: + - .reuse/* + - .gitlab-ci diff --git a/debian/extra/prepare-commit-package.sh b/debian/extra/prepare-commit-package.sh new file mode 100755 index 000000000..10ddeb261 --- /dev/null +++ b/debian/extra/prepare-commit-package.sh @@ -0,0 +1,37 @@ +#!/bin/sh +# Copyright 2020-2022, Rylie Pavlik +# SPDX-License-Identifier: CC0-1.0 + +# Packages produced this way are for automated use only and shouldn't be uploaded to the Debian archive. + +set -e +( + cd "$(dirname $0)" + cd ../.. + export DEVSCRIPTS_CHECK_DIRNAME_LEVEL=0 + + if [ x"$1" != x ]; then + COMMIT_TO_PACKAGE=$1 + echo "Package version will describe commit specified on command line: ${COMMIT_TO_PACKAGE}" + export COMMIT_TO_PACKAGE + else + COMMIT_TO_PACKAGE=main + echo "Package version will describe default commit: ${COMMIT_TO_PACKAGE}" + export COMMIT_TO_PACKAGE + fi + + if [ x"$2" != x ]; then + PKG_REVISION=$2 + echo "Appending custom revision suffix specified on command line: ${PKG_REVISION}" + export PKG_REVISION + else + PKG_REVISION=1~bpo11~ci$(date --utc "+%Y%m%d") + echo "Appending auto-generated revision suffix: ${PKG_REVISION}" + export PKG_REVISION + fi + + UPSTREAM_VER=$(git describe --exclude "v0*" "$COMMIT_TO_PACKAGE" | sed -E -e 's/^v//' -e 's/-([0-9]+)-g([0-9a-f])/+git\1.\2/') + echo "Computed package version ${UPSTREAM_VER}" + git archive -o "../monado_${UPSTREAM_VER}.orig.tar.gz" ${COMMIT_TO_PACKAGE} + dch --newversion "${UPSTREAM_VER}-${PKG_REVISION}" --preserve "Automated CI build of commit ${COMMIT_TO_PACKAGE}" +) diff --git a/debian/extra/register-dpkg-mergechangelogs.sh b/debian/extra/register-dpkg-mergechangelogs.sh new file mode 100755 index 000000000..90dcdd589 --- /dev/null +++ b/debian/extra/register-dpkg-mergechangelogs.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Copyright 2020, Rylie Pavlik +# SPDX-License-Identifier: CC0-1.0 +# Registers dpkg-mergechangelogs as a git merge driver so the gitattributes in here works right. +# defaults to local-only: calling with --global is recommended +set -e +git config "$@" merge.dpkg-mergechangelogs.name="debian/changelog merge driver" +git config "$@" merge.dpkg-mergechangelogs.driver="dpkg-mergechangelogs -m %O %A %B %A" diff --git a/debian/fill.copyright.blanks.yml b/debian/fill.copyright.blanks.yml new file mode 100644 index 000000000..8bc1242c6 --- /dev/null +++ b/debian/fill.copyright.blanks.yml @@ -0,0 +1,54 @@ +--- +debian/extra/: + license: CC0-1.0 + skip: false +doc/CHANGELOG.md: + license: CC0-1.0 + skip: false +doc/changes/: + copyright: 2020, Collabora, Ltd. and the Monado contributors + license: CC0-1.0 + skip: true +doc/changes/README.md: + copyright: 2020, Collabora, Ltd. and the Proclamation contributors + license: CC0-1.0 + skip: false +scripts/: + license: BSL-1.0 + skip: false +src/external/flexkalman/flexkalman/AbsolutePositionLeverArmMeasurement.h: + license: Apache-2.0 or BSL-1.0 + skip: false +src/external/flexkalman/flexkalman/SO3.h: + license: Apache-2.0 or BSL-1.0 + skip: false +src/external/imgui/imgui/imstb_rectpack.h: + override-license: Expat or Unlicense + skip: false +src/external/imgui/imgui/imstb_textedit.h: + override-license: Expat or Unlicense + skip: false +src/external/imgui/imgui/imstb_truetype.h: + override-license: Expat or Unlicense + skip: false +src/external/imgui/imgui_monado/: + license: BSL-1.0 + skip: false +src/external/openvr_includes/openvr_driver.h: + override-copyright: 2015-2020, Valve Corporation + skip: false +src/xrt: + license: BSL-1.0 + skip: false +src/xrt/auxiliary/math/m_quatexpmap.cpp: + license: Apache-2.0 + skip: false +src/xrt/drivers/north_star/distortion/: + license: BSD-3-clause + skip: false +tests/tests_input_transform.cpp: + license: BSL-1.0 + skip: false +tests/tests_main.cpp: + license: BSL-1.0 + skip: false diff --git a/debian/fix.scanned.copyright b/debian/fix.scanned.copyright new file mode 100644 index 000000000..408699390 --- /dev/null +++ b/debian/fix.scanned.copyright @@ -0,0 +1,5 @@ +# Remove mistaken prefix. +! Files:~/.*/ Copyright=~"s/Text: //" + +! Files:~/.*imstb_.*/ License short_name=~"s/and\/or/or/" + diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 000000000..d5afd8a62 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,4 @@ +[DEFAULT] +debian-branch = debian/bullseye +pristine-tar = True +upstream-branch = master diff --git a/debian/libopenxr1-monado.dirs b/debian/libopenxr1-monado.dirs new file mode 100644 index 000000000..cea828cfa --- /dev/null +++ b/debian/libopenxr1-monado.dirs @@ -0,0 +1 @@ +etc/xdg/openxr/1 diff --git a/debian/libopenxr1-monado.docs b/debian/libopenxr1-monado.docs new file mode 100644 index 000000000..c0dc0d3f5 --- /dev/null +++ b/debian/libopenxr1-monado.docs @@ -0,0 +1,4 @@ +debian/README.Debian +debian/README.source +usr/share/doc/monado/changelog +usr/share/doc/monado/changelog.html diff --git a/debian/libopenxr1-monado.install b/debian/libopenxr1-monado.install new file mode 100644 index 000000000..f91ad297b --- /dev/null +++ b/debian/libopenxr1-monado.install @@ -0,0 +1,3 @@ +usr/lib/*/libopenxr_monado.* +usr/share/openxr/1/openxr_monado.json +debian/org.freedesktop.monado.openxr1.metainfo.xml usr/share/metainfo diff --git a/debian/libopenxr1-monado.lintian-overrides b/debian/libopenxr1-monado.lintian-overrides new file mode 100644 index 000000000..bc9bacce4 --- /dev/null +++ b/debian/libopenxr1-monado.lintian-overrides @@ -0,0 +1,4 @@ +# This is never linked directly against. It is placed in the main library directory +# so that it can be found by the loader using an unqualified name, to allow multiple architectures +# to have an active OpenXR runtime (the same one) at the same time. +libopenxr1-monado: sharedobject-in-library-directory-missing-soname usr/lib/*/libopenxr_monado.so diff --git a/debian/libopenxr1-monado.postinst b/debian/libopenxr1-monado.postinst new file mode 100755 index 000000000..1a35ef982 --- /dev/null +++ b/debian/libopenxr1-monado.postinst @@ -0,0 +1,27 @@ +#!/bin/sh +# postinst script for monado +# +# see: dh_installdeb(1) + +set -e + +case "$1" in + configure) + update-alternatives --install /etc/xdg/openxr/1/active_runtime.json openxr1-active-runtime /usr/share/openxr/1/openxr_monado.json 50 + ;; + + 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 diff --git a/debian/libopenxr1-monado.prerm b/debian/libopenxr1-monado.prerm new file mode 100755 index 000000000..367656403 --- /dev/null +++ b/debian/libopenxr1-monado.prerm @@ -0,0 +1,29 @@ +#!/bin/sh +# prerm script for monado +# +# see: dh_installdeb(1) + +set -e + +case "$1" in + remove|deconfigure) + + update-alternatives --remove openxr1-active-runtime /usr/share/openxr/1/openxr_monado.json + ;; + upgrade) + ;; + failed-upgrade) + ;; + + *) + echo "prerm 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 diff --git a/debian/monado-cli.1 b/debian/monado-cli.1 new file mode 100644 index 000000000..97b71394a --- /dev/null +++ b/debian/monado-cli.1 @@ -0,0 +1,26 @@ +.\" Copyright 2020, Collabora, Ltd. +.\" SPDX-License-Identifier: BSL-1.0 +.\" Author: Ryan Pavlik +.Dd March 31, 2020 +.Dt MONADO-CLI 1 +.Sh NAME +.Nm monado-cli +.Nd Command-line tool for testing Monado +.Sh SYNOPSIS +.Nm +test +.Nm +probe +.Sh DESCRIPTION +.Nm +is a tool to test or debug Monado on a system. +.Pp +The arguments are as follows: +.Bl -tag -width -indent +.It test +Verbosely lists found devices, including un-recognized devices, for prober testing. +.It probe +Creates the prober, probes, and immediately shuts down. +.El +.Sh SEE ALSO +.Xr monado-gui 1 diff --git a/debian/monado-cli.install b/debian/monado-cli.install new file mode 100644 index 000000000..e5712a486 --- /dev/null +++ b/debian/monado-cli.install @@ -0,0 +1 @@ +usr/bin/monado-cli diff --git a/debian/monado-cli.manpages b/debian/monado-cli.manpages new file mode 100644 index 000000000..c978f089e --- /dev/null +++ b/debian/monado-cli.manpages @@ -0,0 +1 @@ +debian/monado-cli.1 diff --git a/debian/monado-ctl.1 b/debian/monado-ctl.1 new file mode 100644 index 000000000..d3f5beb29 --- /dev/null +++ b/debian/monado-ctl.1 @@ -0,0 +1,35 @@ +.\" Copyright 2020, Collabora, Ltd. +.\" SPDX-License-Identifier: BSL-1.0 +.\" Author: Ryan Pavlik +.Dd July 10, 2020 +.Dt MONADO-CTL 1 +.Sh NAME +.Nm monado-ctl +.Nd Monado service control utility +.Sh SYNOPSIS +.Nm +.Nm +.Op Fl p Ar clientnum +.Nm +.Op Fl f Ar clientnum +.Sh DESCRIPTION +.Nm +is a tool to control multiple applications on a system +that are accessing +.Xr monado-service 1 +simultaneously. +If called with no arguments, a list of client applications is displayed. +.Pp +The arguments are as follows: +.Bl -tag -width -indent +.It Fl p Ar clientnum +Sets client number +.Pa clientnum +as the primary application. +.It Fl f Ar clientnum +Sets client number +.Pa clientnum +as focused. +.El +.Sh SEE ALSO +.Xr monado-service 1 diff --git a/debian/monado-gui.1 b/debian/monado-gui.1 new file mode 100644 index 000000000..4b51f675f --- /dev/null +++ b/debian/monado-gui.1 @@ -0,0 +1,36 @@ +.\" Copyright 2020, Collabora, Ltd. +.\" SPDX-License-Identifier: BSL-1.0 +.\" Author: Ryan Pavlik +.Dd March 31, 2020 +.Dt MONADO-GUI 1 +.Sh NAME +.Nm monado-gui +.Nd GUI tool for configuring and testing Monado +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +.Nm +is a tool to configure, test, and debug Monado on a system. +.Pp +It takes no arguments, and spawns a main menu window with a number of buttons. +Some options may spawn a number of sub-windows. +These may be overlapping initially, and should be moved to reveal them all clearly. +.Pp +.Bl -tag -width -indent +.It Calibrate +Choosing "Calibrate" from the main menu will walk you through selecting a camera device and choosing calibration details. +You will need a calibration test target in a "checkerboard" or "asymmetric dots" pattern +(see the OpenCV documentation for more information on these) +printed very precisely in high contrast on a rigid surface. +.It Debug Test +Choosing "Debug Test" from the main menu will probe and start all devices, showing you debug information on many of them. +The debug views and controls available vary based on available devices. +.El +.Sh NOTES +The GUI available through "Debug Test" may also be available while running an OpenXR-based application using Monado, by setting the environment variable +.Ev OXR_DEBUG_GUI +to ON. +.Sh EXIT STATUS +.Ex -std +.Sh SEE ALSO +.Xr monado-cli 1 diff --git a/debian/monado-gui.install b/debian/monado-gui.install new file mode 100644 index 000000000..0ca613fe8 --- /dev/null +++ b/debian/monado-gui.install @@ -0,0 +1 @@ +usr/bin/monado-gui diff --git a/debian/monado-gui.manpages b/debian/monado-gui.manpages new file mode 100644 index 000000000..212800a8e --- /dev/null +++ b/debian/monado-gui.manpages @@ -0,0 +1 @@ +debian/monado-gui.1 diff --git a/debian/monado-service.1 b/debian/monado-service.1 new file mode 100644 index 000000000..b9c6da2c7 --- /dev/null +++ b/debian/monado-service.1 @@ -0,0 +1,17 @@ +.\" Copyright 2020, Collabora, Ltd. +.\" SPDX-License-Identifier: BSL-1.0 +.\" Author: Ryan Pavlik +.Dd July 10, 2020 +.Dt MONADO-SERVICE 1 +.Sh NAME +.Nm monado-service +.Nd Device and composition service for Monado-based feaetures +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +.Nm +is the service module of Monado that provides hardware access and composition. +It may be manually started, or allowed to auto-start through systemd socket activation +via monado.socket and monado.service. +.Pp +It takes no arguments, and detects whether it was started by socket activation automatically. diff --git a/debian/monado-service.install b/debian/monado-service.install new file mode 100644 index 000000000..660ac16d0 --- /dev/null +++ b/debian/monado-service.install @@ -0,0 +1,4 @@ +usr/bin/monado-service +usr/bin/monado-ctl +usr/lib/systemd/user/monado.service +usr/lib/systemd/user/monado.socket diff --git a/debian/monado-service.manpages b/debian/monado-service.manpages new file mode 100644 index 000000000..ba959e48f --- /dev/null +++ b/debian/monado-service.manpages @@ -0,0 +1,2 @@ +debian/monado-ctl.1 +debian/monado-service.1 diff --git a/debian/org.freedesktop.monado.openxr1.metainfo.xml b/debian/org.freedesktop.monado.openxr1.metainfo.xml new file mode 100644 index 000000000..9a9af7117 --- /dev/null +++ b/debian/org.freedesktop.monado.openxr1.metainfo.xml @@ -0,0 +1,55 @@ + + + org.freedesktop.monado.openxr1 + CC0-1.0 + Monado OpenXR Runtime + Run VR/AR applications written against the OpenXR API + +

+ Monado is an open-source package for interacting with virtual and augmented + reality (collectively known as XR) hardware and software. +

+

+ This package provides a runtime that aims to be a complete and conforming + implementation of the OpenXR API from Khronos, after further development. +

+
+ + + usb:v1532p0300* + + usb:v0BB4p2C87* + + usb:v0BB4p0309* + + usb:v28DEp2101* + + usb:v28DEp2300* + + usb:v28DEp2000* + + usb:v1532p0B00* + + usb:v2833p0001* + + usb:v2833p0021* + + usb:v2833p2021* + + usb:v2833p0031* + + usb:v054Cp09AF* + + usb:v054Cp03D5* + bluetooth:v054Cp03D5* + input:b0005v054Cp03D5* + + usb:v054Cp0C5E* + bluetooth:v054Cp0C5E* + input:b0005v054Cp0C5E* + + usb:v045Ep0659* + + usb:v04E8p7312* + +
diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..bef546558 --- /dev/null +++ b/debian/rules @@ -0,0 +1,59 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +# export DH_VERBOSE = 1 + + +# see FEATURE AREAS in dpkg-buildflags(1) +export DEB_BUILD_MAINT_OPTIONS = hardening=+all reproducible=+all + +# see ENVIRONMENT in dpkg-buildflags(1) +# package maintainers to append LDFLAGS +# Not needed on Bullseye and newer +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + +include /usr/share/dpkg/architecture.mk + +# We manage active runtime via update-alternatives +# We use a relative runtime path to allow Multi-Arch: same to work. +# We disable absolute systemd unit files too since we install to the path. +# Don't waste time building the SteamVR driver, we don't package it. +# Tell the version, instead of letting it guess from Git. +CONFIG_ARGS := -DXRT_HAVE_SYSTEM_CJSON=ON \ + -DXRT_OPENXR_INSTALL_ACTIVE_RUNTIME=OFF \ + -DXRT_VULKAN_ENABLE_VALIDATION=OFF \ + -DBUILD_DOC=OFF \ + -DXRT_OPENXR_INSTALL_ABSOLUTE_RUNTIME_PATH=OFF \ + -DXRT_BUILD_DRIVER_OHMD=OFF \ + -DXRT_INSTALL_ABSOLUTE_SYSTEMD_UNIT_FILES=OFF \ + -DXRT_FEATURE_STEAMVR_PLUGIN=OFF \ + -DGIT_DESC=$(DEB_VERSION) + +# Only building in service mode on Linux where systemd can give us socket activation +ifeq (,$(findstring linux,$(DEB_HOST_ARCH_OS))) +# Disable service elsewhere +CONFIG_ARGS += -DXRT_FEATURE_SERVICE=OFF +endif + +%: + dh $@ + +override_dh_auto_configure: + dh_auto_configure -- $(CONFIG_ARGS) + +# Make the changelog usable here, and modify the dependency in systemd unit file. +override_dh_install: +ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS))) + mkdir -p debian/tmp/usr/share/doc/monado + cp doc/CHANGELOG.md debian/tmp/usr/share/doc/monado/changelog + pandoc -f markdown -t html doc/CHANGELOG.md > debian/tmp/usr/share/doc/monado/changelog.html +endif +ifneq (,$(findstring linux,$(DEB_HOST_ARCH_OS))) + sed -i "s/%N/monado/" debian/tmp/usr/lib/systemd/user/monado.service +endif + dh_install + +# Remove imgui config file if it's there. +override_dh_auto_clean: + -rm -f imgui.ini + dh_auto_clean diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tests/cli-probe b/debian/tests/cli-probe new file mode 100644 index 000000000..12d104db2 --- /dev/null +++ b/debian/tests/cli-probe @@ -0,0 +1,3 @@ +#!/bin/sh +set -e +monado-cli probe diff --git a/debian/tests/cli-test b/debian/tests/cli-test new file mode 100644 index 000000000..b38967c7d --- /dev/null +++ b/debian/tests/cli-test @@ -0,0 +1,3 @@ +#!/bin/sh +set -e +monado-cli test diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 000000000..887e880e6 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,3 @@ +Tests: cli-probe, cli-test +Restrictions: allow-stderr,superficial +Depends: monado-cli diff --git a/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 000000000..2fa55e632 --- /dev/null +++ b/debian/upstream/metadata @@ -0,0 +1,7 @@ +--- +Bug-Database: https://gitlab.freedesktop.org/monado/monado/-/issues +Bug-Submit: https://gitlab.freedesktop.org/monado/monado/-/issues +Changelog: https://gitlab.freedesktop.org/monado/monado/-/blob/master/doc/CHANGELOG.md +Documentation: https://monado.pages.freedesktop.org/monado/ +Repository-Browse: hhttps://gitlab.freedesktop.org/monado/monado/ +Repository: https://gitlab.freedesktop.org/monado/monado.git diff --git a/debian/watch b/debian/watch new file mode 100644 index 000000000..2f0cf26f3 --- /dev/null +++ b/debian/watch @@ -0,0 +1,11 @@ +version=4 +opts="\ +compression=xz, \ +repacksuffix=~dfsg1, \ +dversionmangle=s/[\~\+](dfsg|ds)\d?$//, \ +filenamemangle=s/.*\/archive\/v(\d\S+)\/monado.*\.tar\.bz2/monado-$1\.tar\.bz2/g" \ + https://gitlab.freedesktop.org/monado/monado/-/tags \ + .*/archive/v(\d\S+)/.*[.]tar[.]bz2 + + +# .*/archive/(\d\S+)/.*\.tar\.bz2