+dpkg (1.4.1.7) unstable; urgency=low
+
+ * Non-maintainer release.
+ * Use /usr/share/doc
+ * Merge changes from dpkg-iwj tree:
+ + change section in dpkg-deb.1 to 1
+ + Use COPYINGFILE instead of hardcoded GPL-location in showcopyright()
+ + varbufprintf (used for some error messages) vsnprintf return value
+ assumption changed to correspond to reality rather than glibc-doc.
+ + Don't read available-info when not needed (slightly improved from
+ dpkg-iwj: don't read for listfiles either :)
+ + Cleanup --assert-* code
+ + Assume largemem on systems without sysinfo(2).
+ + modify preexec-script for easier script execution
+ + Do not chmod(".../path/to/symlink",0600) causing many bad perms.
+ + Sanity-check numbers for parameters
+ + Move some logic from process_archive into wantinstall
+ + Print '0' in dpkg-scanpackages if no packages found.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 10 Sep 1999 04:06:32 +0200
+
+dpkg (1.4.1.6) unstable; urgency=low
+
+ * Non-maintainer release.
+ * scripts/dpkg-architecture.pl: Update to latest version.
+ * scripts/dpkg-architecture.1: Likewise.
+
+ -- Marcus Brinkmann <brinkmd@debian.org> Sat, 24 Jul 1999 18:24:21 +0200
+
dpkg (1.4.1.5) unstable; urgency=low
* Non-maintainer release.
AC_CHECK_SIZEOF(unsigned long)
AC_CHECK_SIZEOF(unsigned int)
AC_CHECK_FUNCS(unsetenv alphasort scandir strerror strsignal strtoul vsnprintf lchown)
-AC_CHECK_HEADERS(sys/cdefs.h)
+AC_CHECK_HEADERS(sys/cdefs.h sys/sysinfo.h)
AC_CHECK_FUNC(sysinfo,
AC_DEFINE(HAVE_SYSINFO),
+dpkg (1.4.1.7) unstable; urgency=low
+
+ * Non-maintainer release.
+ * Use /usr/share/doc
+ * Merge changes from dpkg-iwj tree:
+ + change section in dpkg-deb.1 to 1
+ + Use COPYINGFILE instead of hardcoded GPL-location in showcopyright()
+ + varbufprintf (used for some error messages) vsnprintf return value
+ assumption changed to correspond to reality rather than glibc-doc.
+ + Don't read available-info when not needed (slightly improved from
+ dpkg-iwj: don't read for listfiles either :)
+ + Cleanup --assert-* code
+ + Assume largemem on systems without sysinfo(2).
+ + modify preexec-script for easier script execution
+ + Do not chmod(".../path/to/symlink",0600) causing many bad perms.
+ + Sanity-check numbers for parameters
+ + Move some logic from process_archive into wantinstall
+ + Print '0' in dpkg-scanpackages if no packages found.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 10 Sep 1999 04:06:32 +0200
+
+dpkg (1.4.1.6) unstable; urgency=low
+
+ * Non-maintainer release.
+ * scripts/dpkg-architecture.pl: Update to latest version.
+ * scripts/dpkg-architecture.1: Likewise.
+
+ -- Marcus Brinkmann <brinkmd@debian.org> Sat, 24 Jul 1999 18:24:21 +0200
+
dpkg (1.4.1.5) unstable; urgency=low
* Non-maintainer release.
}
if [ "x$1" = xconfigure ]; then
+ if [ -d /usr/doc -a ! -e /usr/doc/dpkg -a -d /usr/share/doc/dpkg ] ; then
+ ln -s ../share/doc/dpkg /usr/doc/dpkg
+ fi
+
case "$2" in
0.* | 1.0.* | 1.1.0 | 1.1.0[^0-9]* | '' )
for f in 0 1 2 3 4 5 6
fi
mv $newdb/status.new $newdb/status
+
set -e
+if [ ! \( "$1" = "upgrade" -o "$1" = "remove" \) ]; then
+ exit 0
+fi
+
cd /usr/bin
install-info --quiet --remove /usr/info/Guidelines
install-info --quiet --remove /usr/info/guidelines
install-info --quiet --remove /usr/info/debian-guidelines.info.gz
install-info --quiet --remove /usr/info/guidelines.info.gz
+
+if [ -L /usr/doc/dpkg ]; then
+ rm -f /usr/doc/dpkg
+fi
+
install -d debian/build
cd $(BUILD) && ../../configure \
--enable-shared \
- --prefix=/usr \
+ --prefix=/usr/share \
+ --exec-prefix=/usr \
--datadir=/usr/share \
--mandir=/usr/share/man \
--sysconfdir=/etc \
binary-trees: build
$(checkdir)
-$(RM) -r debian/tmp-{main,dev}
- install -d debian/tmp-{main,dev}/{DEBIAN,etc/dpkg,usr/doc/dpkg}
- install -d debian/tmp-dev/usr/{lib/dpkg,doc/dpkg-dev,share/man/man1,share/man/man8,sbin,bin}
+ install -d debian/tmp-{main,dev}/{DEBIAN,etc/dpkg,usr/share/doc/dpkg}
+ install -d debian/tmp-dev/usr/{lib/dpkg,share/doc/dpkg-dev,share/man/man1,share/man/man8,sbin,bin}
install -d debian/tmp-dev/usr/share/emacs/site-lisp/dpkg-dev
install -d debian/tmp-main/sbin
set -e; if [ $(arch) = i386 ]; then \
cp debian/{prerm,postinst} $(mcidir)/.
$(MAKE) -C $(BUILD) top_distdir=. dist
$(MAKE) -C $(BUILD) \
- prefix=$(DIR)/debian/tmp-main/usr \
+ prefix=$(DIR)/debian/tmp-main/usr/share \
+ exec_prefix=$(DIR)/debian/tmp-main/usr \
sysconfdir=$(DIR)/debian/tmp-main/etc \
datadir=$(DIR)/debian/tmp-main/usr/share \
mandir=$(DIR)/debian/tmp-main/usr/share/man \
ln -s dpkg-source.1.gz debian/tmp-main/usr/share/man/man1/$$f.1.gz ; \
done
ln -s ../man7/undocumented.7.gz debian/tmp-main/usr/share/man/man1/dpkg-divert.1.gz
- gzip -9vf debian/tmp-main/usr/doc/dpkg/changelog*
- cp debian/copyright debian/tmp-main/usr/doc/dpkg/copyright
- cp debian/copyright debian/tmp-dev/usr/doc/dpkg-dev/copyright
- cp debian/dev-README debian/tmp-dev/usr/doc/dpkg-dev/README
+ gzip -9vf debian/tmp-main/usr/share/doc/dpkg/changelog*
+ cp debian/copyright debian/tmp-main/usr/share/doc/dpkg/copyright
+ cp debian/copyright debian/tmp-dev/usr/share/doc/dpkg-dev/copyright
+ cp debian/dev-README debian/tmp-dev/usr/share/doc/dpkg-dev/README
set -e; for f in \
- usr/doc/dpkg/{internals.html,changelog.manuals.gz} \
+ usr/share/doc/dpkg/{internals.html,changelog.manuals.gz} \
usr/bin/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage,parsechangelog} \
usr/bin/{dpkg-distaddfile,822-date,dpkg-scanpackages,dpkg-name,dpkg-architecture} \
usr/share/man/man1/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage,architecture}.1.gz \
texi2dvi $^
internals.info: internals.texi
- makeinfo $^
+ # WTA: We force makeinfo and ignore errors, since we use a broken method
+ # to generate the texi-file anyway. Since we are supposed to switch to the
+ # dpkg-iwj branch soon anyway fixing this correctly is more trouble then
+ # it's worth
+ -makeinfo --force $^
internals.html-stamp: internals.texi
-$(RM) -r $*.html*
-<!entity manuals-version "1.4.1.5">
-<!entity dpkg-version "1.4.1.5">
+<!entity manuals-version "1.4.1.7">
+<!entity dpkg-version "1.4.1.7">
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\" Authors: Ian Jackson
-.TH DPKG\-DEB 8 "1st June 1996" "Debian Project" "Debian Linux manual"
+.TH DPKG\-DEB 1 "1st June 1996" "Debian Project" "Debian Linux manual"
.SH NAME
dpkg\-deb \- Debian package archive (.deb) manipulation tool
.SH SYNOPSIS
#include "bindings.h"
const keybindings::interpretation methodlist_kinterps[] = {
- { "up", methodlist::kd_up, 0, qa_noquit },
- { "down", methodlist::kd_down, 0, qa_noquit },
- { "top", methodlist::kd_top, 0, qa_noquit },
- { "bottom", methodlist::kd_bottom, 0, qa_noquit },
- { "scrollon", methodlist::kd_scrollon, 0, qa_noquit },
- { "scrollback", methodlist::kd_scrollback, 0, qa_noquit },
- { "iscrollon", methodlist::kd_iscrollon, 0, qa_noquit },
- { "iscrollback", methodlist::kd_iscrollback, 0, qa_noquit },
- { "scrollon1", methodlist::kd_scrollon1, 0, qa_noquit },
- { "scrollback1", methodlist::kd_scrollback1, 0, qa_noquit },
- { "iscrollon1", methodlist::kd_iscrollon1, 0, qa_noquit },
- { "iscrollback1", methodlist::kd_iscrollback1, 0, qa_noquit },
- { "panon", methodlist::kd_panon, 0, qa_noquit },
- { "panback", methodlist::kd_panback, 0, qa_noquit },
- { "panon1", methodlist::kd_panon1, 0, qa_noquit },
- { "panback1", methodlist::kd_panback1, 0, qa_noquit },
- { "help", methodlist::kd_help, 0, qa_noquit },
- { "search", methodlist::kd_search, 0, qa_noquit },
- { "searchagain", methodlist::kd_searchagain, 0, qa_noquit },
- { "redraw", methodlist::kd_redraw, 0, qa_noquit },
- { "select-and-quit", methodlist::kd_quit, 0, qa_quitchecksave },
- { "abort", methodlist::kd_abort, 0, qa_quitnochecksave },
+ { "up", &methodlist::kd_up, 0, qa_noquit },
+ { "down", &methodlist::kd_down, 0, qa_noquit },
+ { "top", &methodlist::kd_top, 0, qa_noquit },
+ { "bottom", &methodlist::kd_bottom, 0, qa_noquit },
+ { "scrollon", &methodlist::kd_scrollon, 0, qa_noquit },
+ { "scrollback", &methodlist::kd_scrollback, 0, qa_noquit },
+ { "iscrollon", &methodlist::kd_iscrollon, 0, qa_noquit },
+ { "iscrollback", &methodlist::kd_iscrollback, 0, qa_noquit },
+ { "scrollon1", &methodlist::kd_scrollon1, 0, qa_noquit },
+ { "scrollback1", &methodlist::kd_scrollback1, 0, qa_noquit },
+ { "iscrollon1", &methodlist::kd_iscrollon1, 0, qa_noquit },
+ { "iscrollback1", &methodlist::kd_iscrollback1, 0, qa_noquit },
+ { "panon", &methodlist::kd_panon, 0, qa_noquit },
+ { "panback", &methodlist::kd_panback, 0, qa_noquit },
+ { "panon1", &methodlist::kd_panon1, 0, qa_noquit },
+ { "panback1", &methodlist::kd_panback1, 0, qa_noquit },
+ { "help", &methodlist::kd_help, 0, qa_noquit },
+ { "search", &methodlist::kd_search, 0, qa_noquit },
+ { "searchagain", &methodlist::kd_searchagain, 0, qa_noquit },
+ { "redraw", &methodlist::kd_redraw, 0, qa_noquit },
+ { "select-and-quit", &methodlist::kd_quit, 0, qa_quitchecksave },
+ { "abort", &methodlist::kd_abort, 0, qa_quitnochecksave },
{ 0, 0, 0, qa_noquit }
};
int packagelist::itr_recursive() { return recursive; }
const packagelist::infotype packagelist::infoinfos[]= {
- { itr_recursive, itd_relations },
- { 0, itd_description },
- { 0, itd_statuscontrol },
- { 0, itd_availablecontrol },
+ { &packagelist::itr_recursive, &packagelist::itd_relations },
+ { 0, &packagelist::itd_description },
+ { 0, &packagelist::itd_statuscontrol },
+ { 0, &packagelist::itd_availablecontrol },
{ 0, 0 }
};
#include "bindings.h"
const keybindings::interpretation packagelist_kinterps[] = {
- { "up", 0, packagelist::kd_up, qa_noquit },
- { "down", 0, packagelist::kd_down, qa_noquit },
- { "top", 0, packagelist::kd_top, qa_noquit },
- { "bottom", 0, packagelist::kd_bottom, qa_noquit },
- { "scrollon", 0, packagelist::kd_scrollon, qa_noquit },
- { "scrollback", 0, packagelist::kd_scrollback, qa_noquit },
- { "iscrollon", 0, packagelist::kd_iscrollon, qa_noquit },
- { "iscrollback", 0, packagelist::kd_iscrollback, qa_noquit },
- { "scrollon1", 0, packagelist::kd_scrollon1, qa_noquit },
- { "scrollback1", 0, packagelist::kd_scrollback1, qa_noquit },
- { "iscrollon1", 0, packagelist::kd_iscrollon1, qa_noquit },
- { "iscrollback1", 0, packagelist::kd_iscrollback1, qa_noquit },
- { "panon", 0, packagelist::kd_panon, qa_noquit },
- { "panback", 0, packagelist::kd_panback, qa_noquit },
- { "panon1", 0, packagelist::kd_panon1, qa_noquit },
- { "panback1", 0, packagelist::kd_panback1, qa_noquit },
- { "install", 0, packagelist::kd_select, qa_noquit },
- { "remove", 0, packagelist::kd_deselect, qa_noquit },
- { "purge", 0, packagelist::kd_purge, qa_noquit },
- { "hold", 0, packagelist::kd_hold, qa_noquit },
- { "unhold", 0, packagelist::kd_unhold, qa_noquit },
- { "info", 0, packagelist::kd_info, qa_noquit },
- { "toggleinfo", 0, packagelist::kd_toggleinfo, qa_noquit },
- { "verbose", 0, packagelist::kd_verbose, qa_noquit },
- { "versiondisplay", 0, packagelist::kd_versiondisplay, qa_noquit },
- { "help", 0, packagelist::kd_help, qa_noquit },
- { "search", 0, packagelist::kd_search, qa_noquit },
- { "searchagain", 0, packagelist::kd_searchagain, qa_noquit },
- { "swaporder", 0, packagelist::kd_swaporder, qa_noquit },
- { "swapstatorder", 0, packagelist::kd_swapstatorder, qa_noquit },
- { "redraw", 0, packagelist::kd_redraw, qa_noquit },
- { "quitcheck", 0, packagelist::kd_quit_noop, qa_quitchecksave },
- { "quitrejectsug", 0, packagelist::kd_revertdirect, qa_quitnochecksave },
- { "quitnocheck", 0, packagelist::kd_quit_noop, qa_quitnochecksave },
- { "abortnocheck", 0, packagelist::kd_revert_abort, qa_quitnochecksave },
- { "revert", 0, packagelist::kd_revert_abort, qa_noquit },
- { "revertsuggest", 0, packagelist::kd_revertsuggest, qa_noquit },
- { "revertdirect", 0, packagelist::kd_revertdirect, qa_noquit },
+ { "up", 0, &packagelist::kd_up, qa_noquit },
+ { "down", 0, &packagelist::kd_down, qa_noquit },
+ { "top", 0, &packagelist::kd_top, qa_noquit },
+ { "bottom", 0, &packagelist::kd_bottom, qa_noquit },
+ { "scrollon", 0, &packagelist::kd_scrollon, qa_noquit },
+ { "scrollback", 0, &packagelist::kd_scrollback, qa_noquit },
+ { "iscrollon", 0, &packagelist::kd_iscrollon, qa_noquit },
+ { "iscrollback", 0, &packagelist::kd_iscrollback, qa_noquit },
+ { "scrollon1", 0, &packagelist::kd_scrollon1, qa_noquit },
+ { "scrollback1", 0, &packagelist::kd_scrollback1, qa_noquit },
+ { "iscrollon1", 0, &packagelist::kd_iscrollon1, qa_noquit },
+ { "iscrollback1", 0, &packagelist::kd_iscrollback1, qa_noquit },
+ { "panon", 0, &packagelist::kd_panon, qa_noquit },
+ { "panback", 0, &packagelist::kd_panback, qa_noquit },
+ { "panon1", 0, &packagelist::kd_panon1, qa_noquit },
+ { "panback1", 0, &packagelist::kd_panback1, qa_noquit },
+ { "install", 0, &packagelist::kd_select, qa_noquit },
+ { "remove", 0, &packagelist::kd_deselect, qa_noquit },
+ { "purge", 0, &packagelist::kd_purge, qa_noquit },
+ { "hold", 0, &packagelist::kd_hold, qa_noquit },
+ { "unhold", 0, &packagelist::kd_unhold, qa_noquit },
+ { "info", 0, &packagelist::kd_info, qa_noquit },
+ { "toggleinfo", 0, &packagelist::kd_toggleinfo, qa_noquit },
+ { "verbose", 0, &packagelist::kd_verbose, qa_noquit },
+ { "versiondisplay", 0, &packagelist::kd_versiondisplay, qa_noquit },
+ { "help", 0, &packagelist::kd_help, qa_noquit },
+ { "search", 0, &packagelist::kd_search, qa_noquit },
+ { "searchagain", 0, &packagelist::kd_searchagain, qa_noquit },
+ { "swaporder", 0, &packagelist::kd_swaporder, qa_noquit },
+ { "swapstatorder", 0, &packagelist::kd_swapstatorder, qa_noquit },
+ { "redraw", 0, &packagelist::kd_redraw, qa_noquit },
+ { "quitcheck", 0, &packagelist::kd_quit_noop, qa_quitchecksave },
+ { "quitrejectsug", 0, &packagelist::kd_revertdirect, qa_quitnochecksave },
+ { "quitnocheck", 0, &packagelist::kd_quit_noop, qa_quitnochecksave },
+ { "abortnocheck", 0, &packagelist::kd_revert_abort, qa_quitnochecksave },
+ { "revert", 0, &packagelist::kd_revert_abort, qa_noquit },
+ { "revertsuggest", 0, &packagelist::kd_revertsuggest, qa_noquit },
+ { "revertdirect", 0, &packagelist::kd_revertdirect, qa_noquit },
{ 0, 0, 0, qa_noquit }
};
msdbrw_write/*s*/, msdbrw_needsuperuser,
/* Now some optional flags: */
msdbrw_flagsmask= ~077,
- /* ... of which there are currently none, but they'd start at 0100 */
+ /* flags start at 0100 */
+ msdbrw_noavail= 0100,
};
enum modstatdb_rw modstatdb_init(const char *admindir, enum modstatdb_rw reqrwflags);
if (cstatus != msdbrw_needsuperuserlockonly) {
cleanupdates();
+ if(!(cflags & msdbrw_noavail))
parsedb(availablefile,
pdb_recordavailable|pdb_rejectstatus,
0,0,0);
void showcopyright(const struct cmdinfo *c, const char *v) {
int fd;
fd= open(COPYINGFILE,O_RDONLY);
- if (fd < 0) ohshite(_("cannot open GPL file /usr/doc/dpkg/copyright"));
+ if (fd < 0) ohshite(_("cannot open GPL file " COPYINGFILE));
m_dup2(fd,0);
execlp(CAT,CAT,"-",(char*)0);
ohshite(_("unable to exec cat for displaying GPL file"));
va_start(al,fmt);
r= vsnprintf(v->buf+ou,v->size-ou,fmt,al);
va_end(al);
+ if (r < 0) r= (v->size-ou+1) * 2;
v->used= ou+r;
} while (r >= v->size-ou-1);
}
modstatdb_shutdown();
}
+
+int wanttoinstall(struct pkginfo *pkg, const struct versionrevision *ver, int saywhy) {
+ /* Decide whether we want to install a new version of the package.
+ * ver is the version we might want to install. If saywhy is 1 then
+ * if we skip the package we say what we are doing (and, if we are
+ * selecting a previously deselected package, say so and actually do
+ * the select). want_install returns 0 if the package should be
+ * skipped and 1 if it should be installed.
+ *
+ * ver may be 0, in which case saywhy must be 0 and want_install may
+ * also return -1 to mean it doesn't know because it would depend on
+ * the version number.
+ */
+ enum versiondisplayepochwhen needepochs;
+ int r;
+
+ if (pkg->want != want_install) {
+ if (f_alsoselect) {
+ if (saywhy) {
+ printf("Selecting previously deselected package %s.\n",pkg->name);
+ pkg->want= want_install;
+ }
+ return 1;
+ } else {
+ if (saywhy) printf("Skipping deselected package %s.\n",pkg->name);
+ return 0;
+ }
+ }
+
+ if (pkg->status != stat_installed) return 1;
+ if (!ver) return -1;
+
+ r= versioncompare(ver,&pkg->installed.version);
+ if (r > 0) {
+ return 1;
+ } else if (r == 0) {
+ if (f_skipsame && /* same version fully installed ? */
+ pkg->status == stat_installed && !(pkg->eflag &= eflagf_reinstreq)) {
+ if (saywhy) fprintf(stderr, "Version %.250s of %.250s already installed, "
+ "skipping.\n",
+ versiondescribe(&pkg->installed.version,vdew_never),
+ pkg->name);
+ return 0;
+ } else {
+ return 1;
+ }
+ } else {
+ needepochs= epochsdiffer(&pkg->available.version,&pkg->installed.version) ?
+ vdew_always : vdew_never;
+ if (fc_downgrade) {
+ if (saywhy) fprintf(stderr, DPKG " - warning: downgrading %.250s "
+ "from %.250s to %.250s.\n", pkg->name,
+ versiondescribe(&pkg->installed.version,needepochs),
+ versiondescribe(&pkg->available.version,needepochs));
+ return 1;
+ } else {
+ if (saywhy) fprintf(stderr, "Will not downgrade %.250s from version %.250s "
+ "to %.250s, skipping.\n", pkg->name,
+ versiondescribe(&pkg->installed.version,needepochs),
+ versiondescribe(&pkg->available.version,needepochs));
+ return 0;
+ }
+ }
+}
+
if (*argv) badusage(_("--yet-to-unpack does not take any arguments"));
- modstatdb_init(admindir,msdbrw_readonly);
+ modstatdb_init(admindir,msdbrw_readonly|msdbrw_noavail);
totalcount= 0;
sectionentries= 0;
if (!*argv)
badusage(_("--search needs at least one file name pattern argument"));
- modstatdb_init(admindir,msdbrw_readonly);
+ modstatdb_init(admindir,msdbrw_readonly|msdbrw_noavail);
ensure_allinstfiles_available_quiet();
ensure_diversions();
badusage(_("--%s needs at least one package name argument"), cipaction->olong);
failures= 0;
+ if (cipaction->arg==act_listfiles)
+ modstatdb_init(admindir,msdbrw_readonly|msdbrw_noavail);
+ else
modstatdb_init(admindir,msdbrw_readonly);
while ((thisarg= *argv++) != 0) {
}
}
-void assertepoch(const char *const *argv) {
- static struct versionrevision epochversion = {~0UL,0,0};
+void assertversion(const char *const *argv,
+ struct versionrevision *verrev_buf,
+ const char *reqversion) {
struct pkginfo *pkg;
- if (*argv) badusage("--assert-working-epoch does not take any arguments");
+ if (*argv) badusage("--assert-* does not take any arguments");
- modstatdb_init(admindir,msdbrw_readonly);
- pkg= findpackage("dpkg");
- if (epochversion.epoch == ~0UL) {
- epochversion.epoch= 0;
- epochversion.version= nfstrsave("1.4.0.7");
- epochversion.revision= 0;
+ modstatdb_init(admindir,msdbrw_readonly|msdbrw_noavail);
+ if (verrev_buf->epoch == ~0UL) {
+ verrev_buf->epoch= 0;
+ verrev_buf->version= nfstrsave(reqversion);
+ verrev_buf->revision= 0;
}
+ pkg= findpackage("dpkg");
switch (pkg->status) {
case stat_installed:
break;
case stat_unpacked: case stat_halfconfigured: case stat_halfinstalled:
- if (versionsatisfied3(&pkg->configversion,&epochversion,dvr_laterequal))
+ if (versionsatisfied3(&pkg->configversion,verrev_buf,dvr_laterequal))
break;
printf("Version of dpkg with working epoch support not yet configured.\n"
" Please use `dpkg --configure dpkg', and then try again.\n");
void assertpredep(const char *const *argv) {
static struct versionrevision predepversion = {~0UL,0,0};
- struct pkginfo *pkg;
-
- if (*argv) badusage(_("--assert-support-predepends does not take any arguments"));
-
- modstatdb_init(admindir,msdbrw_readonly);
- pkg= findpackage("dpkg");
- if (predepversion.epoch == ~0UL) {
- predepversion.epoch= 0;
- predepversion.version= nfstrsave("1.1.0");
- predepversion.revision= 0;
- }
- switch (pkg->status) {
- case stat_installed:
- break;
- case stat_unpacked: case stat_halfconfigured: case stat_halfinstalled:
- if (versionsatisfied3(&pkg->configversion,&predepversion,dvr_laterequal))
- break;
- printf(_("Version of dpkg with Pre-Depends support not yet configured.\n"
- " Please use `dpkg --configure dpkg', and then try again.\n"));
- exit(1);
- default:
- printf(_("dpkg not recorded as installed, cannot check for Pre-Depends support !\n"));
- exit(1);
+ assertversion(argv,&predepversion,"1.1.0");
}
+
+void assertepoch(const char *const *argv) {
+ static struct versionrevision epochversion = {~0UL,0,0};
+ assertversion(argv,&epochversion,"1.4.0.7");
}
void predeppackage(const char *const *argv) {
#include "filesdb.h"
#include "main.h"
+#ifdef HAVE_SYS_SYSINFO_H
+#include <sys/sysinfo.h>
+#endif
+
/*** Generic data structures and routines ***/
static int allpackagesdone= 0;
oialtname->camefrom= findnamenode(linebuf);
oialtname->useinstead= 0;
- if (!fgets(linebuf,sizeof(linebuf),file))
+ if (!fgets(linebuf,sizeof(linebuf),file)) {
if (ferror(file)) ohshite(_("read error in diversions [ii]"));
else ohshit(_("unexpected EOF in diversions [ii]"));
+ }
l= strlen(linebuf);
if (l == 0) ohshit(_("fgets gave an empty string from diversions [ii]"));
if (linebuf[--l] != '\n') ohshit(_("diversions file has too-long line or EOF [ii]"));
oicontest->useinstead= findnamenode(linebuf);
oicontest->camefrom= 0;
- if (!fgets(linebuf,sizeof(linebuf),file))
+ if (!fgets(linebuf,sizeof(linebuf),file)) {
if (ferror(file)) ohshite(_("read error in diversions [iii]"));
else ohshit(_("unexpected EOF in diversions [iii]"));
+ }
l= strlen(linebuf);
if (l == 0) ohshit(_("fgets gave an empty string from diversions [iii]"));
if (linebuf[--l] != '\n') ohshit(_("diversions file has too-long line or EOF [ii]"));
free(i);
}
-void filesdbinit(void) {
- struct filenamenode *fnn;
+static int autodetect_largemem(void) {
#ifdef HAVE_SYSINFO
struct sysinfo info;
+ if (sysinfo(&info)) return 0;
+ if (info.freeram + (info.sharedram>>2) + (info.bufferram>>2) < 16384*1024 &&
+ info.totalram < 16384*1024)
+ return 0;
#endif
+ return 1;
+}
+
+void filesdbinit(void) {
+ struct filenamenode *fnn;
int i;
-#ifdef HAVE_SYSINFO
- if (!f_largemem) {
- f_largemem= -1;
- if (!sysinfo(&info)) {
- if (info.freeram + (info.sharedram>>2) + (info.bufferram>>2) >= 4096*1024 ||
- info.totalram >= 6144)
- f_largemem= 1;
- }
- }
-#else
- f_largemem= 1;
-#endif
+ if (!f_largemem)
+ f_largemem= autodetect_largemem() ? 1 : -1;
switch (f_largemem) {
case 1:
return vb.buf;
}
-static void preexecscript(const char *path, char *const *argv) {
+static const char* preexecscript(const char *path, char *const *argv) {
+ /* returns the path to the script inside the chroot
+ * none of the stuff here will work if admindir isn't inside instdir
+ * as expected. - fixme
+ */
+ int instdirl;
+
if (*instdir) {
- /* fixme: won't work right when instdir != admindir */
- if (chdir(instdir) || chroot(instdir)) ohshite("failed to chroot to `%.250s'",instdir);
+ if (chroot(instdir)) ohshite("failed to chroot to `%.250s'",instdir);
}
if (f_debug & dbg_scripts) {
fprintf(stderr,"D0%05o: fork/exec %s (",dbg_scripts,path);
while (*argv) fprintf(stderr," %s",*argv++);
fputs(" )\n",stderr);
}
+ instdirl= strlen(instdir);
+ if (!instdirl) return path;
+ assert (strlen(path)>=instdirl);
+ return path+instdirl;
}
static char *const *vbuildarglist(const char *scriptname, va_list ap) {
int maintainer_script_installed(struct pkginfo *pkg, const char *scriptname,
const char *description, ...) {
/* all ...'s are const char*'s */
- const char *scriptpath;
+ const char *scriptpath, *scriptexec;
char *const *arglist;
struct stat stab;
va_list ap;
setexecute(scriptpath,&stab);
c1= m_fork();
if (!c1) {
- preexecscript(scriptpath,arglist);
- execv(scriptpath+strlen(instdir),arglist);
+ scriptexec= preexecscript(scriptpath,arglist);
+ execv(scriptexec,arglist);
ohshite(_("unable to execute %s"),buf);
}
script_catchsignals(); /* This does a push_cleanup() */
int maintainer_script_new(const char *scriptname, const char *description,
const char *cidir, char *cidirrest, ...) {
char *const *arglist;
+ const char *scriptexec;
struct stat stab;
va_list ap;
char buf[100];
setexecute(cidir,&stab);
c1= m_fork();
if (!c1) {
- preexecscript(cidir,arglist);
- execv(cidir+strlen(instdir),arglist);
+ scriptexec= preexecscript(cidir,arglist);
+ execv(scriptexec,arglist);
ohshite(_("unable to execute new %s"),buf);
}
script_catchsignals(); /* This does a push_cleanup() */
const char *scriptname, const char *description,
const char *cidir, char *cidirrest,
const char *ifok, const char *iffallback) {
- const char *oldscriptpath;
+ const char *oldscriptpath, *scriptexec;
char *const *arglist;
struct stat stab;
int c1, n, status;
setexecute(oldscriptpath,&stab);
c1= m_fork();
if (!c1) {
- preexecscript(oldscriptpath,arglist);
- execv(oldscriptpath+strlen(instdir),arglist);
+ scriptexec= preexecscript(oldscriptpath,arglist);
+ execv(scriptexec, arglist);
ohshite(_("unable to execute %s"),buf);
}
script_catchsignals(); /* This does a push_cleanup() */
strcpy(cidirrest,scriptname);
sprintf(buf,_("new %s script"),description);
- if (stat(cidir,&stab))
+ if (stat(cidir,&stab)) {
if (errno == ENOENT)
ohshit(_("there is no script in the new version of the package - giving up"));
else
ohshite(_("unable to stat %s `%.250s'"),buf,cidir);
+ }
setexecute(cidir,&stab);
c1= m_fork();
if (!c1) {
- preexecscript(cidir,arglist);
- execv(cidir+strlen(instdir),arglist);
+ scriptexec= preexecscript(cidir,arglist);
+ execv(scriptexec, arglist);
ohshite(_("unable to execute %s"),buf);
}
script_catchsignals(); /* This does a push_cleanup() */
}
}
+int chmodsafe_unlink(const char *pathname) {
+ struct stat stab;
+
+ if (lstat(pathname,&stab)) return -1;
+ if (S_ISREG(stab.st_mode) ? (stab.st_mode | 07000) :
+ !(S_ISLNK(stab.st_mode) || S_ISDIR(stab.st_mode) ||
+ S_ISFIFO(stab.st_mode) || S_ISSOCK(stab.st_mode))) {
+ /* We chmod it if it is 1. a sticky or set-id file, or 2. an unrecognised
+ * object (ie, not a file, link, directory, fifo or socket
+ */
+ if (chmod(pathname,0600)) return -1;
+ }
+ if (unlink(pathname)) return -1;
+ return 0;
+}
+
void ensure_pathname_nonexisting(const char *pathname) {
int c1;
const char *u;
/* Either it's a file, or one of the path components is. If one
* of the path components is this will fail again ...
*/
- if (!unlink(pathname)) return; /* OK, it was */
+ if (!chmodsafe_unlink(pathname)) return; /* OK, it was */
if (errno == ENOTDIR) return;
}
if (errno != ENOTEMPTY) /* Huh ? */
}
static void setinteger(const struct cmdinfo *cip, const char *value) {
- *cip->iassignto=atoi(value);
+ unsigned long v;
+ char *ep;
+
+ v= strtoul(value,&ep,0);
+ if (*ep || v > INT_MAX)
+ badusage("invalid integer for --%s: `%.250s'",cip->olong,value);
+ *cip->iassignto= v;
}
static void setforce(const struct cmdinfo *cip, const char *value) {
void archivefiles(const char *const *argv);
void process_archive(const char *filename);
+int wanttoinstall(struct pkginfo *pkg, const struct versionrevision *ver, int saywhy);
/* from update.c */
const char *pkgadminfile(struct pkginfo *pkg, const char *whichfile);
void oldconffsetflags(struct conffile *searchconff);
void ensure_pathname_nonexisting(const char *pathname);
+int chmodsafe_unlink(const char *pathname); /* chmod 600, then unlink */
void checkpath(void);
struct filenamenode *namenodetouse(struct filenamenode*, struct pkginfo*);
deconfigure= 0;
clear_istobes();
- if (pkg->want != want_install) {
- if (f_alsoselect) {
- printf(_("Selecting previously deselected package %s.\n"),pkg->name);
- pkg->want= want_install;
- } else {
- printf(_("Skipping deselected package %s.\n"),pkg->name);
- return;
- }
- }
-
- if (pkg->status == stat_installed) {
- r= versioncompare(&pkg->available.version,&pkg->installed.version);
- if (r < 0) {
- needepochs= epochsdiffer(&pkg->available.version,&pkg->installed.version) ?
- vdew_always : vdew_never;
- if (fc_downgrade) {
- fprintf(stderr, _("dpkg - warning: downgrading %.250s from %.250s to %.250s.\n"),
- pkg->name,
- versiondescribe(&pkg->installed.version,needepochs),
- versiondescribe(&pkg->available.version,needepochs));
- } else {
- fprintf(stderr, _("Will not downgrade"
- " %.250s from version %.250s to %.250s, skipping.\n"),
- pkg->name,
- versiondescribe(&pkg->installed.version,needepochs),
- versiondescribe(&pkg->available.version,needepochs));
- pop_cleanup(ehflag_normaltidy);
- return;
- }
- } else if (r == 0 && f_skipsame && /* same version fully installed ? */
- pkg->status == stat_installed && !(pkg->eflag &= eflagf_reinstreq)) {
- fprintf(stderr, _("Version %.250s of %.250s already installed, skipping.\n"),
- versiondescribe(&pkg->installed.version,vdew_never),
- pkg->name);
+ if (!wanttoinstall(pkg,&pkg->available.version,1)) {
pop_cleanup(ehflag_normaltidy);
return;
- }
}
pkg->clientdata->istobe= itb_installnew;
.B <MD5 checksum> <filename>
-So, for example, a file containing checksum for this manpage would look
-like(don't worry, if the checkusum doesn't match, there is a minor
-problem in keeping it up to date):
+So, for example, if a file was created and its message digest calculated
+like so:
+
+.B echo foo > md5-test-file; md5sum md5-test-file
+
+.B md5sum
+would report:
+
+.B d3b07384d113edec49eaa6238ad5ff00\ md5-test-file
-.B c6514f34ffe6e1ce146e1f17db2c0f90 md5sum.1
.TP
.B -v
Be more verbose. Print filenames when checking (with -c).
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-07-06 16:05-0700\n"
+"POT-Creation-Date: 1999-09-10 03:34+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "operation requires read/write access to dpkg status area"
msgstr "operation requires read/write access to dpkg status area"
-#: lib/dbmodify.c:197
+#: lib/dbmodify.c:198
#, c-format
msgid "failed to remove my own update file %.255s"
msgstr "failed to remove my own update file %.255s"
-#: lib/dbmodify.c:229
+#: lib/dbmodify.c:230
#, c-format
msgid "unable to write updated status of `%.250s'"
msgstr "unable to write updated status of `%.250s'"
-#: lib/dbmodify.c:231
+#: lib/dbmodify.c:232
#, c-format
msgid "unable to flush updated status of `%.250s'"
msgstr "unable to flush updated status of `%.250s'"
-#: lib/dbmodify.c:233
+#: lib/dbmodify.c:234
#, c-format
msgid "unable to truncate for updated status of `%.250s'"
msgstr "unable to truncate for updated status of `%.250s'"
-#: lib/dbmodify.c:235
+#: lib/dbmodify.c:236
#, c-format
msgid "unable to fsync updated status of `%.250s'"
msgstr "unable to fsync updated status of `%.250s'"
-#: lib/dbmodify.c:237
+#: lib/dbmodify.c:238
#, c-format
msgid "unable to close updated status of `%.250s'"
msgstr "unable to close updated status of `%.250s'"
-#: lib/dbmodify.c:240
+#: lib/dbmodify.c:241
#, c-format
msgid "unable to install updated status of `%.250s'"
msgstr "unable to install updated status of `%.250s'"
msgid "subprocess %s failed with wait status code %d"
msgstr "subprocess %s failed with wait status code %d"
-#: lib/mlib.c:122 main/help.c:350
+#: lib/mlib.c:122 main/help.c:360
#, c-format
msgid "wait for %s failed"
msgstr "wait for %s failed"
msgstr "empty value for %s"
#: lib/showcright.c:31
-msgid "cannot open GPL file /usr/doc/dpkg/copyright"
-msgstr "cannot open GPL file /usr/doc/dpkg/copyright"
+#, fuzzy
+msgid "cannot open GPL file "
+msgstr "cannot remove old files list"
#: lib/showcright.c:34
msgid "unable to exec cat for displaying GPL file"
msgstr "unable to exec cat for displaying GPL file"
-#: lib/varbuf.c:76
+#: lib/varbuf.c:77
msgid "failed to realloc for variable buffer"
msgstr "failed to realloc for variable buffer"
"Use dpkg --info (= dpkg-deb --info) to examine archive files,\n"
"and dpkg --contents (= dpkg-deb --contents) to list their contents."
-#: main/enquiry.c:499
-msgid "--assert-support-predepends does not take any arguments"
-msgstr "--assert-support-predepends does not take any arguments"
-
-#: main/enquiry.c:514
-msgid ""
-"Version of dpkg with Pre-Depends support not yet configured.\n"
-" Please use `dpkg --configure dpkg', and then try again.\n"
-msgstr ""
-"Version of dpkg with Pre-Depends support not yet configured.\n"
-" Please use `dpkg --configure dpkg', and then try again.\n"
-
-#: main/enquiry.c:518
-msgid ""
-"dpkg not recorded as installed, cannot check for Pre-Depends support !\n"
-msgstr ""
-"dpkg not recorded as installed, cannot check for Pre-Depends support !\n"
-
-#: main/enquiry.c:541
+#: main/enquiry.c:524
msgid "--predep-package does not take any argument"
msgstr "--predep-package does not take any argument"
-#: main/enquiry.c:593
+#: main/enquiry.c:576
#, c-format
msgid ""
"dpkg: cannot see how to satisfy pre-dependency:\n"
"dpkg: cannot see how to satisfy pre-dependency:\n"
" %s\n"
-#: main/enquiry.c:594
+#: main/enquiry.c:577
#, c-format
msgid "cannot satisfy pre-dependencies for %.250s (wanted due to %.250s)"
msgstr "cannot satisfy pre-dependencies for %.250s (wanted due to %.250s)"
-#: main/enquiry.c:614
+#: main/enquiry.c:597
#, c-format
msgid ""
"dpkg: unexpected output from `%s --print-libgcc-file-name':\n"
"dpkg: unexpected output from `%s --print-libgcc-file-name':\n"
" `%s'\n"
-#: main/enquiry.c:617
+#: main/enquiry.c:600
#, c-format
msgid "compiler libgcc filename not understood: %.250s"
msgstr "compiler libgcc filename not understood: %.250s"
-#: main/enquiry.c:621
+#: main/enquiry.c:604
msgid "--print-installation-architecture does not take any argument"
msgstr "--print-installation-architecture does not take any argument"
-#: main/enquiry.c:641
+#: main/enquiry.c:624
msgid "--print-architecture does not take any argument"
msgstr "--print-architecture does not take any argument"
-#: main/enquiry.c:647
+#: main/enquiry.c:630
msgid "failed to fdopen CC pipe"
msgstr "failed to fdopen CC pipe"
-#: main/enquiry.c:651
+#: main/enquiry.c:634
#, c-format
msgid "failed to exec C compiler `%.250s'"
msgstr "failed to exec C compiler `%.250s'"
-#: main/enquiry.c:655
+#: main/enquiry.c:638
msgid "error reading from CC pipe"
msgstr "error reading from CC pipe"
-#: main/enquiry.c:657
+#: main/enquiry.c:640
msgid "empty output"
msgstr "empty output"
-#: main/enquiry.c:659
+#: main/enquiry.c:642
msgid "no newline"
msgstr "no newline"
-#: main/enquiry.c:662
+#: main/enquiry.c:645
msgid "no gcc-lib component"
msgstr "no gcc-lib component"
-#: main/enquiry.c:664
+#: main/enquiry.c:647
msgid "no hyphen after gcc-lib"
msgstr "no hyphen after gcc-lib"
-#: main/enquiry.c:676
+#: main/enquiry.c:659
#, c-format
msgid "dpkg: warning, architecture `%s' not in remapping table\n"
msgstr "dpkg: warning, architecture `%s' not in remapping table\n"
-#: main/enquiry.c:718
+#: main/enquiry.c:701
msgid "--cmpversions takes three arguments: <version> <relation> <version>"
msgstr "--cmpversions takes three arguments: <version> <relation> <version>"
-#: main/enquiry.c:723
+#: main/enquiry.c:706
msgid "--cmpversions bad relation"
msgstr "--cmpversions bad relation"
-#: main/enquiry.c:728
+#: main/enquiry.c:711
#, c-format
msgid "version a has bad syntax: %s\n"
msgstr "version a has bad syntax: %s\n"
-#: main/enquiry.c:738
+#: main/enquiry.c:721
#, c-format
msgid "version b has bad syntax: %s\n"
msgstr "version b has bad syntax: %s\n"
"dpkg - warning, overriding problem because --force enabled:\n"
" "
-#: main/filesdb.c:116
+#: main/filesdb.c:120
#, c-format
msgid "unable to open files list file for package `%.250s'"
msgstr "unable to open files list file for package `%.250s'"
-#: main/filesdb.c:121
+#: main/filesdb.c:125
#, c-format
msgid ""
"dpkg: serious warning: files list file for package `%.250s' missing, "
"dpkg: serious warning: files list file for package `%.250s' missing, "
"assuming package has no files currently installed.\n"
-#: main/filesdb.c:132
+#: main/filesdb.c:136
#, c-format
msgid "unable to set buffering on `%.250s'"
msgstr "unable to set buffering on `%.250s'"
-#: main/filesdb.c:142
+#: main/filesdb.c:146
#, c-format
msgid "fgets gave an empty null-terminated string from `%.250s'"
msgstr "fgets gave an empty null-terminated string from `%.250s'"
-#: main/filesdb.c:160
+#: main/filesdb.c:164
#, c-format
msgid "files list file for package `%.250s' contains empty filename"
msgstr "files list file for package `%.250s' contains empty filename"
-#: main/filesdb.c:168
+#: main/filesdb.c:172
#, c-format
msgid "error reading files list file for package `%.250s'"
msgstr "error reading files list file for package `%.250s'"
-#: main/filesdb.c:171
+#: main/filesdb.c:175
#, c-format
msgid "error closing files list file for package `%.250s'"
msgstr "error closing files list file for package `%.250s'"
-#: main/filesdb.c:173
+#: main/filesdb.c:177
#, c-format
msgid "files list file for package `%.250s' is truncated"
msgstr "files list file for package `%.250s' is truncated"
-#: main/filesdb.c:204
+#: main/filesdb.c:208
msgid "(Reading database ... "
msgstr "(Reading database ... "
-#: main/filesdb.c:204
+#: main/filesdb.c:208
msgid "(Scanning database ... "
msgstr "(Scanning database ... "
-#: main/filesdb.c:212
+#: main/filesdb.c:216
#, c-format
msgid "%d files and directories currently installed.)\n"
msgstr "%d files and directories currently installed.)\n"
-#: main/filesdb.c:243
+#: main/filesdb.c:247
#, c-format
msgid "unable to create updated files list file for package %s"
msgstr "unable to create updated files list file for package %s"
-#: main/filesdb.c:253
+#: main/filesdb.c:257
#, c-format
msgid "failed to write to updated files list file for package %s"
msgstr "failed to write to updated files list file for package %s"
-#: main/filesdb.c:255
+#: main/filesdb.c:259
#, c-format
msgid "failed to flush updated files list file for package %s"
msgstr "failed to flush updated files list file for package %s"
-#: main/filesdb.c:257
+#: main/filesdb.c:261
#, c-format
msgid "failed to sync updated files list file for package %s"
msgstr "failed to sync updated files list file for package %s"
-#: main/filesdb.c:260
+#: main/filesdb.c:264
#, c-format
msgid "failed to close updated files list file for package %s"
msgstr "failed to close updated files list file for package %s"
-#: main/filesdb.c:262
+#: main/filesdb.c:266
#, c-format
msgid "failed to install updated files list file for package %s"
msgstr "failed to install updated files list file for package %s"
-#: main/filesdb.c:326
+#: main/filesdb.c:330
msgid "failed to open diversions file"
msgstr "failed to open diversions file"
-#: main/filesdb.c:330
+#: main/filesdb.c:334
msgid "failed to fstat previous diversions file"
msgstr "failed to fstat previous diversions file"
-#: main/filesdb.c:332
+#: main/filesdb.c:336
msgid "failed to fstat diversions file"
msgstr "failed to fstat diversions file"
-#: main/filesdb.c:352
+#: main/filesdb.c:356
msgid "fgets gave an empty string from diversions [i]"
msgstr "fgets gave an empty string from diversions [i]"
-#: main/filesdb.c:353
+#: main/filesdb.c:357
msgid "diversions file has too-long line or EOF [i]"
msgstr "diversions file has too-long line or EOF [i]"
-#: main/filesdb.c:359
+#: main/filesdb.c:363
msgid "read error in diversions [ii]"
msgstr "read error in diversions [ii]"
-#: main/filesdb.c:360
+#: main/filesdb.c:364
msgid "unexpected EOF in diversions [ii]"
msgstr "unexpected EOF in diversions [ii]"
-#: main/filesdb.c:362
+#: main/filesdb.c:367
msgid "fgets gave an empty string from diversions [ii]"
msgstr "fgets gave an empty string from diversions [ii]"
-#: main/filesdb.c:363 main/filesdb.c:373
+#: main/filesdb.c:368 main/filesdb.c:379
msgid "diversions file has too-long line or EOF [ii]"
msgstr "diversions file has too-long line or EOF [ii]"
-#: main/filesdb.c:369
+#: main/filesdb.c:374
msgid "read error in diversions [iii]"
msgstr "read error in diversions [iii]"
-#: main/filesdb.c:370
+#: main/filesdb.c:375
msgid "unexpected EOF in diversions [iii]"
msgstr "unexpected EOF in diversions [iii]"
-#: main/filesdb.c:372
+#: main/filesdb.c:378
msgid "fgets gave an empty string from diversions [iii]"
msgstr "fgets gave an empty string from diversions [iii]"
-#: main/filesdb.c:380
+#: main/filesdb.c:386
#, c-format
msgid "conflicting diversions involving `%.250s' or `%.250s'"
msgstr "conflicting diversions involving `%.250s' or `%.250s'"
-#: main/filesdb.c:389
+#: main/filesdb.c:395
msgid "read error in diversions [i]"
msgstr "read error in diversions [i]"
"%d expected program(s) not found on PATH.\n"
"NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin."
-#: main/help.c:210
+#: main/help.c:219
#, c-format
msgid "error un-catching signal %s: %s\n"
msgstr "error un-catching signal %s: %s\n"
-#: main/help.c:228
+#: main/help.c:237
#, c-format
msgid "unable to ignore signal %s before running script"
msgstr "unable to ignore signal %s before running script"
-#: main/help.c:237
+#: main/help.c:246
#, c-format
msgid "unable to set execute permissions on `%.250s'"
msgstr "unable to set execute permissions on `%.250s'"
-#: main/help.c:261
+#: main/help.c:270
#, c-format
msgid "unable to stat installed %s script `%.250s'"
msgstr "unable to stat installed %s script `%.250s'"
-#: main/help.c:268 main/help.c:346 main/help.c:385
+#: main/help.c:277 main/help.c:356 main/help.c:396
#, c-format
msgid "unable to execute %s"
msgstr "unable to execute %s"
-#: main/help.c:297
+#: main/help.c:307
#, c-format
msgid "unable to stat new %s script `%.250s'"
msgstr "unable to stat new %s script `%.250s'"
-#: main/help.c:304
+#: main/help.c:314
#, c-format
msgid "unable to execute new %s"
msgstr "unable to execute new %s"
-#: main/help.c:338
+#: main/help.c:348
#, c-format
msgid "dpkg: warning - unable to stat %s `%.250s': %s\n"
msgstr "dpkg: warning - unable to stat %s `%.250s': %s\n"
-#: main/help.c:354
+#: main/help.c:364
#, c-format
msgid "dpkg: warning - %s returned error exit status %d\n"
msgstr "dpkg: warning - %s returned error exit status %d\n"
-#: main/help.c:357
+#: main/help.c:367
#, c-format
msgid "dpkg: warning - %s killed by signal (%s)%s\n"
msgstr "dpkg: warning - %s killed by signal (%s)%s\n"
-#: main/help.c:360
+#: main/help.c:370
#, c-format
msgid "%s failed with unknown wait status code %d"
msgstr "%s failed with unknown wait status code %d"
-#: main/help.c:364
+#: main/help.c:374
msgid "dpkg - trying script from the new package instead ...\n"
msgstr "dpkg - trying script from the new package instead ...\n"
-#: main/help.c:371
+#: main/help.c:381
#, c-format
msgid "new %s script"
msgstr "new %s script"
-#: main/help.c:375
+#: main/help.c:385
msgid "there is no script in the new version of the package - giving up"
msgstr "there is no script in the new version of the package - giving up"
-#: main/help.c:377
+#: main/help.c:387
#, c-format
msgid "unable to stat %s `%.250s'"
msgstr "unable to stat %s `%.250s'"
-#: main/help.c:390
+#: main/help.c:401
msgid "dpkg: ... it looks like that went OK.\n"
msgstr "dpkg: ... it looks like that went OK.\n"
#. Huh ?
-#: main/help.c:469
+#: main/help.c:496
#, c-format
msgid "failed to rmdir/unlink `%.255s'"
msgstr "failed to rmdir/unlink `%.255s'"
-#: dpkg-deb/info.c:52 main/help.c:473
+#: dpkg-deb/info.c:52 main/help.c:500
msgid "failed to exec rm for cleanup"
msgstr "failed to exec rm for cleanup"
msgid "--ignore-depends requires a legal package name. `%.250s' is not; %s"
msgstr "--ignore-depends requires a legal package name. `%.250s' is not; %s"
-#: main/main.c:251
+#: main/main.c:257
#, fuzzy
msgid ""
"dpkg forcing options - control behaviour when problems found:\n"
"WARNING - use of options marked [!] can seriously damage your installation.\n"
"Forcing options marked [*] are enabled by default.\n"
-#: main/main.c:283
+#: main/main.c:289
#, c-format
msgid "unknown force/refuse option `%.*s'"
msgstr "unknown force/refuse option `%.*s'"
-#: main/main.c:360
+#: main/main.c:366
msgid "failed to exec dpkg-deb"
msgstr "failed to exec dpkg-deb"
-#: dpkg-deb/main.c:150 main/main.c:396 split/main.c:163
+#: dpkg-deb/main.c:150 main/main.c:402 split/main.c:163
msgid "need an action option"
msgstr "need an action option"
msgid "package architecture (%s) does not match system (%s)"
msgstr "package architecture (%s) does not match system (%s)"
-#: main/processarc.c:206
-#, c-format
-msgid "Selecting previously deselected package %s.\n"
-msgstr "Selecting previously deselected package %s.\n"
-
-#: main/processarc.c:209
-#, c-format
-msgid "Skipping deselected package %s.\n"
-msgstr "Skipping deselected package %s.\n"
-
-#: main/processarc.c:220
-#, c-format
-msgid "dpkg - warning: downgrading %.250s from %.250s to %.250s.\n"
-msgstr "dpkg - warning: downgrading %.250s from %.250s to %.250s.\n"
-
-#: main/processarc.c:225
-#, c-format
-msgid "Will not downgrade %.250s from version %.250s to %.250s, skipping.\n"
-msgstr "Will not downgrade %.250s from version %.250s to %.250s, skipping.\n"
-
-#: main/processarc.c:235
-#, c-format
-msgid "Version %.250s of %.250s already installed, skipping.\n"
-msgstr "Version %.250s of %.250s already installed, skipping.\n"
-
-#: main/processarc.c:268
+#: main/processarc.c:234
#, c-format
msgid ""
"dpkg: regarding %s containing %s, pre-dependency problem:\n"
"dpkg: regarding %s containing %s, pre-dependency problem:\n"
"%s"
-#: main/processarc.c:271
+#: main/processarc.c:237
#, c-format
msgid "pre-dependency problem - not installing %.250s"
msgstr "pre-dependency problem - not installing %.250s"
-#: main/processarc.c:272
+#: main/processarc.c:238
msgid "dpkg: warning - ignoring pre-dependency problem !\n"
msgstr "dpkg: warning - ignoring pre-dependency problem !\n"
-#: main/processarc.c:286
+#: main/processarc.c:252
#, c-format
msgid "Preparing to replace %s %s (using %s) ...\n"
msgstr "Preparing to replace %s %s (using %s) ...\n"
-#: main/processarc.c:291
+#: main/processarc.c:257
#, c-format
msgid "Unpacking %s (from %s) ...\n"
msgstr "Unpacking %s (from %s) ...\n"
-#: main/processarc.c:311
+#: main/processarc.c:277
#, c-format
msgid "name of conffile (starting `%.250s') is too long (>%d characters)"
msgstr "name of conffile (starting `%.250s') is too long (>%d characters)"
-#: main/processarc.c:365
+#: main/processarc.c:331
#, c-format
msgid "read error in %.250s"
msgstr "read error in %.250s"
#. conff= fopen()
-#: main/processarc.c:367
+#: main/processarc.c:333
#, c-format
msgid "error closing %.250s"
msgstr "error closing %.250s"
-#: main/processarc.c:369
+#: main/processarc.c:335
#, c-format
msgid "error trying to open %.250s"
msgstr "error trying to open %.250s"
-#: main/processarc.c:401
+#: main/processarc.c:367
#, c-format
msgid "De-configuring %s, so that we can remove %s ...\n"
msgstr "De-configuring %s, so that we can remove %s ...\n"
-#: main/processarc.c:458
+#: main/processarc.c:424
#, c-format
msgid "Unpacking replacement %.250s ...\n"
msgstr "Unpacking replacement %.250s ...\n"
-#: main/processarc.c:534
+#: main/processarc.c:500
msgid "unable to exec dpkg-deb to get filesystem archive"
msgstr "unable to exec dpkg-deb to get filesystem archive"
-#: main/processarc.c:542
+#: main/processarc.c:508
msgid "unable to fdopen dpkg-deb extract pipe"
msgstr "unable to fdopen dpkg-deb extract pipe"
-#: main/processarc.c:548
+#: main/processarc.c:514
msgid "error reading dpkg-deb tar output"
msgstr "error reading dpkg-deb tar output"
-#: main/processarc.c:551
+#: main/processarc.c:517
msgid "unexpected EOF in filesystem tarfile - corrupted package archive"
msgstr "unexpected EOF in filesystem tarfile - corrupted package archive"
-#: main/processarc.c:553
+#: main/processarc.c:519
msgid "corrupted filesystem tarfile - corrupted package archive"
msgstr "corrupted filesystem tarfile - corrupted package archive"
-#: main/processarc.c:610
+#: main/processarc.c:576
#, c-format
msgid "dpkg: warning - unable to delete old file `%.250s': %s\n"
msgstr "dpkg: warning - unable to delete old file `%.250s': %s\n"
-#: main/processarc.c:632 main/processarc.c:867 main/remove.c:287
+#: main/processarc.c:598 main/processarc.c:833 main/remove.c:287
msgid "cannot read info directory"
msgstr "cannot read info directory"
-#: main/processarc.c:645
+#: main/processarc.c:611
#, c-format
msgid "old version of package has overly-long info file name starting `%.250s'"
msgstr ""
"old version of package has overly-long info file name starting `%.250s'"
-#: main/processarc.c:657
+#: main/processarc.c:623
#, c-format
msgid "unable to remove obsolete info file `%.250s'"
msgstr "unable to remove obsolete info file `%.250s'"
-#: main/processarc.c:660
+#: main/processarc.c:626
#, c-format
msgid "unable to install (supposed) new info file `%.250s'"
msgstr "unable to install (supposed) new info file `%.250s'"
-#: main/processarc.c:667
+#: main/processarc.c:633
msgid "unable to open temp control directory"
msgstr "unable to open temp control directory"
-#: main/processarc.c:676
+#: main/processarc.c:642
#, c-format
msgid "package contains overly-long control info file name (starting `%.50s')"
msgstr "package contains overly-long control info file name (starting `%.50s')"
-#: main/processarc.c:681
+#: main/processarc.c:647
#, c-format
msgid "package control info contained directory `%.250s'"
msgstr "package control info contained directory `%.250s'"
-#: main/processarc.c:683
+#: main/processarc.c:649
#, c-format
msgid "package control info rmdir of `%.250s' didn't say not a dir"
msgstr "package control info rmdir of `%.250s' didn't say not a dir"
-#: main/processarc.c:689
+#: main/processarc.c:655
#, c-format
msgid "dpkg: warning - package %s contained list as info file"
msgstr "dpkg: warning - package %s contained list as info file"
-#: main/processarc.c:696
+#: main/processarc.c:662
#, c-format
msgid "unable to install new info file `%.250s' as `%.250s'"
msgstr "unable to install new info file `%.250s' as `%.250s'"
-#: main/processarc.c:847
+#: main/processarc.c:813
#, c-format
msgid "(Noting disappearance of %s, which has been completely replaced.)\n"
msgstr "(Noting disappearance of %s, which has been completely replaced.)\n"
-#: main/processarc.c:883
+#: main/processarc.c:849
#, c-format
msgid "unable to delete disappearing control info file `%.250s'"
msgstr "unable to delete disappearing control info file `%.250s'"
msgid "%s: no files checked\n"
msgstr "%s: no files checked\n"
+#~ msgid "cannot open GPL file /usr/doc/dpkg/copyright"
+#~ msgstr "cannot open GPL file /usr/doc/dpkg/copyright"
+
+#~ msgid "--assert-support-predepends does not take any arguments"
+#~ msgstr "--assert-support-predepends does not take any arguments"
+
+#~ msgid ""
+#~ "Version of dpkg with Pre-Depends support not yet configured.\n"
+#~ " Please use `dpkg --configure dpkg', and then try again.\n"
+#~ msgstr ""
+#~ "Version of dpkg with Pre-Depends support not yet configured.\n"
+#~ " Please use `dpkg --configure dpkg', and then try again.\n"
+
+#~ msgid ""
+#~ "dpkg not recorded as installed, cannot check for Pre-Depends support !\n"
+#~ msgstr ""
+#~ "dpkg not recorded as installed, cannot check for Pre-Depends support !\n"
+
+#~ msgid "Selecting previously deselected package %s.\n"
+#~ msgstr "Selecting previously deselected package %s.\n"
+
+#~ msgid "Skipping deselected package %s.\n"
+#~ msgstr "Skipping deselected package %s.\n"
+
+#~ msgid "dpkg - warning: downgrading %.250s from %.250s to %.250s.\n"
+#~ msgstr "dpkg - warning: downgrading %.250s from %.250s to %.250s.\n"
+
+#~ msgid "Will not downgrade %.250s from version %.250s to %.250s, skipping.\n"
+#~ msgstr ""
+#~ "Will not downgrade %.250s from version %.250s to %.250s, skipping.\n"
+
+#~ msgid "Version %.250s of %.250s already installed, skipping.\n"
+#~ msgstr "Version %.250s of %.250s already installed, skipping.\n"
+
#, fuzzy
#~ msgid ""
#~ "Usage: \n"
msgid ""
msgstr ""
"Project-Id-Version: Debian dpkg 1.4.0.14\n"
-"POT-Creation-Date: 1999-07-06 16:05-0700\n"
+"POT-Creation-Date: 1999-09-10 03:34+0200\n"
"PO-Revision-Date: 1997-05-13 22:07 EDT\n"
"Last-Translator: Christophe Le Bars <clebars@debian.org>\n"
"Language-Team: French\n"
msgstr ""
"opération demandant un accès en lecture-écriture dans la zone d'états de dpkg"
-#: lib/dbmodify.c:197
+#: lib/dbmodify.c:198
#, c-format
msgid "failed to remove my own update file %.255s"
msgstr "échec pour retirer mon propre fichier de mise à jour %.255s"
-#: lib/dbmodify.c:229
+#: lib/dbmodify.c:230
#, c-format
msgid "unable to write updated status of `%.250s'"
msgstr "impossible d'écrire l'état modifié de `%.250s'"
-#: lib/dbmodify.c:231
+#: lib/dbmodify.c:232
#, c-format
msgid "unable to flush updated status of `%.250s'"
msgstr "impossible de vider l'état modifié de `%.250s'"
-#: lib/dbmodify.c:233
+#: lib/dbmodify.c:234
#, c-format
msgid "unable to truncate for updated status of `%.250s'"
msgstr "impossible de troncaténer pour l'état modifié de `%.250s'"
-#: lib/dbmodify.c:235
+#: lib/dbmodify.c:236
#, c-format
msgid "unable to fsync updated status of `%.250s'"
msgstr "impossible de \"fsync\" l'état modifié de `%.250s'"
-#: lib/dbmodify.c:237
+#: lib/dbmodify.c:238
#, c-format
msgid "unable to close updated status of `%.250s'"
msgstr "impossible de fermer l'état modifié de `%.250s'"
-#: lib/dbmodify.c:240
+#: lib/dbmodify.c:241
#, c-format
msgid "unable to install updated status of `%.250s'"
msgstr "impossible d'installer l'état modifié de `%.250s'"
msgid "subprocess %s failed with wait status code %d"
msgstr "sous-processus %s a échoué avec le code d'état d'attente %d"
-#: lib/mlib.c:122 main/help.c:350
+#: lib/mlib.c:122 main/help.c:360
#, c-format
msgid "wait for %s failed"
msgstr "attente de l'échec de %s"
msgstr "valeur nulle pour %s"
#: lib/showcright.c:31
-msgid "cannot open GPL file /usr/doc/dpkg/copyright"
-msgstr "ne peut pas ouvrir le fichier GPL /usr/doc/dpkg/copyright"
+#, fuzzy
+msgid "cannot open GPL file "
+msgstr "ne peut pas supprimer la liste des anciens fichiers"
#: lib/showcright.c:34
msgid "unable to exec cat for displaying GPL file"
msgstr "impossible d'exécuter \"cat\" pour afficher le fichier GPL"
-#: lib/varbuf.c:76
+#: lib/varbuf.c:77
msgid "failed to realloc for variable buffer"
msgstr "échec pour réallouer les variables \"buffer\""
"archives,\n"
"et dpkg --contents (= dpkg-deb --contents) pour afficher leurs contenus."
-#: main/enquiry.c:499
-msgid "--assert-support-predepends does not take any arguments"
-msgstr "--assert-support-predepends ne prend aucun argument"
-
-#: main/enquiry.c:514
-msgid ""
-"Version of dpkg with Pre-Depends support not yet configured.\n"
-" Please use `dpkg --configure dpkg', and then try again.\n"
-msgstr ""
-"Version de dpkg avec support des pré-dépendances non encore configurée.\n"
-" Utilisez s'il vous plaît `dpkg --configure dpkg' et essayez à nouveau.\n"
-
-#: main/enquiry.c:518
-msgid ""
-"dpkg not recorded as installed, cannot check for Pre-Depends support !\n"
-msgstr ""
-"dpkg non enregistré comme installé, vérification du support des "
-"pré-dépendances impossible !\n"
-
-#: main/enquiry.c:541
+#: main/enquiry.c:524
msgid "--predep-package does not take any argument"
msgstr "--predep-package ne prend aucun argument"
-#: main/enquiry.c:593
+#: main/enquiry.c:576
#, c-format
msgid ""
"dpkg: cannot see how to satisfy pre-dependency:\n"
"dpkg: ne peut pas voir comment satisfaire les pré-dépendances:\n"
" %s\n"
-#: main/enquiry.c:594
+#: main/enquiry.c:577
#, c-format
msgid "cannot satisfy pre-dependencies for %.250s (wanted due to %.250s)"
msgstr ""
"ne peut satisfaire les pré-dépendances pour %.250s (réclamé par %.250s)"
-#: main/enquiry.c:614
+#: main/enquiry.c:597
#, c-format
msgid ""
"dpkg: unexpected output from `%s --print-libgcc-file-name':\n"
"dpkg: sortie inattendu de `%s --print-libgcc-file-name':\n"
" `%s'\n"
-#: main/enquiry.c:617
+#: main/enquiry.c:600
#, c-format
msgid "compiler libgcc filename not understood: %.250s"
msgstr "fichier libgcc du compilateur non compris: %.250s"
-#: main/enquiry.c:621
+#: main/enquiry.c:604
msgid "--print-installation-architecture does not take any argument"
msgstr "--print-installation-architecture ne prend aucun argument"
-#: main/enquiry.c:641
+#: main/enquiry.c:624
msgid "--print-architecture does not take any argument"
msgstr "--print-architecture ne prend aucun argument"
-#: main/enquiry.c:647
+#: main/enquiry.c:630
msgid "failed to fdopen CC pipe"
msgstr "échec pour \"fdopen\" le tube de CC"
-#: main/enquiry.c:651
+#: main/enquiry.c:634
#, c-format
msgid "failed to exec C compiler `%.250s'"
msgstr "échec pour exécuter le compilateur C `%.250s'"
-#: main/enquiry.c:655
+#: main/enquiry.c:638
msgid "error reading from CC pipe"
msgstr "erreur en lisant le tube de CC"
-#: main/enquiry.c:657
+#: main/enquiry.c:640
msgid "empty output"
msgstr "sortie vide"
-#: main/enquiry.c:659
+#: main/enquiry.c:642
msgid "no newline"
msgstr "pas de saut de ligne"
-#: main/enquiry.c:662
+#: main/enquiry.c:645
msgid "no gcc-lib component"
msgstr "pas de composant gcc-lib"
-#: main/enquiry.c:664
+#: main/enquiry.c:647
msgid "no hyphen after gcc-lib"
msgstr "pas de trait d'union pas gcc-lib"
-#: main/enquiry.c:676
+#: main/enquiry.c:659
#, c-format
msgid "dpkg: warning, architecture `%s' not in remapping table\n"
msgstr ""
"dpkg: avertissement, architecture `%s' inexistante dans la tale des "
"correspondances\n"
-#: main/enquiry.c:718
+#: main/enquiry.c:701
msgid "--cmpversions takes three arguments: <version> <relation> <version>"
msgstr "--cmpversions prend trois arguments: <version> <relation> <version>"
-#: main/enquiry.c:723
+#: main/enquiry.c:706
msgid "--cmpversions bad relation"
msgstr "--cmpversions mauvaise relation"
-#: main/enquiry.c:728
+#: main/enquiry.c:711
#, c-format
msgid "version a has bad syntax: %s\n"
msgstr "mauvaise syntaxe de la version a: %s\n"
-#: main/enquiry.c:738
+#: main/enquiry.c:721
#, c-format
msgid "version b has bad syntax: %s\n"
msgstr "mauvaise syntaxe de la version b: %s\n"
"dpkg - avertissement, problème de recouvrement à cause de --force:\n"
" "
-#: main/filesdb.c:116
+#: main/filesdb.c:120
#, c-format
msgid "unable to open files list file for package `%.250s'"
msgstr ""
"impossible d'ouvrir le fichier comprenant la liste des fichiers du paquet "
"`%.250s'"
-#: main/filesdb.c:121
+#: main/filesdb.c:125
#, c-format
msgid ""
"dpkg: serious warning: files list file for package `%.250s' missing, "
"du paquet `%.250s' étant manquant, il est considéré que le paquet n'a aucun "
"fichier actuellement installé.\n"
-#: main/filesdb.c:132
+#: main/filesdb.c:136
#, c-format
msgid "unable to set buffering on `%.250s'"
msgstr "impossible de paramétrer le \"buffering\" sur `%.250s'"
-#: main/filesdb.c:142
+#: main/filesdb.c:146
#, c-format
msgid "fgets gave an empty null-terminated string from `%.250s'"
msgstr "\"fgets\" a donné une chaine vide de `%.250s'"
-#: main/filesdb.c:160
+#: main/filesdb.c:164
#, c-format
msgid "files list file for package `%.250s' contains empty filename"
msgstr ""
"la liste des fichiers pour le paquet `%.250s' contient un nom de fichier vide"
-#: main/filesdb.c:168
+#: main/filesdb.c:172
#, c-format
msgid "error reading files list file for package `%.250s'"
msgstr ""
"erreur de lecture du fichier contenant la liste des fichiers du paquet "
"`%.250s'"
-#: main/filesdb.c:171
+#: main/filesdb.c:175
#, c-format
msgid "error closing files list file for package `%.250s'"
msgstr ""
"erreur de fermeture du fichier contenant la liste des fichiers du paquet "
"`%.250s'"
-#: main/filesdb.c:173
+#: main/filesdb.c:177
#, c-format
msgid "files list file for package `%.250s' is truncated"
msgstr ""
"le fichier contenant la liste des fichiers du paquet `%.250s' est coupé"
-#: main/filesdb.c:204
+#: main/filesdb.c:208
msgid "(Reading database ... "
msgstr "(Lecture de la base de données ... "
-#: main/filesdb.c:204
+#: main/filesdb.c:208
msgid "(Scanning database ... "
msgstr "(Recherche dans la base de données ... "
-#: main/filesdb.c:212
+#: main/filesdb.c:216
#, c-format
msgid "%d files and directories currently installed.)\n"
msgstr "%d fichiers et répertoires déjà installés.)\n"
-#: main/filesdb.c:243
+#: main/filesdb.c:247
#, c-format
msgid "unable to create updated files list file for package %s"
msgstr ""
"impossible de créer le fichier contenant la liste mise à jour des fichiers "
"du paquet %s"
-#: main/filesdb.c:253
+#: main/filesdb.c:257
#, c-format
msgid "failed to write to updated files list file for package %s"
msgstr ""
"échec pour écrire le fichier contenant la liste mise à jour des fichiers du "
"paquet %s"
-#: main/filesdb.c:255
+#: main/filesdb.c:259
#, c-format
msgid "failed to flush updated files list file for package %s"
msgstr ""
"échec pour vider le fichier contenant la liste mise à jour des fichiers du "
"paquet %s"
-#: main/filesdb.c:257
+#: main/filesdb.c:261
#, c-format
msgid "failed to sync updated files list file for package %s"
msgstr ""
"échec pour \"sync\" le fichier contenant la liste mise à jour des fichiers "
"du paquet %s"
-#: main/filesdb.c:260
+#: main/filesdb.c:264
#, c-format
msgid "failed to close updated files list file for package %s"
msgstr ""
"échec pour fermer le fichier contenant la liste mise à jour des fichiers du "
"paquet %s"
-#: main/filesdb.c:262
+#: main/filesdb.c:266
#, c-format
msgid "failed to install updated files list file for package %s"
msgstr ""
"échec pour installer le fichier contenant la liste mise à jour des fichiers "
"du paquet %s"
-#: main/filesdb.c:326
+#: main/filesdb.c:330
msgid "failed to open diversions file"
msgstr "échec pour ouvrir le fichier des détournements"
-#: main/filesdb.c:330
+#: main/filesdb.c:334
msgid "failed to fstat previous diversions file"
msgstr "échec pour \"fstat\" l'ancien fichier des détournements"
-#: main/filesdb.c:332
+#: main/filesdb.c:336
msgid "failed to fstat diversions file"
msgstr "échec pour \"fstat\" le fichier des détournements"
-#: main/filesdb.c:352
+#: main/filesdb.c:356
msgid "fgets gave an empty string from diversions [i]"
msgstr "\"fgets\" a donné une chaine vide pour les détournements [i]"
-#: main/filesdb.c:353
+#: main/filesdb.c:357
msgid "diversions file has too-long line or EOF [i]"
msgstr "le fichier des détournements a une ligne trop longue ou EOF [i]"
-#: main/filesdb.c:359
+#: main/filesdb.c:363
msgid "read error in diversions [ii]"
msgstr "erreur de lecture dans les détournements [ii]"
-#: main/filesdb.c:360
+#: main/filesdb.c:364
msgid "unexpected EOF in diversions [ii]"
msgstr "EOF inattendu dans les détournements [ii]"
-#: main/filesdb.c:362
+#: main/filesdb.c:367
msgid "fgets gave an empty string from diversions [ii]"
msgstr "\"fgets\" a donné une chaine vide pour les détournements [ii]"
-#: main/filesdb.c:363 main/filesdb.c:373
+#: main/filesdb.c:368 main/filesdb.c:379
msgid "diversions file has too-long line or EOF [ii]"
msgstr "le fichier des détournements a une ligne trop longue ou EOF [ii]"
-#: main/filesdb.c:369
+#: main/filesdb.c:374
msgid "read error in diversions [iii]"
msgstr "erreur de lecture dans les détournements [iii]"
-#: main/filesdb.c:370
+#: main/filesdb.c:375
msgid "unexpected EOF in diversions [iii]"
msgstr "EOF inattendu dans les détournements [iii]"
-#: main/filesdb.c:372
+#: main/filesdb.c:378
msgid "fgets gave an empty string from diversions [iii]"
msgstr "\"fgets\" a donné une chaine vide pour les détournements [iii]"
-#: main/filesdb.c:380
+#: main/filesdb.c:386
#, c-format
msgid "conflicting diversions involving `%.250s' or `%.250s'"
msgstr "détournements contradictoires impliquant `%.250s' ou `%.250s'"
-#: main/filesdb.c:389
+#: main/filesdb.c:395
msgid "read error in diversions [i]"
msgstr "erreur de lecture dans les détournements [i]"
"NB: la variable PATH de root doit normalement contenir /usr/local/sbin, "
"/usr/sbin et /sbin."
-#: main/help.c:210
+#: main/help.c:219
#, c-format
msgid "error un-catching signal %s: %s\n"
msgstr "erreur signal %s non-capturé: %s\n"
-#: main/help.c:228
+#: main/help.c:237
#, c-format
msgid "unable to ignore signal %s before running script"
msgstr "impossible d'ignorer le signal %s avant le lancement du script"
-#: main/help.c:237
+#: main/help.c:246
#, c-format
msgid "unable to set execute permissions on `%.250s'"
msgstr "impossible de paramétrer les permissions en exécution sur `%.250s'"
-#: main/help.c:261
+#: main/help.c:270
#, c-format
msgid "unable to stat installed %s script `%.250s'"
msgstr "impossible d'analyser le script installé %s `%.250s'"
-#: main/help.c:268 main/help.c:346 main/help.c:385
+#: main/help.c:277 main/help.c:356 main/help.c:396
#, c-format
msgid "unable to execute %s"
msgstr "impossible d'exécuter %s"
-#: main/help.c:297
+#: main/help.c:307
#, c-format
msgid "unable to stat new %s script `%.250s'"
msgstr "impossible d'analyser le nouveau script %s `%.250s'"
-#: main/help.c:304
+#: main/help.c:314
#, c-format
msgid "unable to execute new %s"
msgstr "impossible d'exécuter le nouveau %s"
-#: main/help.c:338
+#: main/help.c:348
#, c-format
msgid "dpkg: warning - unable to stat %s `%.250s': %s\n"
msgstr "dpkg: avertissement - impossible d'analyser %s `%.250s': %s\n"
-#: main/help.c:354
+#: main/help.c:364
#, c-format
msgid "dpkg: warning - %s returned error exit status %d\n"
msgstr "dpkg: avertissement- %s a retourné un code d'erreur de sortie %d\n"
-#: main/help.c:357
+#: main/help.c:367
#, c-format
msgid "dpkg: warning - %s killed by signal (%s)%s\n"
msgstr "dpkg: avertissement - %s a été tué par le signal (%s)%s\n"
-#: main/help.c:360
+#: main/help.c:370
#, c-format
msgid "%s failed with unknown wait status code %d"
msgstr "%s a échoué avec le code d'attente inconnu %d"
-#: main/help.c:364
+#: main/help.c:374
msgid "dpkg - trying script from the new package instead ...\n"
msgstr "dpkg - tentative avec le script du nouveau paquet à la place ...\n"
-#: main/help.c:371
+#: main/help.c:381
#, c-format
msgid "new %s script"
msgstr "nouveau script %s"
-#: main/help.c:375
+#: main/help.c:385
msgid "there is no script in the new version of the package - giving up"
msgstr "il n'y a pas de script dans cette nouvelle version du paquet - abandon"
-#: main/help.c:377
+#: main/help.c:387
#, c-format
msgid "unable to stat %s `%.250s'"
msgstr "impossible d'analyser %s `%.250s'"
-#: main/help.c:390
+#: main/help.c:401
msgid "dpkg: ... it looks like that went OK.\n"
msgstr "dpkg: ... tout a certainement fonctionné correctement.\n"
#. Huh ?
-#: main/help.c:469
+#: main/help.c:496
#, c-format
msgid "failed to rmdir/unlink `%.255s'"
msgstr "échec pour \"rmdir/unlink\" `%.255s'"
-#: dpkg-deb/info.c:52 main/help.c:473
+#: dpkg-deb/info.c:52 main/help.c:500
msgid "failed to exec rm for cleanup"
msgstr "échec pour exécuter \"rm\" pour nettoyage"
msgstr ""
"--ignore-depends requiert un nom de paquet légal. `%.250s' ne l'est pas; %s"
-#: main/main.c:251
+#: main/main.c:257
#, fuzzy
msgid ""
"dpkg forcing options - control behaviour when problems found:\n"
"votre installation.\n"
"Les options de forçage marquées [*] sont activées par défaut.\n"
-#: main/main.c:283
+#: main/main.c:289
#, c-format
msgid "unknown force/refuse option `%.*s'"
msgstr "option de forçage `%.*s' inconnue"
-#: main/main.c:360
+#: main/main.c:366
msgid "failed to exec dpkg-deb"
msgstr "échec pour exécuter \"dpkg-deb\""
-#: dpkg-deb/main.c:150 main/main.c:396 split/main.c:163
+#: dpkg-deb/main.c:150 main/main.c:402 split/main.c:163
msgid "need an action option"
msgstr "manque une option d'action"
msgid "package architecture (%s) does not match system (%s)"
msgstr "l'architecture du paquet (%s) ne correspond pas celle du système (%s)"
-#: main/processarc.c:206
-#, c-format
-msgid "Selecting previously deselected package %s.\n"
-msgstr "Sélection du paquet %s précédemment déselectionné.\n"
-
-#: main/processarc.c:209
-#, c-format
-msgid "Skipping deselected package %s.\n"
-msgstr "Paquet déselectionné %s ignoré.\n"
-
-#: main/processarc.c:220
-#, c-format
-msgid "dpkg - warning: downgrading %.250s from %.250s to %.250s.\n"
-msgstr ""
-"dpkg - avertissement: %.250s mis à jour de %.250s vers l'ancienne %.250s.\n"
-
-#: main/processarc.c:225
-#, c-format
-msgid "Will not downgrade %.250s from version %.250s to %.250s, skipping.\n"
-msgstr ""
-"Mise à jour de %.250s de la version %.250s vers l'ancienne %.250s ignorée.\n"
-
-#: main/processarc.c:235
-#, c-format
-msgid "Version %.250s of %.250s already installed, skipping.\n"
-msgstr "Version %.250s de %.250s déjà installée, paquet ignoré.\n"
-
-#: main/processarc.c:268
+#: main/processarc.c:234
#, c-format
msgid ""
"dpkg: regarding %s containing %s, pre-dependency problem:\n"
"dpkg: concernant %s contenant %s, problème de pré-dépendance:\n"
"%s"
-#: main/processarc.c:271
+#: main/processarc.c:237
#, c-format
msgid "pre-dependency problem - not installing %.250s"
msgstr "problème de pré-dépendance - %.250s non installé"
-#: main/processarc.c:272
+#: main/processarc.c:238
msgid "dpkg: warning - ignoring pre-dependency problem !\n"
msgstr "dpkg: avertissement - problème de pré-dépendance ignoré !\n"
-#: main/processarc.c:286
+#: main/processarc.c:252
#, c-format
msgid "Preparing to replace %s %s (using %s) ...\n"
msgstr "Préparation de la mise à jour de %s %s (en utilisant %s) ...\n"
-#: main/processarc.c:291
+#: main/processarc.c:257
#, c-format
msgid "Unpacking %s (from %s) ...\n"
msgstr "Dépaquetage de %s (à partir de %s) ...\n"
-#: main/processarc.c:311
+#: main/processarc.c:277
#, c-format
msgid "name of conffile (starting `%.250s') is too long (>%d characters)"
msgstr ""
"le nom du fichier de configuration (commençant par `%.250s') est trop long "
"(>%d caractères)"
-#: main/processarc.c:365
+#: main/processarc.c:331
#, c-format
msgid "read error in %.250s"
msgstr "erreur de lecture dans %.250s"
#. conff= fopen()
-#: main/processarc.c:367
+#: main/processarc.c:333
#, c-format
msgid "error closing %.250s"
msgstr "erreur de fermeture de %.250s"
-#: main/processarc.c:369
+#: main/processarc.c:335
#, c-format
msgid "error trying to open %.250s"
msgstr "erreur en essayant d'ouvrir %.250s"
-#: main/processarc.c:401
+#: main/processarc.c:367
#, c-format
msgid "De-configuring %s, so that we can remove %s ...\n"
msgstr "Déconfiguration de %s, pour pouvoir supprimer %s ...\n"
-#: main/processarc.c:458
+#: main/processarc.c:424
#, c-format
msgid "Unpacking replacement %.250s ...\n"
msgstr "Dépaquetage de la mise à jour de %.250s ...\n"
-#: main/processarc.c:534
+#: main/processarc.c:500
msgid "unable to exec dpkg-deb to get filesystem archive"
msgstr ""
"impossible d'exécuter dpkg-deb pour obtenir l'archive du système de fichiers"
-#: main/processarc.c:542
+#: main/processarc.c:508
msgid "unable to fdopen dpkg-deb extract pipe"
msgstr "impossible de \"fdopen\" le tube d'extraction de dpkg-deb"
-#: main/processarc.c:548
+#: main/processarc.c:514
msgid "error reading dpkg-deb tar output"
msgstr "erreur en lisant la sortie du \"tar\" de dpkg-deb"
-#: main/processarc.c:551
+#: main/processarc.c:517
msgid "unexpected EOF in filesystem tarfile - corrupted package archive"
msgstr ""
"EOF inattendu dans l'archive du système de fichiers - archive du paquet "
"corrompue"
-#: main/processarc.c:553
+#: main/processarc.c:519
msgid "corrupted filesystem tarfile - corrupted package archive"
msgstr "archive du système de fichiers corrompue - archive du paquet corrompue"
-#: main/processarc.c:610
+#: main/processarc.c:576
#, c-format
msgid "dpkg: warning - unable to delete old file `%.250s': %s\n"
msgstr ""
"dpkg: avertissement - impossible de supprimer le fichier `%.250s': %s\n"
-#: main/processarc.c:632 main/processarc.c:867 main/remove.c:287
+#: main/processarc.c:598 main/processarc.c:833 main/remove.c:287
msgid "cannot read info directory"
msgstr "ne peut pas lire le répertoire d'informations"
-#: main/processarc.c:645
+#: main/processarc.c:611
#, c-format
msgid "old version of package has overly-long info file name starting `%.250s'"
msgstr ""
"l'ancienne version du paquet a un nom de fichier d'information commençant "
"par `%.250s' trop long"
-#: main/processarc.c:657
+#: main/processarc.c:623
#, c-format
msgid "unable to remove obsolete info file `%.250s'"
msgstr "impossible de supprimer le fichier d'information obsolète `%.250s'"
-#: main/processarc.c:660
+#: main/processarc.c:626
#, c-format
msgid "unable to install (supposed) new info file `%.250s'"
msgstr ""
"impossible d'installer le (supposé) nouveau fichier d'information `%.250s'"
-#: main/processarc.c:667
+#: main/processarc.c:633
msgid "unable to open temp control directory"
msgstr "impossible d'ouvrir le répertoire de contrôle temporaire"
-#: main/processarc.c:676
+#: main/processarc.c:642
#, c-format
msgid "package contains overly-long control info file name (starting `%.50s')"
msgstr ""
"le paquet contient un nom de fichier de contrôle trop long (commençant par "
"`%.50s')"
-#: main/processarc.c:681
+#: main/processarc.c:647
#, c-format
msgid "package control info contained directory `%.250s'"
msgstr "l'information de contrôle du paquet contient le répertoire `%.250s'"
-#: main/processarc.c:683
+#: main/processarc.c:649
#, c-format
msgid "package control info rmdir of `%.250s' didn't say not a dir"
msgstr ""
"l'information de contrôle du paquet \"rmdir\" de `%.250s' ne dit pas que ce "
"n'est pas un répertoire"
-#: main/processarc.c:689
+#: main/processarc.c:655
#, c-format
msgid "dpkg: warning - package %s contained list as info file"
msgstr ""
"dpkg: avertissement - le paquet %s contient une liste comme fichier "
"d'information"
-#: main/processarc.c:696
+#: main/processarc.c:662
#, c-format
msgid "unable to install new info file `%.250s' as `%.250s'"
msgstr ""
"impossible d'installer le nouveau fichier d'information `%.250s' comme "
"`%.250s'"
-#: main/processarc.c:847
+#: main/processarc.c:813
#, c-format
msgid "(Noting disappearance of %s, which has been completely replaced.)\n"
msgstr "(A noter la disparition de %s, qui a été complètement remplacé.)\n"
-#: main/processarc.c:883
+#: main/processarc.c:849
#, c-format
msgid "unable to delete disappearing control info file `%.250s'"
msgstr ""
msgid "%s: no files checked\n"
msgstr "%s: aucun fichiers vérifiés\n"
+#~ msgid "cannot open GPL file /usr/doc/dpkg/copyright"
+#~ msgstr "ne peut pas ouvrir le fichier GPL /usr/doc/dpkg/copyright"
+
+#~ msgid "--assert-support-predepends does not take any arguments"
+#~ msgstr "--assert-support-predepends ne prend aucun argument"
+
+#~ msgid ""
+#~ "Version of dpkg with Pre-Depends support not yet configured.\n"
+#~ " Please use `dpkg --configure dpkg', and then try again.\n"
+#~ msgstr ""
+#~ "Version de dpkg avec support des pré-dépendances non encore configurée.\n"
+#~ " Utilisez s'il vous plaît `dpkg --configure dpkg' et essayez à nouveau.\n"
+
+#~ msgid ""
+#~ "dpkg not recorded as installed, cannot check for Pre-Depends support !\n"
+#~ msgstr ""
+#~ "dpkg non enregistré comme installé, vérification du support des "
+#~ "pré-dépendances impossible !\n"
+
+#~ msgid "Selecting previously deselected package %s.\n"
+#~ msgstr "Sélection du paquet %s précédemment déselectionné.\n"
+
+#~ msgid "Skipping deselected package %s.\n"
+#~ msgstr "Paquet déselectionné %s ignoré.\n"
+
+#~ msgid "dpkg - warning: downgrading %.250s from %.250s to %.250s.\n"
+#~ msgstr ""
+#~ "dpkg - avertissement: %.250s mis à jour de %.250s vers l'ancienne %.250s.\n"
+
+#~ msgid "Will not downgrade %.250s from version %.250s to %.250s, skipping.\n"
+#~ msgstr ""
+#~ "Mise à jour de %.250s de la version %.250s vers l'ancienne %.250s ignorée.\n"
+
+#~ msgid "Version %.250s of %.250s already installed, skipping.\n"
+#~ msgstr "Version %.250s de %.250s déjà installée, paquet ignoré.\n"
+
#, fuzzy
#~ msgid ""
#~ "Usage: \n"
'MD5sum',
'Description');
+$written=0;
$i=100; grep($pri{$_}=$i--,@fieldpri);
$#ARGV == 1 || $#ARGV == 2