LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 05-04-2005, 12:32 PM   #1
acidjuice
Member
 
Registered: Jan 2005
Location: a tiny spot on the iceberg
Distribution: Slackware 10.1 (dropline 2.10, kernel 2.6.11.6)
Posts: 320

Rep: Reputation: 30
packaging gnome


dear all,

i am slowly thinking of start packaging gnome for slamd64, however before i take boring and wrong steps i'd like to know your experience.

what would you suggest to do such a thing, i believe of course stuff like gargnome are completely out of the question.

...any ideas?

thanks,

aj.
 
Old 05-04-2005, 01:05 PM   #2
Shade
Senior Member
 
Registered: Mar 2003
Location: Burke, VA
Distribution: RHEL, Slackware, Ubuntu, Fedora
Posts: 1,418
Blog Entries: 1

Rep: Reputation: 46
Be prepared to pull your hair out

--Shade
 
Old 05-04-2005, 01:47 PM   #3
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
I made build scripts for all of 2.8.3... They work wonderfully. They're not 'true" .SlackBuild scripts because they don't build the package at the end. I prefer to do that manually once I visually inspect the package to make sure all is well. But, yea.... Get ready to waste some time. I'd say the key is to make sure you update key things via your doinst.sh's... If you don't, you'll have a hosed Gnome. For example, a package that is designed to work with scrollkeeper, you have to have this in the doinst.sh
Code:
if [ -x /usr/bin/scrollkeeper-update ]; then
  /usr/bin/scrollkeeper-update -p /var/lib/scrollkeeper 1> /dev/null 2> /dev/null
fi
There are several others as well besides scrollkeeper. I'm pretty sure these are all of them:

1. scrollkeeper-update
2. gconftool-2
3. update-desktop-database
4. gtk-update-icon-cache
5. gdk-pixbuf-query-loaders

If you use those where required, you'll end up with a tight Gnome desktop right from the get-go....
 
Old 05-04-2005, 02:33 PM   #4
acidjuice
Member
 
Registered: Jan 2005
Location: a tiny spot on the iceberg
Distribution: Slackware 10.1 (dropline 2.10, kernel 2.6.11.6)
Posts: 320

Original Poster
Rep: Reputation: 30
Quote:
Originally posted by Shade
Be prepared to pull your hair out
if only i had any
 
Old 05-04-2005, 02:35 PM   #5
acidjuice
Member
 
Registered: Jan 2005
Location: a tiny spot on the iceberg
Distribution: Slackware 10.1 (dropline 2.10, kernel 2.6.11.6)
Posts: 320

Original Poster
Rep: Reputation: 30
Quote:
Originally posted by jong357
1. scrollkeeper-update
2. gconftool-2
3. update-desktop-database
4. gtk-update-icon-cache
5. gdk-pixbuf-query-loaders
will check these out. as the total beginner i'm in this i actually do not even know where to start from, these might be a good place to. thanks.
 
Old 05-04-2005, 06:38 PM   #6
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
Sure... If your really stuck I can tarball some or all of my scripts/doinst.sh's for you to look at. Why re-invent the wheel is my philosophy.... Actually, I took LiNuce's doinst.sh's and made them my own with a bit of formatting... No offense tho, I shuddered at his build scripts.... Ugh.... So I made my own scripts that are just like Pat's except I remove the ARCH/BUILD variables from up top and remove the very end makepkg line... Now that I know they all work flawlessly, I kind of wish I would have left that stuff in there... Oh well.
 
Old 05-04-2005, 07:59 PM   #7
AxelFendersson
Member
 
Registered: Mar 2004
Location: Darkest Oxfordshire
Distribution: Arch, Slackware
Posts: 184

Rep: Reputation: 32
You might want to have a look at the GSB scripts as a starting point.
 
Old 05-05-2005, 05:57 AM   #8
acidjuice
Member
 
Registered: Jan 2005
Location: a tiny spot on the iceberg
Distribution: Slackware 10.1 (dropline 2.10, kernel 2.6.11.6)
Posts: 320

Original Poster
Rep: Reputation: 30
i have a feeling that this is way out of my hands.

looked at the scripts: it's 230 KB of compressed scripts of which i wouldn't know where to put my hands on to begin.

i'd feel like installing slamd64 (which is without gnome) and then building it up, manually, to see how it works. then, encode all this into a script.

do you know how to build manually gnome from the start? i downloaded all the source tarballs available here.

any additional help more than welcomed.. once i succeed in building gnome manually i'll start building scripts for it...

thank you,

aj.

Last edited by acidjuice; 05-05-2005 at 06:10 AM.
 
Old 05-05-2005, 07:05 AM   #9
acidjuice
Member
 
Registered: Jan 2005
Location: a tiny spot on the iceberg
Distribution: Slackware 10.1 (dropline 2.10, kernel 2.6.11.6)
Posts: 320

Original Poster
Rep: Reputation: 30
found this, valid for gnome 2.8:

External Dependencies
• pkg-config, available at http://www.freedesktop.org/software/...-0.15.0.tar.gz
• The Xft2 and fontconfig family of libraries, available at http://fontconfig.org/. Note that while these libraries are available as part of XFree86 4.3, the newer versions from fontconfig.org are highly recommended.
• FreeType 2.0.9 or greater, available at http://www.freetype.org/
• docbook-xml [docbook dtd 4.1.2]
• docbook-xsl [docbook xsl stylesheets]
• shared-mime-info
• hicolor-icon-theme

Development Library dependencies
• libpng
• libjpeg
• libtiff
• XFree86
• libpopt
• libbbz2
• zlib
• libfam
• libgpg-error
• libgcrypt
• libtasn1
• opencdk
• gnutls
• libgsf
• libcroco
• mozilla

GNOME 2.8 Installation Order
• libxml2
• libxslt
• gtk-doc
• glib
• libIDL
• ORBit2
• intltool
• libbonobo
• pango
• atk
• gtk+
• gconf
• desktop-file-utils
• gnome-mime-data
• gnome-vfs
• audiofile
• esound
• libgnome
• libart_lgpl
• libglade
• libgnomecanvas
• libbonoboui
• gnome-icon-theme
• gnome-keyring
• libgnomeui
• startup-notification
• gtk-engines
• gnome-themes
• scrollkeeper
• gnome-desktop
• libwnck
• libsoup
• evolution-data-server
• gnome-panel
• gnome-session
• vte
• gnome-terminal
• libgtop
• gail
• libxklavier
• gnome-applets
• metacity
• librsvg
• eel
• nautilus
• gnome-control-center
• gtkhtml2
• gnome-doc-utils
• yelp
• bug-buddy
• libgnomecups
• libgnomeprint
• libgnomeprintui
• gtksourceview
• gedit
• eog
• ggv
• gconf-editor
• gnome-utils
• procman
• gstreamer
• gst-plugins
• gnome-media
• nautilus-media
• gnome-netstatus
• gcalctool
• gpdf
• gucharmap
• nautilus-cd-burner
• zenity
• at-spi
• libgail-gnome
• gnome-speech
• gnome-mag
• gnopernicus
• gok
• epiphany
• gnome-games
• gnome-user-docs
• file-roller
• gnome-system-tools
• gnome-nettool
• vino
• dbus
• hal
• gnome-volume-manager
• gal
• gtkhtml
• evolution
• evolution-webcal
• gnomemeeting
• libsigc++
• glibmm
• gtkmm
• libgnomemm
• libgnomecanvasmm
• libglademm
• libgnomeuimm
• gnome-vfsmm
• libgtk-java
• libgconf-java
• libglade-java
• libgnome-java
• Glib (perl)
• Gtk2 (perl)
• Gnome2 (perl)
• Gnome2-Canvas (perl)
• Gtk2-GladeXML (perl)
• Gnome2-VFS (perl)
• Gnome2-GConf (perl)
• pygtk


...if i install every package in THIS order will it work?

Last edited by acidjuice; 05-05-2005 at 08:20 AM.
 
Old 05-05-2005, 03:25 PM   #10
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
It's supposed to... For some reason, I don't trust that page. Following their build order twice before didn't work for me if I remember correctly. You also don't need some of that stuff actually. This is how I do it. 2.8.3 runs great in this order.

Code:
 pkgconfig-0.15.0
 glib-2.6.1
 atk-1.9.0
 popt-1.7-5
 desktop-file-utils-0.10
 pango-1.8.0
 gtk+-2.6.1
 gtk-engines-2.6.2
 libxml2-2.6.16
 libxslt-1.1.12
 libcroco-0.6.0
 shared-mime-info-0.15
 hicolor-icon-theme-0.5
 libidl-0.8.4
 orbit2-2.12.0
 gconf-2.8.1
 libbonobo-2.8.1
 audiofile-0.2.6
 esound-0.2.35
 intltool-0.32.1
 gnome-themes-2.8.2
 gnome-mime-data-2.4.2
 portmap-5beta
    tcpwrappers
 fam-2.7.0
 gnome-vfs-2.8.3
 libgsf-1.11.1
 libgnome-2.8.0
 libart_lgpl-2.3.16
 librsvg-2.8.1
 libglade-2.4.1
 libgnomecanvas-2.8.0
 libbonoboui-2.8.0
 gnome-keyring-0.4.0
 libgnomeui-2.8.0
 gnome-icon-theme-2.8.0
 scrollkeeper-0.3.14
 startup-notification-0.8
 gnome-desktop-2.8.3
 libwnck-2.8.1
 libsoup-2.2.3
 evolution-data-server-1.2.1
 gnome-panel-2.8.3
 gnome-session-2.8.1
 vte-0.11.12
 gnome-terminal-2.8.2
 libgtop-2.8.3
 gail-1.8.2
 libgtkhtml-2.6.3
 libxklavier-1.11
 gnome-applets-2.8.2
 eel-2.8.2
 nautilus-2.8.2
 gstreamer-0.8.9
 gst-plugins-0.8.8
 metacity-2.8.6
 control-center-2.8.1
 gnome2-user-docs-2.8.1
 gnome-doc-utils-0.1
 yelp-2.6.4

 libgnomecups-0.1.13
 libgnomeprint-2.8.0.1
 libgnomeprintui-2.8.0
 file-roller-2.8.4
 gtksourceview-1.2.0
 aspell-0.60.2
 gedit-2.8.3
 gconf-editor-2.8.2
 gnome-utils-2.8.1
 gnome-system-monitor-2.8.3
 gnome-media-2.8.0
 nautilus-media-0.8.1
 gnome-netstatus-2.8.0
 nautilus-cd-burner-2.8.7
    cdrtools-2.01
 zenity-2.8.2
 at-spi-1.6.3
 libgail-gnome-1.1.0
 gcalctool-4.4.22
 gpdf-2.8.3
 gucharmap-1.4.3
 gdm-2.6.0.6
 gal-2.4.1
 gtkhtml-3.6.2
 evolution-2.2.1.1
 bug-buddy-2.8.0
 gimp-2.2.3
    check dependencies
 eog-2.8.2
    libexif-0.6.12
 ggv-2.8.4
    espgs-7.07.1
 epiphany-1.4.8
    mozilla-1.7.6 or firefox-1.0.2 or thunderbird-1.0.2
 gnome-games-2.8.3
    guile-1.6.7
 gftp-2.0.18
 gthumb-2.6.4
There are a few packages that need to be built before any of that but you should have them already.. Like:

• libpng
• libjpeg
• libtiff
• XFree86
• FreeType 2.0.9 or greater
• Xft2 and fontconfig

My documentation isn't the best though so you should probably try the Gnome list. I just noticed I don't have "docbook-xml-4.3" listed... I must have been on a roll and forgot to insert that one.... It's requirements are libxml2, so it's perfectly safe to put that one right under libxml2..... You get the idea. Just a huge dependency chain. There are also some on the Gnome list that you don't need. Like docbook-xsl.. I also don't use dbus or gtk-doc. Why use gtk-doc when most of the programs already make their own gtk docs? I could go on and on and on about the idiosyncrasies of building Gnome.

Those are the versions I used months ago. There are updated packages for alot of them. Like GTK2 for example. fam and portmap are extras. I just wanted Nautilus to automatically update when changes were made... Well, anyway...
 
Old 05-05-2005, 05:53 PM   #11
acidjuice
Member
 
Registered: Jan 2005
Location: a tiny spot on the iceberg
Distribution: Slackware 10.1 (dropline 2.10, kernel 2.6.11.6)
Posts: 320

Original Poster
Rep: Reputation: 30
wow!

thank you jong!

this looks precious. what do you go about this? did you individually change .config files before makeinstalls or you went by default?

i'm looking forward to installing slamd64, though i'll have to say bye to slack for some time... and before i do this i want to have the correct information on how to proceed.

it's really incredible how things are sometimes organized with gnome. they spend 2 months to invert 'cancel' with 'ok' button, and then on 2.10 they take away menu management! talking about idiosyncrasies...

it seems the same is done here. why the hell such a simple information such as this one of a package building order is impossible to find anywhere... why! this really is mistery to me. i feel like programming my very own gnome panel, these kind of feeling. oh well.

back to the point.

you seem to be saying that

• ibpng
• libjpeg
• libtiff
• XFree86
• FreeType 2.0.9 or greater
• Xft2 and fontconfig

correspond therefore to what gnome devels are stating.

would this seem ok for you? i install the above (if not yet installed, or maybe i'd figure an upgrade) and then install your list?

then all i'd have to do is build a package out of every compile i do on a 64 arch, and build a script that will install them on a target machine in the same order... seems cool?
 
Old 05-05-2005, 11:12 PM   #12
jong357
Senior Member
 
Registered: May 2003
Location: Columbus, OH
Distribution: DIYSlackware
Posts: 1,914

Rep: Reputation: 52
Quote:
[B]did you individually change .config files before makeinstalls or you went by default?
Um, not sure what you mean there.. I didn't have to edit any makefiles if thats what you mean... I set MAKEOPTS, CFLAGS and CXXFLAGS globaly in /etc/bashrc. That way I don't have to worry about incorporating them into each build script. I still do customized ./configure options where appropriate in the build scripts. After the script is done I 'cd' into the package directory and then run makepkg and then installpkg... Then move on to the next one... You don't have to make build scripts of course...
Quote:
it's really incredible how things are sometimes organized with gnome. they spend 2 months to invert 'cancel' with 'ok' button, and then on 2.10 they take away menu management! talking about idiosyncrasies...
I know... I'm extremly unhappy with the direction Gnome has been going. 2.8.3 may very well be my last build...

Quote:
you seem to be saying that

• ibpng
• libjpeg
• libtiff
• XFree86
• FreeType 2.0.9 or greater
• Xft2 and fontconfig

correspond therefore to what gnome devels are stating.

would this seem ok for you? i install the above (if not yet installed, or maybe i'd figure an upgrade) and then install your list?
Right... Those should be installed first.

Quote:
then all i'd have to do is build a package out of every compile i do on a 64 arch, and build a script that will install them on a target machine in the same order... seems cool?
Right... Thats a good idea. It's about the only thing I have left to do that I've been shirking, is making an install script... I haven't formatted since I built/installed the packages... No need for an install script now since I installed each one right after I built them. I'll get around to it sooner or later, I'm sure.

I was kind of taken with LFS's approach to Gnome. eg - using:
Code:
./configure --prefix=`pkg-config --variable=prefix ORBit-2.0` \
    --libexecdir=`pkg-config --variable=prefix ORBit-2.0`/sbin
Pretty cool IMO... So, whatever prefix you give Orbit2, thats going to be the prefix using the above. I installed Orbit2 in /usr, like Gnome packages traditionally are. So, really, thats the same thing as:

Code:
./configure --prefix=/usr \
    --libexecdir=/usr/sbin
I also liked the idea of clumping all the sysconfig files into /etc/gnome, not just /etc
Code:
    --sysconfdir=/etc/gnome
whew.... ALSO.... I was fairly impressed with LiNuCe's doinst.sh's as I've said so there are some tricks to getting schemas in place and registered upon install (along with the others that I listed a couple posts back). Here's my file-roller build script. This shows you how schemas are handled with the package.
Code:
#!/bin/sh
CWD=`pwd`
TMP=/tmp
PKG=$TMP/package-file-roller
VERSION=2.8.4

rm -rf $PKG
mkdir -p $PKG

cd $TMP
rm -rf file-roller-$VERSION
tar xjvf $CWD/file-roller-$VERSION.tar.bz2
cd file-roller-$VERSION
chown -R root.root .
find . -perm 777 -exec chmod 755 {} \;
find . -perm 664 -exec chmod 644 {} \;
./configure --prefix=`pkg-config --variable=prefix ORBit-2.0` \
    --localstatedir=/var/lib \
    --sysconfdir=/etc/gnome
make
make install DESTDIR=$PKG

( cd $PKG
  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
)

mkdir -p $PKG/install
cat $CWD/desc.file-roller > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
( cd $PKG ; ls etc/gnome/gconf/schemas/*.schemas ) > $PKG/install/schemas
chmod 644 $PKG/install/schemas

echo
echo "All Done!"
echo "Your package is ready to be built."
echo
echo "Issue a 'makepkg' from within $PKG"
echo
Here is the coresponding doinst.sh:
Code:
if [ -x /usr/bin/scrollkeeper-update ]; then
  /usr/bin/scrollkeeper-update -p /var/lib/scrollkeeper 1> /dev/null 2> /dev/null
fi
if [ -x usr/bin/gconftool-2 ]; then
	GCONF_CONFIG_SOURCE=`chroot . usr/bin/gconftool-2 --get-default-source`
	export GCONF_CONFIG_SOURCE
	for schema in `cat install/schemas`
	do
		chroot . usr/bin/gconftool-2 --makefile-install-rule $schema \
		1>/dev/null 2>/dev/null
	done
fi
rm -f install/schemas
if [ -x usr/bin/update-desktop-database ]; then
	chroot . usr/bin/update-desktop-database 1>/dev/null 2>/dev/null
fi
The main thing is to know when to use what command for which doinst.sh... :-) Like I said, If you do that, you have a smooth running Gnome.

Last edited by jong357; 05-05-2005 at 11:20 PM.
 
Old 05-06-2005, 04:59 AM   #13
acidjuice
Member
 
Registered: Jan 2005
Location: a tiny spot on the iceberg
Distribution: Slackware 10.1 (dropline 2.10, kernel 2.6.11.6)
Posts: 320

Original Poster
Rep: Reputation: 30
again, thank you.

i will keep these scripts for reference.

i also contacted the GBS team (which is packaging gnome 2.10 for slackware) and they got back to me for this idea of packaging gnome 2.10 for slamd64.

they will send me detailed instructions on how they do it during this weekend.

i will then give it a try and hopefully come up with something for all of you 64 slackware archers out there.

hopefully this IS interesting some one well at least it is interesting me.

any comments still more than welcomed,

cheers,

aj.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
packaging in java mystic_durle12 Programming 2 10-31-2005 10:41 PM
New to Debian packaging ernesto_cgf Debian 3 04-25-2005 01:59 PM
Packaging ArulPrabhuT Linux - Software 1 09-24-2004 06:57 PM
Packaging doesn't work juho1985 Linux - Hardware 0 08-20-2004 05:15 AM
Packaging Software crichards Programming 2 03-09-2003 03:25 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 06:24 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration