summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/.gitignore18
-rwxr-xr-xdebian/bin/gencontrol.sh65
-rw-r--r--debian/changelog5
-rw-r--r--debian/compat1
-rw-r--r--debian/patches/dont-strip.patch15
-rw-r--r--debian/patches/series1
-rwxr-xr-xdebian/rules33
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/options0
-rw-r--r--debian/watch3
10 files changed, 142 insertions, 0 deletions
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 0000000..e3505df
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,18 @@
+/control
+/*.log
+/oselas.toolchain-2018.02.0-aarch64-v8a-linux-gnu-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-1136jfs-linux-gnueabi-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-1136jfs-linux-gnueabihf-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-v4t-linux-gnueabi-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-v5te-linux-gnueabi-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-v7a-linux-gnueabi-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-v7a-linux-gnueabihf-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-v7em-eabihf-gcc-7.3.1-newlib-2.5.0-binutils-2.30.install
+/oselas.toolchain-2018.02.0-arm-v7em-uclinuxeabihf-gcc-7.3.1-uclibc-ng-1.0.28-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-arm-v7m-eabi-gcc-7.3.1-newlib-2.5.0-binutils-2.30.install
+/oselas.toolchain-2018.02.0-arm-v7m-uclinuxeabi-gcc-7.3.1-uclibc-ng-1.0.28-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-i586-unknown-linux-gnu-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-i686-atom-linux-gnu-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-mipsel-softfloat-linux-gnu-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-powerpc-603e-linux-gnu-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
+/oselas.toolchain-2018.02.0-x86-64-unknown-linux-gnu-gcc-7.3.1-glibc-2.27-binutils-2.30-kernel-4.15-sanitized.install
diff --git a/debian/bin/gencontrol.sh b/debian/bin/gencontrol.sh
new file mode 100755
index 0000000..66c2fe5
--- /dev/null
+++ b/debian/bin/gencontrol.sh
@@ -0,0 +1,65 @@
+#!/bin/sh -e
+
+die() {
+ echo >&2 "$@"
+ return 1
+}
+
+# This script assumes to have CWD = toplevel of OSELAS.Toolchain
+test -f debian/changelog || die "debian/changelog not found"
+test "$(dpkg-vendor --query Vendor)" = "Debian" || die "This script only works on Debian"
+
+toolchain_version=$(dpkg-parsechangelog -SVersion | sed -e 's/-[^-]*$//')
+newcontrol=$(mktemp debian/control.XXXXXXXXX)
+trap 'rm -v -- "$newcontrol"' INT QUIT EXIT
+
+cat > "$newcontrol" << EOF
+Source: oselas.toolchain
+Section: devel
+Priority: optional
+Maintainer: PTXdist Devevelopers <ptxdist@pengutronix.de>
+Homepage: https://www.pengutronix.de/software/toolchain.html
+Bugs: mailto:bugs@pengutronix.de
+Build-Depends: debhelper (>= 9), libncurses-dev, python3-dev, bison, flex
+EOF
+
+find ptxconfigs -maxdepth 2 -name \*.ptxconfig |
+while read configfile; do
+ toolchain_name="$(basename "${configfile}" .ptxconfig | sed s/_/-/g)"
+ pkg="oselas.toolchain-${toolchain_version}-${toolchain_name}"
+ gnutriplet="$(sed -n 's/^PTXCONF_GNU_TARGET="\(.*\)"/\1/p' "$configfile")"
+
+ cat >> "$newcontrol" << EOF
+
+Package: $pkg
+Architecture: any
+Depends: \${shlibs:Depends}, \${misc:Depends}
+Description: OSELAS Toolchain for ${gnutriplet}
+
+Package: oselas.toolchain-${toolchain_version}-${gnutriplet}
+Architecture: all
+Depends: $pkg
+Description: Meta package depending on latest OSELAS Toolchain for ${gnutriplet}
+
+Package: oselas.toolchain-${toolchain_version%.*}-${gnutriplet}
+Architecture: all
+Depends: $pkg
+Description: Meta package depending on latest OSELAS Toolchain for ${gnutriplet}
+EOF
+
+ echo "/opt/OSELAS.Toolchain-2018.02.0/${gnutriplet}" > "debian/${pkg}.install"
+done
+
+if ! cmp -s "$newcontrol" "debian/control"; then
+ mv "$newcontrol" "debian/control"
+ trap '' INT QUIT EXIT
+
+ echo >&2 debian/control was updated successfully.
+ echo >&2 Nevertheless return failure here to eventually abort
+ echo >&2 building because the debian/control must not change
+ echo >&2 during a build.
+
+ exit 1
+else
+ touch "debian/control"
+fi
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..3f47365
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+oselas.toolchain (2018.02.0-0ptx2) unstable; urgency=medium
+
+ * Initial packaging of OSELAS.Toolchain using debhelper
+
+ -- Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Wed, 30 May 2018 11:27:03 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/patches/dont-strip.patch b/debian/patches/dont-strip.patch
new file mode 100644
index 0000000..8d80b30
--- /dev/null
+++ b/debian/patches/dont-strip.patch
@@ -0,0 +1,15 @@
+Description: Don't strip in post/cleanup
+
+Index: OSELAS.Toolchain/rules/post/cleanup.make
+===================================================================
+--- OSELAS.Toolchain.orig/rules/post/cleanup.make
++++ OSELAS.Toolchain/rules/post/cleanup.make
+@@ -14,7 +14,7 @@ $(STATEDIR)/world.cleanup: $(STATEDIR)/w
+ -wholename "$(PTXCONF_SYSROOT_CROSS)/lib/gcc" -prune -o \
+ -type f -name "*.a" -print0 | xargs -0 -r rm
+ # # strip all host binaries
+- find $(TOOLCHAIN_CLEANUP_HOST_DIRS) \
++ : || find $(TOOLCHAIN_CLEANUP_HOST_DIRS) \
+ -wholename "$(PTXCONF_SYSROOT_CROSS)/lib/gcc" -prune -o \
+ -type f \( -executable -o -name "*.so*" \) -print0 \
+ | xargs -0 -n1 --verbose strip --preserve-dates || true
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..2c0f4b4
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+dont-strip.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..6e6d1e3
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,33 @@
+#!/usr/bin/make -f
+
+RULETARGETS := binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep
+$(RULETARGETS): %: debian/control
+ dh $@
+
+debian/control: debian/bin/gencontrol.sh $(wildcard ptxconfigs/*.ptxconfig)
+ debian/bin/gencontrol.sh
+
+ptxdistrc:
+ : > $@
+ test ! -d /ptx/src || echo 'PTXCONF_SETUP_SRCDIR="/ptx/src"' >> $@
+
+override_dh_auto_build: ptxdistrc
+ PTXDIST_PTXRC=$(CURDIR)/ptxdistrc make -f build_all_v2.mk ARG="-j -q go" PTXDIST=/opt/bin/ptxdist-2018.02.0 CROSS_GDB_WITHOUT_PYTHON=n
+
+override_dh_auto_install:
+ mkdir -p $(CURDIR)/debian/tmp
+ mv inst/opt debian/tmp/opt
+
+override_dh_auto_clean:
+ dh_auto_clean
+ rm -rf gstate platform-*
+
+# don't strip target stuff
+override_dh_strip:
+ dh_strip -Xsysroot- $(foreach d,$(wildcard debian/tmp/opt/OSELAS.Toolchain-*/*/*/*/lib),-X$(subst debian/tmp,,$(d)))
+
+# don't use target binaries to generate dependencies
+override_dh_shlibdeps:
+ dh_shlibdeps -Xsysroot- $(foreach d,$(wildcard debian/tmp/opt/OSELAS.Toolchain-*/*/*/*/lib),-X$(subst debian/tmp,,$(d)))
+
+.PHONY: $(RULETARGETS)
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/debian/source/options
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..e586ed3
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+
+https://public.pengutronix.de/oselas/toolchain/OSELAS.Toolchain-(.*).tar.bz2