SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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:
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.
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
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.
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...
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?
[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:
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:
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.