diff --git a/en/gnome/contact.sgml b/en/gnome/contact.sgml index 1957a9ee6f..48212c04c8 100644 --- a/en/gnome/contact.sgml +++ b/en/gnome/contact.sgml @@ -1,44 +1,44 @@ - + %gnomeincludes; %includes; ]> &header;

Contacts

Any questions regarding GNOME on FreeBSD should be addressed to the freebsd-gnome mailing list. This is open mailing list, so that if you are interested in helping maintain and improve GNOME on FreeBSD feel free to join it using usual majordomo magic. However, you don't have to subscribe if you just want to report a problem or ask for a help - in this case just send your message to &email;@FreeBSD.ORG.

All relevant discussions should be carried out in the mailing list, unless there is a good reason for contacting one of the developers directly. For such cases following is the list of people involved in the FreeBSD GNOME Project:

&footer; diff --git a/en/gnome/docs/bugging.sgml b/en/gnome/docs/bugging.sgml index f4998f206d..3ac7f41875 100644 --- a/en/gnome/docs/bugging.sgml +++ b/en/gnome/docs/bugging.sgml @@ -1,91 +1,91 @@ - + %gnomeincludes; %includes; ]> &header;

1. What to report?

The rule of the thumb should be: report as much information as you can, because even if there is some irrelevant information usually developers could quite easy filter it out. On contrary, situation is much worse when there is too little information to reliably track down or reproduce the problem - in this case developers have to spend their time guessing and/or asking originator of report to send more information.

There are plenty of examples of totally useless bug reports, something like "Hey, gnomefoo port is broken. I'm running FreeBSD-X.Y. Please fix." Needless to say, that such report is just a waste of your time, time of the appropriate developer and network bandwidth. At the bare minimum the report should include the following information:

  • Exact version of the operating system (usually output of uname -a).

  • List of all packages installed on your system.

  • Your environment (output of /usr/bin/env).

  • If you are building from ports then approximate time when you was last time updating your ports tree.

  • Information specific for each type of breakage: full log of unsuccessful build in the case when the build of the port is broken, stack trace in the case of core dump, clean and detailed description of the problem when application does something unexpected etc. Try to put yourself into developer's shoes and in each particular case evaluate what information would be necessary for him to locate the source of the problem, don't just assume that he already knows all about the problem, but is just too lazy to fix it.

If you have a solution or a workaround for the problem then include it into your report as well, even if you are not quite sure that this is a correct fix, if it is not it could give developer idea about what to look at and save him some time.

2. Where to report?

There are several ways to report a bug in GNOME running on a FreeBSD system: you could send report to the freebsd-gnome mailing list, file a problem report in FreeBSD bug reporting system, send your report to the particular GNOME developers via their bug tracking system or any combination of those.

It is impossible to define guidelines that will clearly tell you where to report in each particular case - you have to use your own common sense, however some rules follow:

  • If the problem is FreeBSD-specific and transient (e.g. checksum mismatch, patch failure, syntax error in port's Makefile etc.) then report to the freebsd-gnome mailing list.

  • If the problem is clearly not FreeBSD-specific and you have no readily available solution then report to the developers of the software directly (for most core GNOME components this means that you need to use their Bugzilla bug tracking system).

  • If the problem isn't a FreeBSD-specific, but quite serious and you have a fix available then report both to FreeBSD and authors' bug tracking systems, so that the appropriate port will be patched and other users of FreeBSD will be able to benefit from your fix, without the need to wait for a next vendor's release.

&footer; diff --git a/en/gnome/docs/faq.sgml b/en/gnome/docs/faq.sgml index e38b4c5e7b..ef19fffc09 100644 --- a/en/gnome/docs/faq.sgml +++ b/en/gnome/docs/faq.sgml @@ -1,372 +1,372 @@ - + %gnomeincludes; %includes; ]> &header;

Contents

  1. How do I get GNOME for FreeBSD?
  2. GNOME is failing to build from ports. What do I do?
  3. I installed GNOME, but I'm missing application foo. What gives?
  4. What's the best way to upgrade GNOME?
  5. What is the difference between GNOME and KDE? Which one is better?
  6. Where can I get more themes for GNOME?
  7. What window managers work well with GNOME?
  8. Why can't I launch Linux apps from the GNOME panel?
  9. Why is GNOME so huge, slow and basically useless?

Full Text

1. How do I get GNOME for FreeBSD?

There are two ways to install GNOME on FreeBSD. One way is to use packages, and the other way is to use ports.

To install GNOME from packages, use the command:

# pkg_add -r gnome

This will download the latest GNOME packages from the FreeBSD FTP site, and proceed to install them on your system. Note: As of 4.4-RELEASE, installing GNOME from packages contained on a release CDROM is broken. You should instead use the ports method below.

To build and install GNOME from ports, you should first cvsup the latest ports tree. Then:

 # cd /usr/ports/x11/gnome
 # make clean
 # make install clean
 	    

Currently, building from ports is the preferred method for installing GNOME on FreeBSD, however FreeBSD GNOME team is working on improving situation with pre-built packages.


2. GNOME is failing to build from ports. What do I do?

The majority of GNOME compilation problems can be solved by making sure all the necessary GNOME components are up-to-date. All GNOME applications require the following core components to build:

 pkg-config
 glib
 gettext
 gtk+
 ORBit
 Imlib
 esound
 gnomelibs
 gnomecore
             

Verify all those components are up-to-date, then try building GNOME or your GNOME application again. You may see compiler errors relating to pthreads (POSIX threads), such as:

 undefined reference to 'strerror_r'
             

To fix thread related errors, make sure you have the following compiled into your kernel:

 options     P1003_1B
 options     _KPOSIX_PRIORITY_SCHEDULING
             

And make sure if you're tracking -stable or -current, that you do not have NOLIBC_R set in /etc/make.conf. If you do, remove it, then rebuild world. If you still have trouble, please send email to &email;@FreeBSD.ORG with the output of the failed compilation.


3. I installed GNOME, but I'm missing application foo. What gives?

Only the core components, and a few extras, are included in the gnome package. There is another meta-port called gnome-fifth-toe that includes some more popular (and bigger) GNOME applications. gnome-fifth-toe includes Galeon, Pan, Gnumeric, AbiWord, GNUCash, Evolution, Gimp, Dia, and more.

To install gnome-fifth-toe from packages. Note: Installing gnome-fifth-toe from packages is currently broken on 4.4-RELEASE.

# pkg_add -r gnome-fifth-toe

To build gnome-fifth-toe from ports:

 # cd /usr/ports/x11/gnome-fifth-toe
 # make clean
 # make install clean
 	    

A full list of GNOME applications that have been ported to FreeBSD can be found here.


4. What's the best way to upgrade GNOME?

I find that /usr/ports/sysutils/portupgrade works really well. For example:

# portupgrade -r ORBit

This will upgrade ORBit and every other port that depends on it (that needs updating).

However, sometimes so much changes that it becomes necessary to do a little housekeeping first. In that case, this usually works:

 # pkg_delete -r ORBit
 # cd /usr/ports/x11/gnome
 # make clean
 # make install clean
 	    

5. What is the difference between GNOME and KDE? Which one is better?

GNOME and KDE are both desktop environments. GNOME is based on the GTK+ widget set, and is primarily written in C. KDE on the other hand is based on the QT widget set, and is primarily written in C++.

Both environments offer a wide range of applications from toys and games to full-blown office suites. Both are actively developed and ported to FreeBSD. If you're trying to decide which one to call your own, try them both, and see which one you like better.

You can read more about KDE on FreeBSD at http://freebsd.kde.org.


6. Where can I get more themes for GNOME?

If you're tired of the default themes that come with GNOME, you do have options. First, FreeBSD's ports collection comes with a rather large collection of GTK themes for GNOME. To install these from packages, run:

# pkg_add -r gtk-engines-collection

To install the themes from ports, do:

 # cd /usr/ports/x11-toolkits/gtk-engines-collection
 # make clean
 # make install clean
 	    

If you want even more themes, checkout http://gtk.themes.org. Note, you will probably need to install the gtk-engines-collection before using any of the pixmap themes from themes.org.


7. What window managers work well with GNOME?

The gnome meta-port installs the Sawfish window manager by default. However, there are other window managers you can use with GNOME. These include:


8. Why can't I launch Linux apps from the GNOME panel?

Short answer is you can. The problem is most likely that you have Launch Feedback (xalf) enabled. xalf is a FreeBSD shared object, and as such cannot be loaded by Linux applications. When you try to load a Linux application, nothing will happen, and something like the following will show up in ~/.gnomerc-errors or on stdout:

 /usr/local/Acrobat4/Reader/intellinux/bin/acroread: error in loading shared 
 libraries: /usr/X11R6/lib/libxalflaunch.so.0: ELF file OS ABI invalid.
 	    

To fix this problem you need to install the linux-xalf port. This port (or package) installs the Linux version of libxalflaunch.so.0 in /compat/linux/usr/X11R6/lib, and will be used instead of the FreeBSD binary when launching Linux applications. You may see the following error after installing linux-xalf:

 /usr/libexec/ld-elf.so.1: Shared object "libkrb.so.3" not found
         

This can be safely ignored.


9. Why is GNOME so huge, slow and basically useless?

Well, it depends on the point of view. Of course both GNOME and KDE are still far from perfection or even completeness and hardly could be compared to commercial offerings in terms of user-friendlily, but at the same time it is a huge step in the right direction. It also should be noted, that both GNOME and KDE are still very young and situation is likely to improve as they will mature (does anybody remember what sort of crap Windows 3.11 was?).


&footer; diff --git a/en/gnome/docs/porting.sgml b/en/gnome/docs/porting.sgml index 419401d033..da5a0d7b9e 100644 --- a/en/gnome/docs/porting.sgml +++ b/en/gnome/docs/porting.sgml @@ -1,183 +1,183 @@ - + %gnomeincludes; %includes; ]> &header;

This document assumes that you already know how port system works, and therefore only provides GNOME-specific hints and tips. General instructions can be found in the FreeBSD Porter's Handbook.

GNOME Makefile Macros

For ports that require GNOME, you should define the following in your port's Makefile:

 USE_GNOME=	yes
 USE_X_PREFIX=	yes
           

These will take care of the install prefix and requiring all the core GNOME dependencies. If your port can use GNOME, but it isn't required, you can define the following in your Makefile:

 WANT_GNOME=	yes
           

If the user has defined WITH_GNOME in their /etc/make.conf then GNOME components will be built. Other useful GNOME-related macros that can be define in your port's Makefile include:

  • USE_GLIB (WANT_GLIB) : The application requires (can use) Glib. Defining USE_GNOME or USE_GTK takes care of this option automatically.

  • USE_GTK (WANT_GTK) : The application may not be GNOME-compliant, but requires GTK+ widgets. This will take care of those dependencies. Note, this option should not be defined if USE_GNOME is defined.

  • USE_ESOUND (WANT_ESOUND) : The application requires (can use) esound. Normally, esound support is added by specifying USE_GNOME.

  • USE_IMLIB (WANT_IMLIB) : The application requires (can use) the Imlib image library. This is not needed if USE_GNOME is defined.

  • USE_GNOMELIBS (WANT_GNOMELIBS) : The application requires (can use) GNOME libraries. This does not import as many dependencies as USE_GNOME and should be used for applications that use GNOME, but do not need the GNOME Control Center, the GNOME capplet library, or anything from the GNOME Core.

  • USE_GNOMECTRL (WANT_GNOMECTRL) : The application requires (can use) all the GNOME libraries and the GNOME Control Center, but does not use anything from GNOME Core. This option is usually used for backend APIs.

If your port can optionally use GNOME, you must set WANT_GNOME= yes in your Makefile, then check to see if HAVE_GNOME is set. Since this is a conditional evaluation, you need to stick it between bsd.port.pre.mk and bsd.port.post.mk. For example:

 WANT_GNOME=	yes
 
 .include <bsd.port.pre.mk>
 
 .if defined(HAVE_GNOME)
 USE_GNOME=	yes
 CONFIGURE_ARGS+=	--with-gnome
 .else
 CONFIGURE_ARGS+=	--without-gnome
 .endif
 
 .include <bsd.port.post.mk>
           

What happens here is WANT_GNOME tells the ports system to check for the existence of gnome-config. If it exists, HAVE_GNOME is set. If not, HAVE_GNOME remains unset.

When building GNOME ports, remember that many applications require shared directories in ${PREFIX}/share/gnome. Ports should be constructed in a way such that files placed in these directories are removed before the package which created the directories (i.e. the package that has an appropriate @dirrm in its pkg-plist). For GNOME, the principle parent port is gnomecore. If your port incudes USE_GNOME= yes you should be fine. If you're uncertain if you need to require any other packages, you can use the script ${PORTSDIR}/Tools/scripts/gnomedepends.py to examine your port's pkg-plist.

To see a list of what packages your port will actually require, use the command make package-depends.

GNOME Internationalization

GNOME relies on the gettext port to do internationalization (I18N). FreeBSD currently supports two versions of gettext: 0.10.35 and 0.10.40. Most ports can use 0.10.35. However, if, when compiling your port, you get an error building the .po translation files similar to the following you will need to use the newer version of gettext:

 /usr/local/bin/msgfmt -o zh_TW.mo zh_TW.po
 zh_TW.po:255: end-of-line within string
 zh_TW.po:912: illegal control sequence
 zh_TW.po:2806: end-of-line within string
 zh_TW.po:2856: end-of-line within string
 zh_TW.po:2879: illegal control sequence
 zh_TW.po:2982: end-of-line within string
 found 6 fatal errors
           

To use the newer gettext, add the following to your port's Makefile:

 BUILD_DEPENDS=  msgfmt-new:${PORTSDIR}/devel/gettext-devel
 CONFIGURE_ENV+= MSGFMT=${LOCALBASE}/bin/msgfmt-new \
 				XGETTEXT=${LOCALBASE}/bin/xgettext-new
 	  

When installing GNOME applications, make sure the translation files are put in /usr/X11R6/share/locale and not /usr/X11R6/share/gnome/locale. To do this, add the following to your port's Makefile's pre-patch: section:

 pre-patch:
 	@find ${WRKSRC} -name "Makefile.in*" | xargs ${PERL} -pi -e \
 		's|\$\(datadir\)/gnome/|\$\(datadir\)/|g ; \
 		 s|\$\(datadir\)/locale|\$\(prefix\)/share/locale|g'
           

Also, make sure the translation files are installed as .mo files and not .gmo files. To do this, you can generally use this patch.

If your port depends on iconv, make sure you substitute all instances of iconv.h with giconv.h, and all instances of -liconv with -lgiconv.

Libtool Issues

Most if not all GNOME applications depend on GNU's libtool. They also use the GNU configure system. Newer versions of libtool have a problem with FreeBSD's USE_LIBTOOL macro. Use of this macro should be avoided. Instead, set GNU_CONFIGURE= yes, and use the following patch to prevent the installation of .la files.

The more ported applications we have, the better.

&footer; diff --git a/en/gnome/includes.sgml b/en/gnome/includes.sgml new file mode 100644 index 0000000000..43f59bc897 --- /dev/null +++ b/en/gnome/includes.sgml @@ -0,0 +1,5 @@ + + + +&email@FreeBSD.ORG
+ ©right;'> diff --git a/en/gnome/index.sgml b/en/gnome/index.sgml index f95610b5d5..1ca1133c43 100644 --- a/en/gnome/index.sgml +++ b/en/gnome/index.sgml @@ -1,120 +1,125 @@ - + %gnomeincludes; %includes; ]> &header;

News
Announcements

GNOME on FreeBSD
GNOME on FreeBSD Home
Installation Instructions
Available Applications
How to Help
Reporting a Bug
Screenshots
Contact Us

Documentation
FAQ
Creating Ports

Resources
GNOME Project
+ GNOME on GNU/Darwin
+

+ +

Related Projects +
KDE Project
KDE on FreeBSD

Search for:

What is GNOME?

The GNOME project was born as an effort to create an entirely free desktop environment for free systems. From the start, the main objective of GNOME has been to provide a user friendly suite of applications and an easy-to-use desktop. The FreeBSD GNOME Project strives to bring GNOME to the FreeBSD user.

As with most GNU programs, GNOME has been designed to run on all modern Unix-like operating systems. Through the efforts of the FreeBSD GNOME Project and countless volunteers, those operating systems include FreeBSD.

The GNOME project has expanded its objectives over the past few months to include addressing a number of problems in the existing Unix infrastructure.

The GNOME project acts as an umbrella, the major components of GNOME are:

  • The GNOME desktop: An easy to use windows-based environment for users.
  • The GNOME development platform: A rich collection of tools, libraries, and components to develop powerful applications on Unix.
  • The GNOME Office: A set of office productivity applications.

State of the port

We currently support 4.x and 5-CURRENT FreeBSD Systems for GNOME 1.4.1. Anything prior to FreeBSD 4.1 is not supported. Most of GNOME has been ported to FreeBSD; however, there's plenty left to do!

Newsflash! We're UP! We're running! We're churning out patches and ports as fast as we can make the keyboards work! See Newsflash page for details.

&footer; diff --git a/en/gnome/index.xsl b/en/gnome/index.xsl index f95610b5d5..1ca1133c43 100644 --- a/en/gnome/index.xsl +++ b/en/gnome/index.xsl @@ -1,120 +1,125 @@ - + %gnomeincludes; %includes; ]> &header;

News
Announcements

GNOME on FreeBSD
GNOME on FreeBSD Home
Installation Instructions
Available Applications
How to Help
Reporting a Bug
Screenshots
Contact Us

Documentation
FAQ
Creating Ports

Resources
GNOME Project
+ GNOME on GNU/Darwin
+

+ +

Related Projects +
KDE Project
KDE on FreeBSD

Search for:

What is GNOME?

The GNOME project was born as an effort to create an entirely free desktop environment for free systems. From the start, the main objective of GNOME has been to provide a user friendly suite of applications and an easy-to-use desktop. The FreeBSD GNOME Project strives to bring GNOME to the FreeBSD user.

As with most GNU programs, GNOME has been designed to run on all modern Unix-like operating systems. Through the efforts of the FreeBSD GNOME Project and countless volunteers, those operating systems include FreeBSD.

The GNOME project has expanded its objectives over the past few months to include addressing a number of problems in the existing Unix infrastructure.

The GNOME project acts as an umbrella, the major components of GNOME are:

  • The GNOME desktop: An easy to use windows-based environment for users.
  • The GNOME development platform: A rich collection of tools, libraries, and components to develop powerful applications on Unix.
  • The GNOME Office: A set of office productivity applications.

State of the port

We currently support 4.x and 5-CURRENT FreeBSD Systems for GNOME 1.4.1. Anything prior to FreeBSD 4.1 is not supported. Most of GNOME has been ported to FreeBSD; however, there's plenty left to do!

Newsflash! We're UP! We're running! We're churning out patches and ports as fast as we can make the keyboards work! See Newsflash page for details.

&footer; diff --git a/en/gnome/screenshots.sgml b/en/gnome/screenshots.sgml index 2ff0f227ce..fe19afe8ef 100644 --- a/en/gnome/screenshots.sgml +++ b/en/gnome/screenshots.sgml @@ -1,33 +1,33 @@ - + %gnomeincludes; %includes; ]> &header;

Here are some examples of GNOME running on FreeBSD. Click on the thumbnails below to see a larger image.

The gratuitous action shot:
Screen Shot 1

Another shot featuring cool Windoze-like taskbar:
Screen Shot 2

&footer;