I now did a dist-upgrade (on 32bit). Here everything is ok. Forward/backward buttons appear in the default theme normally in iceweasel 3.5.18.

bmorency

Post subject:Posted: 26.03.2011, 14:23

Joined: 2010-10-22
Posts: 71

Status: Offline

arwa wrote:

I now did a dist-upgrade (on 32bit). Here everything is ok. Forward/backward buttons appear in the default theme normally in iceweasel 3.5.18.

I just did a dist-upgrade here and the buttons are still missing for me. I am on amd64.

Ilinsekt

Post subject:Posted: 26.03.2011, 14:49

Joined: 2010-10-29
Posts: 43

This python script will create a debian package of the newest available firefox/thunderbird/seamonkey or a version of your choice in the current working directory. I have been using firefox and thunderbird built with this from the beginning and never had any problems.
It depends on fakeroot, w3m, wget and dpkg-dev. Also, you must have program icons in the directory where the script resides. You can download them from here (do not use the script from there though, it can not build for amd64, or a different locale than en-US). The programs install completely in /opt (nothing is being installed in /etc or other directories, except a symbolic link in /usr/bin as well as a .desktop file and a program icon in /usr/share/...) and do not overwrite any existing files or settings (Firefox is being set als the working alternative for x-www-browser, though). As the packages are not compiled, but precompiled binaries from Mozilla's ftp are used, only firefox 4.0 is available vor amd64. The current default is to package i686 only with de as the default locale and en-US, ru and eo language packs preinstalled, this behavior can be changed with command-line-options. Run ./script.py --help to view all options. As far as I can tell, it should be possible to have both Iceweasel and firefox-mozilla-build installed, however I have not tested this.

Code:

#!/usr/bin/env python
##
##############################################################################
##
## Ubuntuzilla: package official Mozilla builds of Mozilla software on Ubuntu Linux
## Copyright (C) 2009 Daniel Folkinshteyn <nanotube>
##
## http://ubuntuzilla.sourceforge.net/
##
## 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; either version 3
## of the License, or (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http>.
##
##############################################################################

##############################################################################
##
## Some notes about the general structure of this program.
##
## The idea is such that any action that is common to at least two of Firefox,
## Thunderbird, or Seamonkey is coded in the base class called
## 'MozillaInstaller'.
##
## Classes 'SeamonkeyInstaller', 'FirefoxInstaller', and
## 'ThunderbirdInstaller' derive from the base 'MozillaInstaller' class, and
## include all the package-specific actions.
##
## This may seem a bit too complex, but it really simplifies code maintenance
## and the addition of new features, as it reduces the necessity of changing
## the same code several times.
##
## The 'BaseStarter' class processes the command line options, and decides
## what to do accordingly.
##
## The 'VersionInfo' class is just a simple repository of version and other
## descriptive information about this software.
##
## The 'UtilityFunctions' class has some general functions that don't belong
## in the Mozilla classes.
##
##############################################################################

def getSystemOutput(self, executionstring, numlines=1, errormessage="Previous command has failed to complete successfully. Exiting."):
'''Read output from an external command, exit if command fails.
This is a simple wrapper for subprocess.Popen()
For numlines==0, return whole list, otherwise, return requested number of lines.
Result is a list, one line per item.
If numlines is 1, then result is a string.'''

def subprocess_setup(self):
# Python installs a SIGPIPE handler by default. This is usually not what
# non-Python subprocesses expect.
# see http://bugs.python.org/issue1652
signal.signal(signal.SIGPIPE, signal.SIG_DFL)

def robustDownload(self, argsdict, errormsg="Download failed. This may be due to transient network problems, so try again later. Exiting.", repeat=5, onexit = sys.exit):
'''try the download several times, in case we get a bad mirror (happens
with a certain regularity), or some other transient network problem)

note: repeat argument is not used anymore, we now iterate over mirror list'''

def check_uid(self):
if os.getuid() == 0:
print "\nYou appear to be trying to run Ubuntuzilla as root.\nUbuntuzilla really shouldn't be run as root under normal circumstances.\nYou are advised to exit now and run it as regular user, without 'sudo'.\nDo not continue, unless you know what you're doing.\nDo you want to exit now?"
while 1:
ans = raw_input("Please enter 'y' or 'n': ")
if ans in ['y','Y','n','N']:
ans = ans.lower()
break

def welcome(self):
print "\nWelcome to Ubuntuzilla Packager version " + self.version.version + "\n\nUbuntuzilla Packager creates a .deb file out of the latest release of Firefox, Thunderbird, or Seamonkey.\n\nThis script will now build the .deb of latest release of the official Mozilla build of " + self.options.package.capitalize() + ". If you run into any problems using this script, or have feature requests, suggestions, or general comments, please visit our website at", self.version.url, "\n"

def getLatestVersion(self): # done in child, in self.options.releaseVersion
print "Retrieving the version of the latest release of " + self.options.package.capitalize() + " from the Mozilla website..."
# child-specific implementation comes in here

def confirmLatestVersion(self):
print bold + "The most recent release of " + self.options.package.capitalize() + " is detected to be " + self.options.releaseVersion + "." + unbold
print "\nPlease make sure this is correct before proceeding. (You can confirm by going to http://www.mozilla.org/)"
print "If no version number shows, if the version shown is not the latest, or if you would like to use a different release, press 'n', and you'll be given the option to enter the version manually. Otherwise, press 'y', and proceed with installation. [y/n]? "
self.askyesno()
if self.ans == 'y':
pass
else:
print "\nIf no version shows, or it does not agree with the latest version as listed on http://www.mozilla.org, please visit our website at", self.version.url, "and let us know."
print "If you would like to enter the version manually and proceed with installation, you can do so now. Note that beta and release candidate versions are now allowed, but you use pre-release software at your own risk!\n"

try:
self.util.execSystemCommand("gpg --list-keys --with-colons 0E3606D9", includewithtest=True, errormessage="Mozilla GPG key not present on the system. Will attempt to retrieve from keyserver.")
self.util.execSystemCommand("gpg --list-keys --with-colons 812347DD", includewithtest=True, errormessage="Mozilla GPG key not present on the system. Will attempt to retrieve from keyserver.")
self.util.execSystemCommand("gpg --list-keys --with-colons 6CE2996F", includewithtest=True, errormessage="Mozilla GPG key not present on the system. Will attempt to retrieve from keyserver.")
except SystemCommandExecutionError:
print "\nImporting Mozilla Software Releases public key\n"
print "Note that if you have never used gpg before on this system, and this is your first time running this script, there may be a delay of about a minute during the generation of a gpg keypair. This is normal and expected behavior.\n"

'''def cleanup(self):
print "Would you like to KEEP the original files, and the deb structure, on your hard drive [y/n]? "
self.askyesno()
if self.ans == 'n':
self.util.execSystemCommand(executionstring="rm -rf " + self.debdir)
os.remove(os.path.join('/tmp',self.packageFilename))
os.remove(os.path.join('/tmp',self.sigFilename))
else:
print "\nOK, exiting without deleting the working files. If you wish to delete them manually later, they are in /tmp, and in " + self.debdir + "."
'''

If the buttons are missing, did you try to quit firefox, delete the temporary GUI caching files XPC.mfasl and XUL.mfasl in your profile directory and restart the browser? In my case the files are in ~/.mozilla/firefox/default.sty/. But I did not try the upgrade yet.

No joy here. I usually do not employ stuff that hasn't been tested but thought I'd give your idea a try. No harm, the files were recreated upon startup, but that didn't fix the issue. Since I haven't found a theme that I like better than the rather spartan default theme (I'm a very boring person), I will wait for a patch to the current. Now that I know the buttons are there I can work around it for awhile.

ChaosReborn

Post subject:Posted: 27.03.2011, 01:09

Joined: 2011-03-27
Posts: 1

Status: Offline

I have the same problem with Iceweasel 3.5.18 on 64-bit aptosid. Deleting XPC.mfasl and XUL.mfasl did not resolve the issue.

arwa

Post subject:Posted: 27.03.2011, 11:14

Joined: 2010-09-11
Posts: 183

Status: Offline

Two more suggestions:
Does it help to "apt-get purge" and then reinstall iceweasel?

Or maybe the icons are taken from an icon set that has to be installied? The following "*icon*" packages are installed on my system:

Just to point out what is probably blatantly obvious (but wasn't to me -- until it was <g>), iceweasel v4.0 can be obtained from squeeze-backports using http://mozilla.debian.net instructions. Remember to apt-get update after applying key. Also either enable sudo or run last key command using su entirely.

Code:

$ gpg --export -a 06C4AE2A | sudo apt-key add -

could be run as

Code:

$ su -c 'gpg --export -a 06C4AE2A | apt-key add -'

I actually ran the whole operation as root (init 3 session) nd it worked (once I updated they key <blush>).

Version 4 is an improvement. Still seems to tax this old system (circa 2003 vintage) but page loads are considerably faster and rivals (or exceeds) chromium-browser.

arwa

Post subject:Posted: 27.03.2011, 18:31

Joined: 2010-09-11
Posts: 183

Status: Offline

Wouldn't it be better to install it from experimental? But ok, maybe it does not make any difference, because squeeze and sid are not too different yet.

Wouldn't it be better to install it from experimental? But ok, maybe it does not make any difference, because squeeze and sid are not too different yet.

Yes and no. <g>

You make a very valid point and experimental should be the users' first choice. OTOH, there is not enough of a divergence at this point for it to really matter, but that will not always be the case. I will be correcting my installation in a subsequent session.