Hi,

Jari Aalto wrote:

> Message examples:
>
>     dpkg-query: no path found matching pattern /usr/bin/agrep.
>     dpkg-query: no path found matching pattern /usr/bin/agrep.
>     dpkg-query: no path found matching pattern /usr/bin/buildcast.
>     dpkg-query: no path found matching pattern /usr/bin/buildcast.
>     dpkg-query: no path found matching pattern /usr/bin/cast.
>
> PROBLEM
>
> Each of the message ends in a full stop. The problems is that when you
> try to copy the path at the end, double-clicking the word ("the path")
> and brings along the final full stop.

It's also stylistically inconsistent.  Here, have a patch. :)

The following patch is very rough.  Please feel free to cherry-pick
the good parts and criticise the bad parts.  I'd be happy to send
another version that fixes up translations to avoid unwanted fuzzies
after review.

-- 8< --
Subject: avoid full stop at the end of errors and warnings

An error message like "couldn't parse control information from
foo.deb" is not a full sentence, so don't punctuate it like one.  The
main purpose of this patch is stylistic consistency, but perhaps it
can also make copy-and-paste from messages like

        dpkg-query: no path found matching pattern /usr/bin/agrep.

a little easier.

Most actual full sentences should remain untouched.  A few full
sentences are error messages at heart, so this patch converts those to
lower-case sentence fragment form, too.

Requested-by: Jari Aalto <[email protected]>
---
 dpkg-deb/build.c                        |    2 +-
 dselect/bindings.cc                     |    2 +-
 scripts/Dpkg/BuildFlags.pm              |    2 +-
 scripts/Dpkg/Shlibs/SymbolFile.pm       |    6 ++--
 scripts/Dpkg/Source/Package/V3/bzr.pm   |    3 +-
 scripts/Dpkg/Source/Package/V3/git.pm   |    4 +-
 scripts/Dpkg/Source/Package/V3/quilt.pm |    4 +-
 scripts/dpkg-architecture.pl            |    2 +-
 scripts/dpkg-buildpackage.pl            |    9 ++---
 scripts/dpkg-scanpackages.pl            |    2 +-
 scripts/dpkg-shlibdeps.pl               |   18 +++++-----
 src/archives.c                          |   24 +++++++-------
 src/enquiry.c                           |    2 +-
 src/filesdb.c                           |    4 +-
 src/help.c                              |   10 +++---
 src/processarc.c                        |    6 ++--
 src/querycmd.c                          |    4 +-
 src/remove.c                            |    4 +-
 src/statcmd.c                           |   10 +++---
 src/update.c                            |    3 +-
 utils/update-alternatives.c             |   54 +++++++++++++++---------------
 21 files changed, 88 insertions(+), 87 deletions(-)

diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
index 0e40222..8f0aa49 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
@@ -428,7 +428,7 @@ do_build(const char *const *argv)
   if (nocheckflag) {
     if (subdir)
       ohshit(_("target is directory - cannot skip control file check"));
-    warning(_("not checking contents of control area."));
+    warning(_("not checking contents of control area"));
     printf(_("dpkg-deb: building an unknown package in '%s'.\n"), debar);
   } else {
     struct pkginfo *pkg;
diff --git a/dselect/bindings.cc b/dselect/bindings.cc
index b544e29..db57050 100644
--- a/dselect/bindings.cc
+++ b/dselect/bindings.cc
@@ -159,7 +159,7 @@ const keybindings::description keybindings::descriptions[]= 
{
   { "morespecific",    N_("Make highlight more specific")                      
  },
   { "lessspecific",    N_("Make highlight less specific")                      
  },
   { "search",          N_("Search for a package whose name contains a string") 
  },
-  { "searchagain",     N_("Repeat last search.")                               
  },
+  { "searchagain",     N_("Repeat last search")                                
  },
   { "swaporder",       N_("Swap sort order priority/section")                  
  },
   { "quitcheck",       N_("Quit, confirming, and checking dependencies")       
  },
   { "quitnocheck",     N_("Quit, confirming without check")                    
  },
diff --git a/scripts/Dpkg/BuildFlags.pm b/scripts/Dpkg/BuildFlags.pm
index c4f9a95..1538ef5 100644
--- a/scripts/Dpkg/BuildFlags.pm
+++ b/scripts/Dpkg/BuildFlags.pm
@@ -204,7 +204,7 @@ sub update_from_conffile {
                 $self->append($flag, $value, $src);
             }
         } else {
-            warning(_g("line %d of %s is invalid, it has been ignored."), $., 
$file);
+            warning(_g("line %d of %s is invalid; it has been ignored"), $., 
$file);
         }
     }
     close(CNF);
diff --git a/scripts/Dpkg/Shlibs/SymbolFile.pm 
b/scripts/Dpkg/Shlibs/SymbolFile.pm
index fa079b2..40aa5ff 100644
--- a/scripts/Dpkg/Shlibs/SymbolFile.pm
+++ b/scripts/Dpkg/Shlibs/SymbolFile.pm
@@ -215,7 +215,7 @@ sub parse {
 
        if (/^(?:\s+|#(?:DEPRECATED|MISSING): ([^#]+)#\s*)(.*)/) {
            if (not defined ($$obj_ref)) {
-               error(_g("Symbol information must be preceded by a header (file 
%s, line %s)."), $file, $.);
+               error(_g("Symbol information must be preceded by a header (file 
%s, line %s)"), $file, $.);
            }
            # Symbol specification
            my $deprecated = ($1) ? $1 : 0;
@@ -268,7 +268,7 @@ sub merge_object_from_symfile {
     if (not $self->has_object($objid)) {
         $self->{objects}{$objid} = $src->get_object($objid);
     } else {
-        warning(_g("Tried to merge the same object (%s) twice in a symfile."), 
$objid);
+        warning(_g("tried to merge the same object (%s) twice in a symfile"), 
$objid);
     }
 }
 
@@ -385,7 +385,7 @@ sub find_matching_pattern {
 # machinery
 sub merge_symbols {
     my ($self, $object, $minver) = @_;
-    my $soname = $object->{SONAME} || error(_g("Can't merge symbols from 
objects without SONAME."));
+    my $soname = $object->{SONAME} || error(_g("can't merge symbols from 
objects without SONAME"));
     my %dynsyms;
     foreach my $sym ($object->get_exported_dynamic_symbols()) {
         my $name = $sym->{name} . '@' .
diff --git a/scripts/Dpkg/Source/Package/V3/bzr.pm 
b/scripts/Dpkg/Source/Package/V3/bzr.pm
index 3cde52a..a68e91d 100644
--- a/scripts/Dpkg/Source/Package/V3/bzr.pm
+++ b/scripts/Dpkg/Source/Package/V3/bzr.pm
@@ -49,7 +49,8 @@ sub import {
             return 1;
         }
     }
-    error(_g("This source package can only be manipulated using bzr, which is 
not in the PATH."));
+    error(_g("cannot unpack bzr-format source package because "
+             "bzr is not in the PATH"));
 }
 
 sub sanity_check {
diff --git a/scripts/Dpkg/Source/Package/V3/git.pm 
b/scripts/Dpkg/Source/Package/V3/git.pm
index de80b4e..4e7d6ee 100644
--- a/scripts/Dpkg/Source/Package/V3/git.pm
+++ b/scripts/Dpkg/Source/Package/V3/git.pm
@@ -52,8 +52,8 @@ sub import {
             return 1;
         }
     }
-    error(_g("This source package can only be manipulated using git, " .
-             "which is not in the PATH."));
+    error(_g("cannot unpack git-format source package because " .
+             "git is not in the PATH"));
 }
 
 sub sanity_check {
diff --git a/scripts/Dpkg/Source/Package/V3/quilt.pm 
b/scripts/Dpkg/Source/Package/V3/quilt.pm
index 63bb04e..74cc67d 100644
--- a/scripts/Dpkg/Source/Package/V3/quilt.pm
+++ b/scripts/Dpkg/Source/Package/V3/quilt.pm
@@ -117,8 +117,8 @@ sub read_patch_list {
             $_ = $1;
             if ($2 ne '-p1') {
                 warning(_g("the series file (%s) contains unsupported " .
-                           "options ('%s', line %s), dpkg-source might " .
-                           "fail when applying patches."),
+                           "options ('%s', line %s); dpkg-source might " .
+                           "fail when applying patches"),
                         $file, $2, $.) if $opts{"warn_options"};
             }
         }
diff --git a/scripts/dpkg-architecture.pl b/scripts/dpkg-architecture.pl
index e030827..584ee3d 100755
--- a/scripts/dpkg-architecture.pl
+++ b/scripts/dpkg-architecture.pl
@@ -177,7 +177,7 @@ if ($req_host_gnu_type eq '') {
 
 my $gcc = get_gcc_host_gnu_type();
 
-warning(_g("Specified GNU system type %s does not match gcc system type %s."),
+warning(_g("specified GNU system type %s does not match gcc system type %s"),
         $v{DEB_HOST_GNU_TYPE}, $gcc)
     if !($req_is_arch or $req_eq_arch) &&
        ($gcc ne '') && ($gcc ne $v{DEB_HOST_GNU_TYPE});
diff --git a/scripts/dpkg-buildpackage.pl b/scripts/dpkg-buildpackage.pl
index aaea544..c157845 100755
--- a/scripts/dpkg-buildpackage.pl
+++ b/scripts/dpkg-buildpackage.pl
@@ -349,7 +349,7 @@ my $pv = "${pkg}_$sversion";
 my $pva = "${pkg}_${sversion}_$arch";
 
 if (not -x "debian/rules") {
-    warning(_g("debian/rules is not executable: fixing that."));
+    warning(_g("debian/rules is not executable; fixing that"));
     chmod(0755, "debian/rules"); # No checks of failures, non fatal
 }
 
@@ -368,7 +368,7 @@ if ($checkbuilddep) {
     if (not WIFEXITED($?)) {
         subprocerr('dpkg-checkbuilddeps');
     } elsif (WEXITSTATUS($?)) {
-       warning(_g("Build dependencies/conflicts unsatisfied; aborting."));
+       warning(_g("build dependencies/conflicts unsatisfied; aborting"));
        warning(_g("(Use -d flag to override.)"));
 
        if (build_sourceonly) {
@@ -395,9 +395,8 @@ unless ($noclean) {
     withecho(@rootcommand, @debian_rules, 'clean');
 }
 unless (build_binaryonly) {
-    warning(_g("it is a bad idea to generate a source package " .
-               "without cleaning up first, it might contain undesired " .
-               "files.")) if $noclean;
+    warning(_g("building a source package without cleaning up as you asked; "
+               "it might contain undesired files.")) if $noclean;
     chdir('..') or syserr('chdir ..');
     withecho('dpkg-source', @source_opts, '-b', $dir);
     chdir($dir) or syserr("chdir $dir");
diff --git a/scripts/dpkg-scanpackages.pl b/scripts/dpkg-scanpackages.pl
index df900a0..3b47c1c 100755
--- a/scripts/dpkg-scanpackages.pl
+++ b/scripts/dpkg-scanpackages.pl
@@ -190,7 +190,7 @@ FILE:
                        'to_pipe' => \$output);
        my $fields = Dpkg::Control->new(type => CTRL_INDEX_PKG);
        $fields->parse($output, $fn)
-           or error(_g("couldn't parse control information from %s."), $fn);
+           or error(_g("couldn't parse control information from %s"), $fn);
        wait_child($pid, no_check => 1);
        if ($?) {
            warning(_g("\`dpkg-deb -I %s control' exited with %d, skipping 
package"),
diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl
index 790ba39..2cc9e7f 100755
--- a/scripts/dpkg-shlibdeps.pl
+++ b/scripts/dpkg-shlibdeps.pl
@@ -173,7 +173,7 @@ foreach my $file (keys %exec) {
            $soname_notfound{$soname} = 1;
            $global_soname_notfound{$soname} = 1;
            my $msg = _g("couldn't find library %s needed by %s (ELF " .
-                        "format: '%s'; RPATH: '%s').");
+                        "format: '%s'; RPATH: '%s')");
            if (scalar(split_soname($soname))) {
                errormsg($msg, $soname, $file, $obj->{format}, join(":", 
@{$obj->{RPATH}}));
                $error_count++;
@@ -281,7 +281,7 @@ foreach my $file (keys %exec) {
                    # 3/ when we have been asked to do so
                    $ignore++ if $ignore_missing_info;
                    error(_g("no dependency information found for %s " .
-                            "(used by %s)."), $lib, $file)
+                            "(used by %s)"), $lib, $file)
                        unless $ignore;
                }
            }
@@ -312,7 +312,7 @@ foreach my $file (keys %exec) {
         $in_public_dir = (grep { $parent_dir eq $_ } @librarypaths) ? 1 : 0;
     } else {
         warning(_g("binaries to analyze should already be " .
-                   "installed in their package's directory."));
+                   "installed in their package's directory"));
     }
     print "Analyzing all undefined symbols\n" if $debug > 1;
     foreach my $sym ($obj->get_undefined_dynamic_symbols()) {
@@ -355,10 +355,10 @@ foreach my $file (keys %exec) {
                         {
                             if ($in_public_dir) {
                                warning(_g("symbol %s used by %s found in none 
of the " .
-                                          "libraries."), $print_name, $file);
+                                          "libraries"), $print_name, $file);
                             } else {
                                warning(_g("%s contains an unresolvable 
reference to " .
-                                           "symbol %s: it's probably a 
plugin."),
+                                           "symbol %s: it's probably a 
plugin"),
                                         $file, $print_name);
                             }
                            $nb_warnings++;
@@ -407,7 +407,7 @@ foreach my $file (keys %exec) {
                     scalar grep(/^libstdc\+\+\.so\.\d+/, @sonames));
             next unless ($warnings & WARN_NOT_NEEDED);
            warning(_g("%s shouldn't be linked with %s (it uses none of its " .
-                      "symbols)."), $file, $soname);
+                      "symbols)"), $file, $soname);
        }
     }
 }
@@ -421,7 +421,7 @@ foreach my $soname (keys %global_soname_needed) {
         next unless ($warnings & WARN_DEP_AVOIDABLE);
         warning(_g("dependency on %s could be avoided if \"%s\" were not " .
                    "uselessly linked against it (they use none of its " .
-                   "symbols)."), $soname,
+                   "symbols)"), $soname,
                    join(" ", @{$global_soname_needed{$soname}}));
     }
 }
@@ -431,8 +431,8 @@ if ($error_count >= 1) {
     my $note = _g("Note: libraries are not searched in other binary packages " 
.
        "that do not have any shlibs or symbols file.\nTo help dpkg-shlibdeps " 
.
        "find private libraries, you might need to set LD_LIBRARY_PATH.");
-    error(P_("Cannot continue due to the error above.",
-             "Cannot continue due to the errors listed above.",
+    error(P_("cannot continue due to the error above",
+             "cannot continue due to the errors listed above",
              $error_count) . "\n" . $note);
 }
 
diff --git a/src/archives.c b/src/archives.c
index 9468bcb..fd8ab2f 100644
--- a/src/archives.c
+++ b/src/archives.c
@@ -991,10 +991,10 @@ try_deconfigure_can(bool (*force_p)(struct deppossi *), 
struct pkginfo *pkg,
     if (pkg->installed.essential) {
       if (fc_removeessential) {
         warning(_("considering deconfiguration of essential\n"
-                  " package %s, to enable %s."), pkg->name, action);
+                  " package %s, to enable %s"), pkg->name, action);
       } else {
         fprintf(stderr, _("dpkg: no, %s is essential, will not deconfigure\n"
-                          " it in order to enable %s.\n"),
+                          " it in order to enable %s\n"),
                 pkg->name, action);
         return 0;
       }
@@ -1050,7 +1050,7 @@ void check_breaks(struct dependency *dep, struct pkginfo 
*pkg,
     ok= try_deconfigure_can(force_breaks, fixbydeconf, dep->list,
                             action, NULL, why.buf);
     if (ok == 1) {
-      fprintf(stderr, _("dpkg: yes, will deconfigure %s (broken by %s).\n"),
+      fprintf(stderr, _("dpkg: yes, will deconfigure %s (broken by %s)\n"),
               fixbydeconf->name, pkg->name);
     }
   } else {
@@ -1107,7 +1107,7 @@ void check_conflict(struct dependency *dep, struct 
pkginfo *pkg,
             fixbyrm->status == stat_triggerspending ||
             fixbyrm->status == stat_triggersawaited)) {
         fprintf(stderr,
-                _("%s is not properly installed - ignoring any dependencies on 
it.\n"),
+                _("%s is not properly installed - ignoring any dependencies on 
it\n"),
                 fixbyrm->name);
         pdep = NULL;
       } else {
@@ -1152,10 +1152,10 @@ void check_conflict(struct dependency *dep, struct 
pkginfo *pkg,
       if (!pdep && (fixbyrm->eflag & eflag_reinstreq)) {
         if (fc_removereinstreq) {
           fprintf(stderr, _("dpkg: package %s requires reinstallation, but 
will"
-                  " remove anyway as you requested.\n"), fixbyrm->name);
+                  " remove anyway as you requested\n"), fixbyrm->name);
         } else {
           fprintf(stderr, _("dpkg: package %s requires reinstallation, "
-                  "will not remove.\n"), fixbyrm->name);
+                  "will not remove\n"), fixbyrm->name);
           pdep= &flagdeppossi;
         }
       }
@@ -1163,7 +1163,7 @@ void check_conflict(struct dependency *dep, struct 
pkginfo *pkg,
         /* This conflict is OK - we'll remove the conflictor. */
         push_conflictor(pkg, fixbyrm);
         varbuf_destroy(&conflictwhy); varbuf_destroy(&removalwhy);
-        fprintf(stderr, _("dpkg: yes, will remove %s in favour of %s.\n"),
+        fprintf(stderr, _("dpkg: yes, will remove %s in favour of %s\n"),
                 fixbyrm->name, pkg->name);
         return;
       }
@@ -1372,8 +1372,8 @@ wanttoinstall(struct pkginfo *pkg)
   } else if (r == 0) {
     /* Same version fully installed. */
     if (f_skipsame) {
-      fprintf(stderr, _("Version %.250s of %.250s already installed, "
-                        "skipping.\n"),
+      fprintf(stderr, _("dpkg: version %.250s of %.250s already installed, "
+                        "skipping\n"),
               versiondescribe(&pkg->installed.version, vdew_nonambig),
               pkg->name);
       return false;
@@ -1382,13 +1382,13 @@ wanttoinstall(struct pkginfo *pkg)
     }
   } else {
     if (fc_downgrade) {
-      warning(_("downgrading %.250s from %.250s to %.250s."), pkg->name,
+      warning(_("downgrading %.250s from %.250s to %.250s"), pkg->name,
               versiondescribe(&pkg->installed.version, vdew_nonambig),
               versiondescribe(&pkg->available.version, vdew_nonambig));
       return true;
     } else {
-      fprintf(stderr, _("Will not downgrade %.250s from version %.250s "
-                        "to %.250s, skipping.\n"), pkg->name,
+      fprintf(stderr, _("dpkg: will not downgrade %.250s from version %.250s "
+                        "to %.250s, skipping\n"), pkg->name,
               versiondescribe(&pkg->installed.version, vdew_nonambig),
               versiondescribe(&pkg->available.version, vdew_nonambig));
       return false;
diff --git a/src/enquiry.c b/src/enquiry.c
index 26d1d28..8ff3955 100644
--- a/src/enquiry.c
+++ b/src/enquiry.c
@@ -469,7 +469,7 @@ printarch(const char *const *argv)
 int
 printinstarch(const char *const *argv)
 {
-  warning(_("obsolete option '--%s', please use '--%s' instead."),
+  warning(_("obsolete option '--%s'; please use '--%s' instead"),
           "print-installation-architecture", "print-architecture");
   return printarch(argv);
 }
diff --git a/src/filesdb.c b/src/filesdb.c
index 476dc13..44249c6 100644
--- a/src/filesdb.c
+++ b/src/filesdb.c
@@ -307,8 +307,8 @@ ensure_packagefiles_available(struct pkginfo *pkg)
     onerr_abort--;
     if (pkg->status != stat_configfiles) {
       if (saidread == 1) putc('\n',stderr);
-      warning(_("files list file for package `%.250s' missing, assuming "
-                "package has no files currently installed."), pkg->name);
+      warning(_("files list file for package `%.250s' missing; assuming "
+                "package has no files currently installed"), pkg->name);
     }
     pkg->clientdata->files = NULL;
     pkg->clientdata->fileslistvalid = true;
diff --git a/src/help.c b/src/help.c
index 1be86e6..c57c22a 100644
--- a/src/help.c
+++ b/src/help.c
@@ -104,7 +104,7 @@ void checkpath(void) {
 
   path_list = getenv("PATH");
   if (!path_list)
-    ohshit(_("error: PATH is not set."));
+    ohshit(_("error: PATH is not set"));
 
   for (prog = prog_list; *prog; prog++) {
     struct stat stab;
@@ -126,7 +126,7 @@ void checkpath(void) {
         break;
     }
     if (!path) {
-      warning(_("'%s' not found in PATH or not executable."), *prog);
+      warning(_("'%s' not found in PATH or not executable"), *prog);
       warned++;
     }
   }
@@ -135,8 +135,8 @@ void checkpath(void) {
 
   if (warned)
     forcibleerr(fc_badpath,
-                P_("%d expected program not found in PATH or not 
executable.\n%s",
-                   "%d expected programs not found in PATH or not 
executable.\n%s",
+                P_("%d expected program not found in PATH or not 
executable\n%s",
+                   "%d expected programs not found in PATH or not 
executable\n%s",
                    warned),
                 warned, _("Note: root's PATH should usually contain "
                           "/usr/local/sbin, /usr/sbin and /sbin."));
@@ -439,7 +439,7 @@ int maintainer_script_alternative(struct pkginfo *pkg,
   }
 
   do_script(pkg, &pkg->available, &cmd, &stab, 0);
-  fprintf(stderr, _("dpkg: ... it looks like that went OK.\n"));
+  fprintf(stderr, _("dpkg: ... it looks like that went OK\n"));
 
   command_destroy(&cmd);
   post_script_tasks();
diff --git a/src/processarc.c b/src/processarc.c
index 33f1a81..4558bbe 100644
--- a/src/processarc.c
+++ b/src/processarc.c
@@ -143,10 +143,10 @@ deb_verify(const char *filename)
     status = subproc_wait(pid, "debsig-verify");
     if (!(WIFEXITED(status) && WEXITSTATUS(status) == 0)) {
       if (!fc_badverify)
-        ohshit(_("Verification on package %s failed!"), filename);
+        ohshit(_("verification on package %s failed!"), filename);
       else
-        fprintf(stderr, _("Verification on package %s failed,\n"
-                          "but installing anyway as you requested.\n"),
+        fprintf(stderr, _("dpkg: verification on package %s failed,\n"
+                          "but installing anyway as you requested\n"),
                 filename);
     } else {
       printf(_("passed\n"));
diff --git a/src/querycmd.c b/src/querycmd.c
index 41a2e90..0cec92b 100644
--- a/src/querycmd.c
+++ b/src/querycmd.c
@@ -243,7 +243,7 @@ listpackages(const char *const *argv)
      * after their super-patterns, due to us skipping on first match. */
     for (ip = 0; ip < argc; ip++) {
       if (!found[ip]) {
-        fprintf(stderr, _("No packages found matching %s.\n"), argv[ip]);
+        fprintf(stderr, _("dpkg: no packages found matching %s\n"), argv[ip]);
         failures++;
       }
     }
@@ -347,7 +347,7 @@ searchfiles(const char *const *argv)
       iterfileend(it);
     }
     if (!found) {
-      fprintf(stderr, _("%s: no path found matching pattern %s.\n"), thisname,
+      fprintf(stderr, _("%s: no path found matching pattern %s\n"), thisname,
               thisarg);
       failures++;
       m_output(stderr, _("<standard error>"));
diff --git a/src/remove.c b/src/remove.c
index 3d4879b..c6478c0 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -85,7 +85,7 @@ void deferred_remove(struct pkginfo *pkg) {
   debug(dbg_general,"deferred_remove package %s",pkg->name);
 
   if (pkg->status == stat_notinstalled) {
-    warning(_("ignoring request to remove %.250s which isn't installed."),
+    warning(_("ignoring request to remove %.250s which isn't installed"),
             pkg->name);
     pkg->clientdata->istobe= itb_normal;
     return;
@@ -342,7 +342,7 @@ static void removal_bulk_remove_leftover_dirs(struct 
pkginfo *pkg) {
     debug(dbg_eachfiledetail, "removal_bulk removing `%s'", fnvb.buf);
     if (!rmdir(fnvb.buf) || errno == ENOENT || errno == ELOOP) continue;
     if (errno == ENOTEMPTY || errno == EEXIST) {
-      warning(_("while removing %.250s, directory '%.250s' not empty so not 
removed."),
+      warning(_("while removing %.250s, directory '%.250s' not empty so not 
removed"),
               pkg->name, namenode->name);
       push_leftover(&leftover,namenode);
       continue;
diff --git a/src/statcmd.c b/src/statcmd.c
index 9718201..0d9fd94 100644
--- a/src/statcmd.c
+++ b/src/statcmd.c
@@ -252,12 +252,12 @@ statoverride_add(const char *const *argv)
        filestat = statdb_node_find(filename);
        if (*filestat != NULL) {
                if (opt_force)
-                       warning(_("An override for '%s' already exists, "
-                                 "but --force specified so will be ignored."),
+                       warning(_("an override for '%s' already exists, "
+                                 "but --force specified so it will be 
ignored"),
                                filename);
                else
-                       ohshit(_("An override for '%s' already exists, "
-                                "aborting."), filename);
+                       ohshit(_("an override for '%s' already exists; "
+                                "aborting"), filename);
        }
 
        *filestat = statdb_node_new(user, group, mode);
@@ -292,7 +292,7 @@ statoverride_remove(const char *const *argv)
 
        if (!statdb_node_remove(filename)) {
                if (opt_verbose)
-                       warning(_("No override present."));
+                       warning(_("no override present"));
                if (opt_force)
                        return 0;
                else
diff --git a/src/update.c b/src/update.c
index 76b2372..9611156 100644
--- a/src/update.c
+++ b/src/update.c
@@ -111,7 +111,8 @@ forgetold(const char *const *argv)
   if (*argv)
     badusage(_("--%s takes no arguments"), cipaction->olong);
 
-  warning(_("obsolete '--%s' option, unavailable packages are automatically 
cleaned up."),
+  warning(_("the '--%s' option is obsolete; "
+            "unavailable packages are automatically cleaned up"),
           cipaction->olong);
 
   return 0;
diff --git a/utils/update-alternatives.c b/utils/update-alternatives.c
index c707bd5..dca5975 100644
--- a/utils/update-alternatives.c
+++ b/utils/update-alternatives.c
@@ -1184,8 +1184,8 @@ alternative_parse_fileset(struct alternative *a, struct 
altdb_context *ctx,
                /* File not found - remove. */
                if (!must_not_die)
                        warning(_("alternative %s (part of link group %s) "
-                                 "doesn't exist. Removing from list of "
-                                 "alternatives."), master_file, 
a->master_name);
+                                 "doesn't exist; removing from list of "
+                                 "alternatives"), master_file, a->master_name);
                junk = altdb_get_line(ctx, _("priority"));
                free(junk);
                for (sl = a->slaves; sl; sl = sl->next) {
@@ -1305,7 +1305,7 @@ alternative_save(struct alternative *a)
                if (!has_slave) {
                        struct slave_link *sl_rm;
 
-                       verbose(_("discarding obsolete slave link %s (%s)."),
+                       verbose(_("discarding obsolete slave link %s (%s)"),
                                sl->name, sl->link);
                        if (sl_prev)
                                sl_prev->next = sl->next;
@@ -1655,7 +1655,7 @@ alternative_prepare_install_single(struct alternative *a, 
const char *name,
                alternative_add_commit_op(a, opcode_mv, fntmp, linkname);
                free(fntmp);
        } else {
-               warning(_("not replacing %s with a link."), linkname);
+               warning(_("not replacing %s with a link"), linkname);
        }
        free(fn);
 }
@@ -1687,7 +1687,7 @@ alternative_prepare_install(struct alternative *a, const 
char *choice)
                /* Slave can't be installed */
                if (fileset_has_slave(fs, sl->name))
                        warning(_("skip creation of %s because associated "
-                                 "file %s (of link group %s) doesn't exist."),
+                                 "file %s (of link group %s) doesn't exist"),
                                sl->link, fileset_get_slave(fs, sl->name),
                                a->master_name);
 
@@ -1974,7 +1974,7 @@ alternative_evolve(struct alternative *a, struct 
alternative *b,
 
        bool is_link = (lstat(a->master_link, &st) == 0 && S_ISLNK(st.st_mode));
        if (is_link && strcmp(a->master_link, b->master_link) != 0) {
-               info(_("renaming %s link from %s to %s."), b->master_name,
+               info(_("renaming %s link from %s to %s"), b->master_name,
                     a->master_link, b->master_link);
                checked_mv(a->master_link, b->master_link);
        }
@@ -2005,7 +2005,7 @@ alternative_evolve(struct alternative *a, struct 
alternative *b,
                if (strcmp(old, new) != 0 && lstat(old, &st) == 0 &&
                    S_ISLNK(st.st_mode)) {
                        if (stat(new_file, &st) == 0) {
-                               info(_("renaming %s slave link from %s to %s."),
+                               info(_("renaming %s slave link from %s to %s"),
                                     sl->name, old, new);
                                checked_mv(old, new);
                        } else {
@@ -2235,7 +2235,7 @@ main(int argc, char **argv)
                                    inst_alt->master_name) != 0) {
                        found = alternative_map_find(alt_map_parent,
                                                     found->master_name);
-                       error(_("alternative link %s is already managed by 
%s."),
+                       error(_("alternative link %s is already managed by %s"),
                              inst_alt->master_link, found->master_name);
                }
 
@@ -2248,12 +2248,12 @@ main(int argc, char **argv)
                                "should be: %s"), fileset->master_file);
 
                if (stat(fileset->master_file, &st) == -1 && errno == ENOENT)
-                       error(_("alternative path %s doesn't exist."),
+                       error(_("alternative path %s doesn't exist"),
                              fileset->master_file);
 
                if (strpbrk(inst_alt->master_name, "/ \t"))
                        error(_("alternative name (%s) must not contain '/' "
-                               "and spaces."), inst_alt->master_name);
+                               "and spaces"), inst_alt->master_name);
 
                for (sl = inst_alt->slaves; sl; sl = sl->next) {
                        const char *file = fileset_get_slave(fileset, sl->name);
@@ -2264,7 +2264,7 @@ main(int argc, char **argv)
                                char *msg;
 
                                if (strcmp(found->master_name, sl->name) == 0)
-                                       msg = _("it is a master alternative.");
+                                       msg = _("it is a master alternative");
                                else
                                        xasprintf(&msg, _("it is a slave of 
%s"),
                                                  found->master_name);
@@ -2277,7 +2277,7 @@ main(int argc, char **argv)
                        if (found && strcmp(found->master_name,
                                            inst_alt->master_name) != 0) {
                                error(_("alternative link %s is already "
-                                       "managed by %s."), sl->link,
+                                       "managed by %s"), sl->link,
                                      found->master_name);
                        }
 
@@ -2291,7 +2291,7 @@ main(int argc, char **argv)
 
                        if (strpbrk(sl->name, "/ \t"))
                                error(_("alternative name (%s) must not contain 
'/' "
-                                       "and spaces."), sl->name);
+                                       "and spaces"), sl->name);
                }
        }
 
@@ -2324,10 +2324,10 @@ main(int argc, char **argv)
                /* FIXME: Be consistent for now with the case when we try to 
remove a
                 * non-existing path from an existing link group file. */
                if (strcmp(action, "remove") == 0) {
-                       verbose(_("no alternatives for %s."), a->master_name);
+                       verbose(_("no alternatives for %s"), a->master_name);
                        exit(0);
                }
-               error(_("no alternatives for %s."), a->master_name);
+               error(_("no alternatives for %s"), a->master_name);
        }
 
        if (strcmp(action, "display") == 0) {
@@ -2351,8 +2351,8 @@ main(int argc, char **argv)
 
                        if (stat(current_choice, &st) == -1 &&
                            errno == ENOENT) {
-                               warning(_("%s/%s is dangling, it will be 
updated "
-                                         "with best choice."), altdir, 
a->master_name);
+                               warning(_("%s/%s is dangling; it will be 
updated "
+                                         "with best choice"), altdir, 
a->master_name);
                                alternative_set_status(a, ALT_ST_AUTO);
                        } else if (a->status != ALT_ST_MANUAL) {
                                warning(_("%s/%s has been changed (manually or 
by "
@@ -2363,7 +2363,7 @@ main(int argc, char **argv)
                }
        } else {
                /* Lack of alternative link => automatic mode. */
-               verbose(_("setting up automatic selection of %s."),
+               verbose(_("setting up automatic selection of %s"),
                        a->master_name);
                alternative_set_status(a, ALT_ST_AUTO);
        }
@@ -2373,7 +2373,7 @@ main(int argc, char **argv)
                        new_choice = path;
                else
                        error(_("alternative %s for %s not registered, "
-                               "not setting."), path, a->master_name);
+                               "not setting"), path, a->master_name);
                alternative_set_status(a, ALT_ST_MANUAL);
        } else if (strcmp(action, "auto") == 0) {
                alternative_set_status(a, ALT_ST_AUTO);
@@ -2405,8 +2405,8 @@ main(int argc, char **argv)
                if (alternative_has_choice(a, path))
                        alternative_remove_choice(a, path);
                else
-                       verbose(_("alternative %s for %s not registered, not "
-                                 "removing."), path, a->master_name);
+                       verbose(_("alternative %s for %s not registered; not "
+                                 "removing"), path, a->master_name);
                if (current_choice && strcmp(current_choice, path) == 0) {
                        struct fileset *best;
 
@@ -2438,10 +2438,10 @@ main(int argc, char **argv)
                if (a->status == ALT_ST_AUTO) {
                        new_choice = alternative_get_best(a)->master_file;
                } else {
-                       verbose(_("automatic updates of %s/%s are disabled, "
-                                 "leaving it alone."), altdir, a->master_name);
+                       verbose(_("automatic updates of %s/%s are disabled; "
+                                 "leaving it alone"), altdir, a->master_name);
                        verbose(_("to return to automatic updates use "
-                                 "'%s --auto %s'."), PROGNAME, a->master_name);
+                                 "'%s --auto %s'"), PROGNAME, a->master_name);
                }
        }
 
@@ -2457,7 +2457,7 @@ main(int argc, char **argv)
                           strcmp(new_choice, current_choice) != 0)) {
                log_msg("link group %s updated to point to %s", a->master_name,
                        new_choice);
-               info(_("using %s to provide %s (%s) in %s."), new_choice,
+               info(_("using %s to provide %s (%s) in %s"), new_choice,
                     a->master_link, a->master_name,
                     (a->status == ALT_ST_AUTO) ? _("auto mode") :
                                                  _("manual mode"));
@@ -2466,14 +2466,14 @@ main(int argc, char **argv)
        } else if (alternative_is_broken(a)) {
                log_msg("auto-repair link group %s", a->master_name);
                warning(_("forcing reinstallation of alternative %s because "
-                         "link group %s is broken."), current_choice,
+                         "link group %s is broken"), current_choice,
                        a->master_name);
 
                if (current_choice && !alternative_has_choice(a, 
current_choice)) {
                        struct fileset *best = alternative_get_best(a);
 
                        warning(_("current alternative %s is unknown, "
-                                 "switching to %s for link group %s."),
+                                 "switching to %s for link group %s"),
                                current_choice, best->master_file,
                                a->master_name);
                        current_choice = best->master_file;
-- 
1.7.5.rc3




-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to