From 1d05e3aa30e890a46d5febbde00548a20031fae5 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 22 Mar 2010 23:54:41 +0000 Subject: pseudo: Add recipe Signed-off-by: Richard Purdie --- .../conf/distro/include/poky-default-revisions.inc | 2 + meta/packages/pseudo/pseudo/tweakflags.patch | 79 ++++++++++++++++++++++ meta/packages/pseudo/pseudo_git.bb | 24 +++++++ 3 files changed, 105 insertions(+) create mode 100644 meta/packages/pseudo/pseudo/tweakflags.patch create mode 100644 meta/packages/pseudo/pseudo_git.bb diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc index f4912ffd7..abaa94b69 100644 --- a/meta/conf/distro/include/poky-default-revisions.inc +++ b/meta/conf/distro/include/poky-default-revisions.inc @@ -102,6 +102,8 @@ SRCREV_pn-osc-native ?= "9096" SRCREV_pn-owl-video = "394" SRCREV_pn-pkgconfig ?= "66d49f1375fec838bcd301bb4ca2ef76cee0e47c" SRCREV_pn-psplash ?= "422" +SRCREV_pn-pseudo ?= "086e65c90420b3d38f30c3cd81a0f8573f6f69cf" +SRCREV_pn-pseudo-native ?= "086e65c90420b3d38f30c3cd81a0f8573f6f69cf" QEMUSRCREV = "9eab386edbf8cf002a731f8204a156f243a47a57" SRCREV_pn-qemu-native ?= "${QEMUSRCREV}" SRCREV_pn-qemu-nativesdk ?= "${QEMUSRCREV}" diff --git a/meta/packages/pseudo/pseudo/tweakflags.patch b/meta/packages/pseudo/pseudo/tweakflags.patch new file mode 100644 index 000000000..fb31e05a1 --- /dev/null +++ b/meta/packages/pseudo/pseudo/tweakflags.patch @@ -0,0 +1,79 @@ +CFLAGS is overridden from the environment by Poky. We need boths sets of +flags so we adjust the Makefile accordingly. + +Also the default target is "test" which runs install which we don't want +until "make install" time when DESTDIR is set. Change the first target +to "all" for this reason. + +RP 18/3/10 + +Index: git/Makefile.in +=================================================================== +--- git.orig/Makefile.in 2010-03-17 16:05:17.000000000 +0000 ++++ git/Makefile.in 2010-03-18 18:49:37.000000000 +0000 +@@ -34,7 +34,7 @@ + CFLAGS_DEFS=-DPSEUDO_PREFIX='"$(PREFIX)"' -DPSEUDO_SUFFIX='"$(SUFFIX)"' -DPSEUDO_VERSION='"$(VERSION)"' + CFLAGS_DEBUG=-O2 -g + CFLAGS_SQL=-L$(SQLITE)/lib -I$(SQLITE)/include +-CFLAGS=$(CFLAGS_BASE) $(CFLAGS_CODE) $(CFLAGS_DEFS) \ ++EXTRA_CFLAGS=$(CFLAGS_BASE) $(CFLAGS_CODE) $(CFLAGS_DEFS) \ + $(CFLAGS_DEBUG) $(CFLAGS_SQL) + + GLOB_PATTERN=guts/*.c +@@ -47,11 +47,11 @@ + DBOBJS=pseudo_db.o -ldl -lpthread + WRAPOBJS=pseudo_wrappers.o + ++all: libpseudo.so pseudo pseudodb pseudolog ++ + test: install + @echo "No tests yet." + +-all: libpseudo.so pseudo pseudodb pseudolog +- + install-lib: libpseudo.so + mkdir -p $(DESTDIR)$(LIBDIR) + cp libpseudo*.so $(DESTDIR)$(LIBDIR) +@@ -66,26 +66,29 @@ + install: all install-lib install-bin install-data + + pseudo: pseudo.o $(SHOBJS) $(DBOBJS) pseudo_server.o pseudo_ipc.o +- $(CC) $(CFLAGS) -o pseudo \ ++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o pseudo \ + pseudo.o pseudo_server.o pseudo_client.o pseudo_ipc.o \ + $(DBOBJS) $(SHOBJS) $(DBLDFLAGS) + + pseudolog: pseudolog.o $(SHOBJS) $(DBOBJS) +- $(CC) $(CFLAGS) -o pseudolog pseudolog.o \ ++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o pseudolog pseudolog.o \ + $(DBOBJS) $(SHOBJS) $(DBLDFLAGS) + + pseudodb: pseudodb.o $(SHOBJS) $(DBOBJS) pseudo_ipc.o +- $(CC) $(CFLAGS) -o pseudodb pseudodb.o \ ++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o pseudodb pseudodb.o \ + $(DBOBJS) $(SHOBJS) $(DBLDFLAGS) pseudo_ipc.o + + libpseudo.so: $(WRAPOBJS) pseudo_client.o pseudo_ipc.o $(SHOBJS) +- $(CC) $(CFLAGS) -shared -o libpseudo.so \ ++ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -shared -o libpseudo.so \ + pseudo_client.o pseudo_ipc.o \ + $(WRAPOBJS) $(SHOBJS) -ldl + if test -n "$(SUFFIX)"; then \ + cp libpseudo.so libpseudo$(SUFFIX).so ; \ + fi + ++%.o: %.c ++ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) $< ++ + pseudo_client.o pseudo_server.o pseudo_ipc.o: pseudo_ipc.h + + pseudo_client.o: pseudo_client.h +@@ -103,7 +106,7 @@ + + # no-strict-aliasing is needed for the function pointer trickery. + pseudo_wrappers.o: pseudo_wrappers.c +- $(CC) -fno-strict-aliasing $(CFLAGS) -D_GNU_SOURCE -c -o pseudo_wrappers.o pseudo_wrappers.c ++ $(CC) -fno-strict-aliasing $(CFLAGS) $(EXTRA_CFLAGS) -D_GNU_SOURCE -c -o pseudo_wrappers.o pseudo_wrappers.c + + offsets32: + $(CC) -m32 -o offsets32 offsets.c diff --git a/meta/packages/pseudo/pseudo_git.bb b/meta/packages/pseudo/pseudo_git.bb new file mode 100644 index 000000000..0512a955d --- /dev/null +++ b/meta/packages/pseudo/pseudo_git.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Pseudo gives fake root capabilities to a normal user" +SECTION = "base" +LICENSE = "LGPL2.1" +DEPENDS = "sqlite3" + +PV = "0.0+git${SRCPV}" +PR = "r2" + +SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git \ + file://tweakflags.patch;patch=1" + +S = "${WORKDIR}/git" + +inherit siteinfo + +do_configure () { + ${S}/configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} +} + +NATIVE_INSTALL_WORKS = "1" + +BBCLASSEXTEND = "native" + + -- cgit v1.2.3