mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-20 04:31:52 +00:00
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
This commit is contained in:
parent
5760cd599d
commit
5e12937f30
12
pkgs/os-specific/linux/e3cfsprogs/builder.sh
Executable file
12
pkgs/os-specific/linux/e3cfsprogs/builder.sh
Executable file
|
@ -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
|
||||
|
30
pkgs/os-specific/linux/e3cfsprogs/default.nix
Normal file
30
pkgs/os-specific/linux/e3cfsprogs/default.nix
Normal file
|
@ -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 !!!!
|
|
@ -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.
|
||||
#
|
27
pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_etc.patch
Normal file
27
pkgs/os-specific/linux/e3cfsprogs/e3cfsprogs-1.39_etc.patch
Normal file
|
@ -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
|
14
pkgs/os-specific/linux/ext3cow-tools/builder.sh
Executable file
14
pkgs/os-specific/linux/ext3cow-tools/builder.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
source $stdenv/setup
|
||||
|
||||
tar -zxvf $src
|
||||
cd ext3cow-tools/
|
||||
|
||||
kernelslashed=$(echo $kernel | sed 's/\//\\\//g')
|
||||
sed -i "s/linux\/ext3cow_fs.h/$kernelslashed\/lib\/modules\/2.6.21.5-default\/build\/include\/linux\/ext3cow_fs.h/" ext3cow_tools.h #ugh dirty header rewrite....
|
||||
|
||||
make
|
||||
|
||||
ensureDir $out/bin/
|
||||
cp ss $out/bin/snapshot
|
||||
cp tt $out/bin/
|
||||
cp e2d $out/bin/
|
16
pkgs/os-specific/linux/ext3cow-tools/default.nix
Normal file
16
pkgs/os-specific/linux/ext3cow-tools/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{stdenv, fetchurl, kernel_ext3cowpatched }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ext3cow-tools";
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.ext3cow.com/Download_files/ext3cow-tools-1.tgz;
|
||||
sha256 = "78f55b19c8eeaa7b8abde63c7d6547b1ac0421a46d826a8d41c049719a3081f2";
|
||||
};
|
||||
|
||||
kernel = kernel_ext3cowpatched;
|
||||
}
|
||||
|
||||
|
||||
#note that ext3cow requires the ext3cow kernel patch !!!!
|
18428
pkgs/os-specific/linux/kernel/linux-2.6.20.3-ext3cow.patch
Normal file
18428
pkgs/os-specific/linux/kernel/linux-2.6.20.3-ext3cow.patch
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue