This patch adds package configuration files for the LVM2 tools and its

dependency, device-mapper. This will provide the basic tools needed to work
with LVM2 volumes on the target system.

http://bugs.busybox.net/view.php?id=183
This commit is contained in:
Eric Andersen 2005-06-24 02:46:31 +00:00
parent 491b44e86a
commit a8a6587d1b
5 changed files with 191 additions and 0 deletions

View File

@ -35,6 +35,7 @@ source "package/customize/Config.in"
source "package/dhcp/Config.in"
source "package/directfb/Config.in"
source "package/distcc/Config.in"
source "package/dm/Config.in"
source "package/dnsmasq/Config.in"
source "package/dropbear_sshd/Config.in"
source "package/e2fsprogs/Config.in"
@ -61,6 +62,7 @@ source "package/links/Config.in"
source "package/lrzsz/Config.in"
source "package/ltp-testsuite/Config.in"
source "package/ltrace/Config.in"
source "package/lvm2/Config.in"
source "package/lzo/Config.in"
source "package/m4/Config.in"
source "package/microcom/Config.in"

6
package/dm/Config.in Normal file
View File

@ -0,0 +1,6 @@
config BR2_PACKAGE_DM
bool "dm"
default n
help
The Device-mapper is a new component of the linux kernel that
supports logical volume management. It is required by LVM2 and EVMS.

97
package/dm/dm.mk Normal file
View File

@ -0,0 +1,97 @@
#############################################################
#
# dm
#
#############################################################
# Copyright (C) 2005 by Richard Downer <rdowner@gmail.com>
# Derived from work
# Copyright (C) 2001-2005 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 2002 by Tim Riker <Tim@Rikers.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
DM_BASEVER=1.00
DM_PATCH=21
DM_VERSION=$(DM_BASEVER).$(DM_PATCH)
DM_SOURCE:=device-mapper.$(DM_VERSION).tgz
DM_SITE:=ftp://sources.redhat.com/pub/dm
DM_CAT:=zcat
DM_DIR:=$(BUILD_DIR)/device-mapper.$(DM_VERSION)
DM_STAGING_BINARY:=$(STAGING_DIR)/sbin/dmsetup
DM_TARGET_BINARY:=$(TARGET_DIR)/usr/sbin/dmsetup
DM_STAGING_LIBRARY:=$(STAGING_DIR)/lib/libdevmapper.so
DM_TARGET_LIBRARY:=$(TARGET_DIR)/usr/lib/libdevmapper.so
$(DL_DIR)/$(DM_SOURCE):
$(WGET) -P $(DL_DIR) $(DM_SITE)/$(DM_SOURCE)
$(DM_DIR)/.unpacked: $(DL_DIR)/$(DM_SOURCE)
$(DM_CAT) $(DL_DIR)/$(DM_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(DM_DIR)/.unpacked
$(DM_DIR)/.configured: $(DM_DIR)/.unpacked
(cd $(DM_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
--with-kernel-dir=/work/richard/xen/linux-2.6.10-xen0 \
--with-user=$(shell id -un) --with-group=$(shell id -gn) \
);
touch $(DM_DIR)/.configured
$(DM_DIR)/$(DM_BINARY): dm-build
$(DM_DIR)/$(DM_LIBRARY): dm-build
$(DM_STAGING_BINARY) $(DM_STAGING_LIBRARY): $(DM_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(DM_DIR)
$(MAKE) -C $(DM_DIR) install prefix=$(STAGING_DIR)
# Install dmsetup from staging to target
$(DM_TARGET_BINARY): $(DM_STAGING_BINARY)
$(INSTALL) -m 0755 $? $@
# Install libdevmapper.so.1.00 from staging to target
$(DM_TARGET_LIBRARY).$(DM_BASEVER): $(DM_STAGING_LIBRARY)
$(INSTALL) -m 0644 $? $@
# Makes libdevmapper.so a symlink to libdevmapper.so.1.00
$(DM_TARGET_LIBRARY): $(DM_TARGET_LIBRARY).$(DM_BASEVER)
rm $@
ln -s $(<F) $@
dm: uclibc $(DM_TARGET_BINARY) $(DM_TARGET_LIBRARY)
dm-clean:
rm $(DM_TARGET_BINARY) $(DM_TARGET_LIBRARY) $(DM_TARGET_LIBRARY).$(DM_BASEVER)
$(MAKE) -C $(DM_DIR) clean
dm-dirclean:
rm -rf $(DM_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_DM)),y)
TARGETS+=dm
endif

8
package/lvm2/Config.in Normal file
View File

@ -0,0 +1,8 @@
config BR2_PACKAGE_LVM2
bool "lvm2"
default n
select BR2_PACKAGE_DM
help
LVM2 refers to a new userspace toolset that provide logical
volume management facilities on linux. It is reasonably backwards-
compatible with the original LVM toolset.

78
package/lvm2/lvm2.mk Normal file
View File

@ -0,0 +1,78 @@
#############################################################
#
# lvm2
#
#############################################################
# Copyright (C) 2005 by Richard Downer <rdowner@gmail.com>
# Derived from work
# Copyright (C) 2001-2005 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 2002 by Tim Riker <Tim@Rikers.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
LVM2_BASEVER=2.00
LVM2_PATCH=33
LVM2_VERSION=$(LVM2_BASEVER).$(LVM2_PATCH)
LVM2_SOURCE:=LVM2.$(LVM2_VERSION).tgz
LVM2_SITE:=ftp://sources.redhat.com/pub/lvm2
LVM2_CAT:=zcat
LVM2_DIR:=$(BUILD_DIR)/LVM2.$(LVM2_VERSION)
LVM2_SBIN:=lvchange lvcreate lvdisplay lvextend lvm lvmchange lvmdiskscan lvmsadc lvmsar lvreduce lvremove lvrename lvresize lvs lvscan pvchange pvcreate pvdisplay pvmove pvremove pvresize pvs pvscan vgcfgbackup vgcfgrestore vgchange vgck vgconvert vgcreate vgdisplay vgexport vgextend vgimport vgmerge vgmknodes vgreduce vgremove vgrename vgs vgscan vgsplit
LVM2_TARGET_SBINS=$(foreach lvm2sbin, $(LVM2_SBIN), $(TARGET_DIR)/sbin/$(lvm2sbin))
$(DL_DIR)/$(LVM2_SOURCE):
$(WGET) -P $(DL_DIR) $(LVM2_SITE)/$(LVM2_SOURCE)
$(LVM2_DIR)/.unpacked: $(DL_DIR)/$(LVM2_SOURCE)
$(LVM2_CAT) $(DL_DIR)/$(LVM2_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(LVM2_DIR)/.unpacked
$(LVM2_DIR)/.configured: $(LVM2_DIR)/.unpacked
(cd $(LVM2_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
--with-user=$(shell id -un) --with-group=$(shell id -gn) \
);
touch $(LVM2_DIR)/.configured
$(LVM2_TARGET_SBINS): $(LVM2_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(LVM2_DIR)
$(MAKE) CC=$(TARGET_CC) -C $(LVM2_DIR) install prefix=$(STAGING_DIR) exec_prefix=$(STAGING_DIR)
for binary in $(LVM2_SBIN); do echo $$binary; cp -a $(STAGING_DIR)/sbin/$$binary $(TARGET_DIR)/sbin; done
lvm2: uclibc dm $(LVM2_TARGET_SBINS)
lvm2-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(LVM2_DIR) uninstall
-$(MAKE) -C $(LVM2_DIR) clean
lvm2-dirclean:
rm -rf $(LVM2_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_LVM2)),y)
TARGETS+=lvm2
endif