problem building from trunk in KDE

Bug #683280 reported by Seif Lotfy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Zeitgeist Framework
Fix Released
Wishlist
Seif Lotfy

Bug Description

Building zeitgeist from trunk requires gnome-common since we use gnome-autogen.sh
While this makes our lives easy in GNOME, KDE people don't really want to install it. So there must be another way to build from trunk easily.
Building from a source package works. But again some devs want trunk. Lets make this easier for them.

Related branches

Revision history for this message
Seif Lotfy (seif) wrote :

I started editing autogen.sh but my knowledge here is limited
This might help a bit I guess
-----------------

#! /bin/sh
# Run this to generate all the initial makefiles, etc.

srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.

PKG_NAME=zeitgeist

(test -f $srcdir/zeitgeist-daemon.py) || {
 echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
 echo " top-level $PKG_NAME directory"
 exit 1
}

which rapper || {
 echo "You need to install raptor-utils"
 exit 1
}

(grep "^AC_PROG_INTLTOOL" "$CONFIGURE" >/dev/null) && {

  (intltoolize --version) < /dev/null > /dev/null 2>&1 || {
  echo
  echo "**Error**: You must have \`intltoolize' installed" \
 "to compile $PKG_NAME."
  DIE=1
  }
}

(autoconf --version) < /dev/null > /dev/null 2>&1 || {
        echo
        echo "You must have autoconf installed to compile $package."
        echo "Download the appropriate package for your distribution,"
        echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
        DIE=1
}

(automake --version) < /dev/null > /dev/null 2>&1 || {
        echo
        echo "You must have automake installed to compile $package."
 echo "Download the appropriate package for your system,"
 echo "or get the source from one of the GNU ftp sites"
 echo "listed in http://www.gnu.org/order/ftp.html"
        DIE=1
}

(libtool --version) < /dev/null > /dev/null 2>&1 || {
 echo
 echo "You must have libtool installed to compile $package."
 echo "Download the appropriate package for your system,"
 echo "or get the source from one of the GNU ftp sites"
 echo "listed in http://www.gnu.org/order/ftp.html"
 DIE=1
}

(pkg-config --version) < /dev/null > /dev/null 2>&1 || {
        echo
        echo "You must have pkg-config installed to compile $package."
        echo "Download the appropriate package for your distribution."
               result="no"
        DIE=1
}

if test "$DIE" -eq 1; then
        exit 1
fi

if test -z "$*"; then
        echo "I am going to run ./configure with no arguments - if you wish "
        echo "to pass any to it, please specify them on the $0 command line."
fi

echo "Generating configuration files for $package, please wait...."

echo " aclocal $ACLOCAL_FLAGS"
aclocal $ACLOCAL_FLAGS
#echo " autoheader"
#autoheader
echo " libtoolize --automake"
libtoolize --automake
echo " automake --add-missing $AUTOMAKE_FLAGS"
automake --add-missing $AUTOMAKE_FLAGS
echo " autoconf"
autoconf

$srcdir/configure "$@" && echo

Changed in zeitgeist:
milestone: none → 0.7.0
Revision history for this message
Michal Hruby (mhr3) wrote :
Revision history for this message
Harald Sitter (apachelogger) wrote :

I'd like to propose CMake as build system.
CMake is used by KDE and various other projects (not only KDE associated ones ;)) I hear packagekit is also working on porting their build system to CMake for example.

CMake has excellent cross platform support, which will probably at some point become a topic for zeitgeist. CMake has one consistent language, thus making it a lot easier for new people to learn it, which is permitting new contributors a quick start. Also the CMake syntax is very simple. CMake includes a testing framework. Depending on who you ask, CMake is easy to use (`cmake .` or `mkdir build && cd build && cmake ..` for out of source builds). It is also capable of generating project files for various IDEs. Finally I'd like to mention that due to modular design and the very simple syntax it requires incredibly little to enhance one's build system with new functionality (KDE does this a lot).

My personal killer feature of CMake: it adds progress indication to make :)

Please consider this a free porting offer.

Revision history for this message
Markus Korn (thekorn) wrote :

Ok, first of all, thanks Harald for the input and your offer, as much as I appreciate it I don't think we really want to move to some random other build system.
Installing gnome-common shouldn't be a problem for anyone, because this package has no gnome specific dependencies.
A downside of moving to cmake is that (afaik) noone in our core team has experience with cmake, which makes maintaining the build system hard for us.
If we decide to switch the build system (someone has to come up with a very good reason in this bug, please) we should move to a system which is optimized to what we need - building python packages, distutils seems to be the only alternative for me.

Revision history for this message
Seif Lotfy (seif) wrote : Re: [Bug 683280] Re: problem building from trunk in KDE

I fully agree with Markus. Since no one in the core team is familiar with
cmake I think its not an option.
distutils is our only alternative. Other than that we could copy the sh
gnome-autogen.sh script.

I do understand why KDE react badly on having to install "gnome-common"
since it has "gnome in it" but I think developers will understand that its
only for building from source.

I think we can drop this then.

On Sun, Dec 5, 2010 at 7:33 PM, Markus Korn <email address hidden> wrote:

> Ok, first of all, thanks Harald for the input and your offer, as much as I
> appreciate it I don't think we really want to move to some random other
> build system.
> Installing gnome-common shouldn't be a problem for anyone, because this
> package has no gnome specific dependencies.
> A downside of moving to cmake is that (afaik) noone in our core team has
> experience with cmake, which makes maintaining the build system hard for us.
> If we decide to switch the build system (someone has to come up with a very
> good reason in this bug, please) we should move to a system which is
> optimized to what we need - building python packages, distutils seems to be
> the only alternative for me.
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/683280
>
> Title:
> problem building from trunk in KDE
>
> Status in Zeitgeist Framework:
> New
>
> Bug description:
> Building zeitgeist from trunk requires gnome-common since we use
> gnome-autogen.sh
> While this makes our lives easy in GNOME, KDE people don't really want to
> install it. So there must be another way to build from trunk easily.
> Building from a source package works. But again some devs want trunk. Lets
> make this easier for them.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/zeitgeist/+bug/683280/+subscribe
>

--
This is me doing some advertisement for my blog http://seilo.geekyogre.com

Revision history for this message
Manish Sinha (मनीष सिन्हा) (manishsinha) wrote :

gnome-common has dependency
* autoconf
* automake
* libtool
* pkg-config
* gettext
* intltool

Even though I dislike autoconf and anything auto*, atleast it is a bit familiar.

Seif Lotfy (seif)
Changed in zeitgeist:
assignee: nobody → Seif Lotfy (seif)
status: New → In Progress
importance: Undecided → Wishlist
Seif Lotfy (seif)
Changed in zeitgeist:
status: In Progress → Fix Committed
Seif Lotfy (seif)
Changed in zeitgeist:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.