Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
google desktop, real 64bit binaries?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64
View previous topic :: View next topic  
Author Message
menschmeier
l33t
l33t


Joined: 15 Dec 2004
Posts: 727

PostPosted: Thu Aug 19, 2010 8:22 pm    Post subject: google desktop, real 64bit binaries? Reply with quote

I am running a 64bit gentoo system.

Google offers a 64bit google desktop, see http://desktop.google.com/linux/

I downloaded the rpm from http://dl.google.com/linux/rpm/stable/x86_64/google-desktop-linux-current.rpm and checked it:

Code:
$file google-desktop-linux-current.rpm
google-desktop-linux-current.rpm: RPM v3 bin i386 google-desktop-linux-1.2.0-0088


Is this really a 64bit binary?

Are there ebuild for this 64bit version available?

I tried to edit the current ebuild from https://bugs.gentoo.org/show_bug.cgi?id=183492

Code:
# cat google-desktop-1.2.ebuild
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header$

inherit eutils multilib rpm mozextension

DESCRIPTION="Google Desktop"
HOMEPAGE="http://desktop.google.com/linux/"
SRC_URI="http://dl.google.com/linux/rpm/stable/x86_64/google-desktop-linux-current.rpm"

LICENSE="as-is"
SLOT="0"
KEYWORDS="-* ~amd64"
IUSE="firefox thunderbird msoffice"
#RESTRICT="fetch strip"

RDEPEND="virtual/libc
        x86? (
                x11-libs/libX11
                x11-libs/libXi )
        msoffice? ( app-text/catdoc app-text/wv )
        dev-libs/atk
        dev-libs/glib
        x11-libs/gtk+
        x11-libs/pango"
DEPEND="${RDEPEND}"

ENVDDIR="/etc/env.d/"
ENVDFILE="45google-desktop"

S="${WORKDIR}"

pkg_setup() {
}

pkg_nofetch() {
        einfo "Please download ${A} yourself from http://desktop.google.com/linux"
        einfo "and place it in ${DISTDIR}"
}

src_unpack() {
        # You must download google-desktop-linux-1.0.1.0060.rpm
        # from desktop.google.com/linux and put it in ${DISTDIR}
        einfo "Unpacking"
        rpm_src_unpack
}

src_install() {

        # do not include gdl-update since its RH specific
        #dodir /etc/cron.hourly

        #insinto /etc/cron.hourly
        #doins etc/cron.hourly/gdl-update

        dodir /opt/google

        insinto /opt/google/desktop
        doins ${S}/opt/google/desktop/*
        doins ${S}/opt/google/desktop/.gdl_installed_files

        exeinto /opt/google/desktop/bin
        doexe ${S}/opt/google/desktop/bin/gdl_box
        doexe ${S}/opt/google/desktop/bin/gdlinux

        newexe ${S}/opt/google/desktop/bin/gdl_config gdl_config.bin
        newexe ${S}/opt/google/desktop/bin/gdl_fs_crawler gdl_fs_crawler.bin
        newexe ${S}/opt/google/desktop/bin/gdl_indexer gdl_indexer.bin
        newexe ${S}/opt/google/desktop/bin/gdl_service gdl_service.bin
        newexe ${S}/opt/google/desktop/bin/gdl_stats gdl_stats.bin
        newexe ${S}/opt/google/desktop/bin/gdl_update gdl_update.bin

        make_wrapper gdl_config ./gdl_config.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_fs_crawler ./gdl_fs_crawler.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_indexer ./gdl_indexer.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_service ./gdl_service.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_stats ./gdl_stats.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_update ./gdl_update.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin

        insinto /opt/google/desktop/resource
        doins ${S}/opt/google/desktop/resource/*

        insinto /opt/google/desktop/xdg
        doins ${S}/opt/google/desktop/xdg/*

        insinto /usr/bin
        dosym /opt/google/desktop/bin/gdlinux /usr/bin/gdlinux

        into /opt/google/desktop

        insinto /opt/google/desktop
        dolib.so ${S}/opt/google/desktop/lib/*
        dosym /opt/google/desktop/lib64 /opt/google/desktop/lib

        dodir /var/cache/google/desktop
        keepdir /var/cache/google/desktop

        fperms 755 /var/cache/google
        fperms 777 /var/cache/google/desktop
        fperms o+t /var/cache/google/desktop

        cd ${S}/opt/google/desktop/xdg/
        insinto /usr/share/desktop-directories
        doins google-gdl.directory
        domenu google-gdl.desktop google-gdl-preferences.desktop

        # Install Extensions
        declare MOZILLA_FIVE_HOME
        if use firefox; then
                if has_version '>=www-client/mozilla-firefox-1.5'; then
                        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/mozilla-firefox"
                        xpi_install ${S}/opt/google/desktop/plugin/firefox \
                        || die "xpi install for firefox failed!"
                fi
                if has_version '>=www-client/mozilla-firefox-bin-1.5'; then
                        MOZILLA_FIVE_HOME="/opt/firefox"
                        xpi_install ${S}/opt/google/desktop/plugin/firefox \
                        || die "xpi install for firefox-bin failed!"
                fi
        fi
        if use thunderbird; then
                if has_version '>=mail-client/mozilla-thunderbird-1.5'; then
                        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/mozilla-thunderbird"
                        xpi_install ${S}/opt/google/desktop/plugin/thunderbird \
                        || die "xpi install for thunderbird failed!"
                fi
                if has_version '>=mail-client/mozilla-thunderbird-bin-1.5'; then
                        MOZILLA_FIVE_HOME="/opt/thunderbird"
                        xpi_install ${S}/opt/google/desktop/plugin/thunderbird \
                        || die "xpi install for thunderbird-bin failed!"
                fi
        fi

        # Update env.d
        dodir /etc/env.d
        echo "LDPATH=/opt/google/desktop/lib/" > ${D}${ENVDDIR}${ENVDFILE}
}

pkg_postinst ()
{
        env-update
        source /etc/profile
}


After recreating the manifest I tried to reinstall google-desktop. But it fails with a checksum error:
Code:
# emerge google-desktop

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  N    ] app-misc/google-desktop-1.2  USE="firefox -msoffice -thunderbird" 2,584 kB [1]

Total: 1 package (1 new), Size of downloads: 2,584 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/local/portage


>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-misc/google-desktop-1.2 from unknown repo
Refetching... File renamed to '/usr/portage/distfiles/google-desktop-linux-current.rpm._checksum_failure_.r_oXyl'

>>> Downloading 'http://distfiles.gentoo.org/distfiles/google-desktop-linux-current.rpm'
--2010-08-19 22:12:20--  http://distfiles.gentoo.org/distfiles/google-desktop-linux-current.rpm
Resolving distfiles.gentoo.org... 149.20.20.135, 140.211.166.134, 216.165.129.135, ...
Connecting to distfiles.gentoo.org|149.20.20.135|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mirrors.kernel.org/gentoo/distfiles/google-desktop-linux-current.rpm [following]
--2010-08-19 22:12:21--  http://mirrors.kernel.org/gentoo/distfiles/google-desktop-linux-current.rpm
Resolving mirrors.kernel.org... 130.239.17.6, 199.6.1.174
Connecting to mirrors.kernel.org|130.239.17.6|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2010-08-19 22:12:21 ERROR 404: Not Found.

>>> Downloading 'http://dl.google.com/linux/rpm/stable/x86_64/google-desktop-linux-current.rpm'
--2010-08-19 22:12:21--  http://dl.google.com/linux/rpm/stable/x86_64/google-desktop-linux-current.rpm
Resolving dl.google.com... 209.85.135.91, 209.85.135.190, 209.85.135.93, ...
Connecting to dl.google.com|209.85.135.91|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8372107 (8.0M) [application/x-redhat-package-manager]
Saving to: `/usr/portage/distfiles/google-desktop-linux-current.rpm'

100%[=====================================================================================================>] 8,372,107    721K/s   in 11s     

2010-08-19 22:12:32 (726 KB/s) - `/usr/portage/distfiles/google-desktop-linux-current.rpm' saved [8372107/8372107]

('Filesize does not match recorded size', 8372107, 2645672)
!!! Fetched file: google-desktop-linux-current.rpm VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got:      8372107
!!! Expected: 2645672
Refetching... File renamed to '/usr/portage/distfiles/google-desktop-linux-current.rpm._checksum_failure_.r_oXyl'

!!! Couldn't download 'google-desktop-linux-current.rpm'. Aborting.
 * Fetch failed for 'app-misc/google-desktop-1.2', Log file:
 *  '/var/tmp/portage/app-misc/google-desktop-1.2/temp/build.log'


How to fix this problem/ebuild?
_________________
Please notice the back of this message.


Last edited by menschmeier on Fri Aug 20, 2010 1:59 pm; edited 1 time in total
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5615
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Aug 19, 2010 10:39 pm    Post subject: Reply with quote

delete the line with google-desktop-linux-current.rpm in the file Manifest

and re-digest the local overlay / repository

that way google-desktop-linux-current.rpm will be re-fetched and new checksums will be created and added to the Manifest file :idea:
_________________
Unofficial minimal livecd x86/amd64 w/reiser4+truecrypt (by Neo2)
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
menschmeier
l33t
l33t


Joined: 15 Dec 2004
Posts: 727

PostPosted: Fri Aug 20, 2010 1:28 pm    Post subject: Reply with quote

Ok, done. I installed it.
Thank you, kernelOfTruth.

But something is wrong with the stuff google delivered. google-desktop doesn't start now. The reason is a bad LD_LIBRARY_PATH

This is the content of /opt/google/desktop:
Code:
# ll /opt/google/desktop
total 16K
-rw-r--r-- 1 root root  141 Aug 20 15:20 README
-rw-r--r-- 1 root root  129 Aug 20 15:20 VERSION
drwxr-xr-x 2 root root 4.0K Aug 20 15:20 bin
drwxr-xr-x 2 root root 4.0K Aug 20 15:20 lib64
drwxr-xr-x 2 root root  140 Aug 20 15:20 resource
drwxr-xr-x 2 root root   95 Aug 20 15:20 xdg


But all the scripts expect the libs to be in a folder named lib:
Code:
# cat bin/gdl_service
#!/bin/sh
cd "/opt/google/desktop/bin"
if [ -n "/opt/google/desktop/lib" ] ; then
        if [ "${LD_LIBRARY_PATH+set}" = "set" ] ; then
                export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/google/desktop/lib"
        else
                export LD_LIBRARY_PATH="/opt/google/desktop/lib"
        fi
fi
exec ./gdl_service.bin "$@"


Code:
# cat bin/gdlinux
#!/bin/bash
# Copyright 2007 Google Inc. All Rights Reserved.

GDL_LD_LIBRARY_PATH="/opt/google/desktop/lib:$LD_LIBRARY_PATH" \
/opt/google/desktop/bin/gdl_box $@


So I have to create a symlink lib --> lib64.
_________________
Please notice the back of this message.
Back to top
View user's profile Send private message
menschmeier
l33t
l33t


Joined: 15 Dec 2004
Posts: 727

PostPosted: Fri Aug 20, 2010 2:06 pm    Post subject: Reply with quote

My final amd64-ebuild, maybe this one can still be improved:

Code:
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header$

inherit eutils multilib rpm mozextension

DESCRIPTION="Google Desktop"
HOMEPAGE="http://desktop.google.com/linux/"
SRC_URI="http://dl.google.com/linux/rpm/stable/x86_64/google-desktop-linux-current.rpm"

LICENSE="as-is"
SLOT="0"
KEYWORDS="-* ~amd64"
IUSE="firefox thunderbird msoffice"
#RESTRICT="fetch strip"

RDEPEND="virtual/libc
                x11-libs/libX11
                x11-libs/libXi
        msoffice? ( app-text/catdoc app-text/wv )
        dev-libs/atk
        dev-libs/glib
        x11-libs/gtk+
        x11-libs/pango"
DEPEND="${RDEPEND}"

ENVDDIR="/etc/env.d/"
ENVDFILE="45google-desktop"

S="${WORKDIR}"

pkg_setup() {
        einfo ""
}

pkg_nofetch() {
        einfo "Please download ${A} yourself from http://desktop.google.com/linux"
        einfo "and place it in ${DISTDIR}"
}

src_unpack() {
        # You must download google-desktop-linux-1.0.1.0060.rpm
        # from desktop.google.com/linux and put it in ${DISTDIR}
        einfo "Unpacking"
        rpm_src_unpack
}

src_install() {

        # do not include gdl-update since its RH specific
        #dodir /etc/cron.hourly

        #insinto /etc/cron.hourly
        #doins etc/cron.hourly/gdl-update

        dodir /opt/google

        insinto /opt/google/desktop
        doins ${S}/opt/google/desktop/*
        doins ${S}/opt/google/desktop/.gdl_installed_files

        exeinto /opt/google/desktop/bin
        doexe ${S}/opt/google/desktop/bin/gdl_box
        doexe ${S}/opt/google/desktop/bin/gdlinux

        newexe ${S}/opt/google/desktop/bin/gdl_config gdl_config.bin
        newexe ${S}/opt/google/desktop/bin/gdl_fs_crawler gdl_fs_crawler.bin
        newexe ${S}/opt/google/desktop/bin/gdl_indexer gdl_indexer.bin
        newexe ${S}/opt/google/desktop/bin/gdl_service gdl_service.bin
        newexe ${S}/opt/google/desktop/bin/gdl_stats gdl_stats.bin
        newexe ${S}/opt/google/desktop/bin/gdl_update gdl_update.bin

        make_wrapper gdl_config ./gdl_config.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_fs_crawler ./gdl_fs_crawler.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_indexer ./gdl_indexer.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_service ./gdl_service.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_stats ./gdl_stats.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin
        make_wrapper gdl_update ./gdl_update.bin /opt/google/desktop/bin /opt/google/desktop/lib /opt/google/desktop/bin

        insinto /opt/google/desktop/resource
        doins ${S}/opt/google/desktop/resource/*

        insinto /opt/google/desktop/xdg
        doins ${S}/opt/google/desktop/xdg/*

        insinto /usr/bin
        dosym /opt/google/desktop/bin/gdlinux /usr/bin/gdlinux

        into /opt/google/desktop

        insinto /opt/google/desktop
        dolib.so ${S}/opt/google/desktop/lib/*
        dosym /opt/google/desktop/lib64 /opt/google/desktop/lib

        dodir /var/cache/google/desktop
        keepdir /var/cache/google/desktop

        fperms 755 /var/cache/google
        fperms 777 /var/cache/google/desktop
        fperms o+t /var/cache/google/desktop

        cd ${S}/opt/google/desktop/xdg/
        insinto /usr/share/desktop-directories
        doins google-gdl.directory
        domenu google-gdl.desktop google-gdl-preferences.desktop

        # Install Extensions
        declare MOZILLA_FIVE_HOME
        if use firefox; then
                if has_version '>=www-client/mozilla-firefox-1.5'; then
                        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/mozilla-firefox"
                        xpi_install ${S}/opt/google/desktop/plugin/firefox \
                        || die "xpi install for firefox failed!"
                fi
                if has_version '>=www-client/mozilla-firefox-bin-1.5'; then
                        MOZILLA_FIVE_HOME="/opt/firefox"
                        xpi_install ${S}/opt/google/desktop/plugin/firefox \
                        || die "xpi install for firefox-bin failed!"
                fi
        fi
        if use thunderbird; then
                if has_version '>=mail-client/mozilla-thunderbird-1.5'; then
                        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/mozilla-thunderbird"
                        xpi_install ${S}/opt/google/desktop/plugin/thunderbird \
                        || die "xpi install for thunderbird failed!"
                fi
                if has_version '>=mail-client/mozilla-thunderbird-bin-1.5'; then
                        MOZILLA_FIVE_HOME="/opt/thunderbird"
                        xpi_install ${S}/opt/google/desktop/plugin/thunderbird \
                        || die "xpi install for thunderbird-bin failed!"
                fi
        fi

        # Update env.d
        dodir /etc/env.d
        echo "LDPATH=/opt/google/desktop/lib64/" > ${D}${ENVDDIR}${ENVDFILE}
}

pkg_postinst ()
{
        env-update
        source /etc/profile
}

_________________
Please notice the back of this message.
Back to top
View user's profile Send private message
Shining Arcanine
Veteran
Veteran


Joined: 24 Sep 2009
Posts: 1110

PostPosted: Sat Aug 21, 2010 11:21 pm    Post subject: Reply with quote

That looks like a 32-bit package to me. The big give away is "i386".
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64 All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum