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

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.000005
First Submitted: 2016-07-28 01:59
Last Updated: 2018-11-17 04:57

Dependencies (9)

Required by (0)

Sources (4)

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

cubethethird commented on 2019-08-05 03:03

@johnywhy, rebuilding audit is not required for this package. Also, now that auditing support is natively enabled on the base kernel, you don't need to build that either.

johnywhy commented on 2019-08-04 16:29

This article says "you must first rebuild audit", to use the original e4rat. https://wiki.archlinux.org/index.php/E4rat

Is the same true of e4rat-lite?

thx

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.