upgrade lvm2 package

git-svn-id: svn://svn.openwrt.org/openwrt/packages@26754 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
luka 2011-04-25 20:36:26 +00:00
parent 383ea713c9
commit a775a89c31
2 changed files with 25 additions and 103 deletions

View File

@ -1,5 +1,6 @@
# #
# Copyright (C) 2009, 2010 Stefan Monnier # Copyright (C) 2009, 2010 Stefan Monnier
# Copyright (C) 2011 OpenWrt.org
# #
# This is free software, licensed under the GNU General Public License v3+. # This is free software, licensed under the GNU General Public License v3+.
# See /LICENSE for more information. # See /LICENSE for more information.
@ -8,116 +9,74 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=LVM2 PKG_NAME:=LVM2
PKG_VERSION:=2.02.64 PKG_VERSION:=2.02.84
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
PKG_SOURCE_URL:=ftp://sources.redhat.com/pub/lvm2/ \ PKG_SOURCE_URL:=ftp://sources.redhat.com/pub/lvm2
http://netbsd.mirrors.tds.net/pub/sourceware.org/lvm2/ PKG_MD5SUM:=8b4e0897ee48f02c0dff11940e44e23b
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_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME).$(PKG_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME).$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
define Package/libdevmapper/Default
SUBMENU:=disc
MAINTAINER:=Stefan Monnier <monnier@iro.umontreal.ca>
endef
define Package/libdevmapper define Package/libdevmapper
$(call Package/libdevmapper/Default)
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=+kmod-dm
TITLE:=The Linux Kernel Device Mapper userspace library TITLE:=The Linux Kernel Device Mapper userspace library
URL:=http://sourceware.org/dm/ URL:=http://sourceware.org/dm/
DEPENDS:=+kmod-dm
MAINTAINER:=Luka Perkov <openwrt@lukaperkov.net>
endef endef
define Package/libdevmapper/description define Package/libdevmapper/description
The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management) The device-mapper is a component of the 2.6 linux kernel that supports logical
Team\'s implementation of a minimalistic kernel-space driver that handles volume management. It is required by LVM2 and EVMS.
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).
endef endef
define Package/lvm2 define Package/lvm2
$(call Package/libdevmapper/Default)
SECTION:=utils SECTION:=utils
CATEGORY:=Utilities CATEGORY:=Utilities
SUBMENU:=disc
TITLE:=The Linux Logical Volume Manager TITLE:=The Linux Logical Volume Manager
DEPENDS:=+libdevmapper +libreadline +libncurses
URL:=http://sourceware.org/lvm2/ URL:=http://sourceware.org/lvm2/
DEPENDS:=+libdevmapper +libreadline +libncurses
MAINTAINER:=Luka Perkov <openwrt@lukaperkov.net>
endef endef
define Package/lvm2/description define Package/lvm2/description
This is LVM2, the rewrite of The Linux Logical Volume Manager. LVM LVM2 refers to a new userspace toolset that provide logical volume management
supports enterprise level volume management of disk and disk subsystems facilities on linux. It is reasonably backwards-compatible with the original
by grouping arbitrary disks into volume groups. The total capacity of LVM toolset.
volume groups can be allocated to logical volumes, which are accessed as
regular block devices.
endef 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 CONFIGURE_ARGS += --disable-o_direct
define Build/Compile define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \ $(MAKE) -C $(PKG_BUILD_DIR) \
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \ CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
DESTDIR="$(PKG_INSTALL_DIR)" \ DESTDIR="$(PKG_INSTALL_DIR)" \
install install
endef endef
define Build/InstallDev define Build/InstallDev
mkdir -p $(1)/usr/include $(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/libdevmapper.h $(1)/usr/include/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/libdevmapper.h $(1)/usr/include
mkdir -p $(1)/usr/lib $(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so* $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so* $(1)/usr/lib
mkdir -p $(1)/usr/lib/pkgconfig $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_BUILD_DIR)/libdm/libdevmapper.pc $(1)/usr/lib/pkgconfig/ $(CP) $(PKG_BUILD_DIR)/libdm/libdevmapper.pc $(1)/usr/lib/pkgconfig
endef endef
define Package/libdevmapper/install define Package/libdevmapper/install
$(INSTALL_DIR) $(1)/usr/lib $(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 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 define Package/lvm2/install
$(INSTALL_DIR) $(1)/sbin $(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_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_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/lvm2.init $(1)/etc/init.d/lvm2 $(INSTALL_BIN) ./files/lvm2.init $(1)/etc/init.d/lvm2
endef endef

View File

@ -1,37 +0,0 @@
--- 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)