From: "Marc Schiffbauer" <marc@schiffbauer.net>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] dev/mschiff:master commit in: app-misc/eatmydata/, app-misc/eatmydata/files/
Date: Wed, 29 Feb 2012 12:24:49 +0000 (UTC) [thread overview]
Message-ID: <1330518270.b5af286fbf9407d4af1723ab588db8b2b5e0fe1e.mschiff@gentoo> (raw)
commit: b5af286fbf9407d4af1723ab588db8b2b5e0fe1e
Author: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 29 12:24:30 2012 +0000
Commit: Marc Schiffbauer <marc <AT> schiffbauer <DOT> net>
CommitDate: Wed Feb 29 12:24:30 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/mschiff.git;a=commit;h=b5af286f
Add ebuild eatmydata
(Portage version: 2.2.0_alpha88/git/Linux x86_64, signed Manifest commit with key 0x35A64134)
---
app-misc/eatmydata/Manifest | 15 +++++
app-misc/eatmydata/eatmydata-28.ebuild | 32 ++++++++++
app-misc/eatmydata/files/eatmydata | 98 +++++++++++++++++++++++++++++++
app-misc/eatmydata/files/eatmydata.1.gz | Bin 0 -> 1093 bytes
app-misc/eatmydata/metadata.xml | 8 +++
5 files changed, 153 insertions(+), 0 deletions(-)
diff --git a/app-misc/eatmydata/Manifest b/app-misc/eatmydata/Manifest
new file mode 100644
index 0000000..36e89e2
--- /dev/null
+++ b/app-misc/eatmydata/Manifest
@@ -0,0 +1,15 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX eatmydata 2511 RMD160 115382fc06a10b6b033035469b35e257eb3bf472 SHA1 24f05a08d75661b2d3ff83a09c8bb4ba5939ede9 SHA256 5df9a7145a22cfcfc0a11b04b93dac441bae1a2e6431d3bf11da7ae845969268
+AUX eatmydata.1.gz 1093 RMD160 40c0fb1b326e05b352f23033fa35640fb7db41b4 SHA1 2a2e0d2992ce49ba4f20d7a49e61f1f5e754ee89 SHA256 fdd8720f95266b73052779818145d2e6fbc504670d5c39a091a48754d497b9ba
+DIST libeatmydata-28.tar.gz 382069 RMD160 b8b8fc9a02413b8fd907569f93b0015ecc086a0c SHA1 bd8a26b5e8dc9647ddf70989652e2da55a18b752 SHA256 3b768351a1aff21a1201bcbd25635a0f4fbbfc2d4e7e55842403601fdb1859c3
+EBUILD eatmydata-28.ebuild 792 RMD160 7fc0de271d70341373a2fe90ac7df63a1fe09b1e SHA1 d2a93fd43032f417ad298cd1823b92d122897a2d SHA256 99fb883c6005421e1795844c57c3dcc133f532cac3850f9a8d265a8ad9398494
+MISC metadata.xml 236 RMD160 5c57b0291e26469fb522c377d9b6373830889ebb SHA1 4da113512bdf7f06bde8a17a9332c28da0ecf1b6 SHA256 f55443c9b3d97fcc9437b9aeba1b3beae39e38599620bd520d0693bb8948b531
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.18 (GNU/Linux)
+
+iD8DBQFPThj+KWxsyjWmQTQRAgtcAKCejXQYDMh/o7SDr8y8xKjPdX0+lACcCtzh
+r7fiL17pplMofI6MbxX4fgs=
+=WN/u
+-----END PGP SIGNATURE-----
diff --git a/app-misc/eatmydata/eatmydata-28.ebuild b/app-misc/eatmydata/eatmydata-28.ebuild
new file mode 100644
index 0000000..7a0a4b7
--- /dev/null
+++ b/app-misc/eatmydata/eatmydata-28.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+
+DESCRIPTION="Tool with LD_PRELOAD library that disables all forms of writing data safely to disk"
+HOMEPAGE="https://launchpad.net/libeatmydata"
+SRC_URI="http://launchpad.net/lib${PN}/trunk/release-${PV}/+download/lib${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+MY_S="${WORKDIR}/lib${P}"
+S="${WORKDIR}/lib${P}"
+
+src_install () {
+ default
+ exeinto /usr/bin && doexe ${FILESDIR}/eatmydata
+ doman ${FILESDIR}/eatmydata.1.gz
+ find ${D} -name "*.la" -delete
+}
+
+pkg_postinst() {
+ ewarn "This program is called *eatmydata* on purpose."
+ ewarn "Use it on your own risk and only if you know what you are doing."
+}
diff --git a/app-misc/eatmydata/files/eatmydata b/app-misc/eatmydata/files/eatmydata
new file mode 100755
index 0000000..0a72fa7
--- /dev/null
+++ b/app-misc/eatmydata/files/eatmydata
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# Copyright ©: 2010, Modestas Vainius <modax@debian.org>
+#
+# Copyright ©: 2011, Marc Schiffbauer <mschiff@gentoo.org>
+# (merged shell lib into this file + some small mods for gentoo)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+libeatmydata="/usr/lib/libeatmydata.so"
+name="eatmydata"
+
+eatmydata_error()
+{
+ echo "$name error: $1" >&2
+ exit 1
+}
+
+eatmydata_exec()
+{
+ local cmd
+ cmd="$1"
+ if [ "${cmd#*/*}" = "${cmd}" ]; then
+ # $cmd does not contain '/'. Look in $PATH avoiding loops with self.
+ local self save_ifs path exe ok
+
+ self="`readlink -f "$0"`"
+ save_ifs="$IFS"
+ IFS=":"
+ ok=""
+ for path in $PATH; do
+ exe="${path}/$cmd"
+ # Avoid loops with self
+ if [ -x "$exe" ] && [ "`readlink -f "$exe"`" != "$self" ]; then
+ ok="yes"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if [ -n "$ok" ]; then
+ cmd="$exe"
+ else
+ eatmydata_error "unable to find '$cmd' in PATH"
+ fi
+ fi
+
+ # Preload libeatmydata
+ if [ -n "$LD_PRELOAD" ]; then
+ export LD_PRELOAD="$libeatmydata $LD_PRELOAD"
+ else
+ export LD_PRELOAD="$libeatmydata"
+ fi
+ # Execute requested command
+ shift
+ exec "$cmd" "$@"
+}
+
+# Verify environment
+if [ ! -f "$libeatmydata" ]; then
+ eatmydata_error "could not find $name library $libeatmydata"
+fi
+
+usage()
+{
+ echo "usage: $0 [--] command [ command arguments ... ]" >&2
+ exit 2
+}
+
+# Detect operation mode. If this script is run via symlink, look for basename
+# in the PATH and execute it.
+if [ -L "$0" ]; then
+ # Symlink mode. Get command to execute from the basename of $0.
+ cmd="`basename "$0"`"
+ set -- "$cmd" "$@"
+else
+ # Normal mode
+ if [ "$1" = "--" ]; then
+ shift
+ fi
+
+ if [ "$#" -eq 0 ]; then
+ usage
+ fi
+fi
+
+eatmydata_exec "$@"
diff --git a/app-misc/eatmydata/files/eatmydata.1.gz b/app-misc/eatmydata/files/eatmydata.1.gz
new file mode 100644
index 0000000..cbf6e9e
Binary files /dev/null and b/app-misc/eatmydata/files/eatmydata.1.gz differ
diff --git a/app-misc/eatmydata/metadata.xml b/app-misc/eatmydata/metadata.xml
new file mode 100644
index 0000000..ea7bd02
--- /dev/null
+++ b/app-misc/eatmydata/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+</pkgmetadata>
next reply other threads:[~2012-02-29 12:24 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-29 12:24 Marc Schiffbauer [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-12-30 15:13 [gentoo-commits] dev/mschiff:master commit in: app-misc/eatmydata/, app-misc/eatmydata/files/ Marc Schiffbauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1330518270.b5af286fbf9407d4af1723ab588db8b2b5e0fe1e.mschiff@gentoo \
--to=marc@schiffbauer.net \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox