Rene,
I need your help on something.

I left seamonkey compiling overnight, got up this morning and it was completed.

But, I have to start the explanation back in time...

A few years ago, I used to compile seamonkey by running the
'configure' script directly.
However, some Puppy testers reported bugs in my builds, that were not
in the official binaries.

So, I changed to configuring in the recommended way, using "make -f
client.mk", and those bugs mysteriously disappeared.

Running seamonkey 2.32, compiled in T2, there are bugs that reminded
me of those old bug reports.
For example, the download window has empty fields -- it is supposed to
have information in the "Time left", "Transferred" and "Speed" fields,
but they remain blank.

So, I have conducted an experiment. I have created a new package in
T2, package/www/seamonkey2p3, with a .conf file that runs the "make -f
client.mk".

It compiled and installed, however T2 aborted with an error (which is
what I want to ask you about, but that is digressing for now).

I copied usr/lib64/seamonkey-2.32 into my running Quirky Linux, and am
running it now. Now, the download window ***works correctly***.

So, I have confirmed that it is essential to use "make -f client.mk".

For the experiment, to have absolute control over every step, I used
custmain(), I have attached the package/www/seamonkey2p3 directory,
however here is the .conf:

# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../seamonkey/seamonkey.conf
# Copyright (C) 2004 - 2014 The T2 SDE Project
# Copyright (C) 1998 - 2004 ROCK Linux Project
#
# More information can be found in the files COPYING and README.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License. A copy of the
# GNU General Public License can be found in the file COPYING.
# --- T2-COPYRIGHT-NOTE-END ---

# BK 150126
# invoking 'configure' directly results in buggy seamonkey. for
example, d/l window has missing fields.
# complete rewrite, to build in "proper" way.

GCC_WRAPPER_BYPASS=1
CXX_WRAPPER_BYPASS=1

sm_custom_build()
{
 #create mozconfig:
 echo 'mk_add_options MOZ_MAKE_FLAGS="-j1"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sm-release
mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
ac_add_options --enable-system-hunspell
ac_add_options --localstatedir=/var
ac_add_options --sysconfdir=/etc
ac_add_options --prefix=/usr
ac_add_options --host=x86_64-t2-linux-gnu
ac_add_options --disable-dbus
ac_add_options --disable-accessibility
ac_add_options --with-system-bz2
ac_add_options --disable-updater
ac_add_options --disable-parental-controls
ac_add_options --enable-places
ac_add_options --disable-gnomevfs
ac_add_options --enable-system-sqlite
ac_add_options --enable-system-cairo
ac_add_options --enable-strip
ac_add_options --without-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --enable-libxul
ac_add_options --enable-storage
ac_add_options --disable-tests
ac_add_options --with-default-mozilla-five-home=/usr/lib/seamonkey
ac_add_options --enable-jsd
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-crashreporter
ac_add_options --disable-libnotify
ac_add_options --with-system-libvpx
ac_add_options --enable-gio
ac_add_options --enable-chrome-format=omni
ac_add_options --disable-necko-wifi
ac_add_options --disable-gconf
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --enable-shared-js
ac_add_options --enable-gstreamer
ac_add_options --disable-ldap
ac_add_options --disable-angle
ac_add_options --with-system-icu
ac_add_options --disable-pulseaudio
ac_add_options --enable-system-ffi
ac_add_options --disable-gnomeui
ac_add_options --with-pthreads
ac_add_options --enable-system-pixman
ac_add_options --disable-logging
ac_add_options --disable-debug
ac_add_options --disable-profilesharing
ac_add_options --enable-mathml
ac_add_options --enable-crypto
ac_add_options --with-system-icu
ac_add_options --with-system-libevent
ac_add_options --enable-optimize="-O2"' > mozconfig

 #have to do this due to a bug...
 mkdir mozilla/objdir-sm-release

 export LIBS='-I/usr/X11R7/include'
 export CPPFLAGS='-I/usr/X11R7/include'
 export CFLAGS='-I/usr/X11R7/include'
 export LDFLAGS='-L/usr/X11R7/lib64'
 export CPLUS_INCLUDE_PATH=/usr/X11R7/include
 export C_INCLUDE_PATH=/usr/X11R7/include

 make -f client.mk

 #the usual way of installing is broken, do it the long way:
 mkdir -p $root/usr/lib64
 cp -a -L objdir-sm-release/dist/bin $root/usr/lib64/seamonkey-2.32
 ln -s seamonkey-2.32 $root/usr/lib64/seamonkey
 #and development files:
 mkdir -p $root/usr/lib64/seamonkey-devel-2.32
 cp -a -L objdir-sm-release/dist/sdk $root/usr/lib64/seamonkey-devel-2.32/
 ln -s ../seamonkey-2.32 $root/usr/lib64/seamonkey-devel-2.32/bin
 ln -s ../../include/seamonkey-2.32 $root/usr/lib64/seamonkey-devel-2.32/include
 ln -s sdk/lib $root/usr/lib64/seamonkey-devel-2.32/lib
 cp -a -L objdir-sm-release/dist/include/xpcom-config.h
$root/usr/lib64/seamonkey-devel-2.32/
 mkdir -p $root/usr/include
 cp -a -L objdir-sm-release/dist/include $root/usr/include/seamonkey-2.32
 ln -s seamonkey-2.32 $root/usr/include/seamonkey
 mkdir -p $root/usr/share/idl
 cp -a -L objdir-sm-release/dist/idl $root/usr/share/idl/seamonkey-2.32
 ln -s ../../share/idl/seamonkey-2.32 $root/usr/lib64/seamonkey-devel-2.32/idl
 mkdir -p $root/usr/bin
 ln -s ../lib64/seamonkey/seamonkey $root/usr/bin/seamonkey


}
custmain=sm_custom_build

check_shared=0

Before compiling seamonkey, I manually deleted the previous
installation of seamonkey in the build, and added "check_shared=0" so
that T2 will not complain about the existing flist/seamonkey.

I must emphasize that this .conf is just for the experiment, to prove
the concept. Everything is hard-coded.
Note that .mozconfig can now be named mozconfig (without the dot).

Anyway, T2 completes everything in custmain, then aborts with an
error. This is at the bottom of ERROR-LOG:

make[1]: Leaving directory
'/TOOLCHAIN/src.seamonkey2p3.quirky64.20150127.000229.27808.puppypc16549/comm-release/objdir-sm-release'
Hook preconf is still marked as dirty running it, now ...
Hook premake is still marked as dirty running it, now ...
sed: can't read config/autoconf.mk: No such file or directory
Due to previous errors, no 5-seamonkey2p3.log file!
(Try enabling xtrace in the config to track an error inside the build system.)
--- BUILD ERROR ---
Creating file list and doing final adaptions ...
Searching for orphaned files ...
Found 9745 files for this package.
Found 0 orphaned files for this package.
Clear (old) md5sums ...
Calculating package dependencies ...
Creating md5sum files ... done.
Creating package description ...
Making post-install adaptions.

...my understanding is that with custmain, normal behaviour is
overridden. Why is T2 doing this:

Hook preconf is still marked as dirty running it, now ...
Hook premake is still marked as dirty running it, now ...
sed: can't read config/autoconf.mk: No such file or directory

In short, how do I tell T2 all is well, leave it alone, do not do
those extra things that are causing the abort?

Note, if I can get T2 to play nicely with my .conf file, the next step
is I will replace all that hard-coded stuff with proper tests and
variables.

Regards,
Barry

Attachment: seamonkey2p3.tar.gz
Description: GNU Zip compressed data

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to