[yocto] [meta-raspberrypi][PATCH 6/7] userland: Update to 8700279495e266378d36092ccf86424f0ee2539f

Andrei Gherzan andrei at gherzan.ro
Sat Feb 9 14:11:10 PST 2013


* install_vmcs not needed anymore
* By default package is installed in /opt/vc. Move everything in ${prefix}.
* Move recipe in recipes-graphics
* Add PACKAGE_ARCH = MACHINE_ARCH

Signed-off-by: Andrei Gherzan <andrei at gherzan.ro>
---
 recipes-bcm/userland/userland-git/install_vmcs |  279 ------------------------
 recipes-bcm/userland/userland_git.bb           |   43 ----
 recipes-graphics/userland/userland_git.bb      |   39 ++++
 3 files changed, 39 insertions(+), 322 deletions(-)
 delete mode 100755 recipes-bcm/userland/userland-git/install_vmcs
 delete mode 100644 recipes-bcm/userland/userland_git.bb
 create mode 100644 recipes-graphics/userland/userland_git.bb

diff --git a/recipes-bcm/userland/userland-git/install_vmcs b/recipes-bcm/userland/userland-git/install_vmcs
deleted file mode 100755
index 980522e..0000000
--- a/recipes-bcm/userland/userland-git/install_vmcs
+++ /dev/null
@@ -1,279 +0,0 @@
-#!/bin/sh
-
-# edit this file only at <vc4>\makefiles\cmake\scripts\install_vmcs
-# update (via root staging area) using cmake {args} <vc4>, etc.
-
-cmd="$0"
-cmd_dir="`dirname -- "$cmd"`"
-cmd_dir=`(cd "$cmd_dir">/dev/null;pwd)`
-cmd_name="`basename -- $cmd`"
-
-# this command should be run as root from ${dir_install}/sbin
-
-dir_install="`dirname -- "$cmd_dir"`"
-dir_data="$dir_install/share/install"
-dir_sd="/sd"
-
-do_force=false
-
-# install contents of $dir_data into the system
-
-if [ "`whoami`" != "root" ]; then
-    echo "$cmd_name: you need to be root to execute this command">&2
-    exit 1
-fi
-
-[ "_$1" = "_-f" -o "_$1" = "_--force" ] && { do_force=true; shift; }
-
-
-# Uninstall script
-
-#################################
-#################################
-
-create_uninstall()
-{  cat <<'EOF'
-#!/bin/sh
-
-####
-#### WARNING: this script is written and overwritten by $cmd - don't edit
-####
-
-cmd="$0"
-cmd_dir="`dirname -- "$cmd"`"
-cmd_dir=`(cd "$cmd_dir">/dev/null;pwd)`
-cmd_name="`basename -- "$cmd"`"
-
-# this command should be run from <dir_install>/sbin
-
-if [ "`whoami`" != "root" ]; then
-    echo "$cmd_name: you need to be root to execute this command">&2
-    exit 1
-fi
-
-# uninstall the new libraries
-
-if [ -f /etc/ld.so.conf.d/vmcs.conf ]; then
-    rm /etc/ld.so.conf.d/vmcs.conf
-    ldconfig 
-fi
-
-vcfiled=/etc/init.d/vcfiled
-if [ -x $vcfiled ]; then
-    $vcfiled stop
-    if update-rc.d -f vcfiled remove; then
-        rm -f $vcfiled
-    else
-        echo "$cmd_name: failed to install $vcfiled, sorry">&2
-    fi
-fi
-
-EOF
-}
-
-
-#################################
-#################################
-
-rc=0
-
-# install un-installation script
-
-if [ -f "$cmd_dir/uninstall_vmcs" ]; then
-    if mv -f "$cmd_dir/uninstall_vmcs" "$cmd_dir/uninstall_last_vmcs"; then
-        echo "$cmd_name: previous installation's uninstallation script saved in">&2
-        echo "$cmd_name: $cmd_dir/uninstall_last_vmcs">&2
-    else
-        echo "$cmd_name: failed to rename previous installation's uninstallation script">&2
-    fi
-fi
-create_uninstall > "$cmd_dir/uninstall_vmcs"
-chmod +x "$cmd_dir/uninstall_vmcs"
-
-# install the new libraries
-
-if $do_force || [ -d /etc/ld.so.conf.d ]; then
-    if $do_force || [ ! -f /etc/ld.so.conf.d/vmcs.conf ]; then
-        if [ ! -f "$dir_data/vmcs.conf" ]; then
-            echo "$cmd_name: expected file missing in $dir_data/vmcs.conf">&2
-            rc=1
-        else
-            mkdir -p /etc/ld.so.conf.d
-            cp -af "$dir_data/vmcs.conf" /etc/ld.so.conf.d/vmcs.conf
-            ldconfig 
-        fi
-    fi
-else
-    echo "$cmd_name: don't know how to install libraries, sorry">&2
-    rc=2
-fi
-
-# install VC file daemon
-
-if $do_force || [ ! -f /etc/init.d/vcfiled ]; then
-    if [ ! -f "$dir_data/vcfiled" ]; then
-        echo "$cmd_name: expected file missing in $dir_data/vcfiled">&2
-        rc=3
-    else
-        cp -af "$dir_data/vcfiled" /etc/init.d/vcfiled
-        if ! update-rc.d vcfiled defaults 16; then
-            echo "$cmd_name: don't know how to install new /etc/init.d/vcfiled, sorry">&2
-            rc=4
-        elif ! update-rc.d vcfiled enable; then
-            echo "$cmd_name: failed to enable new /etc/init.d/vcfiled, sorry">&2
-            rc=5
-        fi
-    fi
-fi
-
-# make sure vchiq device finder is installed 
-
-if $do_force || [ ! -f /etc/init.d/vchiq ]; then
-    if [ ! -f "$dir_data/vchiq" ]; then
-        echo "$cmd_name: expected file missing in $dir_data/vchiq">&2
-    else
-        cp -af "$dir_data/vchiq" /etc/init.d/vchiq
-        if ! update-rc.d vchiq defaults 12; then
-            echo "$cmd_name: don't know how to install new /etc/init.d/vchiq, sorry">&2
-            rc=6
-        elif ! update-rc.d vchiq enable; then
-            echo "$cmd_name: failed to enable new /etc/init.d/vchiq, sorry">&2
-            rc=7
-        fi
-    fi
-fi
-
-# set up a module directory from SD card if possible
-
-current_moddir=/lib/modules
-pkg_moddir=${dir_install}$current_moddir
-sd_moddir=/boot$current_moddir
-
-if [ -h "$pkg_moddir" ]; then
-    # this should never have been made into a symbolic link - it will mean
-    # different things on the ARM and the build machines
-    # Unfortunately a previous version of this script made it symbolic
-    rm "$pkg_moddir"
-    echo "------------------------"
-    echo "$cmd_name: Damage to $pkg_moddir caused by previous script version has"
-    echo "$cmd_name: been corrected.  Sorry, but you have to re-build the "
-    echo "$cmd_name: vchiq module now"
-    echo "------------------------"
-fi
-
-if $do_force || [ ! -f "$pkg_moddir" ]; then
-    if [ -d "$sd_moddir" ]; then
-        echo "$cmd_name: Installing any newer modules from SD card"
-        cp -auT "$sd_moddir" "$current_moddir"
-    fi
-fi
-
-# install the vchiq module from install dir (if present)
-
-current_mod=${current_moddir}/`uname -r`/extra/vchiq.ko
-pkg_mod=${dir_install}$current_mod
-
-if [ -f "$pkg_mod" ]; then
-    if $do_force || \
-       [ ! -f "$current_mod" ] || \
-       [ "$pkg_mod" -nt "$current_mod" ]; then
-        mkdir -p "`dirname -- "$current_mod"`"
-        # copy new vchiq module over - try to keep same date for debugging
-        if cp -af "$pkg_mod" "$current_mod"; then
-            echo "$cmd_name: updated vchiq module taken from $pkg_moddir">&2
-        else
-            echo "$cmd_name: couldn't overwrite $current_mod">&2
-            rc=8
-        fi
-    fi
-fi
-
-if [ ! -f "$current_mod" ]; then
-    echo "$cmd_name: no vchiq module found for this kernel (`uname -r`)">&2
-    rc=9
-else
-    # make sure the module is loaded automatically when we reboot
-    # before the vcqhiq script runs by placing its name in /etc/modules
-    # (This is suppose to have been done already in mklinux)
-    if ! grep "^vchiq$" /etc/modules>/dev/null; then
-        echo vchiq >> /etc/modules
-    fi
-fi
-
-if $do_force || [ ! -f "${current_moddir}/`uname -r`/modules.dep" ]; then
-    depmod
-fi
-    
-# install vlls
-
-if $do_force || [ ! -f "$dir_sd/vlls" ]; then
-    if [ -d /boot/vlls/ ]; then
-        # remove $dir_sd/vlls assuming it is a symbolic link
-        rm -f "$dir_sd/vlls"
-        ln -s /boot/vlls "$dir_sd/vlls"
-    else
-        echo "$cmd_name: Warning - no VLLs in $dir_sd/vlls">&2
-        echo "$cmd_name: installation would normally link this location to /boot/vlls"
-        echo "$cmd_name: ensure VLLs are present in /boot/vlls (probably the "
-        echo "$cmd_name: DOS partition of your SD card), and rerun this "
-        echo "$cmd_name: installation">&2 
-    fi
-fi
-
-# warn about empty media files ... player X needs some
-
-if [ -d "$dir_install/mediafiles/" -a ! -d "$dir_sd/mediafiles" ]; then
-    rm -f "$dir_sd/mediafiles"
-    ln -s "$dir_install/mediafiles" "$dir_sd/mediafiles"
-elif [ ! -d "$dir_sd/mediafiles/" ]; then
-    echo "$cmd_name: warning - $dir_sd/mediafiles does not exist, some applications require this">&2
-else
-    filecount=`ls "$dir_sd/mediafiles/" | wc -l`
-    if [ -z "$filecount" -o $filecount -eq 0 ]; then
-        echo "$cmd_name: warning - /sd/mediafiles is empty, some apps need content">&2
-    fi
-fi
-
-
-# start up anything we rely on
-
-if [ -x /sbin/modprobe -a -f /proc/modules ]; then
-    modprobe -q vchiq
-fi
-
-if [ -x /etc/init.d/vchiq ]; then
-    if ! /etc/init.d/vchiq start; then
-        echo "$cmd_name: /etc/init.d/vchiq failed - rc $?"
-        rc=10
-    fi
-else
-    echo "$cmd_name: couldn't find expected file - /etc/init.d/vchiq">&2
-    rc=11
-fi
-
-if [ -x /etc/init.d/vcfiled ]; then
-    if ! /etc/init.d/vcfiled start; then
-        echo "$cmd_name: /etc/init.d/vcfiled failed - rc $?"
-        rc=12
-    elif ! pidof vcfiled>/dev/null; then
-        echo "$cmd_name: vcfiled daemon not started"
-        if [ ! -x "${dir_install}/sbin/vcfiled" ]; then
-            echo "$cmd_name: ${dir_install}/sbin/vcfiled missing or bad?"
-            rc=13
-        elif ! head -0 /dev/vchiq >/dev/null; then
-            echo "$cmd_name: /dev/vchiq bad?"
-            echo "$cmd_name: vchiq module file information -"
-            ls -l "$current_mod"
-            rc=14
-        else
-            echo "$cmd_name: /etc/init.d/vcfiled bad?"
-            rc=15
-        fi
-    fi
-else
-    echo "$cmd_name: couldn't find expected file - /etc/init.d/vcfiled">&2
-    rc=16
-fi
-
-exit $rc
-
diff --git a/recipes-bcm/userland/userland_git.bb b/recipes-bcm/userland/userland_git.bb
deleted file mode 100644
index c2c6641..0000000
--- a/recipes-bcm/userland/userland_git.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-DESCRIPTION = "This repository contains the source code for the ARM side \
-libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \
-and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\
-vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
-LICENSE = "Broadcom"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=957f6640d5e2d2acfce73a36a56cb32f"
-
-PR = "r0"
-
-PROVIDES = "virtual/libgles2 \
-            virtual/egl"
-COMPATIBLE_MACHINE = "raspberrypi"
-
-SRCREV = "ef62d33406ee01864d58b80f6d0c0355ed86aaa1"
-SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \
-           file://install_vmcs \
-          "
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = " \
-                 -DCMAKE_BUILD_TYPE=Release \
-                "
-
-do_configure_prepend () {
-    sed -i "/10-vchiq.rules/d" ${S}/interface/vchiq_arm/CMakeLists.txt
-    mkdir -p makefiles/cmake/scripts
-    cp ${WORKDIR}/install_vmcs ${S}/makefiles/cmake/scripts
-}
-
-FILES_${PN} = "/opt/vc/lib/*.so \
-               /opt/vc/sbin \
-               /opt/vc/bin \
-               /etc \
-              "
-FILES_${PN}-dbg += "/opt/vc/lib/.debug \
-                   /opt/vc/sbin/.debug \
-                   /opt/vc/bin/.debug \
-                  "
-FILES_${PN}-dev = "/opt/vc/include/"
-FILES_${PN}-staticdev = "/opt/vc/lib/*.a"
-FILES_${PN}-doc = "/opt/vc/share/"
\ No newline at end of file
diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb
new file mode 100644
index 0000000..fe4132a
--- /dev/null
+++ b/recipes-graphics/userland/userland_git.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "This repository contains the source code for the ARM side \
+libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \
+and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\
+vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
+LICENSE = "Broadcom"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=957f6640d5e2d2acfce73a36a56cb32f"
+
+PR = "r1"
+
+PROVIDES = "virtual/libgles2 \
+            virtual/egl"
+COMPATIBLE_MACHINE = "raspberrypi"
+
+SRCREV = "8700279495e266378d36092ccf86424f0ee2539f"
+SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \
+          "
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = " \
+                 -DCMAKE_BUILD_TYPE=Release \
+                "
+# The compiled binaries don't provide sonames.
+SOLIBS = "${SOLIBSDEV}"
+
+do_install_append() {
+    mkdir -p ${D}/${prefix}
+    mv ${D}/opt/vc/* ${D}/${prefix}
+    rm -rf ${D}/opt
+}
+
+FILES_${PN} += "${libdir}/*${SOLIBS}"
+FILES_${PN}-dev = "${includedir} \
+                   ${prefix}/src"
+FILES_${PN}-doc += "${datadir}/install"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
-- 
1.7.9.5




More information about the yocto mailing list