diff --git a/package/base/lvm-wrapper/config.in b/package/base/lvm-wrapper/config.in
new file mode 100644
index 000000000..273aea027
--- /dev/null
+++ b/package/base/lvm-wrapper/config.in
@@ -0,0 +1,34 @@
+# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
+#
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+# Please add additional copyright information _after_ the line containing
+# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
+# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
+#
+# ROCK Linux: rock-src/package/base/lvm-wrapper/config.in
+# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version. A copy of the GNU General Public
+# License can be found at Documentation/COPYING.
+#
+# Many people helped and are helping developing ROCK Linux. Please
+# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
+# file for details.
+#
+# --- ROCK-COPYRIGHT-NOTE-END ---
+
+if pkgcheck lvm X || pkgcheck lvm2 X
+then
+ # if ! pkgcheck lvm-wrapper X ; then
+ # comment "WARNING! You should really select the lvm-wrapper package when using lvm or lvm2."
+ # fi
+ default=lvm
+ pkgcheck lvm2 X && default=lvm2
+ choice ROCKCFG_LVM_MANPAGES $default \
+ "none" "Dont install any man-pages regarding LVM" \
+ "lvm" "Install util man-pages for native LVM of linux-2.4" \
+ "lvm2" "Install util man-pages for LVM2 based on device-mapper"
+fi
diff --git a/package/base/lvm-wrapper/lvm-wrapper.conf b/package/base/lvm-wrapper/lvm-wrapper.conf
new file mode 100644
index 000000000..d72e28f9b
--- /dev/null
+++ b/package/base/lvm-wrapper/lvm-wrapper.conf
@@ -0,0 +1,46 @@
+# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
+#
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+# Please add additional copyright information _after_ the line containing
+# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
+# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
+#
+# ROCK Linux: rock-src/package/base/lvm-wrapper/lvm-wrapper.conf
+# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version. A copy of the GNU General Public
+# License can be found at Documentation/COPYING.
+#
+# Many people helped and are helping developing ROCK Linux. Please
+# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
+# file for details.
+#
+# --- ROCK-COPYRIGHT-NOTE-END ---
+
+UTILS="e2fsadm lvchange lvcreate lvdisplay lvextend
+lvmchange lvmcreate_initrd lvmdiskscan lvmsadc lvmsar
+lvreduce lvremove lvrename lvresize lvs
+lvscan pvchange pvcreate pvdata pvdisplay
+pvmove pvremove pvresize pvs pvscan
+vgcfgbackup vgcfgrestore vgchange vgck vgconvert
+vgcreate vgdisplay vgexport vgextend vgimport
+vgmerge vgmknodes vgreduce vgremove vgrename
+vgs vgscan vgsplit lvm"
+
+cm() {
+ cp $confdir/lvm-wrapper.sh $root/sbin/lvm-wrapper
+ chmod 755 $root/sbin/lvm-wrapper
+ for x in $UTILS
+ do
+ ln -sf lvm-wrapper $root/sbin/$x
+ done
+}
+
+srctar=none
+autoextract=0
+createprefix=0
+createdocs=0
+custmain=cm
diff --git a/package/base/lvm-wrapper/lvm-wrapper.desc b/package/base/lvm-wrapper/lvm-wrapper.desc
new file mode 100644
index 000000000..1158fac9c
--- /dev/null
+++ b/package/base/lvm-wrapper/lvm-wrapper.desc
@@ -0,0 +1,40 @@
+[COPY] --- ROCK-COPYRIGHT-NOTE-BEGIN ---
+[COPY]
+[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+[COPY] Please add additional copyright information _after_ the line containing
+[COPY] the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
+[COPY] the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
+[COPY]
+[COPY] ROCK Linux: rock-src/package/base/lvm-wrapper/lvm-wrapper.desc
+[COPY] ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
+[COPY]
+[COPY] This program is free software; you can redistribute it and/or modify
+[COPY] it under the terms of the GNU General Public License as published by
+[COPY] the Free Software Foundation; either version 2 of the License, or
+[COPY] (at your option) any later version. A copy of the GNU General Public
+[COPY] License can be found at Documentation/COPYING.
+[COPY]
+[COPY] Many people helped and are helping developing ROCK Linux. Please
+[COPY] have a look at http://www.rocklinux.org/ and the Documentation/TEAM
+[COPY] file for details.
+[COPY]
+[COPY] --- ROCK-COPYRIGHT-NOTE-END ---
+
+[I] LVM wrapper package
+
+[T] This package provides a multicall wrapper script to call the
+[T] correct versions of LVM utils. It installs itself into /sbin
+[T] and creates symlinks for each util either version provides.
+[T] LVM and LVM2 packages (have to) put their binaries into
+[T] /lib/lvm and /lib/lvm2 respectively.
+
+[A] Tobias Hintze
+[M] Tobias Hintze |
+
+[C] extra/filesystem
+
+[L] GPL
+[S] Stable
+[V] 1.0
+[P] X ---3-----9 600.000
+
diff --git a/package/base/lvm-wrapper/lvm-wrapper.sh b/package/base/lvm-wrapper/lvm-wrapper.sh
new file mode 100644
index 000000000..f86c0bb86
--- /dev/null
+++ b/package/base/lvm-wrapper/lvm-wrapper.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
+#
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+# Please add additional copyright information _after_ the line containing
+# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
+# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
+#
+# ROCK Linux: rock-src/package/base/lvm-wrapper/lvm-wrapper.sh
+# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version. A copy of the GNU General Public
+# License can be found at Documentation/COPYING.
+#
+# Many people helped and are helping developing ROCK Linux. Please
+# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
+# file for details.
+#
+# --- ROCK-COPYRIGHT-NOTE-END ---
+#
+# [A] Tobias Hintze |
+# [M] Tobias Hintze |
+#
+die() {
+ echo "$*"
+ exit 1
+}
+
+# check prerequisite /proc
+[ ! -e /proc/mounts ] && die "/proc is not mounted."
+
+# detect version of lvm being used
+if [ -e /proc/lvm ] ; then
+ VERSION="native LVM of linux-2.4"
+ BASE=/lib/lvm
+else
+ VERSION="LVM2 based on device-mapper"
+ BASE=/lib/lvm2
+fi
+
+NAME="`basename $0`"
+
+[ ! -e "$BASE" ] &&
+ die "utils for $VERSION are not available. did you miss to install them?"
+
+[ ! -e "${BASE}/${NAME}" ] &&
+ die "util \"${NAME}\" is not available for ${VERSION}"
+
+# do the real work
+exec "${BASE}/${NAME}" $*
diff --git a/package/base/lvm/lvm.conf b/package/base/lvm/lvm.conf
index 21b0fa5c7..f398a74b5 100644
--- a/package/base/lvm/lvm.conf
+++ b/package/base/lvm/lvm.conf
@@ -21,4 +21,11 @@
# --- ROCK-COPYRIGHT-NOTE-END ---
srcdir="LVM/$ver"
-[ "$root/$prefix" = "/usr" ] && confopt=""
+var_append confopt " " "--sbindir=$root/lib/lvm"
+var_append confopt " " "--bindir=$root/lib/lvm"
+var_append confopt " " "--libdir=$root/lib"
+
+if [ "$ROCKCFG_LVM_MANPAGES" != "lvm" ] ; then
+ var_append confopt " " "--mandir=$builddir/trash/man"
+ var_append confopt " " "--infodir=$builddir/trash/info"
+fi
diff --git a/package/base/lvm/lvm.desc b/package/base/lvm/lvm.desc
index bf64eb028..c37088570 100644
--- a/package/base/lvm/lvm.desc
+++ b/package/base/lvm/lvm.desc
@@ -29,6 +29,8 @@
[T] creating volume groups (kind of virtual disks) from one or more physical
[T] volumes and creating one or more logical volumes (kind of logical
[T] partitions) in volume groups.
+[T] Since LVM and LVM2 share the same names for their utils it is recommended
+[T] to install and use lvm-wrapper package.
[U] http://linux.msede.com/lvm/
diff --git a/package/base/lvm2/lvm2.conf b/package/base/lvm2/lvm2.conf
index ad01c9a92..0381c4799 100644
--- a/package/base/lvm2/lvm2.conf
+++ b/package/base/lvm2/lvm2.conf
@@ -21,6 +21,11 @@
# --- ROCK-COPYRIGHT-NOTE-END ---
srcdir="LVM2.$ver"
-[ "$root/$prefix" = "/usr" ] && confopt=""
-makeinstopt=""
-hook_add postmake 9 'cp -v tools/lvm $root/sbin/lvm2'
+var_append confopt " " "--sbindir=$root/lib/lvm2"
+var_append confopt " " "--bindir=$root/lib/lvm2"
+var_append confopt " " "--libdir=$root/lib"
+
+if [ "$ROCKCFG_LVM_MANPAGES" != "lvm2" ] ; then
+ var_append confopt " " "--mandir=$builddir/trash/man"
+ var_append confopt " " "--infodir=$builddir/trash/info"
+fi
diff --git a/package/base/lvm2/lvm2.desc b/package/base/lvm2/lvm2.desc
index e95776e8f..e46f9c25f 100644
--- a/package/base/lvm2/lvm2.desc
+++ b/package/base/lvm2/lvm2.desc
@@ -30,6 +30,8 @@
[T] volumes and creating one or more logical volumes (kind of logical
[T] partitions) in volume groups.
[T] This 2nd version is based on device-mapper available in linux-2.6.
+[T] Since LVM and LVM2 share the same names for their utils it is recommended
+[T] to install and use lvm-wrapper package.
[U] http://sources.redhat.com/lvm2/
@@ -42,7 +44,7 @@
[L] GPL
[S] Stable
[V] 2.00.25
-[P] O -?-3-----9 184.100
+[P] X -?-3-----9 184.100
[D] 624884634 LVM2.2.00.25.tgz ftp://sources.redhat.com/pub/lvm2/
diff --git a/target/rescue/build_stage2.sh b/target/rescue/build_stage2.sh
index e7a92842a..0efd34b1b 100644
--- a/target/rescue/build_stage2.sh
+++ b/target/rescue/build_stage2.sh
@@ -38,7 +38,7 @@ package_map=' +00-dirtree +glibc22 +glibc23
+sysfiles +libpcap +iptables +tcp_wrappers
-kiss +kbd -syslinux -rescue-stage1-init
+device-mapper +lvm2 +mdadm +dhcpcd
-+smartmontools +ntfsprogs
++smartmontools +ntfsprogs +lvm-wrapper
'
if [[ $rockver = 2.0* ]] ; then
@@ -96,9 +96,6 @@ echo_status "Installing lvm-cycle-script ..."
cp -v $base/target/$target/contrib/init-boot-cycle sbin/init-lvm-cycle
chmod 755 sbin/init-lvm-cycle
-echo_status "Installing lvm2 wrapper ..."
-cp -v $base/target/$target/contrib/lvm2wrap etc/conf/lvm2wrap
-
echo_status "Creating init."
cp -v $rootdir/usr/bin/busybox sbin/init
cp -al sbin/init sbin/halt
diff --git a/target/rescue/config.in b/target/rescue/config.in
index 0da350153..292a4975f 100644
--- a/target/rescue/config.in
+++ b/target/rescue/config.in
@@ -42,6 +42,7 @@ pkgfilter sed '
# Select some packages explicitely (base)
/ lvm / { s/^[OX] /X /p; d; };
+/ lvm-wrapper / { s/^[OX] /X /p; d; };
/ mdadm / { s/^[OX] /X /p; d; };
/ dhcpcd / { s/^[OX] /X /p; d; };
/ lvm2 / { s/^[OX] /X /p; d; };
|