summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Kalker2015-07-01 17:19:59 +0200
committerAlain Kalker2015-07-02 20:02:59 +0200
commit53875d1b45c9435f3b06c1b641bb489a96c64022 (patch)
tree955ca49e8703dd2bf67db6f137416054ac0d0f93
parent89d23b2ec09caa0d47f099edf44a0ac69fa48067 (diff)
downloadaur-53875d1b45c9435f3b06c1b641bb489a96c64022.tar.gz
Update package
- Make it build again (thanks Tongjie) - Cleanup whitespace - Depend on google-chrome for chrome-sandbox, icudtl.dat - Support Flash, Google API keys (optional, auto-detected) - Add comment describing how to build latest version
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD80
-rw-r--r--chromiumos-ui.install22
-rw-r--r--chromiumos-ui.sh84
4 files changed, 127 insertions, 75 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d95c03285c1b..782a09ab54a7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,28 +1,32 @@
pkgbase = chromiumos-ui-bin
pkgdesc = Chromium OS user interface (prebuilt binary)
- pkgver = LKGR
- pkgrel = 3
+ pkgver = 325086
+ pkgrel = 1
url = http://www.chromium.org/chromium-os
install = chromiumos-ui.install
arch = x86_64
license = BSD
- depends = chromium
+ depends = google-chrome
depends = libudev.so.0
+ depends = jq
optdepends = chromiumos-ui-tts: ChromeVox text-to-speech, with accessibility support
+ optdepends = chromium-pepper-flash: Flash support
provides = chromiumos-ui
conflicts = chromiumos-ui
options = !strip
backup = etc/chromiumos-ui/default
- source = chrome-linux-252451.zip::http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_ChromiumOS/252451/chrome-linux.zip
+ source = chrome-linux-325086.zip::http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_ChromiumOS_Full/325086/chrome-linux.zip
+ source = https://chromium.googlesource.com/chromium/src/+/lkgr/LICENSE.chromium_os
source = chromiumos-ui.default
source = chromiumos-ui.desktop
source = chromiumos-ui.sh
source = chromiumos-ui-lastuser.desktop
source = chromiumos-ui-login.desktop
- md5sums = SKIP
+ md5sums = ffd1aac3e73fcdd05b8532289cba2140
+ md5sums = fbe99aed473ffb9dc08ec871b1403314
md5sums = 001a472621cace5c2e140df95c632af1
md5sums = 0aa55e3947e85e3774bba3da274e09f8
- md5sums = 806bd9b2c2f8d80ddf74c49f8a778853
+ md5sums = 9140be97f48a9d0147f605930b3d2e2e
md5sums = bfd688d7d6e340df8e9296c8c40eb3a5
md5sums = 3c1772e39cdd805fe3052e4938371afe
diff --git a/PKGBUILD b/PKGBUILD
index 93d74a8fbf81..4a85d98a29f5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,67 +1,69 @@
# Maintainer: Alain Kalker <a.c.kalker@gmail.com>
_pkgbase=chromiumos-ui
pkgname=$_pkgbase-bin
-pkgver=LKGR
-_pkgver=$(curl -s http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_ChromiumOS/LAST_CHANGE)
-pkgrel=3
+pkgver=325086
+# Uncomment line below and comment line below that to build latest version
+#_pkgver=$(curl -s http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_ChromiumOS_Full/LAST_CHANGE)
+_pkgver=325086
+pkgrel=1
pkgdesc="Chromium OS user interface (prebuilt binary)"
arch=('x86_64')
url="http://www.chromium.org/chromium-os"
license=('BSD')
-depends=('chromium' 'libudev.so.0') # for chrome-sandbox
-optdepends=('chromiumos-ui-tts: ChromeVox text-to-speech, with accessibility support')
+depends=('google-chrome' 'libudev.so.0' 'jq')
+optdepends=('chromiumos-ui-tts: ChromeVox text-to-speech, with accessibility support'
+ 'chromium-pepper-flash: Flash support')
provides=("$_pkgbase")
conflicts=("$_pkgbase")
backup=("etc/$_pkgbase/default")
options=('!strip')
install=$_pkgbase.install
_srcname=chrome-linux
-source=($_srcname-$_pkgver.zip::http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_ChromiumOS/${_pkgver}/$_srcname.zip
- #https://chromium.googlesource.com/chromium/src/+/lkgr/LICENSE.chromium_os
- $_pkgbase.default
- $_pkgbase.desktop
- $_pkgbase.sh
- $_pkgbase-lastuser.desktop
- $_pkgbase-login.desktop)
-noextract=()
-md5sums=('SKIP'
-#md5sums=('d5cc7c62fb8f8b4944685f220e252bbb'
- #'c1f986c9d625a1d64d2f6f2130ff7b51'
+source=($_srcname-$_pkgver.zip::http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_ChromiumOS_Full/${_pkgver}/$_srcname.zip
+ https://chromium.googlesource.com/chromium/src/+/lkgr/LICENSE.chromium_os
+ $_pkgbase.default
+ $_pkgbase.desktop
+ $_pkgbase.sh
+ $_pkgbase-lastuser.desktop
+ $_pkgbase-login.desktop)
+md5sums=('ffd1aac3e73fcdd05b8532289cba2140'
+ 'fbe99aed473ffb9dc08ec871b1403314'
'001a472621cace5c2e140df95c632af1'
'0aa55e3947e85e3774bba3da274e09f8'
- '806bd9b2c2f8d80ddf74c49f8a778853'
+ '9140be97f48a9d0147f605930b3d2e2e'
'bfd688d7d6e340df8e9296c8c40eb3a5'
'3c1772e39cdd805fe3052e4938371afe')
+noextract=()
pkgver() {
- echo $_pkgver
+ echo $_pkgver
}
package() {
- cd "$srcdir/$_srcname"
+ cd "$srcdir/$_srcname"
- install -d "$pkgdir/usr/lib/$_pkgbase"
- cp -a * "$pkgdir/usr/lib/$_pkgbase/"
+ install -d "$pkgdir/usr/lib/$_pkgbase"
+ cp -a * "$pkgdir/usr/lib/$_pkgbase/"
- # Fix permissions
- find "$pkgdir/usr/lib/$_pkgbase" -type d -exec chmod 755 {} ';'
- find "$pkgdir/usr/lib/$_pkgbase" -type f -exec chmod 644 {} ';'
- chmod 755 "$pkgdir/usr/lib/$_pkgbase"/chrome{,-*}
- chmod 755 "$pkgdir/usr/lib/$_pkgbase"/nacl*
- chmod 755 "$pkgdir/usr/lib/$_pkgbase"/xdg-settings
- chmod 755 "$pkgdir/usr/lib/$_pkgbase"/xdg-mime
+ # Fix permissions
+ find "$pkgdir/usr/lib/$_pkgbase" -type d -exec chmod 755 {} ';'
+ find "$pkgdir/usr/lib/$_pkgbase" -type f -exec chmod 644 {} ';'
+ chmod 755 "$pkgdir/usr/lib/$_pkgbase"/chrome{,-*}
+ chmod 755 "$pkgdir/usr/lib/$_pkgbase"/nacl*
+ chmod 755 "$pkgdir/usr/lib/$_pkgbase"/xdg-settings
+ chmod 755 "$pkgdir/usr/lib/$_pkgbase"/xdg-mime
- # Allow users to override command-line options
- install -Dm644 "$srcdir/$_pkgbase.default" "$pkgdir/etc/$_pkgbase/default"
+ # Allow users to override command-line options
+ install -Dm644 "$srcdir/$_pkgbase.default" "$pkgdir/etc/$_pkgbase/default"
- install -D "$srcdir/$_pkgbase.sh" \
- "$pkgdir/usr/bin/$_pkgbase"
- install -Dm644 "$srcdir/$_pkgbase.desktop" \
- "$pkgdir/usr/share/applications/$_pkgbase.desktop"
- install -Dm644 "$srcdir/$_pkgbase-login.desktop" \
- "$pkgdir/usr/share/applications/$_pkgbase-login.desktop"
- install -Dm644 "$srcdir/$_pkgbase-lastuser.desktop" \
- "$pkgdir/usr/share/applications/$_pkgbase-lastuser.desktop"
+ install -D "$srcdir/$_pkgbase.sh" \
+ "$pkgdir/usr/bin/$_pkgbase"
+ install -Dm644 "$srcdir/$_pkgbase.desktop" \
+ "$pkgdir/usr/share/applications/$_pkgbase.desktop"
+ install -Dm644 "$srcdir/$_pkgbase-login.desktop" \
+ "$pkgdir/usr/share/applications/$_pkgbase-login.desktop"
+ install -Dm644 "$srcdir/$_pkgbase-lastuser.desktop" \
+ "$pkgdir/usr/share/applications/$_pkgbase-lastuser.desktop"
- #install -Dm644 "$srcdir/LICENSE.chromium_os" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.chromium_os"
+ install -Dm644 "$srcdir/LICENSE.chromium_os" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.chromium_os"
}
diff --git a/chromiumos-ui.install b/chromiumos-ui.install
index 416311ff0eb1..fb961a8022a1 100644
--- a/chromiumos-ui.install
+++ b/chromiumos-ui.install
@@ -1,7 +1,20 @@
post_install() {
- # chrome-sandbox isn't included in the prebuilt package, so symlink
- # it from an existing Chromium installation
- ln -sf /usr/lib/chromium/chrome-sandbox /usr/lib/chromiumos-ui/
+ update-desktop-database -q
+ # chrome-sandbox and icudtl.dat aren't included in the prebuilt package,
+ # so symlink them from an existing Chrome installation
+ ln -sf /opt/google/chrome/{chrome-sandbox,icudtl.dat} /usr/lib/chromiumos-ui/
+ cat <<MSG
+>>> To use some of the features of the Chromium OS UI, Google API keys
+ are required. These keys cannot be redistributed and must be created
+ by the user.
+ For help on generating these keys, see:
+ https://www.chromium.org/developers/how-tos/api-keys
+ To use the Google API keys with Chromium OS UI, create a file named
+ .googleapikeys
+ in your home directory.
+ For information about the format of this file, see:
+ https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/building-chromium-browser/chrome-api-keys-in-the-chroot
+MSG
}
post_upgrade() {
@@ -9,5 +22,6 @@ post_upgrade() {
}
post_remove() {
- rm -f /usr/lib/chromiumos-ui/chrome-sandbox
+ update-desktop-database -q
+ rm -f /usr/lib/chromiumos-ui/{chrome-sandbox,icudtl.dat}
}
diff --git a/chromiumos-ui.sh b/chromiumos-ui.sh
index 5b27d18a0394..5467bb6cd067 100644
--- a/chromiumos-ui.sh
+++ b/chromiumos-ui.sh
@@ -1,11 +1,29 @@
#!/bin/bash
USER_DATA_DIR=$HOME/.config/chromiumos-ui
+FLASH_DIR=/usr/lib/PepperFlash
+FLASH_LIB=$FLASH_DIR/libpepflashplayer.so
+FLASH_MANIFEST=$FLASH_DIR/manifest.json
+GOOGLE_KEYFILE=$HOME/.googleapikeys
+GOOGLE_KEYNAMES=(google_{api_key,default_client_{id,secret}})
+
+json2vars() {
+ local IFS=,
+ jq -r "{$*}"' | to_entries | map("\(.key)=\(.value | @sh)") | .[]'
+}
+
+keys2json() {
+ echo '{'
+ sed -e "s/\"/\\\\\"/g;s/'/\"/g" | \
+ tr "\n" " " | \
+ sed -e "s/,[[:space:]]*$//"
+ echo '}'
+}
# Allow users to override command-line options
# Based on Gentoo's chromium package (and by extension, Debian's)
if [[ -f /etc/chromiumos-ui/default ]]; then
- . /etc/chromiumos-ui/default
+ . /etc/chromiumos-ui/default
fi
# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
@@ -14,35 +32,49 @@ CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS}
# Use separate profile for Google logins
if [[ "$1" == "--login" ]]; then
- shift
- use_login_manager=yes
- use_login_profile=yes
+ shift
+ use_login_manager=yes
+ use_login_profile=yes
fi
# Auto-login last user if requested
if [[ "$1" == "--lastuser" ]]; then
- shift
- # Check if user has ever logged into Google account before
- if [[ -d "$USER_DATA_DIR/user" ]]; then
- # Get last logged-in user
- user=$(sed -nr \
- -e 's/^\s*"LastLoggedInRegularUser": "([^"]*)",/\1/p' \
- "$USER_DATA_DIR/Local State")
- # Check for stub user
- if [[ "$user" == "stub-user@example.com" ]]; then
- # Fallback to using the login manager
- user=
- else
- # Auto login user
- use_login_manager=
- fi
- fi
+ shift
+ # Check if user has ever logged into Google account before
+ if [[ -d "$USER_DATA_DIR/user" ]]; then
+ # Get last logged-in user
+ user=$(sed -nr \
+ -e 's/^\s*"LastLoggedInRegularUser": "([^"]*)",/\1/p' \
+ "$USER_DATA_DIR/Local State")
+ # Check for stub user
+ if [[ "$user" == "stub-user@example.com" ]]; then
+ # Fallback to using the login manager
+ user=
+ else
+ # Auto login user
+ use_login_manager=
+ fi
+ fi
+fi
+
+# Auto-detect Flash player support
+if [ -f $FLASH_LIB ]; then
+ eval $(json2vars version < $FLASH_MANIFEST)
+ CHROMIUM_FLAGS="$CHROMIUM_FLAGS --ppapi-flash-path=$FLASH_LIB --ppapi-flash-version=$version"
+fi
+
+# Use Google API keys if available
+if [ -f $GOOGLE_KEYFILE ]; then
+ eval $(keys2json < $GOOGLE_KEYFILE | json2vars ${GOOGLE_KEYNAMES[@]})
+ for var in ${GOOGLE_KEYNAMES[@]}; do
+ eval export ${var^^}="\$$var"
+ done
fi
exec /usr/lib/chromiumos-ui/chrome \
- $CHROMIUM_FLAGS \
- --user-data-dir=$USER_DATA_DIR \
- ${use_login_profile:+--login-profile=user} \
- ${use_login_manager:+--login-manager} \
- ${user:+--login-user=}$user \
- "$@"
+ $CHROMIUM_FLAGS \
+ --user-data-dir=$USER_DATA_DIR \
+ ${use_login_profile:+--login-profile=user} \
+ ${use_login_manager:+--login-manager} \
+ ${user:+--login-user=}$user \
+ "$@"