Import generate-ninja_0.0~git20220811.0bcd37b-1.debian.tar.xz
authorRicardo Ribalda Delgado <ricardo@ribalda.com>
Mon, 15 Aug 2022 07:56:34 +0000 (08:56 +0100)
committerRicardo Ribalda Delgado <ricardo@ribalda.com>
Mon, 15 Aug 2022 07:56:34 +0000 (08:56 +0100)
[dgit import tarball generate-ninja 0.0~git20220811.0bcd37b-1 generate-ninja_0.0~git20220811.0bcd37b-1.debian.tar.xz]

17 files changed:
.gitlab-ci.yml [new file with mode: 0644]
changelog [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
generate-ninja.examples [new file with mode: 0644]
generate-ninja.install [new file with mode: 0644]
generate-ninja.manpages [new file with mode: 0644]
gn-describe [new file with mode: 0755]
patches/Unbundling-version-from-git.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
tests/control [new file with mode: 0644]
tests/upstream-test-suite [new file with mode: 0644]
upstream/metadata [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..892f3cd
--- /dev/null
@@ -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 (file)
index 0000000..a5fe380
--- /dev/null
+++ b/changelog
@@ -0,0 +1,89 @@
+generate-ninja (0.0~git20220811.0bcd37b-1) unstable; urgency=medium
+
+  * Update Unbundling-version.git patch.
+  * Disable dwz (Closes: #1016330).
+  * Revup upstream.
+
+ -- Ricardo Ribalda Delgado <ricardo@ribalda.com>  Mon, 15 Aug 2022 09:56:34 +0200
+
+generate-ninja (0.0~git20220314.bd99dbf-1) unstable; urgency=medium
+
+  * Revup upstream.
+
+ -- Ricardo Ribalda Delgado <ricardo@ribalda.com>  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 <byang@debian.org>  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 <ricardo@ribalda.com>  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 <xialeiqin@gmail.com>  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 <ricardo@ribalda.com>  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 <ricardo@ribalda.com>  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 <xialeiqin@gmail.com>  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 <ricardo@ribalda.com>  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 <byang@debian.org>  Sat, 05 Dec 2020 20:19:00 -0500
+
+generate-ninja (0.0~git20201124.53d9201-1) unstable; urgency=medium
+
+  * Initial release (Closes: #974015)
+
+ -- qinxialei <xialeiqin@gmail.com>  Fri, 06 Nov 2020 11:33:44 +0800
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..d5faa21
--- /dev/null
+++ b/control
@@ -0,0 +1,26 @@
+Source: generate-ninja
+Section: utils
+Priority: optional
+Maintainer: qinxialei <xialeiqin@gmail.com>
+Uploaders: Ricardo Ribalda Delgado <ricardo@ribalda.com>
+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 (file)
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 <xialeiqin@gmail.com>
+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 (file)
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 (file)
index 0000000..56b03d6
--- /dev/null
@@ -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 (file)
index 0000000..c2e6c49
--- /dev/null
@@ -0,0 +1 @@
+out/gn /usr/bin
diff --git a/generate-ninja.manpages b/generate-ninja.manpages
new file mode 100644 (file)
index 0000000..4ae54e4
--- /dev/null
@@ -0,0 +1 @@
+out/gn.1
diff --git a/gn-describe b/gn-describe
new file mode 100755 (executable)
index 0000000..c94e223
--- /dev/null
@@ -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} --abbrev=12 --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 (file)
index 0000000..19ae985
--- /dev/null
@@ -0,0 +1,14 @@
+Unbundling version from git
+diff --git a/build/gen.py b/build/gen.py
+index fa23266c..794b4357 100755
+--- a/build/gen.py
++++ b/build/gen.py
+@@ -218,7 +218,7 @@ def main(argv):
+ def GenerateLastCommitPosition(host, header):
+   ROOT_TAG = 'initial-commit'
+   describe_output = subprocess.check_output(
+-      ['git', 'describe', 'HEAD', '--abbrev=12', '--match', ROOT_TAG],
++      ['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 (file)
index 0000000..b243104
--- /dev/null
@@ -0,0 +1 @@
+Unbundling-version-from-git.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..8831955
--- /dev/null
+++ b/rules
@@ -0,0 +1,40 @@
+#!/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
+
+override_dh_dwz:
+       #Clang-14 does not seem to play nice with dwz #1016563
+
+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 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..67e8128
--- /dev/null
@@ -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 (file)
index 0000000..56a765f
--- /dev/null
@@ -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 (file)
index 0000000..fab67a3
--- /dev/null
@@ -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 (file)
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