diff --git a/hardware/disk/lvm2/actions.py b/hardware/disk/lvm2/actions.py index fcfbda79..2b9dbd8e 100644 --- a/hardware/disk/lvm2/actions.py +++ b/hardware/disk/lvm2/actions.py @@ -4,18 +4,106 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import get from pisi.actionsapi import autotools from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def builddiet(): + pisitools.flags.add("-fno-lto") + shelltools.export("LIBS","-lpthread -luuid") + #dietCC = "diet %s %s %s -Os -static" % (get.CC(), get.CFLAGS(), get.LDFLAGS()) + dietCC = "%s %s %s -Os -static" % (get.CC(), get.CFLAGS(), get.LDFLAGS()) + shelltools.export("CC", dietCC) + + autotools.make("distclean") + + autotools.autoreconf("-fi") + autotools.configure('ac_cv_lib_dl_dlopen=no \ + --with-staticdir="/sbin" \ + --enable-debug \ + --with-optimisation=\"%s -Os\" \ + --enable-static_link \ + --with-lvm1=internal \ + --disable-readline \ + --disable-nls \ + --disable-selinux \ + --with-confdir=/etc \ + --enable-applib \ + --enable-cmdlib \ + --enable-pkgconfig \ + --enable-udev_rules \ + --with-systemdsystemunitdir=no \ + --enable-udev_sync' % get.CFLAGS()) + + #pisitools.dosed("lib/misc/configure.h","rpl_malloc","malloc") + #pisitools.dosed("lib/misc/configure.h","rpl_realloc","realloc") + + autotools.make("-j1 -C include") + autotools.make("-j1 -C lib LIB_SHARED= VERSIONED_SHLIB=") + autotools.make("-j1 -C libdm LIB_SHARED= VERSIONED_SHLIB=") + autotools.make("-j1 -C libdaemon LIB_SHARED= VERSIONED_SHLIB=") + autotools.make("-j1 -C tools dmsetup.static lvm.static DIETLIBC_LIBS=\"-lcompat\"") + + pisitools.insinto("/usr/lib/dietlibc/lib-i386", "libdm/ioctl/libdevmapper.a") + pisitools.insinto("/sbin/", "tools/lvm.static") + pisitools.insinto("/sbin/", "tools/dmsetup.static") + + +def setup(): + # Breaks linking when sandbox is disabled + shelltools.export("CLDFLAGS", get.LDFLAGS()) + + shelltools.export("LIB_PTHREAD", "-lpthread") + pisitools.dosed("conf/example.conf.in", "use_lvmetad = 0", "use_lvmetad = 1") + + autotools.autoreconf("-fi") + autotools.configure("--enable-lvm1_fallback \ + --with-default-pid-dir=/run \ + --with-default-run-dir=/run/lvm \ + --with-default-locking-dir=/run/lock/lvm \ + --with-dmeventd-path=/sbin/dmeventd \ + --enable-fsadm \ + --with-pool=internal \ + --with-user= \ + --with-group= \ + --with-usrlibdir=/usr/lib \ + --with-usrsbindir=%s \ + --with-udevdir=/lib/udev/rules.d \ + --with-device-uid=0 \ + --with-device-gid=6 \ + --with-device-mode=0660 \ + --enable-dmeventd \ + --enable-udev_rules \ + --enable-udev_sync \ + --with-snapshots=internal \ + --with-mirrors=internal \ + --with-interface=ioctl \ + --enable-static_link=no \ + --disable-readline \ + --disable-realtime \ + --disable-selinux \ + --with-confdir=/etc \ + --enable-applib \ + --enable-cmdlib \ + --enable-pkgconfig " % get.sbinDIR()) + +# pisitools.dosed("make.tmpl","-lm","") def build(): + autotools.make("-C include") + #autotools.make("-C libdm") + #autotools.make("-C lib") autotools.make() def install(): - for binary in ["dos2unix", "mac2unix", "unix2dos", "unix2mac"]: - pisitools.dobin(binary) - - pisitools.dodoc("NEWS.txt", "README.txt" ,"TODO.txt", "ChangeLog.txt", "COPYING.txt") - pisitools.doman("man/man1/dos2unix.1") + autotools.rawInstall('DESTDIR=%s' % get.installDIR()) + for dir in ["archive", "backup", "cache"]: + pisitools.dodir("/etc/lvm/%s" % dir) + shelltools.chmod(get.installDIR() + "/etc/lvm/%s" % dir, 0700) + #pisitools.move("/sbin/lvmconf","scripts/lvmconf.sh") + builddiet() + pisitools.dodoc("COPYING", "COPYING.LIB", "README", "VERSION", "VERSION_DM", "WHATS_NEW", "WHATS_NEW_DM") diff --git a/hardware/disk/lvm2/pspec.xml b/hardware/disk/lvm2/pspec.xml index c277b81f..0e7a3c42 100644 --- a/hardware/disk/lvm2/pspec.xml +++ b/hardware/disk/lvm2/pspec.xml @@ -2,76 +2,246 @@ - dos2unix - http://www.xs4all.nl/~waterlan/dos2unix.html + lvm2 + http://sources.redhat.com/lvm/ PisiLinux Community admins@pisilinux.org - freedist + GPLv2 app:console - Convert DOS and MAC text files to UNIX format - dos2unix can convert DOS and MAC files to UNIX format, processing character encoding and line ending characters. - http://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.3.tar.gz + Userland logical volume management tools + LVM2 includes all of the support for handling read/write operations physical and logical volumes. + ftp://sources.redhat.com/pub/lvm2/LVM2.2.02.142.tgz + + libutil-linux-devel + eudev-devel + + + + - dos2unix + device-mapper + + eudev + + Light-weight kernel component can support user-space tools for logical volume management + Device-mapper includes the driver enables the definition of new block devices composed of ranges of sectors of existing devices to define disk partitions or logical volumes. - /usr/bin - /usr/share/man + /usr/sbin/dmsetup + /usr/sbin/dmstats + /usr/lib/libdevmapper.a + /usr/lib/libdevmapper.so* + /lib/udev/rules.d/10-dm.rules + /lib/udev/rules.d/13-dm-disk.rules + /lib/udev/rules.d/95-dm-notify.rules + /usr/share/doc/VERSION_DM + /usr/share/doc/WHATS_NEW_DM + /usr/share/man/man8/dmsetup.8 + /usr/share/man/man8/dmstats.8 + + + + + device-mapper-devel + Development libraries and headers for device-mapper + Device-mapper-devel contains files needed to develop applications that use the device-mapper libraries. + + device-mapper + eudev-devel + + + /usr/include/libdevmapper.h + /usr/lib/pkgconfig/devmapper.pc + + + + + device-mapper-event + Device-mapper event daemon + This package contains the dmeventd daemon for monitoring the state of device-mapper devices. + + device-mapper + + + /usr/sbin/dmeventd + /usr/lib/libdevmapper-event.a + /usr/lib/libdevmapper-event.so* + /usr/lib/libdevmapper-event-lvm2thin.so + /usr/lib/device-mapper/libdevmapper-event-lvm2thin.so + /usr/share/man/man8/dmeventd.8 + + + + + device-mapper-event-devel + Development libraries and headers for the device-mapper event daemon + This contains contains files needed to develop applications that use the device-mapper event library. + + device-mapper-event + + + /usr/include/libdevmapper-event.h + /usr/lib/pkgconfig/devmapper-event.pc + + + + + lvm2 + Userland logical volume management tools + LVM2 includes all of the support for handling read/write operations on physical volumes,creating volume groups from one or more physical volumes and creating one or more logical volumes in volume groups. + + device-mapper + device-mapper-event + libutil-linux + eudev + + + /sbin/lvmconf + /usr/sbin/blkdeactivate + /usr/sbin/fsadm + /usr/sbin/lv* + /usr/sbin/vg* + /usr/sbin/pv* + /usr/lib/liblvm2app.so* + /usr/lib/liblvm2cmd.so* + /usr/lib/libdevmapper-event-lvm2.so* + /usr/lib/device-mapper/libdevmapper-event-lvm2mirror.so + /usr/lib/device-mapper/libdevmapper-event-lvm2snapshot.so + /usr/lib/libdevmapper-event-lvm2mirror.so + /usr/lib/libdevmapper-event-lvm2snapshot.so + /usr/lib/libdevmapper-event-lvm2raid.so + /usr/lib/device-mapper/libdevmapper-event-lvm2raid.so + /etc/lvm + /etc/lvm/archive + /etc/lvm/backup + /etc/lvm/cache + /var/lock/lvm + /lib/udev/rules.d/11-dm-lvm.rules + /usr/lib/tmpfiles.d/lvm2.conf /usr/share/doc + /usr/share/man/man5/lvm.conf.5 + /usr/share/man/man7 + /usr/share/man/man8/fsadm.8 + /usr/share/man/man8/blkdeactivate.8 + /usr/share/man/man8/*pv* + /usr/share/man/man8/*lv* + /usr/share/man/man8/*vg* + + + tmpfiles.conf + + + System.Package + + + + + lvm2-devel + Development libraries and headers + This package contains files needed to develop applications that use the lvm2 libraries. + + libutil-linux-devel + lvm2 + device-mapper-devel + device-mapper-event-devel + + + /usr/include/lvm2cmd.h + /usr/include/lvm2app.h + /usr/lib/pkgconfig/lvm2app.pc + + + + + dietlibc-libdevmapper + Static devmapper library built with dietlibc + device mapper contains ioctl library and utilities for use with logical volume management (LVM2) built with dietlibc + + /usr/lib/dietlibc/lib-i386/libdevmapper.a + + + + + device-mapper-static + Staticaly linked Device-mapper library and utility + device mapper contains statically linked libraries and utility for initramfs. + + /sbin/dmsetup.static + + + + + lvm2-static + Staticaly linked Logical Volume Management utilities + Number of utilities for creating, checking, and repairing logical volumes - statically linked for initramfs. + + /sbin/lvm.static + /usr/lib/liblvm2app.a + /usr/lib/liblvm2cmd.a - - 2016-03-14 - 7.3 + + 2016-03-13 + 2.02.142 Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-02 + 2.02.118 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com - 2015-02-08 - 7.1 + 2014-09-04 + 2.02.111 Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org + Marcin Bojara + marcin@pisilinux.org - 2014-06-07 - 6.0.5 + 2014-05-09 + 2.02.106 Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org + Marcin Bojara + marcin@pisilinux.org - 2014-02-28 - 6.0.4 + 2014-04-07 + 2.02.105 Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org + Marcin Bojara + marcin@pisilinux.org - 2014-02-17 - 5.3.1 - Release. - Osman Erkan - osman.erkan@pisilinux.org + 2013-11-09 + 2.02.103 + Version bump. + Marcin Bojara + marcin@pisilinux.org - 2013-05-28 - 5.3.1 - Confilicts Fixed - Osman Erkan - osman.erkan@pisilinux.org + 2013-07-26 + 2.02.98 + Fix dep, release bump. + Serdar Soytetir + kaptanan@pisilinux.org - 2011-08-11 - 5.3.1 + 2012-11-14 + 2.02.98 First release - Pisi Linux Admins + PisiLinux Community admins@pisilinux.org