diff --git a/meta-oe/recipes-core/udev/udev/0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch b/meta-oe/recipes-core/udev/udev/0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch new file mode 100644 index 0000000000..baf5acdee1 --- /dev/null +++ b/meta-oe/recipes-core/udev/udev/0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch @@ -0,0 +1,45 @@ +From 85dcc3a22951d3586b05e3305d735f33b84ee3e5 Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Mon, 16 May 2011 14:11:01 +0200 +Subject: [PATCH] rip put doc generation, it depends on a working doctools setup + +Signed-off-by: Koen Kooi +--- + Makefile.am | 21 +-------------------- + 1 files changed, 1 insertions(+), 20 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 651a154..69eb9d9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -174,26 +174,7 @@ udev_udevadm_LDADD = libudev/libudev-private.la + # ------------------------------------------------------------------------------ + # udev man pages + # ------------------------------------------------------------------------------ +-dist_man_MANS = \ +- udev/udev.7 \ +- udev/udevadm.8 \ +- udev/udevd.8 +- +-dist_noinst_DATA = \ +- udev/udev.html \ +- udev/udevadm.html \ +- udev/udevd.html +- +-EXTRA_DIST += \ +- udev/udev.xml \ +- udev/udevadm.xml \ +- udev/udevd.xml +- +-udev/%.7 udev/%.8 : udev/%.xml +- $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< +- +-udev/%.html : udev/%.xml +- $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< ++dist_man_MANS = + + # ------------------------------------------------------------------------------ + # udev tests +-- +1.6.6.1 + diff --git a/meta-oe/recipes-core/udev/udev/gtk-doc.make b/meta-oe/recipes-core/udev/udev/gtk-doc.make new file mode 100644 index 0000000000..57fab98686 --- /dev/null +++ b/meta-oe/recipes-core/udev/udev/gtk-doc.make @@ -0,0 +1,230 @@ +# -*- mode: makefile -*- + +#################################### +# Everything below here is generic # +#################################### + +if GTK_DOC_USE_LIBTOOL +GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +GTKDOC_RUN = $(LIBTOOL) --mode=execute +else +GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +GTKDOC_RUN = +endif + +# We set GPATH here; this gives us semantics for GNU make +# which are more like other make's VPATH, when it comes to +# whether a source that is a target of one rule is then +# searched for in VPATH/GPATH. +# +GPATH = $(srcdir) + +TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) + +EXTRA_DIST = \ + $(content_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ + $(DOC_MODULE)-sections.txt \ + $(DOC_MODULE)-overrides.txt + +DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ + pdf-build.stamp \ + $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp \ + $(srcdir)/pdf.stamp + +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ + $(DOC_MODULE).hierarchy \ + $(DOC_MODULE).interfaces \ + $(DOC_MODULE).prerequisites \ + $(DOC_MODULE).signals + +REPORT_FILES = \ + $(DOC_MODULE)-undocumented.txt \ + $(DOC_MODULE)-undeclared.txt \ + $(DOC_MODULE)-unused.txt + +CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) + +if ENABLE_GTK_DOC +if GTK_DOC_BUILD_HTML +HTML_BUILD_STAMP=html-build.stamp +else +HTML_BUILD_STAMP= +endif +if GTK_DOC_BUILD_PDF +PDF_BUILD_STAMP=pdf-build.stamp +else +PDF_BUILD_STAMP= +endif + +all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) +else +all-local: +endif + +docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) + +$(REPORT_FILES): sgml-build.stamp + +#### scan #### + +scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) + @echo 'gtk-doc: Scanning header files' + @-chmod -R u+w $(srcdir) + @_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \ + _source_dir="$${_source_dir} --source-dir=$$i" ; \ + done ; \ + cd $(srcdir) && \ + gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) + @if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + else \ + cd $(srcdir) ; \ + for i in $(SCANOBJ_FILES) ; do \ + test -f $$i || touch $$i ; \ + done \ + fi + @touch scan-build.stamp + +$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp + @true + +#### templates #### + +tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt + @echo 'gtk-doc: Rebuilding template files' + @-chmod -R u+w $(srcdir) + @cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) + @touch tmpl-build.stamp + +tmpl.stamp: tmpl-build.stamp + @true + +$(srcdir)/tmpl/*.sgml: + @true + +#### xml #### + +sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) + @echo 'gtk-doc: Building XML' + @-chmod -R u+w $(srcdir) + @_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \ + _source_dir="$${_source_dir} --source-dir=$$i" ; \ + done ; \ + cd $(srcdir) && \ + gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) + @touch sgml-build.stamp + +sgml.stamp: sgml-build.stamp + @true + +#### html #### + +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) + @echo 'gtk-doc: Building HTML' + @-chmod -R u+w $(srcdir) + @rm -rf $(srcdir)/html + @mkdir $(srcdir)/html + @mkhtml_options=""; \ + gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ + if test "$(?)" = "0"; then \ + mkhtml_options=--path="$(srcdir)"; \ + fi; \ + cd $(srcdir)/html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) + @echo 'gtk-doc: Fixing cross-references' + @cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + @touch html-build.stamp + +#### pdf #### + +pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) + @echo 'gtk-doc: Building PDF' + @-chmod -R u+w $(srcdir) + @rm -rf $(srcdir)/$(DOC_MODULE).pdf + @mkpdf_imgdirs=""; \ + if test "x$(HTML_IMAGES)" != "x"; then \ + for img in $(HTML_IMAGES); do \ + part=`dirname $$img`; \ + echo $$mkpdf_imgdirs | grep >/dev/null "\-\-imgdir=$$part "; \ + if test $$? != 0; then \ + mkpdf_imgdirs="$$mkpdf_imgdirs --imgdir=$$part"; \ + fi; \ + done; \ + fi; \ + cd $(srcdir) && gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_imgdirs $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) + @touch pdf-build.stamp + +############## + +clean-local: + rm -f *~ *.bak + rm -rf .libs + +distclean-local: + cd $(srcdir) && \ + rm -rf xml $(REPORT_FILES) $(DOC_MODULE).pdf \ + $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt + +maintainer-clean-local: clean + cd $(srcdir) && rm -rf xml html + +install-data-local: + @installfiles=`echo $(srcdir)/html/*`; \ + if test "$$installfiles" = '$(srcdir)/html/*'; \ + then echo '-- Nothing to install' ; \ + else \ + if test -n "$(DOC_MODULE_VERSION)"; then \ + installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ + else \ + installdir="$(DESTDIR)$(TARGET_DIR)"; \ + fi; \ + $(mkinstalldirs) $${installdir} ; \ + for i in $$installfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $${installdir}; \ + done; \ + if test -n "$(DOC_MODULE_VERSION)"; then \ + mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ + $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ + mv -f $${installdir}/$(DOC_MODULE).devhelp \ + $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \ + fi; \ + $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ + fi + +uninstall-local: + @if test -n "$(DOC_MODULE_VERSION)"; then \ + installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ + else \ + installdir="$(DESTDIR)$(TARGET_DIR)"; \ + fi; \ + rm -rf $${installdir} + +# +# Require gtk-doc when making dist +# +if ENABLE_GTK_DOC +dist-check-gtkdoc: +else +dist-check-gtkdoc: + @echo "*** gtk-doc must be installed and enabled in order to make dist" + @false +endif + +dist-hook: dist-check-gtkdoc dist-hook-local + mkdir $(distdir)/tmpl + mkdir $(distdir)/html + -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl + cp $(srcdir)/html/* $(distdir)/html + -cp $(srcdir)/$(DOC_MODULE).pdf $(distdir)/ + -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ + -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ + cd $(distdir) && rm -f $(DISTCLEANFILES) + $(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html + +.PHONY : dist-hook-local docs diff --git a/meta-oe/recipes-core/udev/udev_171.bb b/meta-oe/recipes-core/udev/udev_171.bb new file mode 100644 index 0000000000..05b7bec603 --- /dev/null +++ b/meta-oe/recipes-core/udev/udev_171.bb @@ -0,0 +1,130 @@ +DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \ +/dev/, handles hotplug events and loads drivers at boot time. It replaces \ +the hotplug package and requires a kernel not older than 2.6.27." + +# udev 169 and up require kernel 2.6.36 for ARM: +# http://git.kernel.org/?p=linux/hotplug/udev.git;a=commit;h=67a77c8bf299f6264f001677becd056316ebce2f + +LICENSE = "GPLv2+ & LGPLv2.1+" +LICENSE_${PN} = "GPLv2+" +LICENSE_libudev = "LGPLv2.1+" +LICENSE_libgudev = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ + file://libudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://extras/gudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +# Needs more testing +DEFAULT_PREFERENCE = "-1" + +# Needed for udev-extras +DEPENDS = "gperf-native usbutils acl glib-2.0" + +SRCREV = "${PV}" +PR = "r0" + +# version specific SRC_URI +SRC_URI = "git://git.kernel.org/pub/scm/linux/hotplug/udev.git;protocol=git \ + file://0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch \ + file://gtk-doc.make" +SRC_URI[md5sum] = "08eb7c2564bc89defcefdaa6ec4a9fc1" +SRC_URI[sha256sum] = "1d5c548d7c85d30b3508b82ad88d853e28dddb6c526d0e67aa92ac18af93d218" + +# generic SRC_URI +SRC_URI += " \ + file://mount.sh \ + file://mount.blacklist \ + file://network.sh \ + file://local.rules \ + file://default \ + file://init \ + file://cache \ +" + +# Machine specific udev rules should be in their own recipe that ${PN} can add to RRECOMMENDS + + +S = "${WORKDIR}/git" + +inherit update-rc.d autotools + +EXTRA_OECONF += " \ + --disable-introspection \ + --with-pci-ids-path=/usr/share/misc \ + ac_cv_file__usr_share_pci_ids=no \ + ac_cv_file__usr_share_hwdata_pci_ids=no \ + ac_cv_file__usr_share_misc_pci_ids=yes \ + --sbindir=${base_sbindir} \ + --libexecdir=${base_libdir}/udev \ + --with-rootlibdir=${base_libdir} \ + --disable-gtk-doc-html \ + --with-systemdsystemunitdir=${base_libdir}/systemd/system/ \ +" + +do_configure_prepend() { + cp ${WORKDIR}/gtk-doc.make ${S} +} + +INITSCRIPT_NAME = "udev" +INITSCRIPT_PARAMS = "start 04 S ." + +PACKAGES =+ "${PN}-systemd libudev libgudev udev-utils udev-consolekit" + +FILES_${PN}-systemd = "${base_libdir}/systemd/system/" + +FILES_libudev = "${base_libdir}/libudev.so.*" +FILES_libgudev = "${base_libdir}/libgudev*.so.*" + +FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm" + +RPROVIDES_${PN} = "hotplug" +FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd" +FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug" +RDEPENDS_${PN} += "module-init-tools-depmod udev-utils" + +# udev installs binaries under $(udev_prefix)/lib/udev, even if ${libdir} +# is ${prefix}/lib64 +FILES_${PN} += "/lib/udev*" +FILES_${PN}-dbg += "/lib/udev/.debug" + +FILES_${PN}-consolekit += "${libdir}/ConsoleKit" +RDEPENDS_${PN}-consolekit += "consolekit" + +# Package up systemd files +FILES_${PN} += "${base_libdir}/systemd" + +do_install () { + install -d ${D}${usrsbindir} \ + ${D}${sbindir} + oe_runmake 'DESTDIR=${D}' INSTALL=install install + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev + install -m 0755 ${WORKDIR}/cache ${D}${sysconfdir}/init.d/udev-cache + + install -d ${D}${sysconfdir}/default + install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev + + cp ${S}/rules/rules.d/* ${D}${sysconfdir}/udev/rules.d/ + + install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/ + install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules + + touch ${D}${sysconfdir}/udev/saved.uname + touch ${D}${sysconfdir}/udev/saved.cmdline + touch ${D}${sysconfdir}/udev/saved.devices + touch ${D}${sysconfdir}/udev/saved.atags + + install -d ${D}${sysconfdir}/udev/scripts/ + + install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh + install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts +} + +# Create the cache after checkroot has run +pkg_postinst_udev_append() { + if test "x$D" != "x"; then + OPT="-r $D" + else + OPT="-s" + fi + update-rc.d $OPT udev-cache start 36 S . +}