mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
sreadahead: Initial commit
Super readahead is an improved readahead tool.
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ -e /etc/readahead.packed ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e /etc/readahead.packed.first ]; then
|
||||||
|
mv /etc/readahead.packed.first /etc/readahead.packed.second
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# That's our second boot, we can generate the sreadahead file list
|
||||||
|
if [ -e /etc/readahead.packed.second ]; then
|
||||||
|
rm -f /etc/readahead.packed.second
|
||||||
|
find / -type f > filelist.txt
|
||||||
|
|
||||||
|
/sbin/generate_filelist filelist.txt
|
||||||
|
rm filelist.txt
|
||||||
|
mv readahead.packed /etc/
|
||||||
|
fi
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Start sreadahead, of the config file exists
|
||||||
|
|
||||||
|
if [ -e /etc/readahead.packed ]; then
|
||||||
|
/sbin/sreadahead
|
||||||
|
fi
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
readahead.c | 7 +++++--
|
||||||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: sreadahead-0.02/readahead.c
|
||||||
|
===================================================================
|
||||||
|
--- sreadahead-0.02.orig/readahead.c 2008-09-23 22:35:20.000000000 +0200
|
||||||
|
+++ sreadahead-0.02/readahead.c 2008-10-27 16:27:52.000000000 +0100
|
||||||
|
@@ -69,7 +69,11 @@ void *one_thread(void *ptr)
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
FILE *file = fopen("/etc/readahead.packed", "r");
|
||||||
|
-
|
||||||
|
+ if (!file) {
|
||||||
|
+ perror("Couldnt open /etc/readahead.packed");
|
||||||
|
+ return -errno;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
daemon(0,0);
|
||||||
|
|
||||||
|
total_files = fread(&files, sizeof(struct readahead), MAXR, file);
|
||||||
|
@@ -81,7 +85,6 @@ int main(int argc, char **argv)
|
||||||
|
pthread_create(&three, NULL, one_thread, NULL);
|
||||||
|
pthread_create(&four, NULL, one_thread, NULL);
|
||||||
|
|
||||||
|
- printf("Waiting\n");
|
||||||
|
pthread_join(one, NULL);
|
||||||
|
pthread_join(two, NULL);
|
||||||
|
pthread_join(three, NULL);
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
diff -Nrup sreadahead-0.02.orig/Makefile sreadahead-0.02/Makefile
|
||||||
|
--- sreadahead-0.02.orig/Makefile 2008-09-23 22:36:24.000000000 +0200
|
||||||
|
+++ sreadahead-0.02/Makefile 2008-09-26 07:43:19.000000000 +0200
|
||||||
|
@@ -1,11 +1,18 @@
|
||||||
|
-all: generate_filelist sreadahead
|
||||||
|
+CFLAGS=-Os -g -Wall
|
||||||
|
+PROGS=generate_filelist sreadahead
|
||||||
|
+
|
||||||
|
+all: $(PROGS)
|
||||||
|
|
||||||
|
|
||||||
|
generate_filelist: readahead.h filelist.c Makefile
|
||||||
|
- gcc -Os -g -Wall -W filelist.c -o generate_filelist
|
||||||
|
+ $(CC) $(CFLAGS) -W filelist.c -o generate_filelist
|
||||||
|
|
||||||
|
sreadahead: readahead.h readahead.c Makefile
|
||||||
|
- gcc -Os -g -Wall -lpthread -W readahead.c -o sreadahead
|
||||||
|
+ $(CC) $(CFLAGS) -lpthread -W readahead.c -o sreadahead
|
||||||
|
|
||||||
|
clean:
|
||||||
|
- rm -f *~ sreadahead generate_filelist
|
||||||
|
\ No newline at end of file
|
||||||
|
+ rm -f *~ sreadahead generate_filelist
|
||||||
|
+
|
||||||
|
+install: all
|
||||||
|
+ mkdir -p $(DESTDIR)/sbin
|
||||||
|
+ install -p -m 755 $(PROGS) $(DESTDIR)/sbin
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
DESCRIPTION = "Super readahead, part of the fastboot tool set."
|
||||||
|
SECTION = "base"
|
||||||
|
HOMEPAGE = "http://www.moblin.org"
|
||||||
|
LICENSE = "GPLv2"
|
||||||
|
PR = "r12"
|
||||||
|
|
||||||
|
inherit update-rc.d
|
||||||
|
|
||||||
|
SRC_URI = "http://www.moblin.org/sites/all/files/sreadahead-${PV}.tar.gz \
|
||||||
|
file://sreadahead-0.02-make.patch;patch=1 \
|
||||||
|
file://readahead_c.patch;patch=1 \
|
||||||
|
file://sreadahead-generate.sh \
|
||||||
|
file://sreadahead.sh"
|
||||||
|
|
||||||
|
CFLAGS_prepend = "-I ${S}/include "
|
||||||
|
|
||||||
|
PACKAGES += "${PN}-generate"
|
||||||
|
FILES_${PN} = "${base_sbindir}/sreadahead ${sysconfdir}/init.d/sreadahead.sh"
|
||||||
|
FILES_${PN}-generate = "${base_sbindir}/generate_filelist ${sysconfdir}/init.d/sreadahead-generate.sh"
|
||||||
|
|
||||||
|
INITSCRIPT_PACKAGES = "${PN} ${PN}-generate"
|
||||||
|
INITSCRIPT_NAME = "sreadahead.sh"
|
||||||
|
INITSCRIPT_NAME_${PN}-generate = "sreadahead-generate.sh"
|
||||||
|
INITSCRIPT_PARAMS = "start 00 S ."
|
||||||
|
INITSCRIPT_PARAMS_${PN}-generate = "defaults 99"
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
oe_runmake install DESTDIR=${D}
|
||||||
|
install -d ${D}${sysconfdir}/init.d
|
||||||
|
install -m 755 ${WORKDIR}/sreadahead.sh ${D}${sysconfdir}/init.d/
|
||||||
|
install -m 755 ${WORKDIR}/sreadahead-generate.sh ${D}${sysconfdir}/init.d/
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst_${PN}-generate () {
|
||||||
|
# can't do this offline
|
||||||
|
if [ "x$D" != "x" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
touch /etc/readahead.packed.first
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user