summaryrefslogtreecommitdiff
path: root/sys-fs/e4rat
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/e4rat')
-rw-r--r--sys-fs/e4rat/Manifest11
-rw-r--r--sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild63
-rw-r--r--sys-fs/e4rat/e4rat-0.2.4_pre20141201.ebuild62
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch14
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch74
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch11
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch41
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch13
-rw-r--r--sys-fs/e4rat/metadata.xml11
9 files changed, 300 insertions, 0 deletions
diff --git a/sys-fs/e4rat/Manifest b/sys-fs/e4rat/Manifest
new file mode 100644
index 000000000000..89aaa1c84066
--- /dev/null
+++ b/sys-fs/e4rat/Manifest
@@ -0,0 +1,11 @@
+AUX e4rat-0.2.2-libdir.patch 509 SHA256 7b8427c7380c6a56a9c70a1f2f8794550e46f4a110efd9e4cd476f9079e39157 SHA512 c942b1fe189500c666e0994c3b7563a96b05fe065f0b3c2ff5f99bb3a0b462cc13e5ac6ecc692e10d6eec43f2d83c1f80bed7c3f354cda3f3f0d85d358e85d0f WHIRLPOOL 65d0fc8e1ac179346ff75bd60332c920215d3a9252cdd2044515df106d1fb35ec1d15ddde15a9622e7fdd03d50a90ed7584e2d0ccb5a668fab10a1b274b5b478
+AUX e4rat-0.2.2-shared-build.patch 2560 SHA256 0ece6e10a5a77857bb16a61952c69211318046c435cd7f91c522c0c59c19cbaa SHA512 0cb8acc4c2df6cc92574f46153516dbc0cb91240cccb46e2879d60a515af066688db3c79a5f66cf5da43b5a51a85c9cea22cef52178ebea5aec7c267f67562d0 WHIRLPOOL 67361405f6cf52f1f130054b7ad0669c7e06313c761c71f51549acac63a56762bb0dd57d556c6c6ebbe0e7e9dafb774869bd517defbde54e0546dfb1521a1c12
+AUX e4rat-0.2.4-gcc6.patch 542 SHA256 a827c1eb43b15b36c3365dc0a30d4b57f62aec2983e01f2ec64e70e1853ae8f9 SHA512 9bb843a0359acb843a513f701b71a2b666c550d28708a14cdc6e77c4fc56362a10990cfe3fbed2ff9724dc71bc0be6ec72be4309b6e2383120ca75697f359512 WHIRLPOOL 37a11c575fad734c1f001624bbf1695f64a7f5fa567a5ef93d066a88109e42c87579c7e9f94a7ab6a1e45ecb2239649f2e61b11622db72ceb854535fde2869de
+AUX e4rat-0.2.4-strdup.patch 1427 SHA256 efcf1c27cccec567d99ff24a96dea6eda32d48452c1c861d14e864847361335d SHA512 62d2b4b2b5e8a9b309b920d20fee98057f7e7564cf86e01f8d4cbd3219b47caf7d78ddfe71b01fde46997bb8966e2ce76df4d32ec6ab9a6190a1351bc2faf6cc WHIRLPOOL a5a6383093a8402d1334d88f769c32529bd95860562770c23060a357fbd7e346cc4ca1d0cd48e6ec91dd0616eca5ce60a9c165e4a14df3c3abf8a3efef0db777
+AUX e4rat-0.2.4-sysmacros.patch 288 SHA256 419662b3f45c68a739172ecd5fac6bb4ecaad1be0558c1fd9f0a4e02aec5f902 SHA512 50883828bf95368c31c620fac46728c6bfaf768a794158b30614cb2c0b7a65ee82e8bcf12268a26de93e87fb6b0466bc93e29a7dd69895234693745e24a6da59 WHIRLPOOL d48091b55b42a9aeef2ebcdc9181556fe5bb3dc32c5ea34e5fd082ac2ccff13028246f045b820d194fb9a51df92fcfa7bc7c7586e2cec32c0b919ba463bc0f84
+DIST e4rat-0.2.4_pre20141201.tar.xz 60408 SHA256 757d9d76b395a8b5092205bf623ba73860546f5f13efdf6b6347217b4ebe9e4b SHA512 61a53f6ac420392df5894d3f76de28c5d2e33fd3a6548cf8c9de52818bf937ba8bf8629db1b89103faa73b660548d7e467e17d7f2794a4100ca07971ded0cfb9 WHIRLPOOL 6c33956a6a601fd05d89325a2d2fa96ddf00c7e8130ac599c39e59e1ee3d3c21fc5ce712421969d96e96cfadd91fdbe6acc24d31d7acf413632fb49a575edeae
+EBUILD e4rat-0.2.4_pre20141201-r1.ebuild 1612 SHA256 ea9d49e9d0881b3674f2a4d824eca3dfcc0f766cb8de31901e4a47386dedfc29 SHA512 889c80b66c54fc1377c4ccc66608093fc09e0e389acf56b0ad9fa69c2cf1c8d8fafc39a612cb76530fb67087698b3c3543fcd40fe9b3420677ed5fd85dc5e793 WHIRLPOOL 63cea8a820a5372a1b33cdb3d608cc63c1852e15ea446d8043c3df6cbb996126681bff601a1f187c254786f756eeadacbc0d206168a5efb9dd86a6f8b2d03abe
+EBUILD e4rat-0.2.4_pre20141201.ebuild 1570 SHA256 4adefc8498e6f62c15a4de30fc170a9a0f1b5d4336b8400e2aabdc2fa23269b7 SHA512 9f8fcdeea6541af1f20487920fdb3d11e3ab2dbda7a8b7ecf284492a48338e264616a475442ce765c937c7f2d44b2b2f277d0a8fc73021f7fa7391fa7e92c21e WHIRLPOOL 77c4158c6feb8a1c554a7601668db35b2a77b34162df2a540f3ebb93c411ae0bd6e68c00e06b7cd1cb22b50cb9fd2342b0fe8f1d889772e8224c780e0606c70e
+MISC ChangeLog 3598 SHA256 dd8b8b86040a27f2621d92b12bb95b0d36beb0d6338e985a1e864aee67911297 SHA512 b5058ad7d8e8da10c5fd0aed02b72a6cd6034a62ca0388145f5c510ca2f998f5cb33892492e74368fd9d03328f16655feb9eb28b5fc01fdff528a18e0e4c2360 WHIRLPOOL d9ac3ce627f74d2cd8a80118f3eb842c7477816c2076505637b4a5c2f3a0b4ec41c9dd8c3e7f1e2b64754e23157fc9755cbe2ebb3dbba9c59836b79ad2abbac5
+MISC ChangeLog-2015 3138 SHA256 0b6ade99e2cf02df427bf4a5923e107a9f6b6e5f63bed3000a5402b6736e49fb SHA512 0fe4d5d025ea8cc9ef55b752f2445269e42ad036d47680d0ac24c9b90f86b75531dba0fe7affa1dbf7e4222bf3a1aea565ec7e09204111d745e037a5cc390057 WHIRLPOOL b337ca37dd11338cadf0440a6d406dfd48c138dd168fdcf5f57a19749fe140e56fa3e0635138a304b0f6dbaaf92f81dd898b8eb0932f8445c0a743aeede60515
+MISC metadata.xml 325 SHA256 b1cc5029a51cd30866c47c99ced2f8260966451265ed2be2c2bef79bda0b0a75 SHA512 3630260f53b5922cd23604a77495370f77cef226d9ca2ba42b31f3ed342f53f9f00c5c4a22eb2f9041dde577f612f8ba2ea9af1a649d105f52c1d15b41a0d516 WHIRLPOOL 4ff34e857165daaab51e379ce733bc0d7b3f2be28d38f181a91206ae24d41d1648f5e5d22aecb121a72b9632a8772c70139d9ae1e49410dbc61796c6d262bf77
diff --git a/sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild b/sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild
new file mode 100644
index 000000000000..b7a6e6d7662a
--- /dev/null
+++ b/sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils linux-info readme.gentoo-r1
+
+DESCRIPTION="Toolset to accelerate the boot process and application startup"
+HOMEPAGE="http://e4rat.sourceforge.net/"
+#SRC_URI="mirror://sourceforge/${PN}/${P/-/_}_src.tar.gz"
+SRC_URI="https://dev.gentoo.org/~pacho/${PN}/${PN}-0.2.4_pre20141201.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-lang/perl:=
+ >=dev-libs/boost-1.42:=
+ sys-fs/e2fsprogs
+ sys-process/audit[static-libs(+)]
+ sys-process/lsof
+"
+DEPEND="${DEPEND}"
+
+CONFIG_CHECK="~AUDITSYSCALL"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.2.2-shared-build.patch
+ "${FILESDIR}"/${PN}-0.2.2-libdir.patch
+ "${FILESDIR}"/${PN}-0.2.4-sysmacros.patch #580534
+ "${FILESDIR}"/${PN}-0.2.4-gcc6.patch #594046
+ "${FILESDIR}"/${PN}-0.2.4-strdup.patch
+)
+
+pkg_setup() {
+ check_extra_config
+ DOC_CONTENTS="
+ To launch systemd from e4rat you simply need to edit /etc/e4rat.conf
+ and set:\n
+ ; path to init process binary (DEFAULT: /sbin/init)\n
+ init /usr/lib/systemd/systemd"
+}
+
+src_install() {
+ cmake-utils_src_install
+ # relocate binaries to /sbin. If someone knows of a better way to do it
+ # please do tell me
+ dodir sbin
+ find "${D}"/usr/sbin -type f -exec mv {} "${D}"/sbin/. \; \
+ || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ if has_version sys-apps/preload; then
+ elog "It appears you have sys-apps/preload installed. This may"
+ elog "has negative effects on ${PN}. You may want to disable preload"
+ elog "when using ${PN}."
+ fi
+}
diff --git a/sys-fs/e4rat/e4rat-0.2.4_pre20141201.ebuild b/sys-fs/e4rat/e4rat-0.2.4_pre20141201.ebuild
new file mode 100644
index 000000000000..35b98532f0ad
--- /dev/null
+++ b/sys-fs/e4rat/e4rat-0.2.4_pre20141201.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils linux-info readme.gentoo-r1
+
+DESCRIPTION="Toolset to accelerate the boot process and application startup"
+HOMEPAGE="http://e4rat.sourceforge.net/"
+#SRC_URI="mirror://sourceforge/${PN}/${P/-/_}_src.tar.gz"
+SRC_URI="https://dev.gentoo.org/~pacho/${PN}/${PN}-0.2.4_pre20141201.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ dev-lang/perl:=
+ >=dev-libs/boost-1.42:=
+ sys-fs/e2fsprogs
+ sys-process/audit[static-libs(+)]
+ sys-process/lsof
+"
+DEPEND="${DEPEND}"
+
+CONFIG_CHECK="~AUDITSYSCALL"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.2.2-shared-build.patch
+ "${FILESDIR}"/${PN}-0.2.2-libdir.patch
+ "${FILESDIR}"/${PN}-0.2.4-sysmacros.patch #580534
+ "${FILESDIR}"/${PN}-0.2.4-gcc6.patch #594046
+)
+
+pkg_setup() {
+ check_extra_config
+ DOC_CONTENTS="
+ To launch systemd from e4rat you simply need to edit /etc/e4rat.conf
+ and set:\n
+ ; path to init process binary (DEFAULT: /sbin/init)\n
+ init /usr/lib/systemd/systemd"
+}
+
+src_install() {
+ cmake-utils_src_install
+ # relocate binaries to /sbin. If someone knows of a better way to do it
+ # please do tell me
+ dodir sbin
+ find "${D}"/usr/sbin -type f -exec mv {} "${D}"/sbin/. \; \
+ || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ if has_version sys-apps/preload; then
+ elog "It appears you have sys-apps/preload installed. This may"
+ elog "has negative effects on ${PN}. You may want to disable preload"
+ elog "when using ${PN}."
+ fi
+}
diff --git a/sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch b/sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch
new file mode 100644
index 000000000000..eaa2695d7872
--- /dev/null
+++ b/sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch
@@ -0,0 +1,14 @@
+Index: e4rat-0.2.2/src/CMakeLists.txt
+===================================================================
+--- e4rat-0.2.2.orig/src/CMakeLists.txt
++++ e4rat-0.2.2/src/CMakeLists.txt
+@@ -170,8 +170,7 @@ endif(NOT BUILD_CORE_LIBRARY_STATIC)
+
+ INSTALL(TARGETS ${${PROJECT_NAME}_TARGETS}
+ RUNTIME DESTINATION "sbin"
+- LIBRARY DESTINATION "lib"
+- ARCHIVE DESTINATION "lib"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ )
+
+ INSTALL(DIRECTORY DESTINATION "/var/lib/${PROJECT_NAME}")
diff --git a/sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch b/sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch
new file mode 100644
index 000000000000..636eb52fb612
--- /dev/null
+++ b/sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch
@@ -0,0 +1,74 @@
+Index: e4rat-0.2.2/CMakeLists.txt
+===================================================================
+--- e4rat-0.2.2.orig/CMakeLists.txt
++++ e4rat-0.2.2/CMakeLists.txt
+@@ -14,7 +14,6 @@ IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_D
+ set(CMAKE_INSTALL_PREFIX "/" CACHE PATH "e4rat install prefix" FORCE)
+ ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+
+-set(Boost_USE_STATIC_LIBS ON)
+ set(Boost_USE_MULTITHREADED OFF)
+ add_definitions(-DBOOST_FILESYSTEM_VERSION=2)
+ find_package(Boost 1.41 COMPONENTS system filesystem regex REQUIRED)
+Index: e4rat-0.2.2/src/CMakeLists.txt
+===================================================================
+--- e4rat-0.2.2.orig/src/CMakeLists.txt
++++ e4rat-0.2.2/src/CMakeLists.txt
+@@ -131,21 +131,12 @@ IF(CMAKE_BUILD_TYPE STREQUAL "debug")
+ )
+ ENDIF(CMAKE_BUILD_TYPE STREQUAL "debug")
+
+-# On 64 bit architecture you cannot link a static to a shared library
+-# Therefore -static-libstdc++ will fail.
+-if(BUILD_CORE_LIBRARY_STATIC)
+- add_library(${PROJECT_NAME}-core STATIC
+- ${${PROJECT_NAME}-core_SRC}
+- )
+-else(BUILD_CORE_LIBRARY_STATIC)
+- add_library(${PROJECT_NAME}-core SHARED
+- ${${PROJECT_NAME}-core_SRC}
+- )
+- set_target_properties(${PROJECT_NAME}-core PROPERTIES
+- SOVERSION 0
+- LINK_FLAGS "-static-libgcc -static-libstdc++"
+- )
+-endif(BUILD_CORE_LIBRARY_STATIC)
++add_library(${PROJECT_NAME}-core SHARED
++ ${${PROJECT_NAME}-core_SRC}
++)
++set_target_properties(${PROJECT_NAME}-core PROPERTIES
++ SOVERSION 0
++)
+
+ target_link_libraries(${PROJECT_NAME}-core
+ ${${PROJECT_NAME}_LIBRARIES}
+@@ -158,15 +149,13 @@ foreach( EXE ${PROJECT_NAME}-collect
+ TARGET_LINK_LIBRARIES(${EXE}
+ ${PROJECT_NAME}-core
+ )
+- set_target_properties(${EXE} PROPERTIES
+- LINK_FLAGS "-static-libgcc -static-libstdc++"
+- )
+ endforeach( EXE )
+
+ ###
+ # install project targets
+ ###
+ set(${PROJECT_NAME}_TARGETS
++ ${PROJECT_NAME}-core
+ ${PROJECT_NAME}-collect
+ ${PROJECT_NAME}-preload
+ ${PROJECT_NAME}-realloc
+Index: e4rat-0.2.2/src/cmake/Findaudit.cmake
+===================================================================
+--- e4rat-0.2.2.orig/src/cmake/Findaudit.cmake
++++ e4rat-0.2.2/src/cmake/Findaudit.cmake
+@@ -1,7 +1,7 @@
+ FIND_PATH(AUDIT_INCLUDE_DIR libaudit.h /usr/include
+ /usr/local/include)
+
+-FIND_LIBRARY(AUDIT_LIBRARY NAMES libaudit.a PATH /usr/lib /usr/local/lib)
++FIND_LIBRARY(AUDIT_LIBRARY NAMES audit PATH /usr/lib /usr/local/lib)
+
+ IF (AUDIT_INCLUDE_DIR AND AUDIT_LIBRARY)
+ SET(AUDIT_FOUND TRUE)
diff --git a/sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch b/sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch
new file mode 100644
index 000000000000..cdf14e5c92eb
--- /dev/null
+++ b/sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch
@@ -0,0 +1,11 @@
+--- e4rat-0.2.4_pre20141201/src/logging.hh.old 2016-09-21 22:01:37.631925077 -0400
++++ e4rat-0.2.4_pre20141201/src/logging.hh 2016-09-21 22:01:44.351086734 -0400
+@@ -93,7 +93,7 @@
+ #define dump_log(...) logger.write(__VA_ARGS__)
+
+ #ifdef DEBUG_ENABLED
+- #define debug(format,args...) dump_log(Debug, "%s:%d in %s(): "format, __FILE__, __LINE__, __FUNCTION__, ## args)
++ #define debug(format,args...) dump_log(Debug, "%s:%d in %s(): " format, __FILE__, __LINE__, __FUNCTION__, ## args)
+ #else
+ #define debug(format,args...)
+ #endif
diff --git a/sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch b/sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch
new file mode 100644
index 000000000000..c3a9cd0e8ca0
--- /dev/null
+++ b/sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch
@@ -0,0 +1,41 @@
+--- e4rat-0.2.4_pre20141201/src/e4rat-collect.cc.orig 2014-11-24 12:12:12.000000000 +0300
++++ e4rat-0.2.4_pre20141201/src/e4rat-collect.cc 2017-02-12 02:16:25.151757182 +0300
+@@ -32,6 +32,7 @@
+ #include <fcntl.h>
+ #include <fstream>
+ #include <signal.h>
++#include <cstring>
+
+ /* EXT2_SUPER_MAGIC */
+ #include <ext2fs/ext2_fs.h>
+@@ -361,7 +362,9 @@
+ {
+ create_pid_late = true;
+
+- outPath = Config::get<std::string>("startup_log_file").c_str();
++ // It is unsafe to use Config::get<T>(arg)c_str() pointer
++ // directly, since it may be overwritten by later get calls.
++ outPath = strdup(Config::get<std::string>("startup_log_file").c_str());
+ verbose = 0;
+ }
+ else
+--- e4rat-0.2.4_pre20141201/src/e4rat-preload.cc.orig 2014-11-24 12:12:12.000000000 +0300
++++ e4rat-0.2.4_pre20141201/src/e4rat-preload.cc 2017-02-12 02:16:38.425552630 +0300
+@@ -25,6 +25,7 @@
+
+ #include <iostream>
+ #include <fstream>
++#include <cstring>
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -227,7 +228,8 @@
+ try {
+ if(getpid() == 1)
+ {
+- const char* logfile = Config::get<std::string>("startup_log_file").c_str();
++ // pointer may change, string must be copied
++ const char* logfile = strdup(Config::get<std::string>("startup_log_file").c_str());
+ notice("Open %s ... ", logfile);
+ FILE* infile = fopen(logfile, "r");
+ if(!infile)
diff --git a/sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch b/sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch
new file mode 100644
index 000000000000..5cdcf3f05ae5
--- /dev/null
+++ b/sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch
@@ -0,0 +1,13 @@
+https://sourceforge.net/p/e4rat/tickets/5/
+https://bugs.gentoo.org/580534
+
+--- a/src/common.hh
++++ b/src/common.hh
+@@ -20,6 +20,7 @@
+ #ifndef COMMON_HH
+ #define COMMON_HH
+
++#include <sys/sysmacros.h>
+ #include <linux/types.h>
+ #include <boost/filesystem.hpp>
+ #include <boost/regex.hpp>
diff --git a/sys-fs/e4rat/metadata.xml b/sys-fs/e4rat/metadata.xml
new file mode 100644
index 000000000000..141e2b6b51e6
--- /dev/null
+++ b/sys-fs/e4rat/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">e4rat</remote-id>
+ </upstream>
+</pkgmetadata>