From 08e8258d58449920835445d40f29a362f1dac6ef Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Mon, 21 Mar 2022 06:51:44 +0000 Subject: [PATCH 1/1] Import generate-ninja_0.0~git20220314.bd99dbf-1.debian.tar.xz [dgit import tarball generate-ninja 0.0~git20220314.bd99dbf-1 generate-ninja_0.0~git20220314.bd99dbf-1.debian.tar.xz] --- .gitlab-ci.yml | 3 + changelog | 81 +++++++++++++++++++ control | 26 +++++++ copyright | 95 +++++++++++++++++++++++ gbp.conf | 4 + generate-ninja.examples | 2 + generate-ninja.install | 1 + generate-ninja.manpages | 1 + gn-describe | 12 +++ patches/Unbundling-version-from-git.patch | 14 ++++ patches/series | 1 + rules | 37 +++++++++ source/format | 1 + tests/control | 2 + tests/upstream-test-suite | 8 ++ upstream/metadata | 4 + watch | 4 + 17 files changed, 296 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 gbp.conf create mode 100644 generate-ninja.examples create mode 100644 generate-ninja.install create mode 100644 generate-ninja.manpages create mode 100755 gn-describe create mode 100644 patches/Unbundling-version-from-git.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 source/format create mode 100644 tests/control create mode 100644 tests/upstream-test-suite create mode 100644 upstream/metadata create mode 100644 watch diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..892f3cd --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,3 @@ +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff --git a/changelog b/changelog new file mode 100644 index 0000000..4944778 --- /dev/null +++ b/changelog @@ -0,0 +1,81 @@ +generate-ninja (0.0~git20220314.bd99dbf-1) unstable; urgency=medium + + * Revup upstream. + + -- Ricardo Ribalda Delgado Mon, 21 Mar 2022 07:51:44 +0100 + +generate-ninja (0.0~git20220118.0725d78-1) unstable; urgency=medium + + [ Ricardo Ribalda Delgado ] + * Revup upstream + + -- Boyuan Yang Mon, 24 Jan 2022 15:57:21 -0500 + +generate-ninja (0.0~git20210811.69ec4fc-1) unstable; urgency=medium + + * Revup upstream + * Update debian-policy + + -- Ricardo Ribalda Delgado Mon, 30 Aug 2021 10:24:30 +0200 + +generate-ninja (0.0~git20210209.dfcbc6fe-1~exp1) experimental; urgency=medium + + * debian/patches + + Remove patches after upstreaming them + + -- qinxialei Thu, 18 Feb 2021 11:11:23 +0800 + +generate-ninja (0.0~git20210128.09c9e5e-1) unstable; urgency=medium + + * Revup upstream. + * Build with g++ if clang is not available. + * Remove debian/patches after upstreaming them. + * Use /usr/share/dpkg/architecture.mk in debian/rules. + * Use DEB_VERSION_UPSTREAM instead of dpkg-parsechangelog --show-field Version + + -- Ricardo Ribalda Delgado Thu, 28 Jan 2021 20:35:22 +0100 + +generate-ninja (0.0~git20210126.94bda7c-1) unstable; urgency=medium + + * Revup upstream. + * Refactor the package internal versioning. + * Fix build for all arches/ports. + * Fix Uploader name. + + -- Ricardo Ribalda Delgado Wed, 27 Jan 2021 13:39:13 +0100 + +generate-ninja (0.0~git20210126.5f30bbf-2) unstable; urgency=medium + + * Add Ricardo as co-maintainer. + * Source-only rebuild. + + -- qinxialei Wed, 27 Jan 2021 17:34:33 +0800 + +generate-ninja (0.0~git20210126.5f30bbf-1) unstable; urgency=medium + + * Add watch file. + * Add gbp.conf. + * Add gitlab CI file. + * Get version from upstream tag instead of hardcoded value. + * Enable pie. + * Enable autopkgtest. + * Add myself as co-maintainer. + * Auto-generate manpage. + + -- Ricardo Ribalda Tue, 26 Jan 2021 17:47:41 +0100 + +generate-ninja (0.0~git20201124.53d9201-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Source-only rebuild. + * debian/control: Bump Standards-Version to 4.5.1. + * debian/control: Add Vcs-* packaging repo. + * Let generate-ninja provides "gn" package. + + -- Boyuan Yang Sat, 05 Dec 2020 20:19:00 -0500 + +generate-ninja (0.0~git20201124.53d9201-1) unstable; urgency=medium + + * Initial release (Closes: #974015) + + -- qinxialei Fri, 06 Nov 2020 11:33:44 +0800 diff --git a/control b/control new file mode 100644 index 0000000..d5faa21 --- /dev/null +++ b/control @@ -0,0 +1,26 @@ +Source: generate-ninja +Section: utils +Priority: optional +Maintainer: qinxialei +Uploaders: Ricardo Ribalda Delgado +Build-Depends: clang [linux-any], + debhelper-compat (= 13), + git, + help2man, + ninja-build, + python3 +Standards-Version: 4.6.0 +Homepage: https://gn.googlesource.com/gn/ +Vcs-Browser: https://salsa.debian.org/debian/gn +Vcs-Git: https://salsa.debian.org/debian/gn.git +Rules-Requires-Root: no + +Package: generate-ninja +Architecture: amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel ppc64 ppc64el riscv64 s390x +Depends: ${misc:Depends}, ${shlibs:Depends} +Provides: gn +Description: meta-build system for ninja + Generate-Ninja, or GN, is a meta-build system that generates Ninja + build files so that you can build your project with Ninja. GN was, + originally, part of the Chromium source tree, and has since been + extracted into its own standalone repo. diff --git a/copyright b/copyright new file mode 100644 index 0000000..b81a57f --- /dev/null +++ b/copyright @@ -0,0 +1,95 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: gn +Upstream-Contact: gn-dev@googlegroups.com +Source: https://gn.googlesource.com/gn + +Files: * +Copyright: 2013-2020 Google Inc + 2013-2020 scottmg@chromium.org + 2013-2020 brettw@chromium.org + 2013-2020 phosek@chromium.org +License: BSD-3-Clause + +Files: debian/* +Copyright: 2020 qinxialei +License: BSD-3-Clause + +Files: infra/recipes.py +Copyright: Copyright 2017 The LUCI Authors. +License: Apache-2.0 + +Files: infra/recipes/gn.py +Copyright: Copyright 2018 The Chromium Authors. +License: Apache-2.0 + +Files: src/util/test/gn_test.cc +Copyright: Copyright 2017 The LUCI Authors. +License: Apache-2.0 + +Files: src/base/third_party/icu/* +Copyright: Copyright 1999-2015 International Business Machines +License: ICU + +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. 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. + 3. Neither the name of the University 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 HOLDERS 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: ICU + 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, and/or sell + copies of the Software, and to permit persons + to whom the Software is furnished to do so, provided that the above + copyright notice(s) and this permission notice appear in all copies + of the Software and that both the above copyright notice(s) and this + permission notice appear in supporting documentation. + . + 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 OF THIRD PARTY RIGHTS. IN NO EVENT SHALL + THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, + OR 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. + . + Except as contained in this notice, the name of a copyright holder shall not be + used in advertising or otherwise to promote the sale, use or other dealings in + this Software without prior written authorization of the copyright holder. + +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 License, Version 2.0, can be + found in "/usr/share/common-licenses/Apache-2.0". diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..01b81ca --- /dev/null +++ b/gbp.conf @@ -0,0 +1,4 @@ +[DEFAULT] +debian-branch = debian +upstream-branch = upstream +pristine-tar = True diff --git a/generate-ninja.examples b/generate-ninja.examples new file mode 100644 index 0000000..56b03d6 --- /dev/null +++ b/generate-ninja.examples @@ -0,0 +1,2 @@ +examples/simple_build/* +examples/simple_build/.gn diff --git a/generate-ninja.install b/generate-ninja.install new file mode 100644 index 0000000..c2e6c49 --- /dev/null +++ b/generate-ninja.install @@ -0,0 +1 @@ +out/gn /usr/bin diff --git a/generate-ninja.manpages b/generate-ninja.manpages new file mode 100644 index 0000000..4ae54e4 --- /dev/null +++ b/generate-ninja.manpages @@ -0,0 +1 @@ +out/gn.1 diff --git a/gn-describe b/gn-describe new file mode 100755 index 0000000..0832a7f --- /dev/null +++ b/gn-describe @@ -0,0 +1,12 @@ +#!/bin/bash + +set -e + +if git rev-parse --git-dir &>/dev/null ; then + git fetch --tags &>/dev/null || true + upstream_tag=$(dpkg-parsechangelog --show-field Version | sed 's#-.*##' | tr '~' '_') + git describe upstream/${upstream_tag} --match initial-commit + exit 0 +fi + +echo $DEB_VERSION_UPSTREAM | sed 's#^.*\.#initial-commit-1000-g#' diff --git a/patches/Unbundling-version-from-git.patch b/patches/Unbundling-version-from-git.patch new file mode 100644 index 0000000..38f7a10 --- /dev/null +++ b/patches/Unbundling-version-from-git.patch @@ -0,0 +1,14 @@ +Unbundling version from git +diff --git a/build/gen.py b/build/gen.py +index 922bf46f..ab8b4115 100755 +--- a/build/gen.py ++++ b/build/gen.py +@@ -153,7 +153,7 @@ def main(argv): + def GenerateLastCommitPosition(host, header): + ROOT_TAG = 'initial-commit' + describe_output = subprocess.check_output( +- ['git', 'describe', 'HEAD', '--match', ROOT_TAG], shell=host.is_windows(), ++ ['debian/gn-describe'], shell=host.is_windows(), + cwd=REPO_ROOT) + mo = re.match(ROOT_TAG + '-(\d+)-g([0-9a-f]+)', describe_output.decode()) + if not mo: diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..b243104 --- /dev/null +++ b/patches/series @@ -0,0 +1 @@ +Unbundling-version-from-git.patch diff --git a/rules b/rules new file mode 100755 index 0000000..1b64c1a --- /dev/null +++ b/rules @@ -0,0 +1,37 @@ +#!/usr/bin/make -f +include /usr/share/dpkg/buildflags.mk +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +CXXFLAGS += $(CPPFLAGS) -fPIE +LDFLAGS += -pie + +include /usr/share/dpkg/architecture.mk +ifeq "$(DEB_HOST_ARCH)" "armel" +LDFLAGS += -latomic +endif + +#Needed by gn-describe when building outside git tree +include /usr/share/dpkg/pkg-info.mk +export DEB_VERSION_UPSTREAM + +#Fallback to c++ if clang is not available +ifeq (, $(shell which clang++)) +export CXX = c++ +endif + +%: + dh $@ --buildsystem=ninja --builddirectory=out + +override_dh_auto_configure: + python3 $(CURDIR)/build/gen.py + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + $(CURDIR)/out/gn_unittests +endif + +override_dh_auto_install: + #noop + +VERSION = $(shell out/gn --version) +execute_before_dh_installdocs: + help2man --version-string="gn $(VERSION)" --name="Meta-build system that generates build files for Ninja" -N -o out/gn.1 out/gn diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..67e8128 --- /dev/null +++ b/tests/control @@ -0,0 +1,2 @@ +Tests: upstream-test-suite +Depends: g++, generate-ninja, ninja-build diff --git a/tests/upstream-test-suite b/tests/upstream-test-suite new file mode 100644 index 0000000..56a765f --- /dev/null +++ b/tests/upstream-test-suite @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +cd examples/simple_build +gn gen /tmp/out +cd /tmp/out +ninja +./hello diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 0000000..fab67a3 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,4 @@ +Bug-Database: https://groups.google.com/a/chromium.org/g/gn-dev +Changelog: https://gn.googlesource.com/gn/+log +Repository-Browse: https://gn.googlesource.com/gn +Repository: https://gn.googlesource.com/gn diff --git a/watch b/watch new file mode 100644 index 0000000..e46e3db --- /dev/null +++ b/watch @@ -0,0 +1,4 @@ +version=4 +opts="mode=git, pgpmode=none, pretty=0.0~git%cd.%h, repack, compression=xz" \ + https://gn.googlesource.com/gn \ + HEAD -- 2.30.2