Package: libsafe
Version: 2.0-16-6
Severity: wishlist
Tags: patch l10n

Using the "new" gettext format for debconf templates helps for templates
translations. For instance, detecting outdated or untranslated strings 
becomes considerably easier. It also keeps track of who did which
translation.

Patch description:
------------------
The attached patch does the required modifications:
- debian/control modification for dependencies:
  build-dep: debhelper (>= 4.1.16) which depends on po-debconf
  depend: debconf (>= 1.2.0) since old versions have problems with templates
          specifying the encoding of their content
- Add 'debconf-updatepo' to the clean target of your debian/rules
  (to make sure that the relevant files are ready for translation in the
   distributed source packages, and thus help translators)
- execute "debconf-gettextize debian/*templates*". This does:
  - generate po/ directory containing all the translation mecanism
  - change the template file to mark some strings as translatable by putting
    a _ before the field name.
- mark the right strings as translatable in the templates. This is a manual
  check to make sure that fields containing stuff which cannot be
  translated such as kernel module name, and the one not shown to the users
  are not marked as translatable.
- removed files left by debconf-gettextize (*.templates.XX which are the
  old-style translations and now live in debian/po/XX.po)

  The previously existing translation were not lost in the process, but
  automatically converted to po files. You may however want to ask your
  previous translator to review them and update them if needed. Also ask
  them to add their name in the header of the po files, to ease future
  maintainance and update of the file.
  
For more details, see po-debconf documentation, especially "man 7
po-debconf"


About backports:
----------------
Please note that the suggested modifications will make your
package a little bit harder to backport to earlier Debian releases. If
this is a concern to you, you may try to adopt the method used by the
openssh package and detailed by Colin Watson in
http://lists.debian.org/debian-i18n/2003/debian-i18n-200307/msg00026.html

This patch does not includes this method as this would make it too
invasive, IMHO. So, preserving backportability is up to you...

Stylistic considerations:
-------------------------
The templates of your package may be easily improved by applying the advices
contained at the following address:

http://people.debian.org/~bubulle/dtsg/dtsg.txt

Don't get me wrong, I don't want to criticize, I just want the template to
reach a translatable state (ie quite stable) rather soon.
                      
Future:
-------
Once the switch is achieved, and style improvements are done (if any), I
guess that you will receive translations of your templates rather soon. They
will consist in XX.po files where XX is the code of the language they
contain. Simply put them to debian/po, add a changelog entry, and your
package is ready for rebuilding and uploading after the usual checks.

If you modify your templates in the future, no action is absolutely
mandatory from you to take care of the translations (outdated translations
will be automatically discarded). But it is nicer to your translators and
your not english speaking users to include the updated translations in the
same upload. For that, run debconf-updatepo, and mail each translator the
XX.po file they provided you. Their adress can be found in the headers of
the po file. Wait a few days so that they can do their work, and put the new
version of the po file back in position in debian/po before upload.



Thanks for helping the translators, and thus your non english speaker
end-users.


-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.10-1-k7
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages libsafe depends on:
ii  debconf                     1.4.45       Debian configuration management sy
ii  ld.so.preload-manager       0.3.3-1.1    A utility to manage the libraries 
ii  libc6                       2.3.2.ds1-20 GNU C Library: Shared libraries an

-- debconf information:
* libsafe/want_preload: false

-- 
Lucas Wall <[EMAIL PROTECTED]>      .''`.                      
Buenos Aires, Argentina                : :ø :   Debian GNU/Linux   
http://www.kadath.com.ar               `. `'  http://www.debian.org
PGP: 1024D/84FB46D6                      `-                        
     5D25 528A 83AB 489B 356A        http://people.debian.org/~lwall
     4087 BC9B 4733 84FB 46D6        mailto:[EMAIL PROTECTED]        
diff -ruN orig/libsafe-2.0-16/debian/control libsafe-2.0-16/debian/control
--- orig/libsafe-2.0-16/debian/control  2005-02-19 03:15:17.000000000 -0300
+++ libsafe-2.0-16/debian/control       2005-02-19 03:18:08.000000000 -0300
@@ -3,12 +3,12 @@
 Section: libs
 Priority: optional
 Maintainer: David Coe <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>= 3.0), patch, tetex-bin, tetex-extra
+Build-Depends: debhelper (>= 4.1.16), patch, tetex-bin, tetex-extra
 Standards-Version: 3.5.10
 
 Package: libsafe
 Architecture: any
-Depends: ${shlibs:Depends}, debconf, ld.so.preload-manager (>= 0.1)
+Depends: ${shlibs:Depends}, debconf (>= 1.2.0), ld.so.preload-manager (>= 0.1)
 Description:  Protection against buffer overflow vulnerabilities
  Libsafe is a library that works with any pre-compiled executable and can be
  used transparently. Libsafe intercepts calls to functions known to be
diff -ruN orig/libsafe-2.0-16/debian/po/POTFILES.in 
libsafe-2.0-16/debian/po/POTFILES.in
--- orig/libsafe-2.0-16/debian/po/POTFILES.in   1969-12-31 21:00:00.000000000 
-0300
+++ libsafe-2.0-16/debian/po/POTFILES.in        2005-02-19 03:18:49.000000000 
-0300
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] templates
diff -ruN orig/libsafe-2.0-16/debian/po/templates.pot 
libsafe-2.0-16/debian/po/templates.pot
--- orig/libsafe-2.0-16/debian/po/templates.pot 1969-12-31 21:00:00.000000000 
-0300
+++ libsafe-2.0-16/debian/po/templates.pot      2005-02-19 03:18:49.000000000 
-0300
@@ -0,0 +1,72 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-02-19 03:18-0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <[EMAIL PROTECTED]>\n"
+"Language-Team: LANGUAGE <[EMAIL PROTECTED]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../templates:4
+msgid "Do you want libsafe to be preloaded globally?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:4
+msgid ""
+"Warning: DO NOT SAY \"YES\" until after you have tested this version of "
+"libsafe on this system. (You may run \"dpkg-reconfigure libsafe\" at any "
+"time, to be asked this question again.)"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:4
+msgid ""
+"Please run \"man 8 libsafe\" to learn how to test libsafe with individual "
+"programs.  I strongly urge you to do that before enabling it globally."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:4
+msgid ""
+"(We are not yet confident about libsafe's ability to work without breaking "
+"some other software -- please see the open bug reports at http://bugs.debian.";
+"org/libsafe, and contribute more information if you have any)."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:4
+msgid ""
+"When you know libsafe works for you, and doesn't break something you care "
+"about, you may want to say \"Yes\" here. That will cause libsafe to be "
+"preloaded (using ld.so.preload) for everything run on this system."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:4
+msgid "If you are not sure, say \"No.\""
+msgstr ""
diff -ruN orig/libsafe-2.0-16/debian/rules libsafe-2.0-16/debian/rules
--- orig/libsafe-2.0-16/debian/rules    2005-02-19 03:15:17.000000000 -0300
+++ libsafe-2.0-16/debian/rules 2005-02-19 03:18:39.000000000 -0300
@@ -70,6 +70,7 @@
        dh_testdir
        dh_testroot
        rm -f build-stamp configure-stamp
+       debconf-updatepo
 
 #      # Add here commands to clean up after the build process.
        -$(MAKE) purge
diff -ruN orig/libsafe-2.0-16/debian/templates libsafe-2.0-16/debian/templates
--- orig/libsafe-2.0-16/debian/templates        2005-02-19 03:15:17.000000000 
-0300
+++ libsafe-2.0-16/debian/templates     2005-02-19 03:18:49.000000000 -0300
@@ -1,24 +1,21 @@
 Template: libsafe/want_preload
 Type: boolean
 Default: false
-Description: Do you want libsafe to be preloaded globally?
- Warning: DO NOT SAY "YES" until after you have tested this version 
- of libsafe on this system.
- (You may run "dpkg-reconfigure libsafe" at any time, to be asked this
- question again.)
+_Description: Do you want libsafe to be preloaded globally?
+ Warning: DO NOT SAY "YES" until after you have tested this version of
+ libsafe on this system. (You may run "dpkg-reconfigure libsafe" at any
+ time, to be asked this question again.)
  .
- Please run "man 8 libsafe" to learn how to
- test libsafe with individual programs.  I strongly urge you to
- do that before enabling it globally.
+ Please run "man 8 libsafe" to learn how to test libsafe with individual
+ programs.  I strongly urge you to do that before enabling it globally.
  .
  (We are not yet confident about libsafe's ability to work without breaking
- some other software -- please see the open bug reports at 
- http://bugs.debian.org/libsafe, and contribute more information if
- you have any).
+ some other software -- please see the open bug reports at
+ http://bugs.debian.org/libsafe, and contribute more information if you
+ have any).
  .
- When you know libsafe works for you, and doesn't break
- something you care about, you may want to say "Yes" here. 
- That will cause libsafe to be preloaded (using ld.so.preload) for everything
- run on this system.
+ When you know libsafe works for you, and doesn't break something you care
+ about, you may want to say "Yes" here. That will cause libsafe to be
+ preloaded (using ld.so.preload) for everything run on this system.
  .
  If you are not sure, say "No."

Attachment: signature.asc
Description: Digital signature

Reply via email to