ports/142892: New port: misc/libeatmydata

Attila Nagy bra at fsn.hu
Sat Jan 16 20:30:02 UTC 2010


>Number:         142892
>Category:       ports
>Synopsis:       New port: misc/libeatmydata
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 16 20:30:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Attila Nagy
>Release:        8.0
>Organization:
>Environment:
>Description:
libeatmydata is a small LD_PRELOAD library designed to (transparently) disable fsync (and friends, like open(O_SYNC)). This has two side-effects: making software that writes data safely to disk a lot quicker and making this software no longer crash safe.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	libeatmydata
#	libeatmydata/Makefile
#	libeatmydata/distinfo
#	libeatmydata/pkg-descr
#	libeatmydata/files
#	libeatmydata/files/patch-eatmydata.c
#	libeatmydata/files/patch-Makefile
#
echo c - libeatmydata
mkdir -p libeatmydata > /dev/null 2>&1
echo x - libeatmydata/Makefile
sed 's/^X//' >libeatmydata/Makefile << '23000e760d2aedf0324e135fcd1f06fc'
X# New ports collection makefile for:	libeatmydata
X# Date created:				Sat Jan 16 20:41:35 CET 2010
X# Whom:					Attila Nagy <bra at fsn.hu>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	libeatmydata
XPORTVERSION=	9
XCATEGORIES=	misc
XMASTER_SITES=	http://www.flamingspork.com/projects/libeatmydata/
XUSE_BZIP2=	yes
XNO_MTREE=	yes
X
XMAINTAINER=	bra at fsn.hu
XCOMMENT=	a small LD_PRELOAD library designed to (transparently) disable fsync
X
XPLIST_FILES=	lib/libeatmydata.so \
X		lib/libeatmydata.so.1 \
X		lib/libeatmydata.so.1.0
X
Xdo-install:
X	${INSTALL_DATA} ${WRKSRC}/libeatmydata.so.1.0 ${PREFIX}/lib
X
Xpost-install:
X	$(LN) ${PREFIX}/lib/libeatmydata.so.1.0 ${PREFIX}/lib/libeatmydata.so.1
X	$(LN) ${PREFIX}/lib/libeatmydata.so.1.0 ${PREFIX}/lib/libeatmydata.so
X
X.include <bsd.port.mk>
23000e760d2aedf0324e135fcd1f06fc
echo x - libeatmydata/distinfo
sed 's/^X//' >libeatmydata/distinfo << 'f51a7c2b5e6e762f143e5d58eafc156a'
XMD5 (libeatmydata-9.tar.bz2) = 61456c6939acd227deeee9ec471514ef
XSHA256 (libeatmydata-9.tar.bz2) = 9dc1fcc14e77fe354e9561c9b19a6c2eb9ba0b305c63651b1a35d004f797cf08
XSIZE (libeatmydata-9.tar.bz2) = 12130
f51a7c2b5e6e762f143e5d58eafc156a
echo x - libeatmydata/pkg-descr
sed 's/^X//' >libeatmydata/pkg-descr << '7ea46d42ed44640e9ac7584119c29889'
Xlibeatmydata is a small LD_PRELOAD library designed to (transparently) disable fsync (and friends, like open(O_SYNC)). This has two side-effects: making software that writes data safely to disk a lot quicker and making this software no longer crash safe.
X
XDO NOT use libeatmydata on software where you care about what it stores. It's called libEAT-MY-DATA for a reason.
7ea46d42ed44640e9ac7584119c29889
echo c - libeatmydata/files
mkdir -p libeatmydata/files > /dev/null 2>&1
echo x - libeatmydata/files/patch-eatmydata.c
sed 's/^X//' >libeatmydata/files/patch-eatmydata.c << 'c487a2b9a9449ba4660afd00e8e38007'
X--- eatmydata.c.orig	2009-05-12 03:11:01.000000000 +0200
X+++ eatmydata.c	2010-01-16 20:33:45.000000000 +0100
X@@ -53,10 +53,15 @@
X 	mode_t mode;
X 
X 	va_start(ap, flags);
X-	mode= va_arg(ap, mode_t);
X+	mode= va_arg(ap, int);
X 	va_end(ap);
X 
X+#if defined(O_DSYNC)
X 	flags &= ~(O_SYNC|O_DSYNC);
X+#else
X+	flags &= ~(O_SYNC);
X+#endif
X+
X 
X 	if(!libc_open)
X 		eatmydata_init();
c487a2b9a9449ba4660afd00e8e38007
echo x - libeatmydata/files/patch-Makefile
sed 's/^X//' >libeatmydata/files/patch-Makefile << 'db1e707b2d68cb7fba07c7e7f2f81c0a'
X--- Makefile.orig	2010-01-16 20:34:10.000000000 +0100
X+++ Makefile	2010-01-16 20:38:43.000000000 +0100
X@@ -1,10 +1,10 @@
X-all: libs fsynctest
X+all: libs
X 
X clean:
X 	rm -f libeatmydata.so* fsynctest
X 
X libs: eatmydata.c
X-	gcc -shared -Wl,-soname,libeatmydata.so.1  -ldl -o libeatmydata.so.1.0  eatmydata.c -fPIC
X+	gcc -shared -Wl,-soname,libeatmydata.so.1 -o libeatmydata.so.1.0  eatmydata.c -fPIC
X 	@rm -f libeatmydata.so.1 libeatmydata.so
X 	ln -s libeatmydata.so.1.0 libeatmydata.so.1
X 	ln -s libeatmydata.so.1 libeatmydata.so
db1e707b2d68cb7fba07c7e7f2f81c0a
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list