VectorLinux
November 22, 2014, 08:31:39 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Visit our home page for VL info. To search the old message board go to http://vectorlinux.com/forum1. The first VL forum is temporarily offline until we can find a host for it. Thanks for your patience.
 
Now powered by KnowledgeDex.
   Home   Help Search Login Register  
Please support VectorLinux!
Pages: [1]
  Print  
Author Topic: Building evolution-2.32.2 for VL7  (Read 3607 times)
hata_ph
Packager
Vectorian
****
Posts: 3259


-- Just being myself --


« on: March 29, 2011, 11:28:51 pm »

I am trying to build evolution-2.32.2 for VL7 but it encounter some malfunction...I reported the issue to Evolution bugzilla and they told me is is gconf schema issue. In order to build gtkhtml (a dependency for evolution) I have to recompile gconf to 2.32.1. I cannot build using the VL7B2 default gconf due to missing error saying missing file (pls refer below link). Do anyone have any idea about the gconf schema issue?

http://forum.vectorlinux.com/index.php?topic=13403.msg81536#msg81536

https://bugzilla.gnome.org/show_bug.cgi?id=646176
Logged
uelsk8s
Administrator
Vectorian
*****
Posts: 2504



« Reply #1 on: March 30, 2011, 05:53:02 am »

maybe you need something like this in your slackbuild
Code:
# Add schemas install to the doinst.sh if schemas are found.
[ -d $PKG/etc/gconf/schemas ] && {
# Make sure we have gconftool installed
echo "if [ -x usr/bin/gconftool-2 ]; then" >> $PKG/install/doinst.sh
( cd $PKG/etc/gconf/schemas
for schema in *.schemas; do
 # Install schemas
 echo "GCONF_CONFIG_SOURCE=\"xml::etc/gconf/gconf.xml.defaults\" \
   usr/bin/gconftool-2 --makefile-install-rule \
   etc/gconf/schemas/${schema} >/dev/null 2>&1" \
   >> $PKG/install/doinst.sh
done;
)
# Finish off gconf block
echo "fi" >> $PKG/install/doinst.sh
}

there is also a doinst.sh here you may want to use
Logged
hata_ph
Packager
Vectorian
****
Posts: 3259


-- Just being myself --


« Reply #2 on: March 30, 2011, 04:26:39 pm »

OK. I will give it a try...

EDIT:

Seem like it is working but still show some error

Quote
benreilly:$ evolution
/home/benreilly/.gtkrc-2.0:15: Unable to find include file: "~/.gtkrc-2.0.mine"

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed

(evolution:2917): evolution-shell-CRITICAL **: shell_settings_pspec_for_key: assertion `schema_name != NULL' failed
Migrating cached data
  mv /home/benreilly/.evolution/cache/tmp /home/benreilly/.cache/evolution/tmp
  FAILED: Directory not empty
  rmdir /home/benreilly/.evolution/cache
  FAILED: Directory not empty (contents follows)
          tmp
Migrating config data
  mv /home/benreilly/.evolution/mail/searches.xml /home/benreilly/.config/evolution/mail/searches.xml
  FAILED: Destination file already exists
Migrating local user data
  rmdir /home/benreilly/.evolution/mail
  FAILED: Directory not empty (contents follows)
          searches.xml
  rmdir /home/benreilly/.evolution/cache
  FAILED: Directory not empty (contents follows)
          tmp

(evolution:2917): GLib-GObject-WARNING **: g_object_get_valist: object class `EShellSettings' has no property named `mailto-handler-command'
/home/benreilly/.gtkrc-2.0:15: Unable to find include file: "~/.gtkrc-2.0.mine"
e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: No matching results)
e-data-server-ui-Message: Key file does not have group 'Passwords-Mail'

(evolution:2917): e-utils-WARNING **: EShellSettings instances have no 'disable-printing' property to bind to

(evolution:2917): e-utils-WARNING **: EShellSettings instances have no 'disable-print-setup' property to bind to

(evolution:2917): e-utils-WARNING **: EShellSettings instances have no 'disable-save-to-disk' property to bind to

(evolution:2917): GLib-GObject-CRITICAL **: Object class EMFolderTree doesn't implement property 'paste-target-list' from interface 'ESelectable'

(evolution:2917): GLib-GObject-CRITICAL **: Object class EMFolderTree doesn't implement property 'copy-target-list' from interface 'ESelectable'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): evolution-mail-WARNING **: search_address_in_addressbooks: Unable to open addressbook 'Personal': Cannot open book: db error 0x2 (No such file or directory)
(evolution:2917): libebook-DEBUG: GDBus connection is closed, remote peer vanished

(evolution:2917): evolution-mail-WARNING **: search_address_in_addressbooks: Unable to open addressbook 'Personal': Cannot open book: db error 0x2 (No such file or directory)

(evolution:2917): evolution-mail-WARNING **: search_address_in_addressbooks: Unable to open addressbook 'Personal': Cannot open book: db error 0x2 (No such file or directory)

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

(evolution:2917): GLib-GObject-WARNING **: g_object_get_property: object class `EShellSettings' has no property named `disable-printing'

This is my evolution.SlackBuild

Quote
#!/usr/bin/bash
# This script assumes it will be launched within "/NAME/VERSION/src" dir.
# With all sources in "src" Your Vector Linux .tlz package, slack-desc,
# and slack-required will be found in "VERSION" dir. The extraction and
# build will be in a temp dir created in "NAME" dir, and then removed on exit.
# Comment out second to last line to keep this dir intact.
#
# This Template was compiled from the contributions of many users of the Vector
# Linux forum at http://forum.vectorlinux.com and from tidbits collected
# from all over the internet.
#
# Generated by sbbuilder-0.4.12.3, written by Rodrigo Bistolfi
# (rbistolfi) and Raimon Grau Cuscó (Kidd) for VectorLinux.
#
# Please put your name below if you add some original scripting lines.
# AUTHORS =

NAME="evolution"            #Enter package Name!
VERSION=${VERSION:-"2.32.2"}      #Enter package Version!
VER=$(echo $VERSION|sed 's/-/_/') #this fixes - in version
VL_PACKAGER=${VL_PACKAGER:-"hata_ph"}   #Enter your Name!
LINK=${LINK:-""}  #Enter URL for package here!


#SYSTEM VARIABLES
#----------------------------------------------------------------------------
BUILDNUM=${BUILDNUM:-"1"}
VL_VERSION=${VL_VERSION:-"$(ls /var/log/packages/|grep vlconfig2|cut -d "-" -f4|cut -c 2-5)"}
BUILD=${BUILD:-"$BUILDNUM""$VL_VERSION"}
ARCH=${ARCH:-"$(uname -m)"}
CONFIG_OPTIONS=${CONFIG_OPTIONS:-""}
LDFLAG_OPTIONS=${LDFLAG_OPTIONS:-""}
ADDRB=${ADDRB:-"gnome-desktop >= 2.32.1"} #Add deps that need to be added to the slack-required file here
EXRB=${EXRB:-""} #Add deps that need to be excluded from the slack-required file here
#----------------------------------------------------------------------------


#SETUP PACKAGING ENVIRONMENT
#--------------------------------------------
CWD=$(pwd)
cd ../
RELEASEDIR=$(pwd)
cd $CWD
mkdir -p $RELEASEDIR/tmp
TMP=$RELEASEDIR/tmp
PKG=$TMP/package-$NAME
#--------------------------------------------



if [ $UID != 0 ]; then
   echo "You are not authorized to run this script. Please login as root"
   exit 1
fi

if [ ! -x /usr/bin/requiredbuilder ]; then
   echo "Requiredbuilder not installed, or not executable."
   exit 1
fi

if [ $VL_PACKAGER = "YOURNAME" ]; then
   echo 'Who are you?
   Please edit VL_PACKAGER=${VL_PACKAGER:-YOURNAME} in this script.
   Change the word "YOURNAME" to your VectorLinux packager name.
   You may also export VL_PACKAGER, or call this script with
   VL_PACKAGER="YOUR NAME HERE"'
   exit 1
fi


#CFLAGS SETUP
#--------------------------------------------
if [[ "$ARCH" = i?86 ]]; then
  ARCH=i586
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  CONFIGURE_TRIPLET="i486-slackware-linux"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fpic"
  CONFIGURE_TRIPLET="x86_64-slackware-linux"
  LIBDIRSUFFIX="64"
elif [ "$ARCH" = "powerpc" ]; then
  SLKCFLAGS="-O2"
  CONFIGURE_TRIPLET="powerpc-vlocity-linux"
  LIBDIRSUFFIX=""
fi

export CFLAGS="$SLKCFLAGS $CFLAG_OPTIONS"
export CXXFLAGS=$CFLAGS
export LDFLAGS="$LDFLAGS $LDFLAG_OPTIONS"
#--------------------------------------------


#GET THE SOURCE
#--------------------------------------------
for SRC in $(echo $LINK);do
if [ ! -f $CWD/$(basename $SRC) ]
then
        wget -c $SRC
fi
done
#--------------------------------------------


rm -rf $PKG
mkdir -p $PKG
cd $TMP
rm -rf $NAME-$VERSION


#EXTRACT SOURCES
#-----------------------------------------------------
echo "Extracting source..."
tar xvf $CWD/$NAME-$VERSION.tar.* || exit 1
#-----------------------------------------------------


cd $TMP/$NAME-$VERSION

# Put any Patches into a patches folder in the src dir
#-----------------------------------------------------
#for i in $CWD/patches/*;do
#   patch -p0 <$i
#done

# Use NSS/NSPR only if 'ssl' is enabled.
#sed -e 's|mozilla-nss|nss|' \
#   -e 's|mozilla-nspr|nspr|' \
#   -i configure.ac configure || die "sed 2 failed"

# Fix compilation flags crazyness
sed -e 's/-D.*_DISABLE_DEPRECATED//' \
   -i configure.ac configure || die "sed 1 failed"
#-----------------------------------------------------


#SET PERMISSIONS
#-----------------------------------------
echo "Setting permissions..."
chown -R root:root .
find . -perm 664 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 2777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 2755 -exec chmod 755 {} \;
find . -perm 774 -exec chmod 644 {} \;
find . -perm 666 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;
#-----------------------------------------



#CONFIGURE & MAKE
#----------------------------------------------------------------------
# If you are building a KDE-related app, then change the following
# arguments in the script below:
# --prefix=$(kde-config -prefix) \
# --sysconfdir=/etc/kde \
#
# Making these changes will ensure that your package will build in the
# correct path and that it will work seamlessly within the KDE environment.
#
#-----------------------------------------------------------------------

echo "Configuring source..."
./configure --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --infodir=/usr/info \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --disable-scrollkeeper \
  --disable-nm \
  --disable-weather \
  --disable-image-inline \
  --disable-pst-import \
  --program-prefix="" \
  --program-suffix="" \
  --build=$CONFIGURE_TRIPLET \
  $CONFIG_OPTIONS || exit 1

make || exit 1

make install DESTDIR=$PKG || exit


#######################################################################
#Miscellenious tweaks and things outside a normal ./configure go here #
#######################################################################


mkdir -p $PKG/usr/doc/$NAME-$VERSION
cp -a ANNOUNCE* AUTHORS* BUGS* COPYING* ChangeLog* CHANGELOG* Credits* DEVELOPERS \
LICENSE* MANIFEST PROVENANCE README* TODO* Exception_to_GPL_for_Qt.txt \
$PKG/usr/doc/$NAME-$VERSION
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild

#----------------------------------------------------------------------

if [ -d $PKG/usr/share/man ] ; then
mkdir -p $PKG/usr/man
mv $PKG/usr/share/man/* $PKG/usr/man
rm -rf $PKG/usr/share/man
fi
find $PKG/usr/man -type f -exec gzip -9 {} \;

if [ -d $PKG/usr/share/info ] ; then
mkdir -p $PKG/usr/info
mv $PKG/usr/share/info/* $PKG/usr/info
rm -rf $PKG/usr/share/info
fi

find $PKG/usr/info -type f -exec gzip -9 {} \;
mkdir -p $PKG/install
if [ -d $PKG/usr/info ] ; then
cat >> $PKG/install/doinst.sh << EOF
CWD=\$(pwd)
cd usr/info
if [ -f dir ];then
    rm dir
fi
if [ -f dir.gz ];then
    rm dir.gz
fi
for i in *.info.gz;do
        install-info \$i dir
done
cd \$CWD
EOF
fi

mkdir -p $PKG/install
cat >> $PKG/install/doinst.sh << EOF
if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database -q /usr/share/applications >/dev/null 2>&1
fi

if [ -x /usr/bin/update-mime-database ]; then
  /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1
fi

if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
  if [ -x /usr/bin/gtk-update-icon-cache ]; then
    /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor >/dev/null 2>&1
  fi
fi
EOF

# Add schemas install to the doinst.sh if schemas are found.
[ -d $PKG/etc/gconf/schemas ] && {
# Make sure we have gconftool installed
echo "if [ -x usr/bin/gconftool-2 ]; then" >> $PKG/install/doinst.sh
( cd $PKG/etc/gconf/schemas
for schema in *.schemas; do
 # Install schemas
 echo "GCONF_CONFIG_SOURCE=\"xml::etc/gconf/gconf.xml.defaults\" \
   usr/bin/gconftool-2 --makefile-install-rule \
   etc/gconf/schemas/${schema} >/dev/null 2>&1" \
   >> $PKG/install/doinst.sh
done;
)
# Finish off gconf block
echo "fi" >> $PKG/install/doinst.sh
}

#if there is a slack-desc in src dir use it
if test -f $CWD/slack-desc; then
cp $CWD/slack-desc $RELEASEDIR/slack-desc
else
# This creates the white space in front of "handy-ruler" in slack-desc below.

LENGTH=$(expr length "$NAME")
SPACES=0
SHIM=""
until [ "$SPACES" = "$LENGTH" ]; do
SHIM="$SHIM "
let SPACES=$SPACES+1
done

# Fill in the package summary between the () below.
# Then package the description, License, Author and Website.
# There may be no more then 11 $NAME: lines in a valid slack-desc.

cat > $RELEASEDIR/slack-desc << EOF
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

$SHIM|-----handy-ruler------------------------------------------------------|
$NAME: $NAME (GNOME Email Suite)
$NAME:
$NAME: Evolution is the integrated mail, calendar and address book suite from
$NAME: the Evolution Team.
$NAME:
$NAME:
$NAME:
$NAME: License: GPL
$NAME: Authors: Refer to AUTHORS
$NAME: Website: http://projects.gnome.org/evolution/

EOF
fi
cat >> $RELEASEDIR/slack-desc << EOF



#----------------------------------------
BUILDDATE: $(date)
PACKAGER:  $VL_PACKAGER
HOST:      $(uname -srm)
DISTRO:    $(cat /etc/vector-version)
CFLAGS:    $CFLAGS
LDFLAGS:   $LDFLAGS
CONFIGURE: $(awk "/\.\/configure\ /" $TMP/$NAME-$VERSION/config.log)

EOF

cat $RELEASEDIR/slack-desc > $PKG/install/slack-desc

#STRIPPING
#------------------------------------------------------------------------------------------------------------------
cd $PKG
echo " "
echo "Stripping...."
echo " "
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
#------------------------------------------------------------------------------------------------------------------


#FINISH PACKAGE
#--------------------------------------------------------------
echo "Finding dependencies..."
ADD="$ADDRB" EXCLUDE="$EXRB" requiredbuilder -v -y -s $RELEASEDIR $PKG
echo "Creating package $NAME-$VERSION-$ARCH-$BUILD.txz"
makepkg -l y -c n $RELEASEDIR/$NAME-$VERSION-$ARCH-$BUILD.txz

cd $CWD
echo "Cleaning up temp files..." && rm -rf $TMP
echo "Package Complete"
#--------------------------------------------------------------

# vim: set tabstop=4 shiftwidth=4 foldmethod=marker : ##
« Last Edit: March 30, 2011, 05:20:59 pm by hata_ph » Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!