diff options
author | Wouter den Breejen <uu@denbreejen.net> | 2007-07-20 15:50:54 +0000 |
---|---|---|
committer | Wouter den Breejen <uu@denbreejen.net> | 2007-07-20 15:50:54 +0000 |
commit | 5e12937f30093011ae76c518c512c6ee2ab87949 (patch) | |
tree | 1bff60fdfeef9c9e1b5bafd5036c476c6f700892 /pkgs/os-specific/linux/e3cfsprogs | |
parent | 5760cd599daa8af7d4fcdfebe2ea23d19e9039d3 (diff) | |
download | nixlib-5e12937f30093011ae76c518c512c6ee2ab87949.tar nixlib-5e12937f30093011ae76c518c512c6ee2ab87949.tar.gz nixlib-5e12937f30093011ae76c518c512c6ee2ab87949.tar.bz2 nixlib-5e12937f30093011ae76c518c512c6ee2ab87949.tar.lz nixlib-5e12937f30093011ae76c518c512c6ee2ab87949.tar.xz nixlib-5e12937f30093011ae76c518c512c6ee2ab87949.tar.zst nixlib-5e12937f30093011ae76c518c512c6ee2ab87949.zip |
Added e3cfsprogs and ext3cow-tools. Ext3cow is a stand-alone disk file system, (e.g. ReiserFS, HFS, NTFS) based on ext3, that supports versioning through copy-on-write and a time-shifting interface.
svn path=/nixpkgs/trunk/; revision=9010
Diffstat (limited to 'pkgs/os-specific/linux/e3cfsprogs')
4 files changed, 180 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/e3cfsprogs/builder.sh b/pkgs/os-specific/linux/e3cfsprogs/builder.sh new file mode 100755 index 000000000000..6d9c0d6ddaa8 --- /dev/null +++ b/pkgs/os-specific/linux/e3cfsprogs/builder.sh @@ -0,0 +1,12 @@ +source $stdenv/setup + +tar -zxvf $src +cd e3cfsprogs*/ + +mkdir build; +cd build; +../configure --prefix=$out +make +#make check #almost all checks fail... maybe they have to be done on a ext3cow fs ??? +make install + diff --git a/pkgs/os-specific/linux/e3cfsprogs/default.nix b/pkgs/os-specific/linux/e3cfsprogs/default.nix new file mode 100644 index 000000000000..8db3317a230b --- /dev/null +++ b/pkgs/os-specific/linux/e3cfsprogs/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, gettext}: + +stdenv.mkDerivation { + name = "e3cfsprogs-1.39"; + builder = ./builder.sh; + + patches = [ ./e3cfsprogs-1.39_bin_links.patch ./e3cfsprogs-1.39_etc.patch ]; + + src = fetchurl { + url = http://www.ext3cow.com/Download_files/e3cfsprogs-1.39.tgz; + sha256 = "26f535007a497d91c85d337ac67d62d42e3c8fde2ee02c5cb6b6e3e884a5d58f"; + }; + + configureFlags = + if stdenv ? isDietLibC + then "" + else "--enable-dynamic-e2fsck --enable-elf-shlibs"; + buildInputs = [gettext]; + preInstall = "installFlagsArray=('LN=ln -s')"; + postInstall = "make install-libs"; + + NIX_CFLAGS_COMPILE = + if stdenv ? isDietLibC then + "-UHAVE_SYS_PRCTL_H " + + (if stdenv.system == "x86_64-linux" then "-DHAVE_LSEEK64_PROTOTYPE=1 -Dstat64=stat" else "") + else ""; +} + + +#note that ext3cow requires the ext3cow kernel patch !!!! diff --git a/pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_bin_links.patch b/pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_bin_links.patch new file mode 100644 index 000000000000..cf8c819c97a4 --- /dev/null +++ b/pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_bin_links.patch @@ -0,0 +1,111 @@ +diff -Naur e3cfsprogs-1.39/config/config.guess e3cfsprogs-1.39_mod/config/config.guess +--- e3cfsprogs-1.39/config/config.guess 2006-04-10 00:34:21.000000000 +0200 ++++ e3cfsprogs-1.39_mod/config/config.guess 2007-07-20 16:28:58.000000000 +0200 +@@ -319,7 +319,7 @@ + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) +- case `/usr/bin/uname -p` in ++ case `uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) +@@ -460,7 +460,7 @@ + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures +- UNAME_PROCESSOR=`/usr/bin/uname -p` ++ UNAME_PROCESSOR=`uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +@@ -1054,7 +1054,7 @@ + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. +- case `/bin/uname -X | grep "^Machine"` in ++ case `uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; +@@ -1065,14 +1065,14 @@ + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` + echo ${UNAME_MACHINE}-pc-isc$UNAME_REL +- elif /bin/uname -X 2>/dev/null >/dev/null ; then +- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` +- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 +- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ ++ elif uname -X 2>/dev/null >/dev/null ; then ++ UNAME_REL=`(uname -X|grep Release|sed -e 's/.*= //')` ++ (uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 ++ (uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 +- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ ++ (uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 +- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ ++ (uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else +@@ -1114,12 +1114,12 @@ + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` +- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } +- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} +@@ -1471,8 +1471,8 @@ + uname -s = `(uname -s) 2>/dev/null || echo unknown` + uname -v = `(uname -v) 2>/dev/null || echo unknown` + +-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +-/bin/uname -X = `(/bin/uname -X) 2>/dev/null` ++uname -p = `(uname -p) 2>/dev/null` ++uname -X = `(uname -X) 2>/dev/null` + + hostinfo = `(hostinfo) 2>/dev/null` + /bin/universe = `(/bin/universe) 2>/dev/null` +diff -Naur e3cfsprogs-1.39/lib/blkid/test_probe.in e3cfsprogs-1.39_mod/lib/blkid/test_probe.in +--- e3cfsprogs-1.39/lib/blkid/test_probe.in 2005-09-10 20:08:42.000000000 +0200 ++++ e3cfsprogs-1.39_mod/lib/blkid/test_probe.in 2007-07-20 16:26:02.000000000 +0200 +@@ -21,7 +21,7 @@ + fi + bunzip2 < $SRCDIR/tests/$i.img.bz2 > /tmp/test.img.$$ + ./tst_probe /tmp/test.img.$$ > tests/$i.out +- /bin/rm -f /tmp/test.img.$$ tests/$i.ok tests/$i.failed ++ rm -f /tmp/test.img.$$ tests/$i.ok tests/$i.failed + cmp -s tests/$i.out $SRCDIR/tests/$i.results + if [ $? = 0 ]; then + echo ok +diff -Naur e3cfsprogs-1.39/tests/defaults/e_script e3cfsprogs-1.39_mod/tests/defaults/e_script +--- e3cfsprogs-1.39/tests/defaults/e_script 2005-09-06 11:40:14.000000000 +0200 ++++ e3cfsprogs-1.39_mod/tests/defaults/e_script 2007-07-20 16:26:26.000000000 +0200 +@@ -25,7 +25,7 @@ + elif [ "$class" = icount ]; then + TEST_PROG=$TEST_ICOUNT + else +- TEST_PROG=/bin/cat ++ TEST_PROG=cat + fi + + cat $SRCDIR/progs/test_data/$instance.setup $SRCDIR/progs/test_data/test.$class \ +diff -Naur e3cfsprogs-1.39/util/gcc-wall-cleanup e3cfsprogs-1.39_mod/util/gcc-wall-cleanup +--- e3cfsprogs-1.39/util/gcc-wall-cleanup 2005-09-06 11:40:15.000000000 +0200 ++++ e3cfsprogs-1.39_mod/util/gcc-wall-cleanup 2007-07-20 16:30:04.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/bin/sed -f ++#!sed -f + # + # This script filters out gcc-wall crud that we're not interested in seeing. + # diff --git a/pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_etc.patch b/pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_etc.patch new file mode 100644 index 000000000000..5997d431f4c6 --- /dev/null +++ b/pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_etc.patch @@ -0,0 +1,27 @@ +diff -Naur e3cfsprogs-1.39/misc/Makefile.in e3cfsprogs-1.39_path_mod/misc/Makefile.in +--- e3cfsprogs-1.39/misc/Makefile.in 2006-03-27 07:58:10.000000000 +0200 ++++ e3cfsprogs-1.39_path_mod/misc/Makefile.in 2007-07-20 16:45:04.000000000 +0200 +@@ -223,12 +223,12 @@ + @$(SUBSTITUTE_UPTIME) $(srcdir)/filefrag.8.in filefrag.8 + + installdirs: +- @echo " MKINSTALLDIRS $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir)" ++ @echo " MKINSTALLDIRS $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir) $(root_sysconfdir)" + @$(MKINSTALLDIRS) $(DESTDIR)$(sbindir) \ + $(DESTDIR)$(root_sbindir) $(DESTDIR)$(bindir) \ + $(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) \ + $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \ +- $(DESTDIR)$(libdir) $(DESTDIR)/etc ++ $(DESTDIR)$(libdir) $(DESTDIR)$(root_sysconfdir)/etc + + install: all $(SMANPAGES) $(UMANPAGES) installdirs + @for i in $(SPROGS); do \ +@@ -291,7 +291,7 @@ + @if ! test -f $(DESTDIR)/etc/mke2fs.conf; then \ + echo " INSTALL_DATA /etc/mke2fs.conf"; \ + $(INSTALL_DATA) $(srcdir)/mke2fs.conf \ +- $(DESTDIR)/etc/mke2fs.conf; \ ++ $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \ + fi + + install-strip: install |