#
# Copyright (C) 2009, 2010 Stefan Monnier
+# Copyright (C) 2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v3+.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=LVM2
-PKG_VERSION:=2.02.64
-PKG_RELEASE:=2
+PKG_VERSION:=2.02.84
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
-PKG_SOURCE_URL:=ftp://sources.redhat.com/pub/lvm2/ \
- http://netbsd.mirrors.tds.net/pub/sourceware.org/lvm2/
-PKG_MD5SUM:=59fc0f7f6703a8c7f12df6b7d2e509fb
-# 2.02.43 = fc34655706a2aa116b92328b24fad619
-# 2.02.44 = 4ed7b99903a6fc5165b7b0b8def42486
-# 2.02.53 = f9ae3579bf15467b7f1d7aea8b9ed9b3
-# 2.02.60 = 33e0e0f4b4582d495ff619696c634b2a
-# 2.02.63 = 74bb3beeefe68d539ab712e92fddfb39
-
-# OpenWRT normally expects the tarball to expand into
-# $(PKG_NAME)-$(PKG_VERSION), and this magic incantation seems to make it
-# understand that LVM2's tarball expands into $(PKG_NAME).$(PKG_VERSION).
+PKG_SOURCE_URL:=ftp://sources.redhat.com/pub/lvm2
+PKG_MD5SUM:=8b4e0897ee48f02c0dff11940e44e23b
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME).$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
-define Package/libdevmapper/Default
- SUBMENU:=disc
- MAINTAINER:=Stefan Monnier <monnier@iro.umontreal.ca>
-endef
-
define Package/libdevmapper
- $(call Package/libdevmapper/Default)
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+kmod-dm
TITLE:=The Linux Kernel Device Mapper userspace library
URL:=http://sourceware.org/dm/
+ DEPENDS:=+kmod-dm
+ MAINTAINER:=Luka Perkov <openwrt@lukaperkov.net>
endef
define Package/libdevmapper/description
- The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management)
- Team\'s implementation of a minimalistic kernel-space driver that handles
- volume management, while keeping knowledge of the underlying device layout
- in user-space. This makes it useful for not only LVM, but EVMS, software
- raid, and other drivers that create "virtual" block devices.
- .
- This package contains the (user-space) shared library for accessing the
- device-mapper; it allows usage of the device-mapper through a clean,
- consistent interface (as opposed to through kernel ioctls).
+ The device-mapper is a component of the 2.6 linux kernel that supports logical
+ volume management. It is required by LVM2 and EVMS.
endef
define Package/lvm2
- $(call Package/libdevmapper/Default)
SECTION:=utils
CATEGORY:=Utilities
+ SUBMENU:=disc
TITLE:=The Linux Logical Volume Manager
- DEPENDS:=+libdevmapper +libreadline +libncurses
URL:=http://sourceware.org/lvm2/
+ DEPENDS:=+libdevmapper +libreadline +libncurses
+ MAINTAINER:=Luka Perkov <openwrt@lukaperkov.net>
endef
define Package/lvm2/description
- This is LVM2, the rewrite of The Linux Logical Volume Manager. LVM
- supports enterprise level volume management of disk and disk subsystems
- by grouping arbitrary disks into volume groups. The total capacity of
- volume groups can be allocated to logical volumes, which are accessed as
- regular block devices.
+ 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.
endef
-# I got problems building with readline, so I originally just disabled it.
-# I've since added patch 100-readline-link which fixes the problem instead.
-# CONFIGURE_ARGS += --disable-readline
-
-# Apparently we have problems when "read"ing using O_DIRECT, maybe because
-# of uClibc. More specifically, with O_DIRECT lvm becomes erratic, showing
-# non-deterministic behavior: `lvs', `pvs' and friends can return anything
-# from empty lists, to completely correct result, as well as checksum errors,
-# complaints about missing volume groups, ... each run of the command can
-# return something different. The "root" of the problem is (maybe among
-# other places) in the "_io" function in dev-io.c, where calls to the "read"
-# function often return garbage, although not always. There's nothing
-# obviously wrong with the dev-io.c code, so the bug may just as well be in
-# uClibc or in the kernel (it appeared on the MIPS platform and could be
-# related to cache coherency issues).
-# Debian Lenny's lvm2 also disables O_DIRECT on "arm armeb hppa mips mipsel".
CONFIGURE_ARGS += --disable-o_direct
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
- CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
+ CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
DESTDIR="$(PKG_INSTALL_DIR)" \
install
endef
define Build/InstallDev
- mkdir -p $(1)/usr/include
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/libdevmapper.h $(1)/usr/include/
- mkdir -p $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so* $(1)/usr/lib/
- mkdir -p $(1)/usr/lib/pkgconfig
- $(CP) $(PKG_BUILD_DIR)/libdm/libdevmapper.pc $(1)/usr/lib/pkgconfig/
+ $(INSTALL_DIR) $(1)/usr/include
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/libdevmapper.h $(1)/usr/include
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so* $(1)/usr/lib
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_BUILD_DIR)/libdm/libdevmapper.pc $(1)/usr/lib/pkgconfig
endef
define Package/libdevmapper/install
$(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so.* $(1)/usr/lib/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so.* $(1)/usr/lib
endef
-# This rule only installs the `lvm' executable. Debian also installs
-# a whole bunch of symlinks so that instead of `lvm <foo>' you can directly
-# run `<foo>'.
define Package/lvm2/install
$(INSTALL_DIR) $(1)/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/lvm $(1)/sbin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/lvm $(1)/sbin
$(INSTALL_DIR) $(1)/etc/lvm
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/doc/example.conf $(1)/etc/lvm/lvm.conf
+ $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/example.conf $(1)/etc/lvm/lvm.conf
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/lvm2.init $(1)/etc/init.d/lvm2
endef
+++ /dev/null
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -116,11 +116,9 @@ ifeq ("@INTL@", "yes")
- endif
-
- LDFLAGS += -L$(top_builddir)/libdm -L$(top_builddir)/lib
--CLDFLAGS += -L$(top_builddir)/libdm -L$(top_builddir)/lib
-
- ifeq ("@DMEVENTD@", "yes")
- LDFLAGS += -L$(top_builddir)/daemons/dmeventd
-- CLDFLAGS += -L$(top_builddir)/daemons/dmeventd
- endif
-
- ifeq ("@DM_COMPAT@", "yes")
-@@ -291,11 +289,11 @@ TARGETS += $(LIB_SHARED).$(LIB_VERSION)
- $(LIB_SHARED).$(LIB_VERSION): $(OBJECTS) $(LDDEPS)
- ifeq ("@LIB_SUFFIX@","so")
- $(CC) -shared -Wl,-soname,$(notdir $@) \
-- $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
- endif
- ifeq ("@LIB_SUFFIX@","dylib")
- $(CC) -dynamiclib -dylib_current_version,$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
- endif
-
- $(LIB_SHARED): $(LIB_SHARED).$(LIB_VERSION)
-@@ -313,7 +311,7 @@ endif
-
- %.so: %.a
- $(CC) -shared -Wl,-soname,$(notdir $@).$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(LIBS) -o $@ \
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) $(LIBS) -o $@ \
- @CLDWHOLEARCHIVE@ $< @CLDNOWHOLEARCHIVE@
-
- $(LIB_STATIC): $(OBJECTS)