--include dracut-version.sh
DRACUT_MAIN_VERSION ?= $(shell env GIT_CEILING_DIRECTORIES=$(CURDIR)/.. git describe --abbrev=0 --tags --always 2>/dev/null || :)
ifeq ($(DRACUT_MAIN_VERSION),)
-DRACUT_MAIN_VERSION = $(DRACUT_VERSION)
+DRACUT_MAIN_VERSION := $(shell sed -n 's/^DRACUT_VERSION="\(.*\)"$$/\1/p' dracut.sh)
endif
DRACUT_FULL_VERSION ?= $(shell env GIT_CEILING_DIRECTORIES=$(CURDIR)/.. git describe --tags --always 2>/dev/null || :)
ifeq ($(DRACUT_FULL_VERSION),)
-DRACUT_FULL_VERSION = $(DRACUT_VERSION)
+DRACUT_FULL_VERSION := $(shell sed -n 's/^DRACUT_VERSION="\(.*\)"$$/\1/p' dracut.sh)
endif
HAVE_SHELLCHECK ?= $(shell command -v shellcheck >/dev/null 2>&1 && echo yes)
mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
+ sed -i 's;^\(DRACUT_VERSION\)=".*"$$;\1="$(DRACUT_FULL_VERSION)";' $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
install -m 0644 dracut.conf $(DESTDIR)$(sysconfdir)/dracut.conf
mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
mkdir -p $(DESTDIR)$(pkglibdir)/dracut.conf.d
install -m 0755 dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions.sh
- install -m 0755 dracut-version.sh $(DESTDIR)$(pkglibdir)/dracut-version.sh
- sed -i 's;^\(DRACUT_VERSION=\).*;\1$(DRACUT_FULL_VERSION);' $(DESTDIR)$(pkglibdir)/dracut-version.sh
ln -fs dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions
install -m 0755 dracut-logger.sh $(DESTDIR)$(pkglibdir)/dracut-logger.sh
install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
+++ /dev/null
-#!/bin/sh
-# shellcheck disable=SC2034
-DRACUT_VERSION=109
# Please do not use functions from this file in your dracut module
# Only use functions from dracut-functions.sh
+DRACUT_VERSION="109"
+
unset BASH_ENV
unset GZIP
}
usage() {
- [[ $sysroot_l ]] && dracutsysrootdir="$sysroot_l"
- [[ $dracutbasedir ]] || dracutbasedir="${dracutsysrootdir-}"/usr/lib/dracut
- if [[ -f $dracutbasedir/dracut-version.sh ]]; then
- # shellcheck source=./dracut-version.sh
- . "$dracutbasedir"/dracut-version.sh
- fi
-
# 80x25 linebreak here ^
cat << EOF
Usage: $dracut_cmd [OPTION]... [<initramfs> [<kernel-version>]]
}
long_usage() {
- [[ $dracutbasedir ]] || dracutbasedir="${dracutsysrootdir-}"/usr/lib/dracut
- if [[ -f $dracutbasedir/dracut-version.sh ]]; then
- # shellcheck source=./dracut-version.sh
- . "$dracutbasedir"/dracut-version.sh
- fi
-
# 80x25 linebreak here ^
cat << EOF
Usage: $dracut_cmd [OPTION]... [<initramfs> [<kernel-version>]]
}
long_version() {
- [[ $dracutbasedir ]] || dracutbasedir="${dracutsysrootdir-}"/usr/lib/dracut
- if [[ -f $dracutbasedir/dracut-version.sh ]]; then
- # shellcheck source=./dracut-version.sh
- . "$dracutbasedir"/dracut-version.sh
- fi
echo "dracut $DRACUT_VERSION"
}
kmsgloglvl=0
fi
-if [[ -f $dracutbasedir/dracut-version.sh ]]; then
- # shellcheck source=./dracut-version.sh
- . "$dracutbasedir"/dracut-version.sh
-fi
-
export LC_MESSAGES=C kernel
srcmods="$(realpath -e "${dracutsysrootdir-}/lib/modules/$kernel")"
# message for https://github.com/dracut-ng/dracut-ng/releases/tag
cat -s NEWS_body_new.md CONTRIBUTORS.md > release.md
-# dracut-version.sh
-printf "#!/bin/sh\n# shellcheck disable=SC2034\nDRACUT_VERSION=%s\n" "$NEW_VERSION" > dracut-version.sh
+# update DRACUT_VERSION
+sed -i "s;^\(DRACUT_VERSION\)=\".*\"$;\1=\"$(DRACUT_FULL_VERSION)\";" dracut.sh
if [ -z "$(git config --get user.name)" ]; then
git config user.name "dracutng[bot]"
fi
# Check in AUTHORS and NEWS.md
-git commit -m "docs: update NEWS.md and AUTHORS for release $NEW_VERSION" NEWS.md AUTHORS dracut-version.sh
+git commit -m "docs: update NEWS.md and AUTHORS for release $NEW_VERSION" NEWS.md AUTHORS dracut.sh
# git push can fail due to insufficient permissions
if ! git push --force -u origin release; then
# tagging and release genaration is no longer automated
# Once the created release commit is merged, create a (signed) release tag:
#
-# . ./dracut-version.sh
+# DRACUT_VERSION=$(sed -n 's/^DRACUT_VERSION="\(.*\)"$/\1/p' dracut.sh)
# git tag -s -m "Dracut $DRACUT_VERSION release" "$DRACUT_VERSION"