← Back to team overview

gufw-developers team mailing list archive

[Merge] lp:~dpm/gui-ufw/improve-i18n into lp:gui-ufw

 

David Planella has proposed merging lp:~dpm/gui-ufw/improve-i18n into lp:gui-ufw.

Requested reviews:
  Gufw Developers (gufw-developers)


= Improve i18n handling and use a more standard build system layout =

This branch provides some improvements to the build system and to the handling of translations. Here are some of them:

* Use more standard locations for data and code. Using python-distutils-extra helps simplifying the setup.py file
* Instead of using the binary mo files, translations should be built from the PO files before each release. Now there is a command to build and test translations: 'python setup.py build_i18n' will build the PO file translations into MO binary files inside the build/ directory. 'python setup.py sdist' will properly include the translations when preparing a tarball for release. Finally, the debian package will also do the right thing, and include the PO files in the source package and install mo files.
* Now there are no hardcoded paths in the code, meaning that the upstream code is not Ubuntu specific and can be built for every distribution.

If you accept these suggestions, we can then go on to enable automatic imports and exports of translations in Launchpad, which would make your life as a maintainer a lot easier while managing translations. It shouldn't take more than five minutes, and we can do it over IRC.

I hope you find this branch useful, and good work with gufw!
-- 
https://code.launchpad.net/~dpm/gui-ufw/improve-i18n/+merge/33303
Your team Gufw Developers is requested to review the proposed merge of lp:~dpm/gui-ufw/improve-i18n into lp:gui-ufw.
=== removed directory 'Alacarte_menu'
=== renamed directory 'global_command' => 'bin'
=== modified file 'bin/gufw'
--- global_command/gufw	2010-06-13 09:22:18 +0000
+++ bin/gufw	2010-08-21 19:24:44 +0000
@@ -1,4 +1,4 @@
 #!/bin/bash
 # This script starts Gufw from the console
-su-to-root -X -c /usr/share/gufw/gufw.py
-
+# FIXME: This is a hack. The executable path should not be hardcoded
+su-to-root -X -c 'python /usr/share/pyshared/gufw/gufw.py'

=== added directory 'data'
=== renamed directory 'icon' => 'data/media'
=== renamed file 'pixmaps/allow_allow.png' => 'data/media/allow_allow.png'
=== renamed file 'pixmaps/allow_deny.png' => 'data/media/allow_deny.png'
=== renamed file 'pixmaps/allow_disable.png' => 'data/media/allow_disable.png'
=== renamed file 'pixmaps/allow_reject.png' => 'data/media/allow_reject.png'
=== renamed file 'pixmaps/deny_allow.png' => 'data/media/deny_allow.png'
=== renamed file 'pixmaps/deny_deny.png' => 'data/media/deny_deny.png'
=== renamed file 'pixmaps/deny_disable.png' => 'data/media/deny_disable.png'
=== renamed file 'pixmaps/deny_reject.png' => 'data/media/deny_reject.png'
=== renamed file 'src/glade/disable.png' => 'data/media/disable.png'
=== renamed file 'pixmaps/disable_allow.png' => 'data/media/disable_allow.png'
=== renamed file 'pixmaps/disable_deny.png' => 'data/media/disable_deny.png'
=== renamed file 'pixmaps/disable_disable.png' => 'data/media/disable_disable.png'
=== renamed file 'pixmaps/disable_reject.png' => 'data/media/disable_reject.png'
=== renamed file 'src/glade/gufw.png' => 'data/media/gufw.png'
=== renamed file 'src/glade/gufw_menu.png' => 'data/media/gufw_menu.png'
=== renamed file 'icon/gufw_menu.png' => 'data/media/icon.png'
=== renamed file 'pixmaps/reject_allow.png' => 'data/media/reject_allow.png'
=== renamed file 'pixmaps/reject_deny.png' => 'data/media/reject_deny.png'
=== renamed file 'pixmaps/reject_disable.png' => 'data/media/reject_disable.png'
=== renamed file 'pixmaps/reject_reject.png' => 'data/media/reject_reject.png'
=== renamed file 'pixmaps/source.xcf' => 'data/media/source.xcf'
=== renamed directory 'src/glade' => 'data/ui'
=== modified file 'data/ui/gufw.glade'
--- src/glade/gufw.glade	2010-08-18 15:04:41 +0000
+++ data/ui/gufw.glade	2010-08-21 19:24:44 +0000
@@ -2,9 +2,10 @@
 <glade-interface>
   <!-- interface-requires gtk+ 2.16 -->
   <!-- interface-naming-policy toplevel-contextual -->
+  <!-- interface-local-resource-path ../media -->
   <widget class="GtkWindow" id="winMain">
     <property name="title" translatable="yes">Firewall</property>
-    <property name="icon">gufw_menu.png</property>
+    <property name="icon">../media/gufw_menu.png</property>
     <signal name="delete_event" handler="winMain_delete_event_cb"/>
     <child>
       <widget class="GtkVBox" id="vbox1">
@@ -482,7 +483,7 @@
                             <child>
                               <widget class="GtkImage" id="imgShield">
                                 <property name="visible">True</property>
-                                <property name="pixbuf">disable.png</property>
+                                <property name="pixbuf">../media/gufw.png</property>
                               </widget>
                               <packing>
                                 <property name="position">1</property>
@@ -1009,7 +1010,7 @@
     <property name="resizable">False</property>
     <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="icon">gufw_menu.png</property>
+    <property name="icon">../media/gufw_menu.png</property>
     <property name="type_hint">dialog</property>
     <property name="transient_for">winMain</property>
     <signal name="key_press_event" handler="winAdd_key_press_event_cb"/>
@@ -3058,7 +3059,7 @@
     <property name="resizable">False</property>
     <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="icon">gufw_menu.png</property>
+    <property name="icon">../media/gufw_menu.png</property>
     <property name="type_hint">dialog</property>
     <property name="transient_for">winMain</property>
     <property name="has_separator">False</property>
@@ -3103,7 +3104,7 @@
 http://creativecommons.org/licenses/by/3.0/at/
 All modified pictures are licenced by the same
 creative commons as original.</property>
-    <property name="logo">gufw.png</property>
+    <property name="logo">../media/gufw.png</property>
     <signal name="delete_event" handler="winAbout_delete_event_cb"/>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox1">
@@ -3132,7 +3133,7 @@
     <property name="modal">True</property>
     <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="icon">gufw_menu.png</property>
+    <property name="icon">../media/gufw_menu.png</property>
     <property name="type_hint">dialog</property>
     <property name="transient_for">winMain</property>
     <signal name="key_press_event" handler="winPreferences_key_press_event_cb"/>
@@ -3605,7 +3606,7 @@
     <property name="modal">True</property>
     <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="icon">gufw_menu.png</property>
+    <property name="icon">../media/gufw_menu.png</property>
     <property name="type_hint">dialog</property>
     <property name="transient_for">winMain</property>
     <signal name="key_press_event" handler="winLog_key_press_event_cb"/>

=== renamed directory 'src' => 'gufw'
=== renamed file 'Alacarte_menu/gufw.desktop' => 'gufw.desktop.in'
--- Alacarte_menu/gufw.desktop	2010-06-13 09:22:18 +0000
+++ gufw.desktop.in	2010-08-21 19:24:44 +0000
@@ -1,57 +1,8 @@
 [Desktop Entry]
-Version=1.0
+_Name=Firewall configuration
+_Comment=Allows you to configure ufw firewall
 Type=Application
 Terminal=false
-Exec=su-to-root -X -c /usr/share/gufw/gufw.py
-Name=Firewall configuration
-Name[zh_CN]=防火墙配置
-Name[uk]=Налаштування фаєрволу
-Name[sk]=Nastavenia firewall
-Name[ru]=Брандмауэр
-Name[pt_BR]=Configuração do firewall
-Name[pt]=Configuração de Firewall
-Name[nl]=Firewall-instellingen
-Name[mk]=конфигурирација на огнениот ѕид
-Name[ko]=방화벽 설정
-Name[ja]=ファイアウォールの設定
-Name[it]=Configurazione firewall
-Name[id]=Konfigurasi firewall
-Name[hu]=Tűzfalbeállítás
-Name[gl]=Configuración da devasa
-Name[fr]=Configuration du pare-feu
-Name[fi]=Palomuurin asetukset
-Name[es]=Configuración cortafuegos
-Name[en_AU]=Firewall configuration
-Name[da]=Konfiguration af brandmur
-Name[cs]=Nastavení firewallu
-Name[ca]=Configuració del tallafocs
-Name[bg]=Конфигуриране на защитната стена
-Name[ast]=Configuración del tornafuéu
-Name[ar]=إعدادات الجدار الناري
-Comment=Allows you to configure ufw firewall
-Comment[zh_CN]=允许您配置 ufw 防火墙
-Comment[uk]=Дозволяє настроїти фаєрвол ufw
-Comment[sk]=Umožní vám nastaviť ufw firewall
-Comment[ru]=Настроить брандмауэр ufw
-Comment[pt_BR]=Permite a você configurar o firewall ufw
-Comment[pt]=Permite-lhe configurar ufw firewall
-Comment[nl]=Hiermee kunt u de ufw-firewall instellen
-Comment[mk]=Овозможува да го конфигурирате ufw огнениот ѕид
-Comment[ko]=ufw 방화벽을 설정합니다
-Comment[ja]=ufw ファイアウォールの設定を行えます
-Comment[it]=Configura il firewall ufw
-Comment[id]=Memudahkan anda untuk mengkonfigurasi firewall ufw
-Comment[hu]=Az ufw tűzfal beállítása
-Comment[gl]=Permítelle configurar a súa devasa ufw
-Comment[fr]=Vous autorise à configurer le pare-feu ufw
-Comment[fi]=Graafinen käyttöliittymä ufw-palomuurin hallintaan
-Comment[es]=Permite configurar el cortafuegos ufw
-Comment[en_AU]=Configure the ufw firewall
-Comment[da]=Giver dig mulighed for at konfigurere ufw-brandmur
-Comment[cs]=Umožňuje nastavení firewallu ufw
-Comment[ca]=Us permet configurar el tallafocs ufw
-Comment[bg]=ГПИ за контрол и настройка на ufw
-Comment[ast]=Permite configurar el tornafuéu ufw
-Comment[ar]=يسٌمح لك بإعداد الجدار الناري UFW
-Icon=/usr/share/icons/hicolor/48x48/apps/gufw_menu.png
+Exec=gufw
+Icon=/usr/share/gufw/media/icon.png
 Categories=System;Settings;

=== added file 'gufw/__init__.py'
--- gufw/__init__.py	1970-01-01 00:00:00 +0000
+++ gufw/__init__.py	2010-08-21 19:24:44 +0000
@@ -0,0 +1,1 @@
+# -*- coding: utf-8 -*-

=== added file 'gufw/gufwconfig.py'
--- gufw/gufwconfig.py	1970-01-01 00:00:00 +0000
+++ gufw/gufwconfig.py	2010-08-21 19:24:44 +0000
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+### BEGIN LICENSE
+# This file is in the public domain
+### END LICENSE
+
+# THIS IS Gufw CONFIGURATION FILE
+# YOU CAN PUT THERE SOME GLOBAL VALUE
+# Do not touch unless you know what you're doing.
+# you're warned :)
+
+__all__ = [
+    'project_path_not_found',
+    'get_data_file',
+    'get_data_path',
+    ]
+
+# Where your project will look for your data (for instance, images and ui
+# files). By default, this is ../data, relative your trunk layout
+__gufw_data_directory__ = '../data/'
+__license__ = ''
+
+import os
+
+import gettext
+from gettext import gettext as _
+gettext.textdomain('gufw')
+
+class project_path_not_found(Exception):
+    """Raised when we can't find the project directory."""
+
+
+def get_data_file(*path_segments):
+    """Get the full path to a data file.
+
+    Returns the path to a file underneath the data directory (as defined by
+    `get_data_path`). Equivalent to os.path.join(get_data_path(),
+    *path_segments).
+    """
+    return os.path.join(get_data_path(), *path_segments)
+
+
+def get_data_path():
+    """Retrieve gufw data path
+
+    This path is by default <gufw_lib_path>/../data/ in trunk
+    and /usr/share/gufw in an installed version but this path
+    is specified at installation time.
+    """
+
+    # Get pathname absolute or relative.
+    path = os.path.join(
+        os.path.dirname(__file__), __gufw_data_directory__)
+
+    abs_data_path = os.path.abspath(path)
+    if not os.path.exists(abs_data_path):
+        raise project_path_not_found
+
+    return abs_data_path

=== modified file 'gufw/model/__init__.py'
--- src/model/__init__.py	2010-06-13 09:22:18 +0000
+++ gufw/model/__init__.py	2010-08-21 19:24:44 +0000
@@ -0,0 +1,1 @@
+# -*- coding: utf-8 -*-

=== modified file 'gufw/view/__init__.py'
--- src/view/__init__.py	2010-06-13 09:22:18 +0000
+++ gufw/view/__init__.py	2010-08-21 19:24:44 +0000
@@ -0,0 +1,1 @@
+# -*- coding: utf-8 -*-

=== modified file 'gufw/view/guiGufw.py'
--- src/view/guiGufw.py	2010-08-16 13:50:22 +0000
+++ gufw/view/guiGufw.py	2010-08-21 19:24:44 +0000
@@ -21,15 +21,14 @@
 import sys
 import locale
 import gettext
+from gettext import gettext as _
 import commands
 import threading
+import os
+from gufwconfig import get_data_file, get_data_path
 
 # Locale translations
-DIR = "/usr/share/locale-langpack"
-_ = gettext.gettext
-gettext.bindtextdomain("gufw", DIR)
 gettext.textdomain("gufw")
-gtk.glade.bindtextdomain("gufw", DIR)
 gtk.glade.textdomain("gufw")
 
 
@@ -39,7 +38,11 @@
         self.firewall = firewall
 
         # Set GUI objects
-        self.glade  = gtk.glade.XML(sys.path[0] + "/glade/gufw.glade")
+        ui_filename = get_data_file('ui', 'gufw.glade')
+        if not os.path.exists(ui_filename):
+            ui_filename = None
+        self.glade  = gtk.glade.XML(ui_filename)
+
         self.model_rules  = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
                                           gobject.TYPE_STRING, gobject.TYPE_STRING) 
         self.model_report = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
@@ -253,7 +256,8 @@
             self.add_btn_add.set_sensitive(0)
             self.btn_remove_rule.set_sensitive(0)
             self.menu_remove.set_sensitive(0)
-            self.shield.set_from_file("/usr/share/pixmaps/gufw/disable_disable.png")
+            shield_filename = os.path.join(get_data_path(), 'media/disable_disable.png')
+            self.shield.set_from_file(shield_filename)
         else:
             self.cb_policy_incoming.set_sensitive(1)
             self.cb_policy_outgoing.set_sensitive(1)
@@ -264,14 +268,13 @@
             else:
                 self.btn_remove_rule.set_sensitive(1)
                 self.menu_remove.set_sensitive(1)
-            
-            shield = "/usr/share/pixmaps/gufw/" +                   \
-                     self.firewall.get_default_policy("incoming") + \
+
+            shield_name = self.firewall.get_default_policy("incoming") + \
                      "_" +                                          \
-                     self.firewall.get_default_policy("outgoing") + \
-                     ".png"
-            self.shield.set_from_file(shield)
-                
+                     self.firewall.get_default_policy("outgoing")
+            shield_filename = os.path.join(get_data_path(), 'media/%s.png' % shield_name)
+            self.shield.set_from_file(shield_filename)
+
         # Menu
         self.menu_pref.set_sensitive(1)
         if self.firewall.get_gufw_logging() == "enable":

=== removed directory 'locale-langpack'
=== removed directory 'locale-langpack/ar'
=== removed directory 'locale-langpack/ar/LC_MESSAGES'
=== removed file 'locale-langpack/ar/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ar/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ar/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/ast'
=== removed directory 'locale-langpack/ast/LC_MESSAGES'
=== removed file 'locale-langpack/ast/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ast/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ast/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/be'
=== removed directory 'locale-langpack/be/LC_MESSAGES'
=== removed file 'locale-langpack/be/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/be/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/be/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/bg'
=== removed directory 'locale-langpack/bg/LC_MESSAGES'
=== removed file 'locale-langpack/bg/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/bg/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/bg/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/ca'
=== removed directory 'locale-langpack/ca/LC_MESSAGES'
=== removed file 'locale-langpack/ca/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ca/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ca/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/cs'
=== removed directory 'locale-langpack/cs/LC_MESSAGES'
=== removed file 'locale-langpack/cs/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/cs/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/cs/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/da'
=== removed directory 'locale-langpack/da/LC_MESSAGES'
=== removed file 'locale-langpack/da/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/da/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/da/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/de'
=== removed directory 'locale-langpack/de/LC_MESSAGES'
=== removed file 'locale-langpack/de/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/de/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/de/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/el'
=== removed directory 'locale-langpack/el/LC_MESSAGES'
=== removed file 'locale-langpack/el/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/el/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/el/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/en_AU'
=== removed directory 'locale-langpack/en_AU/LC_MESSAGES'
=== removed file 'locale-langpack/en_AU/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/en_AU/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/en_AU/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/en_CA'
=== removed directory 'locale-langpack/en_CA/LC_MESSAGES'
=== removed file 'locale-langpack/en_CA/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/en_CA/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/en_CA/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/en_GB'
=== removed directory 'locale-langpack/en_GB/LC_MESSAGES'
=== removed file 'locale-langpack/en_GB/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/en_GB/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/en_GB/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/es'
=== removed directory 'locale-langpack/es/LC_MESSAGES'
=== removed file 'locale-langpack/es/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/es/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/es/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/eu'
=== removed directory 'locale-langpack/eu/LC_MESSAGES'
=== removed file 'locale-langpack/eu/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/eu/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/eu/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/fi'
=== removed directory 'locale-langpack/fi/LC_MESSAGES'
=== removed file 'locale-langpack/fi/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/fi/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/fi/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/fo'
=== removed directory 'locale-langpack/fo/LC_MESSAGES'
=== removed file 'locale-langpack/fo/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/fo/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/fo/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/fr'
=== removed directory 'locale-langpack/fr/LC_MESSAGES'
=== removed file 'locale-langpack/fr/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/fr/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/fr/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/gl'
=== removed directory 'locale-langpack/gl/LC_MESSAGES'
=== removed file 'locale-langpack/gl/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/gl/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/gl/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/he'
=== removed directory 'locale-langpack/he/LC_MESSAGES'
=== removed file 'locale-langpack/he/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/he/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/he/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/hr'
=== removed directory 'locale-langpack/hr/LC_MESSAGES'
=== removed file 'locale-langpack/hr/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/hr/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/hr/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/hu'
=== removed directory 'locale-langpack/hu/LC_MESSAGES'
=== removed file 'locale-langpack/hu/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/hu/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/hu/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/id'
=== removed directory 'locale-langpack/id/LC_MESSAGES'
=== removed file 'locale-langpack/id/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/id/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/id/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/is'
=== removed directory 'locale-langpack/is/LC_MESSAGES'
=== removed file 'locale-langpack/is/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/is/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/is/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/it'
=== removed directory 'locale-langpack/it/LC_MESSAGES'
=== removed file 'locale-langpack/it/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/it/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/it/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/ja'
=== removed directory 'locale-langpack/ja/LC_MESSAGES'
=== removed file 'locale-langpack/ja/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ja/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ja/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/ko'
=== removed directory 'locale-langpack/ko/LC_MESSAGES'
=== removed file 'locale-langpack/ko/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ko/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ko/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/lv'
=== removed directory 'locale-langpack/lv/LC_MESSAGES'
=== removed file 'locale-langpack/lv/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/lv/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/lv/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/mk'
=== removed directory 'locale-langpack/mk/LC_MESSAGES'
=== removed file 'locale-langpack/mk/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/mk/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/mk/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/ms'
=== removed directory 'locale-langpack/ms/LC_MESSAGES'
=== removed file 'locale-langpack/ms/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ms/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ms/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/nb'
=== removed directory 'locale-langpack/nb/LC_MESSAGES'
=== removed file 'locale-langpack/nb/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/nb/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/nb/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/nl'
=== removed directory 'locale-langpack/nl/LC_MESSAGES'
=== removed file 'locale-langpack/nl/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/nl/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/nl/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/pl'
=== removed directory 'locale-langpack/pl/LC_MESSAGES'
=== removed file 'locale-langpack/pl/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/pl/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/pl/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/pt'
=== removed directory 'locale-langpack/pt/LC_MESSAGES'
=== removed file 'locale-langpack/pt/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/pt/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/pt/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/pt_BR'
=== removed directory 'locale-langpack/pt_BR/LC_MESSAGES'
=== removed file 'locale-langpack/pt_BR/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/pt_BR/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/pt_BR/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/ro'
=== removed directory 'locale-langpack/ro/LC_MESSAGES'
=== removed file 'locale-langpack/ro/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ro/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ro/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/ru'
=== removed directory 'locale-langpack/ru/LC_MESSAGES'
=== removed file 'locale-langpack/ru/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/ru/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/ru/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/sk'
=== removed directory 'locale-langpack/sk/LC_MESSAGES'
=== removed file 'locale-langpack/sk/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/sk/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/sk/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/sl'
=== removed directory 'locale-langpack/sl/LC_MESSAGES'
=== removed file 'locale-langpack/sl/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/sl/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/sl/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/sq'
=== removed directory 'locale-langpack/sq/LC_MESSAGES'
=== removed file 'locale-langpack/sq/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/sq/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/sq/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/sr'
=== removed directory 'locale-langpack/sr/LC_MESSAGES'
=== removed file 'locale-langpack/sr/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/sr/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/sr/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/sv'
=== removed directory 'locale-langpack/sv/LC_MESSAGES'
=== removed file 'locale-langpack/sv/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/sv/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/sv/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/template'
=== removed file 'locale-langpack/template/messages.pot'
--- locale-langpack/template/messages.pot	2010-08-14 19:41:02 +0000
+++ locale-langpack/template/messages.pot	1970-01-01 00:00:00 +0000
@@ -1,363 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-08-13 16:14+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@xxxxxx>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/glade/gufw.glade:6
-msgid "Firewall"
-msgstr ""
-
-#: src/glade/gufw.glade:18
-msgid "_File"
-msgstr ""
-
-#: src/glade/gufw.glade:25 src/glade/gufw.glade:3604
-msgid "Log"
-msgstr ""
-
-#: src/glade/gufw.glade:59
-msgid "_Edit"
-msgstr ""
-
-#: src/glade/gufw.glade:66 src/glade/gufw.glade:1008
-msgid "Add Rule"
-msgstr ""
-
-#: src/glade/gufw.glade:80
-msgid "Remove Rule"
-msgstr ""
-
-#: src/glade/gufw.glade:94
-msgid "Reset Configuration..."
-msgstr ""
-
-#: src/glade/gufw.glade:128
-msgid "_Help"
-msgstr ""
-
-#: src/glade/gufw.glade:221
-msgid "<b>Actual Status</b>"
-msgstr ""
-
-#: src/glade/gufw.glade:253
-msgid "Enabled"
-msgstr ""
-
-#: src/glade/gufw.glade:313
-msgid "Incoming:"
-msgstr ""
-
-#: src/glade/gufw.glade:320
-msgid "Outgoing:"
-msgstr ""
-
-#: src/glade/gufw.glade:362 src/glade/gufw.glade:375
-msgid ""
-"Deny\n"
-"Reject\n"
-"Allow"
-msgstr ""
-
-#: src/glade/gufw.glade:587
-msgid "<b>Rules</b>"
-msgstr ""
-
-#: src/glade/gufw.glade:703
-msgid "Open a window for add rules"
-msgstr ""
-
-#: src/glade/gufw.glade:719
-msgid "Remove the selected rule(s)"
-msgstr ""
-
-#: src/glade/gufw.glade:805
-msgid "<b>Listening Report</b>"
-msgstr ""
-
-#: src/glade/gufw.glade:1130 src/glade/gufw.glade:1713
-#: src/glade/gufw.glade:2221
-msgid "Insert the rule in a row specified"
-msgstr ""
-
-#: src/glade/gufw.glade:1213 src/glade/gufw.glade:1794
-#: src/glade/gufw.glade:2302
-msgid ""
-"Allow\n"
-"Deny\n"
-"Reject\n"
-"Limit"
-msgstr ""
-
-#: src/glade/gufw.glade:1284 src/glade/gufw.glade:1865
-#: src/glade/gufw.glade:2373
-msgid ""
-"In\n"
-"Out"
-msgstr ""
-
-#: src/glade/gufw.glade:1360 src/glade/gufw.glade:1941
-#: src/glade/gufw.glade:2452
-msgid "Log will log all new connections. Log all will log all packets"
-msgstr ""
-
-#: src/glade/gufw.glade:1361 src/glade/gufw.glade:1942
-#: src/glade/gufw.glade:2453
-msgid ""
-"No log\n"
-"Log\n"
-"Log all"
-msgstr ""
-
-#: src/glade/gufw.glade:1433
-msgid ""
-"Program\n"
-"Service"
-msgstr ""
-
-#: src/glade/gufw.glade:1635
-msgid "Preconfigured"
-msgstr ""
-
-#: src/glade/gufw.glade:2021 src/glade/gufw.glade:2532
-msgid ""
-"TCP\n"
-"UDP\n"
-"Both"
-msgstr ""
-
-#: src/glade/gufw.glade:2088
-msgid "Service or port (range ports \"port1:port2\")"
-msgstr ""
-
-#: src/glade/gufw.glade:2145
-msgid "Simple"
-msgstr ""
-
-#: src/glade/gufw.glade:2584 src/view/guiGufw.py:86
-msgid "From"
-msgstr ""
-
-#: src/glade/gufw.glade:2606 src/view/guiGufw.py:80
-msgid "To"
-msgstr ""
-
-#: src/glade/gufw.glade:2643 src/glade/gufw.glade:2670
-msgid "IP Address"
-msgstr ""
-
-#: src/glade/gufw.glade:2710 src/glade/gufw.glade:2737
-msgid "Port number (range ports \"port1:port2\")"
-msgstr ""
-
-#: src/glade/gufw.glade:2790
-msgid "Reset to the default values"
-msgstr ""
-
-#: src/glade/gufw.glade:2870
-msgid "Advanced"
-msgstr ""
-
-#: src/glade/gufw.glade:2947
-msgid "Show extended actions"
-msgstr ""
-
-#: src/glade/gufw.glade:2986
-msgid "Add this rule to the firewall"
-msgstr ""
-
-#: src/glade/gufw.glade:3057
-msgid "About Gufw"
-msgstr ""
-
-#: src/glade/gufw.glade:3067
-msgid "© 2008-2010 The Gufw project"
-msgstr ""
-
-#: src/glade/gufw.glade:3068
-msgid "Graphic user interface for ufw"
-msgstr ""
-
-#: src/glade/gufw.glade:3130
-msgid "Preferences"
-msgstr ""
-
-#: src/glade/gufw.glade:3195
-msgid "Enable listening report"
-msgstr ""
-
-#: src/glade/gufw.glade:3199
-msgid ""
-"Listening state for TCP and the open state for UDP\n"
-"Enabled: Gufw will consume more CPU resources"
-msgstr ""
-
-#: src/glade/gufw.glade:3240
-msgid "<b>Listening Option</b>"
-msgstr ""
-
-#: src/glade/gufw.glade:3311
-msgid "Enable Gufw logging"
-msgstr ""
-
-#: src/glade/gufw.glade:3352
-msgid "Enable ufw logging."
-msgstr ""
-
-#: src/glade/gufw.glade:3420
-msgid "Set level:"
-msgstr ""
-
-#: src/glade/gufw.glade:3447
-msgid ""
-"Low\n"
-"Medium\n"
-"High\n"
-"Full"
-msgstr ""
-
-#: src/glade/gufw.glade:3489
-msgid "<b>Log Options</b>"
-msgstr ""
-
-#: src/glade/gufw.glade:3686
-msgid "<b>Firewall Actions Log</b>"
-msgstr ""
-
-#: src/glade/gufw.glade:3764
-msgid "Show for server script"
-msgstr ""
-
-#: src/glade/gufw.glade:3768
-msgid "Tool for create a script in another computer"
-msgstr ""
-
-#: src/glade/gufw.glade:3794
-msgid "Remove all Gufw log"
-msgstr ""
-
-#: src/view/guiGufw.py:83
-msgid "Action"
-msgstr ""
-
-#: src/view/guiGufw.py:94
-msgid "Protocol"
-msgstr ""
-
-#: src/view/guiGufw.py:97
-msgid "Port"
-msgstr ""
-
-#: src/view/guiGufw.py:100
-msgid "Address"
-msgstr ""
-
-#: src/view/guiGufw.py:103
-msgid "Application"
-msgstr ""
-
-#: src/view/guiGufw.py:166
-msgid "translator-credits"
-msgstr ""
-
-#: src/view/guiGufw.py:589
-msgid "You will remove all rules and reset the firewall!"
-msgstr ""
-
-#: src/view/guiGufw.py:590
-msgid "Do you want to continue?"
-msgstr ""
-
-#: src/view/guiGufw.py:591
-msgid "Reset to initial configuration"
-msgstr ""
-
-#: src/view/guiGufw.py:599
-msgid "Removed rules and reset firewall!"
-msgstr ""
-
-#: src/view/guiGufw.py:684
-msgid "Disabled firewall"
-msgstr ""
-
-#: src/view/guiGufw.py:688
-msgid "Enabled firewall"
-msgstr ""
-
-#: src/view/guiGufw.py:702
-msgid "Deny all INCOMING traffic"
-msgstr ""
-
-#: src/view/guiGufw.py:706
-msgid "Reject all INCOMING traffic"
-msgstr ""
-
-#: src/view/guiGufw.py:710
-msgid "Allow all INCOMING traffic"
-msgstr ""
-
-#: src/view/guiGufw.py:725
-msgid "Deny all OUTGOING traffic"
-msgstr ""
-
-#: src/view/guiGufw.py:729
-msgid "Reject all OUTGOING traffic"
-msgstr ""
-
-#: src/view/guiGufw.py:733
-msgid "Allow all OUTGOING traffic"
-msgstr ""
-
-#: src/view/guiGufw.py:769
-msgid "Select rule(s)"
-msgstr ""
-
-#: src/view/guiGufw.py:775
-msgid "Removing rules..."
-msgstr ""
-
-#: src/view/guiGufw.py:812
-msgid "Rule removed"
-msgstr ""
-
-#: src/view/guiGufw.py:814
-msgid "Rules removed"
-msgstr ""
-
-#: src/view/guiGufw.py:816 src/view/guiGufw.py:923 src/view/guiGufw.py:952
-#: src/view/guiGufw.py:1024 src/view/guiGufw.py:1096
-msgid "Error performing operation"
-msgstr ""
-
-#: src/view/guiGufw.py:921 src/view/guiGufw.py:948 src/view/guiGufw.py:1022
-#: src/view/guiGufw.py:1094
-msgid "Rule added"
-msgstr ""
-
-#: src/view/guiGufw.py:950
-msgid "Rules added"
-msgstr ""
-
-#: src/view/guiGufw.py:1011
-msgid "Error: Insert a port number"
-msgstr ""
-
-#: src/view/guiGufw.py:1016 src/view/guiGufw.py:1084 src/view/guiGufw.py:1088
-msgid "Error: Range ports only with tcp or udp protocol"
-msgstr ""
-
-#: src/view/guiGufw.py:1079
-msgid "Error: Fields filled out incorrectly"
-msgstr ""

=== removed directory 'locale-langpack/th'
=== removed directory 'locale-langpack/th/LC_MESSAGES'
=== removed file 'locale-langpack/th/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/th/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/th/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/tl'
=== removed directory 'locale-langpack/tl/LC_MESSAGES'
=== removed file 'locale-langpack/tl/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/tl/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/tl/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/tr'
=== removed directory 'locale-langpack/tr/LC_MESSAGES'
=== removed file 'locale-langpack/tr/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/tr/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/tr/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/uk'
=== removed directory 'locale-langpack/uk/LC_MESSAGES'
=== removed file 'locale-langpack/uk/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/uk/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/uk/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/vi'
=== removed directory 'locale-langpack/vi/LC_MESSAGES'
=== removed file 'locale-langpack/vi/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/vi/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/vi/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/zh_CN'
=== removed directory 'locale-langpack/zh_CN/LC_MESSAGES'
=== removed file 'locale-langpack/zh_CN/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/zh_CN/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/zh_CN/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== removed directory 'locale-langpack/zh_TW'
=== removed directory 'locale-langpack/zh_TW/LC_MESSAGES'
=== removed file 'locale-langpack/zh_TW/LC_MESSAGES/gufw.mo'
Binary files locale-langpack/zh_TW/LC_MESSAGES/gufw.mo	2010-08-14 19:03:20 +0000 and locale-langpack/zh_TW/LC_MESSAGES/gufw.mo	1970-01-01 00:00:00 +0000 differ
=== renamed directory 'man_page' => 'man'
=== added file 'man/gufw.8'
--- man/gufw.8	1970-01-01 00:00:00 +0000
+++ man/gufw.8	2010-08-21 19:24:44 +0000
@@ -0,0 +1,96 @@
+.TH gufw 8 "10 Oct 2010"
+
+.SH NAME
+Gufw \- Graphic user interface for managing ufw
+.PP
+.SH DESCRIPTION
+Gufw is an easy to use Ubuntu / Linux firewall, powered by ufw.
+
+Gufw is an easy, intuitive, way to manage your Linux firewall. It supports common tasks such as allowing or blocking pre-configured, common p2p, or individual ports port(s), and many others! Gufw is powered by ufw , runs on Ubuntu, and anywhere else Python, GTK, and Ufw are available.
+Introduction
+iptables is already a very powerful tool by itself, but it's syntax can get awkward at times and hard to figure out, so Ubuntu developers decided to make ufw ("The reason ufw was developed is that we wanted to create a server-level firewalling utility that was a little bit more for `human beings`"), which was to be simpler. Now, on the graphical side of things, Firestarer already existed. But why not make an even easier to use GUI for desktop `human beings`, powered by ufw? This is where Gufw comes in.
+
+.SH RUN
+.TP
+You can run Gufw in GNOME menu: /System/Administration/Firewall configuration
+
+.SH "USAGE"
+.SH BASIC SETTINGS
+.PP
+Gufw has two states: Enabled and disabled.
+When Gufw is enabled, you can allow/reject/deny all incoming and outgoing connections.
+
+.SH ADD PRECONFIGURED RULE(S)
+.PP
+You can select between more Programs and Services preconfigured.
+Once Program/Service can have multiples rules.
+
+.SH ADD SIMPLE RULE(S)
+.PP
+You can specify the port or service, and protocol to be allowed (allow traffic), reject (reject traffic without reply), denied (deny traffic with reply), limit (limit traffic) on the host, or limit an IP or Port (Protecting against brute-force login attacks).
+The port can be a number of 5 digits, from 1 to 65535.
+The service can be any of /etc/services file (By example tcpmux, echo, discard, systat...).
+The protocol can be:
+   1. tcp: Apply rule for all traffic in protocol tcp.
+   2. udp: Apply rule for all traffic in protocol udp.
+   3. both: Apply rule for all traffic in protocol tcp and udp.
+   
+.SH ADD ADVANCED RULE(S)
+.PP
+You can add an advanced rule.
+You can specify:
+   1. Protocol: tcp, udp or both.
+   2. From IP Addres: You can allow/deny/reject/limit traffic from IP address. This parameter is optional or you can use "Any". Example for a range: 192.168.1.0/9
+   3. From Port: You can allow/deny/reject/limit traffic from a port. This parameter is optional. The port can be a number of 5 digits, from 1 to 65535. You can use a range ports with this format port1:port2 (by example 3234:3237), or add multiple ports with port1,port2 (by example 3234,3254).
+   4. To IP Addres: You can allow/deny/limit traffic to an IP address. This parameter is optional or you can use "Any". Example for a range: 192.168.1.0/9
+   5. To Port: You can allow/deny/reject/limit traffic to a Port. This parameter is optional. The port can be a number of 5 digits, from 1 to 65535. You can use a range ports with this format port1:port2 (by example 3234:3237).
+
+.SH GENERAL TO PRECONFIGURED / SIMPLE / ADVANCED
+.PP
+With the extended parameters you can:
+Insert a rule in a specific row
+Set the log level for ufw.
+
+.SH REMOVE ONE RULE
+.PP
+Steps:
+   1. Select a rule in the list.
+   2. Click in Remove button.
+You can delete more rules if you select it.
+
+.SH RESET CONFIGURATION
+.PP
+You will remove all rules and reset the ufw configuration to intial status!
+
+.SH EDIT PREFERENCES
+.PP
+You can edit your preferences in /Edit/Preferences menu.
+Preferences:
+   1. Register Gufw log: You will have got a log of all operations of Gufw.			
+   2. ufw log enabled: You will enable/disable and set the level of the ufw log.
+
+.SH LISTENING REPORT
+.PP
+You can enable the Listening Report in the Preferences window.
+The listening report will display the ports on the live system in the listening
+state for TCP and the open state for UDP. It's the same report that the 
+listening report in ufw.
+
+.SH "NOTES"
+.SH HOW TO AUTOSTART GUFW WITH THE SYSTEM?
+.PP
+A short answer is, you really don't need to autostart Gufw. Gufw is just a settings tool for ufw (the real firewall), and they are split separate.
+Think of Gufw as a settings dialog. After you do all of the changes and close it, the settings are still in effect (for example, when you setup a new printer - after you close the setup window, your printer setup still stays!).
+So there is no need to add Gufw to auto-start, unless you're going to change your firewall settings very frequently. If you enable the firewall and close Gufw, the firewall will still be enabled, even after a reboot.
+REMEMBER: Once configured it will stay that way, so you don't need to be running Gufw on your desktop all the time!
+
+.SH SEE ALSO
+.PP
+\fBufw\fR(8)
+
+.SH AUTHOR
+.PP
+Gufw is (C) 2008-2010, Marcos Alvarez Costales.
+
+.PP
+This manual page was originally written by Marcos Alvarez Costales <marcos@xxxxxxxxxxxxxx>

=== removed file 'man_page/gufw.8.gz'
Binary files man_page/gufw.8.gz	2010-08-16 13:50:22 +0000 and man_page/gufw.8.gz	1970-01-01 00:00:00 +0000 differ
=== removed directory 'pixmaps'
=== added directory 'po'
=== added file 'po/POTFILES.in'
--- po/POTFILES.in	1970-01-01 00:00:00 +0000
+++ po/POTFILES.in	2010-08-21 19:24:44 +0000
@@ -0,0 +1,3 @@
+gufw/view/guiGufw.py
+[type: gettext/glade] data/ui/gufw.glade
+gufw.desktop.in

=== modified file 'setup.py' (properties changed: +x to -x)
--- setup.py	2010-08-16 13:50:22 +0000
+++ setup.py	2010-08-21 19:24:44 +0000
@@ -1,62 +1,88 @@
 #!/usr/bin/env python
-
-# Gufw 10.10.1 - http://gufw.tuxfamily.org
-# Copyright (C) 2008-2010 Marcos Alvarez Costales <marcos@xxxxxxxxxxxxxx>
-#
-# Gufw 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.
-# 
-# Gufw 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 Gufw; if not, see http://www.gnu.org/licenses for more
-# information.
-
-import sys, os
-assert sys.version >= '2', "Install Python 2.0 or greater"
-from distutils.core import setup, Extension
-import glob
-
-
-# Create data files
-data = [ ('/usr/share/applications',             ['Alacarte_menu/gufw.desktop']),
-         ('/usr/share/gufw/glade',               glob.glob("src/glade/*.*")),                
-         ('/usr/bin',                            ['global_command/gufw']),      
-         ('/usr/share/icons/hicolor/48x48/apps', glob.glob("icon/*.*")),         
-         ('/usr/share/man/man8',                 ['man_page/gufw.8.gz']),             
-         ('/usr/share/gufw/model',               glob.glob("src/model/*.*")),                
-         ('/usr/share/pixmaps/gufw',             glob.glob("pixmaps/*.png")),            
-         ('/usr/share/gufw/view',                glob.glob("src/view/*.*")),                 
-         ('/usr/share/gufw',                     glob.glob("src/*.py")) ]
-
-
-
-# Create locale list
-locales = []
-for i in os.listdir("./locale-langpack/"):
-    locales.append(i)
-# Adding locales to data files:
-for i in locales:
-    locale = ("/usr/share/locale-langpack/%s/LC_MESSAGES/"%i,["locale-langpack/%s/LC_MESSAGES/gufw.mo"%i])
-    data.append(locale)
-
-
-
-# Setup stage
-setup(
-    name         = "Gufw",
-    version      = "10.10.1",
-    description  = "An easy, intuitive, way to manage your Linux firewall. It supports common tasks such as allowing or blocking pre-configured, common p2p, or individual ports port(s), and many others!",
-    author       = "Marcos Alvarez Costales <marcos@xxxxxxxxxxxxxx>",
-    author_email = "<marcos@xxxxxxxxxxxxxx>",
-    url          = "http://gufw.tuxfamily.org";,
-    license      = "GPL3",
-    packages     = ["doc"],
-    data_files   = data
+# -*- coding: utf-8 -*-
+### BEGIN LICENSE
+# This file is in the public domain
+### END LICENSE
+
+###################### DO NOT TOUCH THIS (HEAD TO THE SECOND PART) ######################
+
+import os
+import sys
+
+try:
+    import DistUtilsExtra.auto
+except ImportError:
+    print >> sys.stderr, 'To build gufw you need https://launchpad.net/python-distutils-extra'
+    sys.exit(1)
+assert DistUtilsExtra.auto.__version__ >= '2.18', 'needs DistUtilsExtra.auto >= 2.18'
+
+def update_data_path(prefix, oldvalue=None):
+
+    try:
+        fin = file('gufw/gufwconfig.py', 'r')
+        fout = file(fin.name + '.new', 'w')
+
+        for line in fin:
+            fields = line.split(' = ') # Separate variable from value
+            if fields[0] == '__gufw_data_directory__':
+                # update to prefix, store oldvalue
+                if not oldvalue:
+                    oldvalue = fields[1]
+                    line = "%s = '%s'\n" % (fields[0], prefix)
+                else: # restore oldvalue
+                    line = "%s = %s" % (fields[0], oldvalue)
+            fout.write(line)
+
+        fout.flush()
+        fout.close()
+        fin.close()
+        os.rename(fout.name, fin.name)
+    except (OSError, IOError), e:
+        print ("ERROR: Can't find gufw/gufwconfig.py")
+        sys.exit(1)
+    return oldvalue
+
+
+def update_desktop_file(datadir):
+
+    try:
+        fin = file('gufw.desktop.in', 'r')
+        fout = file(fin.name + '.new', 'w')
+
+        for line in fin:
+            if 'Icon=' in line:
+                line = "Icon=%s\n" % (datadir + 'media/icon.png')
+            fout.write(line)
+        fout.flush()
+        fout.close()
+        fin.close()
+        os.rename(fout.name, fin.name)
+    except (OSError, IOError), e:
+        print ("ERROR: Can't find gufw.desktop.in")
+        sys.exit(1)
+
+
+class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
+    def run(self):
+        previous_value = update_data_path(self.prefix + '/share/gufw/')
+        update_desktop_file(self.prefix + '/share/gufw/')
+        DistUtilsExtra.auto.install_auto.run(self)
+        update_data_path(self.prefix, previous_value)
+
+
+
+##################################################################################
+###################### YOU SHOULD MODIFY ONLY WHAT IS BELOW ######################
+##################################################################################
+
+DistUtilsExtra.auto.setup(
+    name='gufw',
+    version='10.10.1',
+    license='GPL-3',
+    author='Marcos Alvarez Costales',
+    author_email='marcos@xxxxxxxxxxxxxx',
+    description='An easy, intuitive, way to manage your Linux firewall. It supports common tasks such as allowing or blocking pre-configured, common p2p, or individual ports port(s), and many others!',
+    url='http://gufw.tuxfamily.org',
+    cmdclass={'install': InstallAndUpdateDataDirectory}
     )
 


Follow ups