]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
add dracut-version.sh
authorHarald Hoyer <harald@redhat.com>
Tue, 22 May 2012 12:28:34 +0000 (14:28 +0200)
committerHarald Hoyer <harald@redhat.com>
Tue, 22 May 2012 12:32:36 +0000 (14:32 +0200)
.gitignore
Makefile
dracut.sh
dracut.spec

index 08d713cdea0bee95933fd3773c7d64f815255202..36937832c84912fb38b7abd185e9a808155dced7 100644 (file)
@@ -10,3 +10,4 @@
 test*.img
 /.buildpath
 /.project
+/dracut-version.sh
index d9068c54e5ca1ff83d15df7ae458f1cab5c4ea31..3373ed0540eadfd48bd8d484e5c07f3817d2284c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8
 
 .PHONY: install clean archive rpm testimage test all check AUTHORS doc
 
-all: syncheck
+all: syncheck dracut-version.sh
 
 doc: $(manpages) dracut.html
 
@@ -32,7 +32,7 @@ dracut.html: dracut.asc $(manpages)
                http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl dracut.xml
        rm dracut.xml
 
-install: doc
+install: doc dracut-version.sh
        mkdir -p $(DESTDIR)$(pkglibdir)
        mkdir -p $(DESTDIR)$(bindir)
        mkdir -p $(DESTDIR)$(sysconfdir)
@@ -45,6 +45,7 @@ install: doc
        install -m 0644 dracut.conf $(DESTDIR)$(sysconfdir)/dracut.conf
        mkdir -p $(DESTDIR)$(sysconfdir)/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
        ln -s 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
@@ -71,6 +72,9 @@ install: doc
                $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
        fi
 
+dracut-version.sh:
+       @echo "DRACUT_VERSION=$(VERSION)-$(GITVERSION)" > dracut-version.sh
+
 clean:
        $(RM) *~
        $(RM) */*~
index c5151d7b944910695699a77a0cdc0814216f7340..b52c691978add3537a5a7d391b64f9bd5aba14e7 100755 (executable)
--- a/dracut.sh
+++ b/dracut.sh
 dracut_args="$@"
 
 usage() {
+    [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
+    if [[ -f $dracutbasedir/dracut-version.sh ]]; then
+        . $dracutbasedir/dracut-version.sh
+    fi
+
 #                                                       80x25 linebreak here ^
     cat << EOF
 Usage: $0 [OPTION]... <initramfs> <kernel-version>
+
+Version: $DRACUT_VERSION
+
 Creates initial ramdisk images for preloading modules
 
   -f, --force           Overwrite existing initramfs file.
@@ -249,7 +257,11 @@ while (($# > 0)); do
         --sshkey)      read_arg sshkey   "$@" || shift;;
         -v|--verbose)  ((verbosity_mod_l++));;
         -q|--quiet)    ((verbosity_mod_l--));;
-        -l|--local)    allowlocal="yes" ;;
+        -l|--local)
+                       allowlocal="yes"
+                       [[ -f "$(readlink -f ${0%/*})/dracut-functions.sh" ]] \
+                           && dracutbasedir="$(readlink -f ${0%/*})"
+                       ;;
         -H|--hostonly) hostonly_l="yes" ;;
         --no-hostonly) hostonly_l="no" ;;
         --fstab)       use_fstab_l="yes" ;;
@@ -313,9 +325,6 @@ unset GREP_OPTIONS
 
 [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
 
-[[ $allowlocal && -f "$(readlink -f ${0%/*})/dracut-functions.sh" ]] && \
-    dracutbasedir="$(readlink -f ${0%/*})"
-
 # if we were not passed a config file, try the default one
 if [[ ! -f $conffile ]]; then
     [[ $allowlocal ]] && conffile="$dracutbasedir/dracut.conf" || \
@@ -460,6 +469,10 @@ else
     exit 1
 fi
 
+if [[ -f $dracutbasedir/dracut-version.sh ]]; then
+    . $dracutbasedir/dracut-version.sh
+fi
+
 # Verify bash version, curret minimum is 3.1
 if (( ${BASH_VERSINFO[0]} < 3 ||
     ( ${BASH_VERSINFO[0]} == 3 && ${BASH_VERSINFO[1]} < 1 ) )); then
@@ -642,7 +655,8 @@ export initdir dracutbasedir dracutmodules drivers \
     add_drivers omit_drivers mdadmconf lvmconf filesystems \
     use_fstab fstab_lines libdir usrlibdir fscks nofscks \
     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
-    debug host_fs_types host_devs sshkey add_fstab
+    debug host_fs_types host_devs sshkey add_fstab \
+    DRACUT_VERSION
 
 # Create some directory structure first
 [[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}"
index 201da0d66e56b06089e1c0bbaa6032ff218493d7..144b6e25a5bb5f175d9a5bcd18c007825073e3d6 100644 (file)
@@ -240,6 +240,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{dracutlibdir}/modules.d
 %{dracutlibdir}/dracut-functions.sh
 %{dracutlibdir}/dracut-functions
+%{dracutlibdir}/dracut-version.sh
 %{dracutlibdir}/dracut-logger.sh
 %{dracutlibdir}/dracut-initramfs-restore
 %config(noreplace) /etc/dracut.conf