Date: Sat, 16 Jan 2010 20:24:01 GMT From: Attila Nagy <bra@fsn.hu> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/142892: New port: misc/libeatmydata Message-ID: <201001162024.o0GKO1mu090922@www.freebsd.org> Resent-Message-ID: <201001162030.o0GKU1RC062407@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001162024.o0GKO1mu090922>