Cleanup: move scripts to subdirectory
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 29 Jun 2018 21:28:32 +0000 (17:28 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 5 Jul 2018 18:18:21 +0000 (14:18 -0400)
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
20 files changed:
Kbuild.common
README.md
abi-debian-version.sh [deleted file]
abi-fedora-version.sh [deleted file]
abi-rhel-version.sh [deleted file]
abi-sle-version.sh [deleted file]
built-in.sh [deleted file]
extra-version-git.sh [deleted file]
extra-version-name.sh [deleted file]
extra-version-patches.sh [deleted file]
rt-patch-version.sh [deleted file]
scripts/abi-debian-version.sh [new file with mode: 0755]
scripts/abi-fedora-version.sh [new file with mode: 0755]
scripts/abi-rhel-version.sh [new file with mode: 0755]
scripts/abi-sle-version.sh [new file with mode: 0755]
scripts/built-in.sh [new file with mode: 0755]
scripts/extra-version-git.sh [new file with mode: 0755]
scripts/extra-version-name.sh [new file with mode: 0755]
scripts/extra-version-patches.sh [new file with mode: 0755]
scripts/rt-patch-version.sh [new file with mode: 0755]

index bd24e801d7a94d8f93814acd8019b942da60bb6c..c7cbd0b24aae7b376b45d53f2d7b0c09e5d953b8 100644 (file)
@@ -1,52 +1,54 @@
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
 # Work-around for distro-specific public modules ABI breakages.
 # Some distributions break the public module instrumentation ABI
 # compared to upstream stable kernels without providing other mean than
 # the kernel EXTRAVERSION to figure it out. Translate this information
 # into a define visible from the C preprocessor.
 
-DEB_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-debian-version.sh $(CURDIR))
+DEB_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-debian-version.sh $(CURDIR))
 
 ifneq ($(DEB_API_VERSION), 0)
   ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION)
 endif
 
-RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-rhel-version.sh $(CURDIR))
+RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-rhel-version.sh $(CURDIR))
 
 ifneq ($(RHEL_API_VERSION), 0)
   ccflags-y += -DRHEL_API_VERSION=$(RHEL_API_VERSION)
 endif
 
-SLE_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-sle-version.sh $(CURDIR))
+SLE_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-sle-version.sh $(CURDIR))
 
 ifneq ($(SLE_API_VERSION), 0)
   ccflags-y += -DSLE_API_VERSION=$(SLE_API_VERSION)
 endif
 
-FEDORA_REVISION_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-fedora-version.sh $(CURDIR))
+FEDORA_REVISION_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-fedora-version.sh $(CURDIR))
 
 ifneq ($(FEDORA_REVISION_VERSION), 0)
   ccflags-y += -DFEDORA_REVISION_VERSION=$(FEDORA_REVISION_VERSION)
 endif
 
-RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/rt-patch-version.sh $(CURDIR))
+RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/rt-patch-version.sh $(CURDIR))
 
 ifneq ($(RT_PATCH_VERSION), 0)
   ccflags-y += -DRT_PATCH_VERSION=$(RT_PATCH_VERSION)
 endif
 
-EXTRA_VERSION_NAME:=$(shell $(TOP_LTTNG_MODULES_DIR)/extra-version-name.sh $(TOP_LTTNG_MODULES_DIR))
+EXTRA_VERSION_NAME:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-name.sh $(TOP_LTTNG_MODULES_DIR))
 
 ifneq ($(EXTRA_VERSION_NAME), 0)
   ccflags-y += -DLTTNG_EXTRA_VERSION_NAME='"$(EXTRA_VERSION_NAME)"'
 endif
 
-EXTRA_VERSION_GIT:=$(shell $(TOP_LTTNG_MODULES_DIR)/extra-version-git.sh $(TOP_LTTNG_MODULES_DIR))
+EXTRA_VERSION_GIT:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-git.sh $(TOP_LTTNG_MODULES_DIR))
 
 ifneq ($(EXTRA_VERSION_GIT), 0)
   ccflags-y += -DLTTNG_EXTRA_VERSION_GIT='"$(EXTRA_VERSION_GIT)"'
 endif
 
-EXTRA_VERSION_PATCHES:=$(shell $(TOP_LTTNG_MODULES_DIR)/extra-version-patches.sh $(TOP_LTTNG_MODULES_DIR))
+EXTRA_VERSION_PATCHES:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-patches.sh $(TOP_LTTNG_MODULES_DIR))
 
 # Starting with kernel 4.12, the ftrace header was moved to private headers
 # and as such is not available when building against distro headers instead
index 93e2dd350748d100f09e51fcc12742f0464f1dde..201a579c7a35a717320ae3c11f67cdb2ed22417d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -45,9 +45,10 @@ kernel, do:
 ### Kernel built-in support
 
 It is also possible to build these modules as part of a kernel image. Simply
-run the [`built-in.sh`](built-in.sh) script with the path to your kernel
-source directory as an argument.  It will symlink the lttng-modules directory
-in the kernel sources and add an include in the kernel Makefile.
+run the [`scripts/built-in.sh`](scripts/built-in.sh) script with the path to
+your kernel source directory as an argument.  It will symlink the
+lttng-modules directory in the kernel sources and add an include in the kernel
+Makefile.
 
 Then configure your kernel as usual and enable the `CONFIG_LTTNG` option.
 
diff --git a/abi-debian-version.sh b/abi-debian-version.sh
deleted file mode 100755 (executable)
index 4f2c088..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# First argument is the path to the kernel headers.
-KPATH="$1"
-
-if [ ! -f "${KPATH}/include/generated/package.h" ]; then
-       echo 0
-       exit 0
-fi
-
-# Debian snippet courtesy of Ben Hutchings
-
-# Assuming KPATH is the target kernel headers directory
-DEB_PACKAGE_VERSION=$(sed -rn 's/^#define LINUX_PACKAGE_ID " Debian (.*)"/\1/p' "${KPATH}/include/generated/package.h")
-
-# Ignore backports part
-DEB_PACKAGE_VERSION=$(echo "${DEB_PACKAGE_VERSION}" | sed -r 's/~(bpo|deb).*//')
-
-# ckt (Canonical Kernel Team) kernels were used for a while during the jessie
-# cycle, their versionning is a bit different. They track the upstream vanilla
-# stable updates but they don't update the minor version number and instead add
-# an additionnal -cktX. They were all 3.16.7-cktX and after a while the version
-# switched back to upstream style at 3.16.36.
-
-# Get -ckt update number, if present
-KERNEL_CKT_UPDATE=$(echo "${DEB_PACKAGE_VERSION}" | sed -rn 's/^[0-9]+\.[0-9]+\.[0-9]+-ckt([0-9]+).*/\1/p')
-test -n "${KERNEL_CKT_UPDATE}" || KERNEL_CKT_UPDATE=0
-
-# Get package revision
-DEB_PACKAGE_REVISION=$(echo "${DEB_PACKAGE_VERSION}" | sed -r 's/.*-([^-]+)$/\1/')
-# Get non-sec update number
-DEB_PACKAGE_REVISION_BASE=$(echo "${DEB_PACKAGE_REVISION}" | sed -r 's/^([0-9]+).*/\1/')
-# Get security update number, if present
-DEB_PACKAGE_REVISION_SECURITY=$(echo "${DEB_PACKAGE_REVISION}" | sed -rn 's/.*\+(squeeze|deb[0-9]+)+u([0-9]+)$/\2/p')
-test -n "${DEB_PACKAGE_REVISION_SECURITY}" || DEB_PACKAGE_REVISION_SECURITY=0
-# Combine all update numbers into one
-DEB_API_VERSION=$((KERNEL_CKT_UPDATE * 10000 + DEB_PACKAGE_REVISION_BASE * 100 + DEB_PACKAGE_REVISION_SECURITY))
-
-echo ${DEB_API_VERSION}
diff --git a/abi-fedora-version.sh b/abi-fedora-version.sh
deleted file mode 100755 (executable)
index 52dd044..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# First argument is the path to the kernel headers.
-KPATH="$1"
-
-if [ ! -f "${KPATH}/include/generated/utsrelease.h" ]; then
-       echo 0
-       exit 0
-fi
-
-# Assuming KPATH is the target kernel headers directory
-UTS_RELEASE=$(sed -rn 's/^#define UTS_RELEASE "(.*)"/\1/p' "${KPATH}/include/generated/utsrelease.h")
-FEDORA_VERSION=$(echo "${UTS_RELEASE}" | sed -n 's/.*\.fc\([0-9]*\)\..*/\1/p')
-
-if [ "x${FEDORA_VERSION}" = "x" ]; then
-        echo 0
-        exit 0
-fi
-
-FEDORA_REVISION_VERSION=$(echo "${UTS_RELEASE}" | sed -n 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\-\([0-9]*\).*/\4/p')
-echo "${FEDORA_REVISION_VERSION}"
diff --git a/abi-rhel-version.sh b/abi-rhel-version.sh
deleted file mode 100755 (executable)
index bd5328a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# First argument is the path to the kernel headers.
-KPATH="$1"
-
-if [ ! -f "${KPATH}/include/generated/uapi/linux/version.h" ]; then
-       echo 0
-       exit 0
-fi
-
-# Assuming KPATH is the target kernel headers directory
-RHEL_RELEASE=$(sed -rn 's/^#define RHEL_RELEASE "(.*)"/\1/p' "${KPATH}/include/generated/uapi/linux/version.h")
-
-RHEL_RELEASE_MAJOR=$(echo "${RHEL_RELEASE}" | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\1/')
-RHEL_RELEASE_MINOR=$(echo "${RHEL_RELEASE}" | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\2/')
-RHEL_RELEASE_PATCH=$(echo "${RHEL_RELEASE}" | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\3/')
-
-# Combine all update numbers into one
-RHEL_API_VERSION=$((RHEL_RELEASE_MAJOR * 10000 + RHEL_RELEASE_MINOR * 100 + RHEL_RELEASE_PATCH))
-
-echo ${RHEL_API_VERSION}
diff --git a/abi-sle-version.sh b/abi-sle-version.sh
deleted file mode 100755 (executable)
index 0bd65b1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-
-# First argument is the path to the kernel headers.
-KPATH=$1
-
-if [ ! -f "${KPATH}/include/generated/autoconf.h" ]; then
-       echo 0
-       exit 0
-fi
-
-# Check if we are building against a Suse kernel
-SUSE_KERNEL="$(sed -rn 's/^#define CONFIG_SUSE_KERNEL (.*)/\1/p' "${KPATH}/include/generated/autoconf.h")"
-
-if [ "$SUSE_KERNEL" != "1" ]; then
-       echo 0
-       exit 0
-fi
-
-
-if [ ! -f "${KPATH}/include/generated/utsrelease.h" ]; then
-       echo 0
-       exit 0
-fi
-
-SLE_RELEASE="$(sed -rn 's/^#define UTS_RELEASE "(.*)-([0-9\.]+)-(.*)"/\2/p' "${KPATH}/include/generated/utsrelease.h")"
-
-SLE_RELEASE_MAJOR="$(echo "${SLE_RELEASE}" | sed -rn 's/^([0-9]+)(.*)$/\1/p')"
-SLE_RELEASE_MINOR="$(echo "${SLE_RELEASE}" | sed -rn 's/^([0-9]+)\.([0-9]+)(.*)$/\2/p')"
-SLE_RELEASE_PATCH="$(echo "${SLE_RELEASE}" | sed -rn 's/^([0-9]+)\.([0-9]+)\.([0-9]+)(.*)$/\3/p')"
-
-# Minor and patch versions can be omitted
-if [ "x$SLE_RELEASE_MINOR" = "x" ]; then
-       SLE_RELEASE_MINOR=0
-fi
-if [ "x$SLE_RELEASE_PATCH" = "x" ]; then
-       SLE_RELEASE_PATCH=0
-fi
-
-# Combine all update numbers into one
-SLE_API_VERSION="$((SLE_RELEASE_MAJOR * 10000 + SLE_RELEASE_MINOR * 100 + SLE_RELEASE_PATCH))"
-
-echo ${SLE_API_VERSION}
diff --git a/built-in.sh b/built-in.sh
deleted file mode 100755 (executable)
index 782985f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-set -e
-
-usage() {
-       echo "usage: $0 <kernel source tree>" >&2
-       exit 1
-}
-
-[ "$#" -eq 1 ] || usage
-KERNEL_DIR="$(readlink --canonicalize-existing "$1")"
-
-# Symlink the lttng-modules directory in the kernel source
-ln -sf "$(pwd)" "${KERNEL_DIR}/lttng"
-
-# Graft ourself to the kernel build system
-echo 'source "lttng/Kconfig"' >> "${KERNEL_DIR}/Kconfig"
-sed -i 's#+= kernel/#+= kernel/ lttng/#' "${KERNEL_DIR}/Makefile"
-
-echo >&2
-echo "    $0: done." >&2
-echo "    $0: now you can build the kernel with LTTng support." >&2
-echo "    $0: make sure you enable it (CONFIG_LTTNG) before building." >&2
-echo >&2
diff --git a/extra-version-git.sh b/extra-version-git.sh
deleted file mode 100755 (executable)
index e5a3e17..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
-
-# First argument is the path to the lttng modules sources.
-TOP_LTTNG_MODULES_DIR="$1"
-
-GIT_VERSION="0"
-
-if test -x "$(which git 2>&1;true)" && test -r "${TOP_LTTNG_MODULES_DIR}/.git"; then
-       GIT_VERSION_STR="$(cd "${TOP_LTTNG_MODULES_DIR}" && git describe --tags --dirty)"
-       GIT_CURRENT_TAG="$(cd "${TOP_LTTNG_MODULES_DIR}" && git describe --tags --exact-match --match="v[0-9]*" HEAD 2> /dev/null)"
-
-       GIT_VERSION="${GIT_VERSION_STR}"
-
-       if ! echo "${GIT_VERSION_STR}" | grep -- "-dirty" >/dev/null && test "x$GIT_CURRENT_TAG" != "x"; then
-               GIT_VERSION="0"
-       fi
-fi
-
-echo "${GIT_VERSION}"
diff --git a/extra-version-name.sh b/extra-version-name.sh
deleted file mode 100755 (executable)
index f704256..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
-
-# First argument is the path to the lttng modules sources.
-TOP_LTTNG_MODULES_DIR="$1"
-
-EXTRA_VERSION_NAME="$(sed -n '1p' "${TOP_LTTNG_MODULES_DIR}/extra_version/name" 2> /dev/null)"
-
-if [ "x${EXTRA_VERSION_NAME}" != "x" ]; then
-       echo "${EXTRA_VERSION_NAME}"
-else
-       echo "0"
-fi
diff --git a/extra-version-patches.sh b/extra-version-patches.sh
deleted file mode 100755 (executable)
index 4e8a1b5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
-
-# First argument is the path to the lttng modules sources.
-TOP_LTTNG_MODULES_DIR="$1"
-
-if ! test -d "${TOP_LTTNG_MODULES_DIR}"; then
-       exit 1
-fi
-
-TMPFILE="$(mktemp)"
-
-find "${TOP_LTTNG_MODULES_DIR}/extra_version/patches/" -maxdepth 1 ! -name 'README' -type f -printf '%f\n' | sort -r \
-       | sed -E 's/[^a-zA-Z0-9 \.]/-/g ; s/(.*)/MODULE_INFO(extra_version_patch, "\1");/g' >"${TMPFILE}" 2>/dev/null
-
-if test ! -f "${TOP_LTTNG_MODULES_DIR}/extra_version/patches.i" || \
-       test x"$(cat "${TMPFILE}")" != x"$(cat "${TOP_LTTNG_MODULES_DIR}/extra_version/patches.i")"; then
-       mv "${TMPFILE}" "${TOP_LTTNG_MODULES_DIR}/extra_version/patches.i"
-fi
-
-rm -f "${TMPFILE}"
diff --git a/rt-patch-version.sh b/rt-patch-version.sh
deleted file mode 100755 (executable)
index 6a00fef..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-# First argument is the path to the kernel headers.
-KPATH="$1"
-
-VERSIONFILE=""
-
-if [ -f "${KPATH}/localversion-rt" ]; then
-       VERSIONFILE="${KPATH}/localversion-rt"
-
-elif [ -f "${KPATH}/source/localversion-rt" ]; then
-       VERSIONFILE="${KPATH}/source/localversion-rt"
-else
-       echo 0
-       exit 0
-fi
-
-RT_PATCH_VERSION=$(sed -rn 's/^-rt([0-9]+)$/\1/p' "${VERSIONFILE}")
-
-if [ "x${RT_PATCH_VERSION}" = "x" ]; then
-       echo 0
-       exit 0
-fi
-
-echo "${RT_PATCH_VERSION}"
diff --git a/scripts/abi-debian-version.sh b/scripts/abi-debian-version.sh
new file mode 100755 (executable)
index 0000000..ee8dbd8
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the kernel headers.
+KPATH="$1"
+
+if [ ! -f "${KPATH}/include/generated/package.h" ]; then
+       echo 0
+       exit 0
+fi
+
+# Debian snippet courtesy of Ben Hutchings
+
+# Assuming KPATH is the target kernel headers directory
+DEB_PACKAGE_VERSION=$(sed -rn 's/^#define LINUX_PACKAGE_ID " Debian (.*)"/\1/p' "${KPATH}/include/generated/package.h")
+
+# Ignore backports part
+DEB_PACKAGE_VERSION=$(echo "${DEB_PACKAGE_VERSION}" | sed -r 's/~(bpo|deb).*//')
+
+# ckt (Canonical Kernel Team) kernels were used for a while during the jessie
+# cycle, their versionning is a bit different. They track the upstream vanilla
+# stable updates but they don't update the minor version number and instead add
+# an additionnal -cktX. They were all 3.16.7-cktX and after a while the version
+# switched back to upstream style at 3.16.36.
+
+# Get -ckt update number, if present
+KERNEL_CKT_UPDATE=$(echo "${DEB_PACKAGE_VERSION}" | sed -rn 's/^[0-9]+\.[0-9]+\.[0-9]+-ckt([0-9]+).*/\1/p')
+test -n "${KERNEL_CKT_UPDATE}" || KERNEL_CKT_UPDATE=0
+
+# Get package revision
+DEB_PACKAGE_REVISION=$(echo "${DEB_PACKAGE_VERSION}" | sed -r 's/.*-([^-]+)$/\1/')
+# Get non-sec update number
+DEB_PACKAGE_REVISION_BASE=$(echo "${DEB_PACKAGE_REVISION}" | sed -r 's/^([0-9]+).*/\1/')
+# Get security update number, if present
+DEB_PACKAGE_REVISION_SECURITY=$(echo "${DEB_PACKAGE_REVISION}" | sed -rn 's/.*\+(squeeze|deb[0-9]+)+u([0-9]+)$/\2/p')
+test -n "${DEB_PACKAGE_REVISION_SECURITY}" || DEB_PACKAGE_REVISION_SECURITY=0
+# Combine all update numbers into one
+DEB_API_VERSION=$((KERNEL_CKT_UPDATE * 10000 + DEB_PACKAGE_REVISION_BASE * 100 + DEB_PACKAGE_REVISION_SECURITY))
+
+echo ${DEB_API_VERSION}
diff --git a/scripts/abi-fedora-version.sh b/scripts/abi-fedora-version.sh
new file mode 100755 (executable)
index 0000000..4153482
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the kernel headers.
+KPATH="$1"
+
+if [ ! -f "${KPATH}/include/generated/utsrelease.h" ]; then
+       echo 0
+       exit 0
+fi
+
+# Assuming KPATH is the target kernel headers directory
+UTS_RELEASE=$(sed -rn 's/^#define UTS_RELEASE "(.*)"/\1/p' "${KPATH}/include/generated/utsrelease.h")
+FEDORA_VERSION=$(echo "${UTS_RELEASE}" | sed -n 's/.*\.fc\([0-9]*\)\..*/\1/p')
+
+if [ "x${FEDORA_VERSION}" = "x" ]; then
+        echo 0
+        exit 0
+fi
+
+FEDORA_REVISION_VERSION=$(echo "${UTS_RELEASE}" | sed -n 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\-\([0-9]*\).*/\4/p')
+echo "${FEDORA_REVISION_VERSION}"
diff --git a/scripts/abi-rhel-version.sh b/scripts/abi-rhel-version.sh
new file mode 100755 (executable)
index 0000000..0296d8c
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the kernel headers.
+KPATH="$1"
+
+if [ ! -f "${KPATH}/include/generated/uapi/linux/version.h" ]; then
+       echo 0
+       exit 0
+fi
+
+# Assuming KPATH is the target kernel headers directory
+RHEL_RELEASE=$(sed -rn 's/^#define RHEL_RELEASE "(.*)"/\1/p' "${KPATH}/include/generated/uapi/linux/version.h")
+
+RHEL_RELEASE_MAJOR=$(echo "${RHEL_RELEASE}" | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\1/')
+RHEL_RELEASE_MINOR=$(echo "${RHEL_RELEASE}" | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\2/')
+RHEL_RELEASE_PATCH=$(echo "${RHEL_RELEASE}" | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\3/')
+
+# Combine all update numbers into one
+RHEL_API_VERSION=$((RHEL_RELEASE_MAJOR * 10000 + RHEL_RELEASE_MINOR * 100 + RHEL_RELEASE_PATCH))
+
+echo ${RHEL_API_VERSION}
diff --git a/scripts/abi-sle-version.sh b/scripts/abi-sle-version.sh
new file mode 100755 (executable)
index 0000000..bd6d5f1
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the kernel headers.
+KPATH=$1
+
+if [ ! -f "${KPATH}/include/generated/autoconf.h" ]; then
+       echo 0
+       exit 0
+fi
+
+# Check if we are building against a Suse kernel
+SUSE_KERNEL="$(sed -rn 's/^#define CONFIG_SUSE_KERNEL (.*)/\1/p' "${KPATH}/include/generated/autoconf.h")"
+
+if [ "$SUSE_KERNEL" != "1" ]; then
+       echo 0
+       exit 0
+fi
+
+
+if [ ! -f "${KPATH}/include/generated/utsrelease.h" ]; then
+       echo 0
+       exit 0
+fi
+
+SLE_RELEASE="$(sed -rn 's/^#define UTS_RELEASE "(.*)-([0-9\.]+)-(.*)"/\2/p' "${KPATH}/include/generated/utsrelease.h")"
+
+SLE_RELEASE_MAJOR="$(echo "${SLE_RELEASE}" | sed -rn 's/^([0-9]+)(.*)$/\1/p')"
+SLE_RELEASE_MINOR="$(echo "${SLE_RELEASE}" | sed -rn 's/^([0-9]+)\.([0-9]+)(.*)$/\2/p')"
+SLE_RELEASE_PATCH="$(echo "${SLE_RELEASE}" | sed -rn 's/^([0-9]+)\.([0-9]+)\.([0-9]+)(.*)$/\3/p')"
+
+# Minor and patch versions can be omitted
+if [ "x$SLE_RELEASE_MINOR" = "x" ]; then
+       SLE_RELEASE_MINOR=0
+fi
+if [ "x$SLE_RELEASE_PATCH" = "x" ]; then
+       SLE_RELEASE_PATCH=0
+fi
+
+# Combine all update numbers into one
+SLE_API_VERSION="$((SLE_RELEASE_MAJOR * 10000 + SLE_RELEASE_MINOR * 100 + SLE_RELEASE_PATCH))"
+
+echo ${SLE_API_VERSION}
diff --git a/scripts/built-in.sh b/scripts/built-in.sh
new file mode 100755 (executable)
index 0000000..5e57e93
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+set -e
+
+usage() {
+       echo "usage: $0 <kernel source tree>" >&2
+       exit 1
+}
+
+[ "$#" -eq 1 ] || usage
+KERNEL_DIR="$(readlink --canonicalize-existing "$1")"
+
+# Symlink the lttng-modules directory in the kernel source
+ln -sf "$(pwd)" "${KERNEL_DIR}/lttng"
+
+# Graft ourself to the kernel build system
+echo 'source "lttng/Kconfig"' >> "${KERNEL_DIR}/Kconfig"
+sed -i 's#+= kernel/#+= kernel/ lttng/#' "${KERNEL_DIR}/Makefile"
+
+echo >&2
+echo "    $0: done." >&2
+echo "    $0: now you can build the kernel with LTTng support." >&2
+echo "    $0: make sure you enable it (CONFIG_LTTNG) before building." >&2
+echo >&2
diff --git a/scripts/extra-version-git.sh b/scripts/extra-version-git.sh
new file mode 100755 (executable)
index 0000000..e5a3e17
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the lttng modules sources.
+TOP_LTTNG_MODULES_DIR="$1"
+
+GIT_VERSION="0"
+
+if test -x "$(which git 2>&1;true)" && test -r "${TOP_LTTNG_MODULES_DIR}/.git"; then
+       GIT_VERSION_STR="$(cd "${TOP_LTTNG_MODULES_DIR}" && git describe --tags --dirty)"
+       GIT_CURRENT_TAG="$(cd "${TOP_LTTNG_MODULES_DIR}" && git describe --tags --exact-match --match="v[0-9]*" HEAD 2> /dev/null)"
+
+       GIT_VERSION="${GIT_VERSION_STR}"
+
+       if ! echo "${GIT_VERSION_STR}" | grep -- "-dirty" >/dev/null && test "x$GIT_CURRENT_TAG" != "x"; then
+               GIT_VERSION="0"
+       fi
+fi
+
+echo "${GIT_VERSION}"
diff --git a/scripts/extra-version-name.sh b/scripts/extra-version-name.sh
new file mode 100755 (executable)
index 0000000..f704256
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the lttng modules sources.
+TOP_LTTNG_MODULES_DIR="$1"
+
+EXTRA_VERSION_NAME="$(sed -n '1p' "${TOP_LTTNG_MODULES_DIR}/extra_version/name" 2> /dev/null)"
+
+if [ "x${EXTRA_VERSION_NAME}" != "x" ]; then
+       echo "${EXTRA_VERSION_NAME}"
+else
+       echo "0"
+fi
diff --git a/scripts/extra-version-patches.sh b/scripts/extra-version-patches.sh
new file mode 100755 (executable)
index 0000000..4e8a1b5
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the lttng modules sources.
+TOP_LTTNG_MODULES_DIR="$1"
+
+if ! test -d "${TOP_LTTNG_MODULES_DIR}"; then
+       exit 1
+fi
+
+TMPFILE="$(mktemp)"
+
+find "${TOP_LTTNG_MODULES_DIR}/extra_version/patches/" -maxdepth 1 ! -name 'README' -type f -printf '%f\n' | sort -r \
+       | sed -E 's/[^a-zA-Z0-9 \.]/-/g ; s/(.*)/MODULE_INFO(extra_version_patch, "\1");/g' >"${TMPFILE}" 2>/dev/null
+
+if test ! -f "${TOP_LTTNG_MODULES_DIR}/extra_version/patches.i" || \
+       test x"$(cat "${TMPFILE}")" != x"$(cat "${TOP_LTTNG_MODULES_DIR}/extra_version/patches.i")"; then
+       mv "${TMPFILE}" "${TOP_LTTNG_MODULES_DIR}/extra_version/patches.i"
+fi
+
+rm -f "${TMPFILE}"
diff --git a/scripts/rt-patch-version.sh b/scripts/rt-patch-version.sh
new file mode 100755 (executable)
index 0000000..2704965
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
+
+# First argument is the path to the kernel headers.
+KPATH="$1"
+
+VERSIONFILE=""
+
+if [ -f "${KPATH}/localversion-rt" ]; then
+       VERSIONFILE="${KPATH}/localversion-rt"
+
+elif [ -f "${KPATH}/source/localversion-rt" ]; then
+       VERSIONFILE="${KPATH}/source/localversion-rt"
+else
+       echo 0
+       exit 0
+fi
+
+RT_PATCH_VERSION=$(sed -rn 's/^-rt([0-9]+)$/\1/p' "${VERSIONFILE}")
+
+if [ "x${RT_PATCH_VERSION}" = "x" ]; then
+       echo 0
+       exit 0
+fi
+
+echo "${RT_PATCH_VERSION}"
This page took 0.036477 seconds and 4 git commands to generate.