blob: 7fffcff3f5252064f1b869825679e5ef99df52ff [file] [log] [blame]
#############################################################
#
# google_buffet
#
#############################################################
BUFFET_CHROMEOS_VERSION = R44-7077.134
GOOGLE_BUFFET_SITE = repo://vendor/google/tarballs
ifeq ($(BR2_PACKAGE_GOOGLE_BUFFET_DEMOS),y)
define HOST_GOOGLE_BUFFET_DEMOS
mkdir -p $(TARGET_DIR)/etc/buffet && \
$(INSTALL) -m 0755 -D package/google/google_buffet/buffet.conf $(TARGET_DIR)/etc/buffet; \
mkdir -p $(TARGET_DIR)/etc/buffet/commands && \
$(INSTALL) -m 0755 -D package/google/google_buffet/test.json $(TARGET_DIR)/etc/buffet/commands
endef
else
define HOST_GOOGLE_BUFFET_DEMOS
echo "Skip Buffet demos..."
endef
endif
define GOOGLE_BUFFET_INSTALL_TARGET_CMDS
# Untar and place the chromeos rootdir under /chroot
mkdir -p $(TARGET_DIR)/chroot && \
tar -zxvf $(@D)/google_buffet-$(BUFFET_CHROMEOS_VERSION).tar.gz -C $(TARGET_DIR)/chroot
# Copy global configs to /etc/buffet
mkdir -p $(TARGET_DIR)/etc/buffet && \
$(INSTALL) -m 0755 -D package/google/google_buffet/base_state.schema.json $(TARGET_DIR)/etc/buffet && \
$(INSTALL) -m 0755 -D package/google/google_buffet/base_state.defaults.json $(TARGET_DIR)/etc/buffet && \
$(INSTALL) -m 0755 -D package/google/google_buffet/gcd.json $(TARGET_DIR)/etc/buffet
# Install Buffet demos
$(HOST_GOOGLE_BUFFET_DEMOS)
# Install /etc/init.d file
mkdir -p $(TARGET_DIR)/etc/init.d && \
$(INSTALL) -m 0755 -D package/google/google_buffet/S86buffet $(TARGET_DIR)/etc/init.d/
# Install buffet monitor
mkdir -p $(TARGET_DIR)/bin && \
$(INSTALL) -m 0755 -D package/google/google_buffet/buffet_monitor $(TARGET_DIR)/bin/
# Install customized dbus config to run in chroot.
mkdir -p $(TARGET_DIR)/etc/dbus-1/system.d && \
$(INSTALL) -m 0755 -D package/google/google_buffet/org.chromium.Buffet.conf $(TARGET_DIR)/etc/dbus-1/system.d/org.chromium.Buffet.conf
# Create chroot binding point for dbus.
mkdir -p $(TARGET_DIR)/chroot/chromeos/var/lib/buffet
mkdir -p $(TARGET_DIR)/chroot/chromeos/var/run
mkdir -p $(TARGET_DIR)/chroot/chromeos/etc
mkdir -p $(TARGET_DIR)/chroot/chromeos/tmp
# libcurl.so.4 in ChromeOS expected Equifax cert with hash name 578d5c04.0
# In chromeos version <= R42, it is expected in /etc/ssl/certs. The following
# line can probably be removed eventually since it should no longer look for
# the cert here, but is being kept here in the interim just in case.
cp -fp $(TARGET_DIR)/etc/ssl/certs/ca-certificates.crt $(TARGET_DIR)/etc/ssl/certs/578d5c04.0
# In chromeos version >= R44, it is expected in
# /usr/share/chromeos-ca-certificates. The following lines create this
# directory and copy the cert to it.
mkdir -p $(TARGET_DIR)/chroot/chromeos/usr/share/chromeos-ca-certificates
cp -fp $(TARGET_DIR)/etc/ssl/certs/ca-certificates.crt $(TARGET_DIR)/chroot/chromeos/usr/share/chromeos-ca-certificates/578d5c04.0
if [ "$(BR2_PACKAGE_GOOGLE_PROD)" = "y" ]; then \
rm -f $(TARGET_DIR)/chroot/chromeos/bin/buffet_client; \
rm -f $(TARGET_DIR)/chroot/chromeos/bin/buffet_test_daemon; \
fi
endef
define GOOGLE_BUFFET_CLEAN_CMDS
rm -rf $(TARGET_DIR)/etc/dbus-1/system.d/org.chromium.Buffet.conf
rm -rf $(TARGET_DIR)/etc/init.d/S86buffet
rm -rf $(TARGET_DIR)/bin/buffet_monitor
rm -rf $(TARGET_DIR)/chroot/chromeos
endef
$(eval $(call GENTARGETS))