building GNOME [PATCH]
- From: "Mauro Condarelli" <MC5686 mclink it>
- To: gnome-list gnome org
- Subject: building GNOME [PATCH]
- Date: Sun, 11 Oct 1998 22:36:37 +0200
I found the following patches necessary to build GNOME packages
under a fairly standard debian-hamm installation.
I build from CVS.
I then "cp -rdps" the GNOME directory somewhere else and build there.
This is to preserve a "clean" CVS tree.
The CVS tree seems to contain a lot of things that IMHO shouldn't be there;
sometimes also Makefile's. If You are interested I can send a complete
list of the "spurious" files.
Several packages seem to need links to gnome-common/macros and/or
to gnome-common/intl; is this correct or do I do something wrong?
I attach the perl script I use to compile and the patches I found necessary.
*any* feedback would be welcome.
TiA
Mauro
Best Regards
Mauro Condarelli
#!/usr/bin/perl -w
use Cwd;
open(SAVEOUT, ">&STDOUT");
open(SAVEERR, ">&STDERR");
open(STDOUT, ">build.log") || die "Can't redirect stdout";
open(STDERR, ">&STDOUT") || die "Can't dup stdout";
select(STDERR); $| = 1; # make unbuffered
select(STDOUT); $| = 1; # make unbuffered
sub yesno {
print SAVEOUT @_, "[Yes|No]> ";
my $yn = <STDIN>;
chomp ($yn);
$yn =~ tr/A-Z/a-z/;
return $yn eq "yes";
}
if (! -d "GNOME") {
die "I can't see the GNOME source dir!\n";
}
if (-d "GNOME.build") {
if (yesno("Temporary dir present: do You want to refresh it? ")) {
system "rm -rf GNOME.build";
}
}
if (! -d "GNOME.build") {
mkdir "GNOME.build",0777;
system "cp -rdps `pwd`/GNOME/* GNOME.build";
}
chdir "GNOME.build";
chdir "ORBit";
if (! -d "libIDL") {
system "ln -s ../libIDL .";
print "Warning: ORBit/libIDL readjusted\n";
print SAVEOUT "Warning: ORBit/libIDL readjusted\n";
}
chdir "..";
chdir "ORBit-C++";
if (! -d "libIDL") {
system "ln -s ../libIDL .";
print "Warning: ORBit-C++/libIDL readjusted\n";
print SAVEOUT "Warning: ORBit/libIDL readjusted\n";
}
chdir "..";
chdir "baboon";
if (! -d "libgnorba") {
system "ln -s ../gnome-libs/libgnorba .";
print "Warning: baboon/libgnorba readjusted\n";
print SAVEOUT "Warning: baboon/libgnorba readjusted\n";
}
chdir "..";
chdir "libgtop";
if (! -d "support") {
system "ln -s ../gnome-common/support .";
print "Warning: libgtop/support readjusted\n";
print SAVEOUT "Warning libgtop/support readjusted\n";
}
chdir "..";
if (!yesno("Temporary dir ready: do You want to proceed? ")) {
exit 0;
}
#local variables specific to your installation
$prefix= "/opt/GNOME";
$gtk="/opt/GNOME";
$ENV{"ACLOCAL_FLAGS"} = "-I $prefix/share/aclocal";
$ENV{PATH}="$ENV{PATH}:$prefix/bin";
@order=qw(
glib
gtk+
imlib
ORBit
libgtop
libPropList
gimp
gnome-common
gnome-libs
gnome-objc
gnome-core
gnome-admin
gnome-network
gnome-utils
gnome-media
gnome-xml
gedit
fnlib
ee
achtung
mc
gnumeric
pharmacy
);
@ignore=qw(
CVS
CVSROOT
ORBit-C++
Resurrection
aorta
atlas
audiofile
baboon
build
config
dgs
dia
docs
gbook
gdm
genius
gimp-plugins-unstable
gimp2
giflib-3.0
gimp-data-min
gimp-data-extras
gle
gnome
gnome-common
gnome-chess
gnome-devel
gnome-perl
gnome-pilot
gnomefe
gnomefe-ac
gnomoney
gnoom
grpm
gsirc
gtk--
gtk--draw
gtk-engines
gtkDPS
gtkGL
gtk_tutorial
gtkfe
gtop-temp
libPropList
libgtop-apps
litespeed
moiss
nethack
pilot-link
posixfe
proxyd
rosegarden
rpmbuild
sane
sart
trackerg
yagirc-old
);
@lsout = qx{ls -1};
@other = ();
$all = ();
$i = 0;
foreach my $s (@order, @ignore) {
$all{$s} = $i++;
}
#for (my $i=0; $i<@lsout; $i++) {
# chop $lsout[$i];
# print $lsout[$i], "\n";
#}
foreach my $d (@lsout) {
chop $d;
# print $d, " ";
next unless -d $d;
if (defined $all{$d}) {
# print "[present] ";
next;
}
@other = (@other, $d);
# print "<added>", "\n";
}
#print @other, "\n";
#open (ERRORLOG, "/tmp/update.errors") || die "Could not open error log: $!";
#foreach $name (@order) {
# print "Updating $name...\n";
# system "cvs -z3 update -d -P $name";
# print "$name updated...\n";
#}
#
#print "All updates complete. Compile phase beginning...\n\n";
foreach $this (@order, @other) {
next if -f "$this/.Installed";
chdir $this;
if (!-e "macros") {
system "ln -s ../gnome-common/macros .";
print "Warning: macros symlinked\n";
print SAVEOUT "Warning: macros symlinked\n";
}
if (!-e "intl") {
system "ln -s ../gnome-common/intl .";
print "Warning: intl symlinked\n";
print SAVEOUT "Warning: intl symlinked\n";
}
print "Configuring $this...\n";
print SAVEOUT "Configuring $this...\n";
if (-f "Makefile") {
system "make -k maintainer-clean";
}
system "aclocal -I macros -I $prefix/share/aclocal";
if (system("./autogen.sh --prefix=$prefix --with-gtk=$gtk") == 0) {
print "Compiling $this...\n";
print SAVEOUT "Compiling $this...\n";
if (system("make && make install && /sbin/ldconfig") == 0) {
print "Made $this...\n";
print SAVEOUT "Made $this...\n";
system "touch .Installed";
} else {
print "$this compile FAILED!!\n";
exit 1 if (yesno("$this compile FAILED!! abort? "));
}
} else {
print "$this configure FAILED!!\n";
exit 1 if (yesno("$this configure FAILED!! abort? "));
}
chdir "..";
}
close(STDOUT);
close(STDERR);
open(STDOUT, ">&SAVEOUT");
open(STDERR, ">&SAVEERR");
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any another MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.
---- File information -----------
File: GNOME.patches.2
Date: 11 Oct 1998, 22:35
Size: 7158 bytes.
Type: Unknown
GNOME.patches.2
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]