Package Details: e4rat-lite-git 2.7.r87.0881c2e-4

Git Clone URL: https://aur.archlinux.org/e4rat-lite-git.git (read-only)
Package Base: e4rat-lite-git
Description: An improved version of e4rat, a toolset to accelerate the boot process and application startups.
Upstream URL: https://github.com/ShyPixie/e4rat-lite
Licenses: GPL3
Conflicts: e4rat-lite, e4rat-preload-lite, e4rat-preload-lite-git, ureadahead
Submitter: cubethethird
Maintainer: cubethethird
Last Packager: cubethethird
Votes: 5
Popularity: 0.007776
First Submitted: 2016-07-28 01:59
Last Updated: 2017-02-12 19:41

Dependencies (9)

Required by (0)

Sources (3)

Pinned Comments

cubethethird commented on 2016-09-13 01:51

This package provides some improvements over the original e4rat package, and circumvents some usability issues.
To use the tools included with the package, follow the instructions upstream:
https://github.com/ShyPixie/e4rat-lite#how-to-use

Note that in order to use the audit tools, a kernel build with auditing support enabled is required.

Latest Comments

happycoder97 commented on 2018-09-20 14:37

Here's a working patch:

diff -Naur -b '--to-file=e4rat-lite-patched/src/' -x '*.o' -x '*.tu' e4rat-lite/src/device.cc e4rat-lite-patched/src/device.cc
--- e4rat-lite/src/device.cc    2018-09-20 19:40:39.823493172 +0530
+++ e4rat-lite-patched/src/device.cc    2018-09-20 19:54:10.323375842 +0530
@@ -32,6 +32,8 @@

 #include <boost/lexical_cast.hpp>

+#include <sys/sysmacros.h>
+
 #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
 #define BLOCKS_PER_FLEX(fs)       (BLOCKS_PER_GROUP(fs) << fs->super->s_log_groups_per_flex)
 #define FREE_BLOCKS_PER_GROUP(fs) ( BLOCKS_PER_GROUP(fs)        \

diff -Naur -b '--to-file=e4rat-lite-patched/src/' -x '*.o' -x '*.tu' e4rat-lite/src/e4rat-collect.cc e4rat-lite-patched/src/e4rat-collect.cc
--- e4rat-lite/src/e4rat-collect.cc 2018-09-20 19:40:39.823493172 +0530
+++ e4rat-lite-patched/src/e4rat-collect.cc 2018-09-20 19:59:25.503867639 +0530
@@ -48,6 +48,8 @@

 #include <boost/foreach.hpp>

+#include <sys/sysmacros.h>
+
 #define PID_FILE "/dev/.e4rat-lite-collect.pid"
 #define MATCH(s, n) strcmp(section, s) == 0 && strcmp(name, n) == 0

diff -Naur -b '--to-file=e4rat-lite-patched/src/' -x '*.o' -x '*.tu' e4rat-lite/src/listener.cc e4rat-lite-patched/src/listener.cc
--- e4rat-lite/src/listener.cc  2018-09-20 19:40:39.826826547 +0530
+++ e4rat-lite-patched/src/listener.cc  2018-09-20 20:04:09.833981860 +0530
@@ -43,6 +43,8 @@

 #include <fstream>

+#include <sys/sysmacros.h>
+
 std::string getProcessName(pid_t pid)
 {
     std::string comm;

Add this at the end of prepare() function in PKGBUILD:

    cd "$srcdir"/$_gitname
    patch -p1 < ../sysmacros_h.patch

happycoder97 commented on 2018-09-20 14:18

Build fails with the following error:

Scanning dependencies of target e4rat-lite-core  
[  5%] Building C object src/CMakeFiles/e4rat-lite-core.dir/config.c.o  
[ 11%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir  /logging.cc.o  
[ 16%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/common.cc.o  
[ 22%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/fiemap.cc.o  
[ 27%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/device.cc.o  
/tmp/yaourt-tmp-farzeen/aur-e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘int Device::getDevNameFromMajorMinor()’:    
/tmp/yaourt-tmp-farzeen/aur-e4rat-lite-git/src/e4rat-lite/src/device.cc:219:35: error: ‘major’ cannot be used as a function  
     int major = major(get()->devno);  
                                   ^  
/tmp/yaourt-tmp-farzeen/aur-e4rat-lite-git/src/e4rat-lite/src/device.cc:220:35: error: ‘minor’ cannot be used as a function  
     int minor = minor(get()->devno);  
                                   ^  
make[2]: *** [src/CMakeFiles/e4rat-lite-core.dir/build.make:115: src/CMakeFiles/e4rat-lite-core.dir/device.cc.o] Error 1  
make[1]: *** [CMakeFiles/Makefile2:166: src/CMakeFiles/e4rat-lite-core.dir/all] Error 2  
make: *** [Makefile:130: all] Error 2  

An older build log found by googling gave warnings about the definition of major and minor being moved into <sys/sysmacros.h> in future versions of GNU C library. http://people.slitaz.org/~az_ua/m/log-next/e4rat.log

cubethethird commented on 2017-02-12 19:45

Unfortunately I can't add linux-zen as a dependency, as that would require all users to install it. Instead, I removed the existing linux dependency. I'm surprised the linux-zen package does not provide linux, as many of the other kernel packages do. Considering the required linux kernel version is fairly old at this point, I don't expect it will cause any issues to remove this requirement.

I don't know if linux-zen is built with auditing support, but if not, you will need to use (or build) a kernel with it enabled to use the e4rat-lite-collect procedure with success. Once that is done the auditing is not required.

ltorvalds024 commented on 2017-02-12 09:39

Please include `linux-zen` as dependency. I don't use `linux`, I use `linux-zen`

cubethethird commented on 2016-09-13 01:51

This package provides some improvements over the original e4rat package, and circumvents some usability issues.
To use the tools included with the package, follow the instructions upstream:
https://github.com/ShyPixie/e4rat-lite#how-to-use

Note that in order to use the audit tools, a kernel build with auditing support enabled is required.

cubethethird commented on 2016-09-13 01:47

A recent update (most likely to boost) may lead to kernel panics when booting, if e4rat-lite was built before the update. Re-building the package corrects the issue.