From 0dd4e0b4caeeb3e943a993db79c416d491c469cd Mon Sep 17 00:00:00 2001 From: Cyril Brulebois Date: Fri, 27 Jan 2023 05:51:31 +0100 Subject: Teach apt-cdrom's scoring system about non-free-firmware Closes: #1029751 --- apt-pkg/cdrom.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index aacb78bba..ea10d10ad 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -222,6 +222,8 @@ int pkgCdrom::Score(string Path) Res += 20; if (Path.find("/non-free/") != string::npos) Res += 20; + if (Path.find("/non-free-firmware/") != string::npos) + Res += 20; if (Path.find("/non-US/") != string::npos) Res += 20; if (Path.find("/source/") != string::npos) -- cgit v1.2.3-70-g09d2 From 8aeb07448c09375c730c76a6baf31303b129bb96 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 29 Jan 2023 16:54:39 +0100 Subject: Have values in Section config trees refer to them in all components Hard coding each and every component is not only boring but given that everyone is free to add or use more we end up in situations in which apt behaves differently for the same binary package just because metadata said it is in different components (e.g. non-free vs. non-free-firmware). It is also probably not what the casual user would expect. So we instead treat a value without a component as if it applies for all of them. The previous behaviour can be restored by prefixing the value with "/" as in the component is not defined. In an ideal world we would probably use "*/foo" for the new default instead of changing the behaviour for "foo", but it seems rather unlikely that the old behaviour is actually desired. All existing values were duplicated for all (previously) known components in Debian and Ubuntu. --- apt-pkg/depcache.cc | 38 ++++++++++++------ cmdline/apt-mark.cc | 33 +++++++++++----- debian/apt.conf.autoremove | 12 ------ .../test-apt-move-and-forget-manual-sections | 45 +++++++++++++++++++++- test/integration/test-apt-never-markauto-sections | 3 +- 5 files changed, 95 insertions(+), 36 deletions(-) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index bc5843153..b19d180a4 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -67,23 +67,37 @@ class DefaultRootSetFunc2 : public pkgDepCache::DefaultRootSetFunc /*}}}*/ // helper for Install-Recommends-Sections and Never-MarkAuto-Sections /*{{{*/ -static bool -ConfigValueInSubTree(const char* SubTree, const char *needle) +// FIXME: Has verbatim copy in cmdline/apt-mark.cc +static bool ConfigValueInSubTree(const char* SubTree, std::string_view const needle) { - Configuration::Item const *Opts; - Opts = _config->Tree(SubTree); - if (Opts != 0 && Opts->Child != 0) + if (needle.empty()) + return false; + Configuration::Item const *Opts = _config->Tree(SubTree); + if (Opts != nullptr && Opts->Child != nullptr) { Opts = Opts->Child; - for (; Opts != 0; Opts = Opts->Next) + for (; Opts != nullptr; Opts = Opts->Next) { - if (Opts->Value.empty() == true) + if (Opts->Value.empty()) continue; - if (strcmp(needle, Opts->Value.c_str()) == 0) + if (needle == Opts->Value) return true; } } return false; +} +static bool SectionInSubTree(char const * const SubTree, std::string_view Needle) +{ + if (ConfigValueInSubTree(SubTree, Needle)) + return true; + auto const sub = Needle.find('/'); + if (sub == std::string_view::npos) + { + std::string special{"/"}; + special.append(Needle); + return ConfigValueInSubTree(SubTree, special); + } + return ConfigValueInSubTree(SubTree, Needle.substr(sub + 1)); } /*}}}*/ pkgDepCache::ActionGroup::ActionGroup(pkgDepCache &cache) : /*{{{*/ @@ -1050,7 +1064,7 @@ bool pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, // We do not check for or-groups here as we don't know which package takes care of // providing the feature the user likes e.g.: browser1 | browser2 | browser3 // Temporary removals are effected by this as well, which is bad, but unlikely in practice - bool const PinNeverMarkAutoSection = (PV->Section != 0 && ConfigValueInSubTree("APT::Never-MarkAuto-Sections", PV.Section())); + bool const PinNeverMarkAutoSection = (PV->Section != 0 && SectionInSubTree("APT::Never-MarkAuto-Sections", PV.Section())); if (PinNeverMarkAutoSection) { for (DepIterator D = PV.DependsList(); D.end() != true; ++D) @@ -1761,8 +1775,8 @@ bool pkgDepCache::MarkInstall(PkgIterator const &Pkg, bool AutoInst, VerIterator const CurVer = Pkg.CurrentVer(); if (not CurVer.end() && CurVer->Section != 0 && strcmp(CurVer.Section(), PV.Section()) != 0) { - bool const CurVerInMoveSection = ConfigValueInSubTree("APT::Move-Autobit-Sections", CurVer.Section()); - bool const InstVerInMoveSection = ConfigValueInSubTree("APT::Move-Autobit-Sections", PV.Section()); + bool const CurVerInMoveSection = SectionInSubTree("APT::Move-Autobit-Sections", CurVer.Section()); + bool const InstVerInMoveSection = SectionInSubTree("APT::Move-Autobit-Sections", PV.Section()); return (not CurVerInMoveSection && InstVerInMoveSection); } return false; @@ -2254,7 +2268,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep) const // FIXME: this is a meant as a temporary solution until the // recommends are cleaned up const char *sec = Dep.ParentVer().Section(); - if (sec && ConfigValueInSubTree("APT::Install-Recommends-Sections", sec)) + if (sec && SectionInSubTree("APT::Install-Recommends-Sections", sec)) return true; } else if(Dep->Type == pkgCache::Dep::Suggests) diff --git a/cmdline/apt-mark.cc b/cmdline/apt-mark.cc index 5eaed2c71..46d3ca5b8 100644 --- a/cmdline/apt-mark.cc +++ b/cmdline/apt-mark.cc @@ -140,24 +140,37 @@ static bool DoMarkAuto(CommandLine &CmdL) } /*}}}*/ // helper for Install-Recommends-Sections and Never-MarkAuto-Sections /*{{{*/ -static bool -ConfigValueInSubTree(const char *SubTree, const char *needle) +// FIXME: Copied verbatim from apt-pkg/depcache.cc +static bool ConfigValueInSubTree(const char* SubTree, std::string_view const needle) { - // copied from depcache.cc - Configuration::Item const *Opts; - Opts = _config->Tree(SubTree); - if (Opts != 0 && Opts->Child != 0) + if (needle.empty()) + return false; + Configuration::Item const *Opts = _config->Tree(SubTree); + if (Opts != nullptr && Opts->Child != nullptr) { Opts = Opts->Child; - for (; Opts != 0; Opts = Opts->Next) + for (; Opts != nullptr; Opts = Opts->Next) { - if (Opts->Value.empty() == true) + if (Opts->Value.empty()) continue; - if (strcmp(needle, Opts->Value.c_str()) == 0) + if (needle == Opts->Value) return true; } } return false; +} +static bool SectionInSubTree(char const * const SubTree, std::string_view Needle) +{ + if (ConfigValueInSubTree(SubTree, Needle)) + return true; + auto const sub = Needle.find('/'); + if (sub == std::string_view::npos) + { + std::string special{"/"}; + special.append(Needle); + return ConfigValueInSubTree(SubTree, special); + } + return ConfigValueInSubTree(SubTree, Needle.substr(sub + 1)); } /*}}}*/ /* DoMinimize - minimize manually installed {{{*/ @@ -179,7 +192,7 @@ static bool DoMinimize(CommandLine &CmdL) auto ver = pkg.CurrentVer(); return ver.end() == false && ((*DepCache)[pkg].Flags & pkgCache::Flag::Auto) == 0 && ver->Section != 0 && - ConfigValueInSubTree("APT::Never-MarkAuto-Sections", ver.Section()); + SectionInSubTree("APT::Never-MarkAuto-Sections", ver.Section()); }; APT::PackageSet roots; diff --git a/debian/apt.conf.autoremove b/debian/apt.conf.autoremove index 90ee8908b..10438e848 100644 --- a/debian/apt.conf.autoremove +++ b/debian/apt.conf.autoremove @@ -22,23 +22,11 @@ APT Never-MarkAuto-Sections { "metapackages"; - "contrib/metapackages"; - "non-free/metapackages"; - "restricted/metapackages"; - "universe/metapackages"; - "multiverse/metapackages"; "tasks"; - "contrib/tasks"; - "non-free/tasks"; }; Move-Autobit-Sections { "oldlibs"; - "contrib/oldlibs"; - "non-free/oldlibs"; - "restricted/oldlibs"; - "universe/oldlibs"; - "multiverse/oldlibs"; }; }; diff --git a/test/integration/test-apt-move-and-forget-manual-sections b/test/integration/test-apt-move-and-forget-manual-sections index 4617abab3..ab90be0c0 100755 --- a/test/integration/test-apt-move-and-forget-manual-sections +++ b/test/integration/test-apt-move-and-forget-manual-sections @@ -11,15 +11,18 @@ testsuccess grep '^oldlibs$' move-autobit.sections buildsimplenativepackage 'libabc' 'native' '1' 'stable' '' '' 'libs' buildsimplenativepackage 'libabc' 'native' '2' 'unstable' 'Depends: libdef' '' 'oldlibs' +buildsimplenativepackage 'libzoo' 'native' '1' 'stable' '' '' 'libs' +buildsimplenativepackage 'libzoo' 'native' '2' 'unstable' 'Depends: libdef' '' 'non-free/oldlibs' buildsimplenativepackage 'libdef' 'native' '1' 'unstable' '' '' 'libs' setupaptarchive testmarkedauto testmarkedmanual +msgmsg 'Move bit on install of replacement' testsuccess aptget install libabc/stable -y testdpkginstalled 'libabc' -testdpkgnotinstalled 'libdef' +testdpkgnotinstalled 'libdef' 'libzoo' testmarkedmanual 'libabc' testmarkedauto @@ -29,3 +32,43 @@ testdpkginstalled 'libabc' 'libdef' testmarkedauto 'libabc' testmarkedmanual 'libdef' + +testsuccess apt autopurge -y +testdpkgnotinstalled 'libabc' 'libzoo' + +msgmsg 'Do not move bit if replacement is already installed' +testsuccess aptget install libzoo/stable -y +testdpkginstalled 'libzoo' + +testmarkedmanual 'libzoo' 'libdef' +testmarkedauto + +testsuccess aptmark auto libdef +testmarkedauto 'libdef' + +testsuccess aptget dist-upgrade -y +testdpkginstalled 'libzoo' 'libdef' + +testmarkedmanual 'libzoo' +testmarkedauto 'libdef' + +testsuccess apt autopurge -y libzoo- +testdpkgnotinstalled 'libabc' 'libzoo' 'libdef' + +msgmsg 'Move bit on install of replacement (subsection)' +testfailure grep '^non-free/oldlibs$' move-autobit.sections +testsuccess aptget install libzoo/stable -y +testdpkginstalled 'libzoo' +testdpkgnotinstalled 'libdef' 'libabc' + +testmarkedmanual 'libzoo' +testmarkedauto + +testsuccess aptget dist-upgrade -y +testdpkginstalled 'libzoo' 'libdef' + +testmarkedauto 'libzoo' +testmarkedmanual 'libdef' + +testsuccess apt autopurge -y +testdpkgnotinstalled 'libabc' 'libzoo' diff --git a/test/integration/test-apt-never-markauto-sections b/test/integration/test-apt-never-markauto-sections index a77d6b22b..b47966e75 100755 --- a/test/integration/test-apt-never-markauto-sections +++ b/test/integration/test-apt-never-markauto-sections @@ -8,12 +8,13 @@ configarchitecture 'amd64' 'i386' aptconfig dump --no-empty --format '%v%n' APT::Never-MarkAuto-Sections > nevermarkauto.sections testsuccess grep '^metapackages$' nevermarkauto.sections +testfailure grep '^universe/metapackages$' nevermarkauto.sections buildsimplenativepackage 'mydesktop' 'all' '1' 'unstable' 'Depends: mydesktop-core, foreignpkg Recommends: notavailable' '' 'metapackages' buildsimplenativepackage 'mydesktop-core' 'amd64' '1' 'unstable' 'Depends: bad-texteditor | texteditor, browser (>= 42), nosection, foreignpkg Recommends: notavailable -Multi-Arch: foreign' '' 'metapackages' +Multi-Arch: foreign' '' 'universe/metapackages' buildsimplenativepackage 'browser' 'amd64' '41' 'stable' buildsimplenativepackage 'browser' 'amd64' '42' 'unstable' buildsimplenativepackage 'texteditor' 'amd64' '1' 'stable' -- cgit v1.2.3-70-g09d2 From 7e7eb113587230aeb9fe745b2eeac44e634999f5 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 29 Jan 2023 17:30:28 +0100 Subject: Add non-free-firmware component in documentation This changes a lot of lines technically, but its easy enough to unfuzzy the translations as most of the mentions are examples to be copied literally in translations (sadly po4a isn't clever enough for this). --- doc/apt-ftparchive.1.xml | 2 +- doc/examples/apt-ftparchive.conf | 7 ++ doc/guide.dbk | 4 +- doc/po/apt-doc.pot | 35 +++++---- doc/po/de.po | 129 ++++++++++++------------------- doc/po/es.po | 66 +++++++--------- doc/po/fr.po | 77 ++++++++----------- doc/po/it.po | 74 ++++++++---------- doc/po/ja.po | 59 +++++++------- doc/po/nl.po | 64 ++++++++-------- doc/po/pl.po | 161 ++++++++++++++++++++------------------- doc/po/pt.po | 82 ++++++++------------ doc/po/pt_BR.po | 30 ++++---- doc/sources.list.5.xml | 20 ++--- dselect/setup | 8 +- vendor/debian/CMakeLists.txt | 2 + vendor/debian/apt-vendor.ent | 10 +-- 17 files changed, 380 insertions(+), 450 deletions(-) create mode 100644 vendor/debian/CMakeLists.txt diff --git a/doc/apt-ftparchive.1.xml b/doc/apt-ftparchive.1.xml index 25ca5e129..6c2982f0c 100644 --- a/doc/apt-ftparchive.1.xml +++ b/doc/apt-ftparchive.1.xml @@ -369,7 +369,7 @@ for i in Sections do This is a space separated list of sections which appear under the distribution; typically this is something like - main contrib non-free + main contrib non-free non-free-firmware diff --git a/doc/examples/apt-ftparchive.conf b/doc/examples/apt-ftparchive.conf index 0e8bcb2ce..f3897ed40 100644 --- a/doc/examples/apt-ftparchive.conf +++ b/doc/examples/apt-ftparchive.conf @@ -38,6 +38,13 @@ BinDirectory "pool/non-free" { Contents "dists/sid/non-free/Contents-i386"; }; +// And this is (you guessed it) the same for the non-free-firmware section +BinDirectory "pool/non-free-firmware" { + Packages "dists/sid/non-free-firmware/binary-i386/Packages"; + Sources "dists/sid/non-free-firmware/source/Sources"; + Contents "dists/sid/non-free-firmware/Contents-i386"; +}; + // By default all Packages should have the extension ".deb" Default { Packages { diff --git a/doc/guide.dbk b/doc/guide.dbk index ab4b0c6d0..d2f650a20 100644 --- a/doc/guide.dbk +++ b/doc/guide.dbk @@ -252,9 +252,9 @@ packages into the US is legal however. Please give the components to get - The components are typically something like: main contrib non-free + The components are typically something like: main contrib non-free non-free-firmware - Components [main contrib non-free]: + Components [main contrib non-free non-free-firmware]: The components list refers to the list of sub distributions to fetch. The diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot index d3d436b68..174524dd6 100644 --- a/doc/po/apt-doc.pot +++ b/doc/po/apt-doc.pot @@ -5641,11 +5641,11 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or " "&debian-testing-codename; while component is one of " -"main, contrib or " -"non-free. The deb-src type references " -"a Debian distribution's source code in the same form as the " -"deb type. A deb-src line is required " -"to fetch source indexes." +"main, contrib, " +"non-free or non-free-firmware. The " +"deb-src type references a Debian distribution's source " +"code in the same form as the deb type. A " +"deb-src line is required to fetch source indexes." msgstr "" #. type: Content of: @@ -5880,7 +5880,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -6143,13 +6143,13 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6159,7 +6159,7 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6170,7 +6170,7 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6180,7 +6180,7 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6191,7 +6191,9 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "" +"deb-src file:/home/apt/debian unstable main contrib non-free " +"non-free-firmware" msgstr "" #. type: Content of: @@ -6201,7 +6203,7 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6892,7 +6894,7 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib " -"non-free" +"non-free non-free-firmware" msgstr "" #. type: Content of: @@ -9066,9 +9068,10 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free " +"non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" #. type: Content of: diff --git a/doc/po/de.po b/doc/po/de.po index f68aec32b..57c7bb4ce 100644 --- a/doc/po/de.po +++ b/doc/po/de.po @@ -8057,10 +8057,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "Der deb-Typ beschreibt ein typisches zweistufiges Debian-" "Archiv, Distribution/Bestandteil. " @@ -8068,11 +8068,11 @@ msgstr "" "stable oder testing oder ein Codename " "wie &debian-stable-codename; oder &debian-" "testing-codename; während Bestandteil entweder main, contrib oder non-free ist. " -"Der deb-src-Typ beschreibt den Quellcode einer Debian-" -"Distribution in der gleichen Form wie den deb-Typ. Eine " -"deb-src-Zeile wird benötigt, um Quellindizes " -"herunterzuladen." +"literal>, contrib, non-free oder " +"non-free-firmware ist. Der deb-src-Typ " +"beschreibt den Quellcode einer Debian-Distribution in der gleichen Form wie " +"den deb-Typ. Eine deb-src-Zeile wird " +"benötigt, um Quellindizes herunterzuladen." #. type: Content of: #: sources.list.5.xml @@ -8429,7 +8429,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8846,16 +8846,17 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "benutzt die lokal gespeicherten (oder per NFS eingehängten) Archive in /home/" -"apt/debian für stable/main, stable/contrib und stable/non-free." +"apt/debian für stable/main, stable/contrib, stable/non-free und stable/non-" +"free-firmware." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8864,12 +8865,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8880,8 +8881,8 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8890,12 +8891,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8905,8 +8906,8 @@ msgstr "Quellenangabe für Obiges" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8915,12 +8916,12 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9873,11 +9874,11 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" "Dies ist eine durch Leerzeichen getrennte Liste der Abschnitte, die unter " "der Distribution erscheint, typischerweise etwas wie main contrib " -"non-free" +"non-free non-free-firmware" #. type: Content of: #: apt-ftparchive.1.xml @@ -11869,10 +11870,8 @@ msgstr "" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?name(REGEX)" msgid "?codename(REGEX)" -msgstr "?name(REGULÄRER_AUSDRUCK)" +msgstr "?codename(REGULÄRER_AUSDRUCK)" #. type: Content of: #: apt-patterns.7.xml @@ -12033,115 +12032,83 @@ msgstr "Diese Muster wählen bestimmte Versionen eines Pakets aus." #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "?depends(PATTERN)" -msgstr "?not(MUSTER)" +msgstr "?depends(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "!PATTERN" msgid "~DPATTERN" -msgstr "!MUSTER" +msgstr "~DMUSTER" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "?pre-depends(PATTERN)" -msgstr "?not(MUSTER)" +msgstr "?pre-depends(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "!PATTERN" msgid "~DPre-Depends:PATTERN" -msgstr "!MUSTER" +msgstr "~DPre-Depends:MUSTER" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "?suggests(PATTERN)" -msgstr "?not(MUSTER)" +msgstr "?suggests(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "!PATTERN" msgid "~DSuggests:PATTERN" -msgstr "!MUSTER" +msgstr "~DSuggests:MUSTER" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "?conflicts(PATTERN)" -msgstr "?not(MUSTER)" +msgstr "?conflicts(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "~DConflicts:PATTERN" -msgstr "?not(MUSTER)" +msgstr "~DConflicts:MUSTER" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "(PATTERN)" msgid "?replaces(PATTERN)" -msgstr "(MUSTER)" +msgstr "?replaces(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "!PATTERN" msgid "~DReplaces:PATTERN" -msgstr "!MUSTER" +msgstr "~DReplaces:MUSTER" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "?obsoletes(PATTERN)" -msgstr "?not(MUSTER)" +msgstr "?obsoletes(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "~DObsoletes:PATTERN" -msgstr "?not(MUSTER)" +msgstr "~DObsoletes:MUSTER" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "(PATTERN)" msgid "?breaks(PATTERN)" -msgstr "(MUSTER)" +msgstr "?breaks(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "!PATTERN" msgid "~DBreaks:PATTERN" -msgstr "!MUSTER" +msgstr "~DBreaks:MUSTER" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "?not(PATTERN)" msgid "?enhances(PATTERN)" -msgstr "?not(MUSTER)" +msgstr "?enhances(MUSTER)" #. type: Content of: #: apt-patterns.7.xml -#, fuzzy -#| msgid "!PATTERN" msgid "~DEnhances:PATTERN" -msgstr "!MUSTER" +msgstr "~DEnhances:MUSTER" #. type: Content of: #: apt-patterns.7.xml @@ -12817,14 +12784,14 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " Bitte geben Sie die Bestandteile an, die Sie erhalten möchten\n" -" Die Bestandteile sind normalerweise etwas wie: »main« »contrib« »non-free«\n" +" Die Bestandteile sind normalerweise etwas wie: »main« »contrib« »non-free« »non-free-firmware«\n" "\n" -" Bestandteile [main contrib non-free]:\n" +" Bestandteile [main contrib non-free non-free-firmware]:\n" #. type: Content of: #: guide.dbk diff --git a/doc/po/es.po b/doc/po/es.po index c3f53f1c9..145fd2124 100644 --- a/doc/po/es.po +++ b/doc/po/es.po @@ -7943,10 +7943,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "El tipo deb hace referencia a un típico archivo de Debian " "de dos niveles, distribución/componente. Habitualmente, " @@ -8282,7 +8282,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8596,16 +8596,17 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "Utiliza el archivo local (o montado mediante NFS) en «/home/apt/debian» para " -"«stable/main», «stable/contrib», y «stable/non-free»." +"«stable/main», «stable/contrib», «stable/non-free», y «stable/non-free-" +"firmware»." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8614,12 +8615,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8630,8 +8631,8 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8640,12 +8641,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8657,8 +8658,8 @@ msgstr "Línea para obtener el código fuente desde la ubicación anterior." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8667,12 +8668,12 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9637,11 +9638,11 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" "Es una lista de secciones separadas por espacios que aparecen bajo la " -"distribución; habitualmente, es similar a main contrib non-free." +"distribución; habitualmente, es similar a main contrib non-free non-" +"free-firmware." #. type: Content of: #: apt-ftparchive.1.xml @@ -12152,14 +12153,14 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" #. type: Content of: #: guide.dbk @@ -13769,19 +13770,6 @@ msgstr "Esto utiliza los archivos del disco previamente obtenidos." #~ msgid "Some examples:" #~ msgstr "Algunos ejemplos:" -#~ msgid "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " -#~ msgstr "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " - #~ msgid "apt" #~ msgstr "apt" diff --git a/doc/po/fr.po b/doc/po/fr.po index a8c9beea8..4723c4981 100644 --- a/doc/po/fr.po +++ b/doc/po/fr.po @@ -8010,10 +8010,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "Le type deb décrit une archive Debian classique à deux " "niveaux, distribution/composant. distributionstable ou testing ou bien un nom de " "code comme &debian-stable-codename; ou &debian-" "testing-codename;, alors que composant prend les valeurs : " -"main, contrib ou non-free. Le type deb-src décrit une archive de " -"distribution de code source pour une distribution Debian dans le même format " -"que le type deb. Une ligne deb-src est " -"nécessaire pour récupérer les index des sources." +"main, contrib, non-free, ou non-free-firmware. Le type deb-src décrit une archive de distribution de code source pour une " +"distribution Debian dans le même format que le type deb. " +"Une ligne deb-src est nécessaire pour récupérer les index " +"des sources." #. type: Content of: #: sources.list.5.xml @@ -8379,7 +8380,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8793,16 +8794,17 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "Utiliser l'archive stockée localement (ou montée via NFS) dans /home/apt/" -"debian pour stable/main, stable/contrib et stable/non-free." +"debian pour stable/main, stable/contrib, stable/non-free et stable/non-free-" +"firmware." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8811,12 +8813,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8828,8 +8830,8 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8838,12 +8840,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8853,8 +8855,8 @@ msgstr "Indication des sources pour les lignes précédentes." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8863,12 +8865,12 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9813,11 +9815,11 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" "C'est une liste de sections séparées par des espaces qui appartiennent à une " -"distribution ; classiquement, on trouve main contrib non-free." +"distribution ; classiquement, on trouve main contrib non-free non-" +"free-firmware." #. type: Content of: #: apt-ftparchive.1.xml @@ -12644,15 +12646,15 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " Veuillez indiquer les composants à utiliser\n" " Les composants sont en général de la forme suivante :\n" -" main contrib non-free\n" +" main contrib non-free non-free-firmware\n" "\n" -" Composants [main contrib non-free] :\n" +" Composants [main contrib non-free non-free-firmware] :\n" #. type: Content of: #: guide.dbk @@ -14356,19 +14358,6 @@ msgstr "Cette commande utilisera les fichiers récupérés sur le disque." #~ msgid "Some examples:" #~ msgstr "Exemples :" -#~ msgid "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " -#~ msgstr "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " - #~ msgid "apt" #~ msgstr "apt" diff --git a/doc/po/it.po b/doc/po/it.po index 15542586d..c7798913c 100644 --- a/doc/po/it.po +++ b/doc/po/it.po @@ -8025,10 +8025,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "Il tipo deb è un riferimento a un tipico archivio Debian " "a due livelli, distribuzione/componente. " @@ -8036,11 +8036,11 @@ msgstr "" "stable o testing, oppure un nome in " "codice come &debian-stable-codename; o &debian-" "testing-codename;; componente è uno tra main, " -"contrib o non-free. Il tipo " -"deb-src è un riferimento al codice sorgente di una " -"distribuzione Debian nella stessa forma di quella del tipo deb. Per recuperare gli indici dei pacchetti sorgente è necessaria una " -"riga deb-src." +"contrib, non-free o non-free-" +"firmware. Il tipo deb-src è un riferimento al " +"codice sorgente di una distribuzione Debian nella stessa forma di quella del " +"tipo deb. Per recuperare gli indici dei pacchetti " +"sorgente è necessaria una riga deb-src." #. type: Content of: #: sources.list.5.xml @@ -8391,7 +8391,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8758,16 +8758,16 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "Usa l'archivio memorizzato in locale (o montato via NFS) in /home/apt/debian " -"per stable/main, stable/contrib e stable/non-free." +"per stable/main, stable/contrib, stable/non-free e stable/non-free-firmware." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8776,12 +8776,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8793,8 +8793,8 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8803,12 +8803,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8818,8 +8818,8 @@ msgstr "Indicazione per i sorgenti corrispondente alla precedente." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8828,12 +8828,12 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9770,10 +9770,11 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" "Questa è una lista di sezioni che appaiono sotto la distribuzione, separate " -"da spazi; tipicamente è simile a main contrib non-free." +"da spazi; tipicamente è simile a main contrib non-free non-free-" +"firmware." #. type: Content of: #: apt-ftparchive.1.xml @@ -12425,14 +12426,14 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" #. type: Content of: #: guide.dbk @@ -14165,19 +14166,6 @@ msgstr "che userà gli archivi già scaricati e presenti sul disco." #~ msgid "Some examples:" #~ msgstr "Alcuni esempi:" -#~ msgid "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " -#~ msgstr "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " - #~ msgid "apt" #~ msgstr "apt" diff --git a/doc/po/ja.po b/doc/po/ja.po index b10feb0a4..1b39133d5 100644 --- a/doc/po/ja.po +++ b/doc/po/ja.po @@ -7710,10 +7710,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "deb タイプでは典型的な 2 段階の Debian アーカイブ " "distribution/component を参照します。" @@ -7721,10 +7721,10 @@ msgstr "" "testing または &debian-stable-codename;&debian-testing-codename; のようなコード名にな" "ります。component は、main, contrib, " -"non-free のどれかです。deb-src タイプで" -"は、debian ディストリビューションのソースコードを、deb タ" -"イプと同じ形式で参照します。deb-src 行は、ソースインデック" -"スを取得するのに必要です。" +"non-free, non-free-firmware のどれかで" +"す。deb-src タイプでは、debian ディストリビューションの" +"ソースコードを、deb タイプと同じ形式で参照します。" +"deb-src 行は、ソースインデックスを取得するのに必要です。" #. type: Content of: #: sources.list.5.xml @@ -8057,7 +8057,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8413,16 +8413,17 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "/home/apt/debian に格納されている stable/main, stable/contrib, stable/non-" -"free 用のローカル (または NFS) アーカイブを使用します。" +"free, stable/non-free-firmware 用のローカル (または NFS) アーカイブを使用しま" +"す。" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8431,12 +8432,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8446,8 +8447,8 @@ msgstr "上記と同様ですが、不安定版 (開発版) を使用します #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8456,12 +8457,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8471,8 +8472,8 @@ msgstr "上記のソースの指定は以下のようになります。" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8481,12 +8482,12 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9402,10 +9403,10 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" "distribution 以下に現れるセクションを、空白区切りで指定したリストです。通常、" -"main contrib non-free のようになります。" +"main contrib non-free non-free-firmware のようになります。" #. type: Content of: #: apt-ftparchive.1.xml @@ -11925,14 +11926,14 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " 取得するコンポーネントを指定してください\n" -" コンポーネントには以下のようなものがあります: main contrib non-free\n" +" コンポーネントには以下のようなものがあります: main contrib non-free non-free-firmware\n" "\n" -" コンポーネント [main contrib non-free]:\n" +" コンポーネント [main contrib non-free non-free-firmware]:\n" #. type: Content of: #: guide.dbk diff --git a/doc/po/nl.po b/doc/po/nl.po index 56792c845..1771adcb1 100644 --- a/doc/po/nl.po +++ b/doc/po/nl.po @@ -8221,10 +8221,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "Het type deb verwijst naar een typisch Debian-archief met " "twee niveaus, distributie/component. De " @@ -8232,11 +8232,12 @@ msgstr "" "zoals stable of testing of een " "codenaam zoals &debian-stable-codename; of " "&debian-testing-codename;, terwijl component een van de " -"volgende kan zijn: main, contrib of " -"non-free. Het type deb-src verwijst in " -"dezelfde vorm als het type deb naar de broncode van een " -"Debian distributie. Om bronnenindexen te kunnen ophalen is een deb-" -"src-regel noodzakelijk." +"volgende kan zijn: main, contrib, " +"non-free of non-free-firmware. Het " +"type deb-src verwijst in dezelfde vorm als het type " +"deb naar de broncode van een Debian distributie. Om " +"bronnenindexen te kunnen ophalen is een deb-src-regel " +"noodzakelijk." #. type: Content of: #: sources.list.5.xml @@ -8595,7 +8596,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8610,7 +8611,7 @@ msgstr "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -9014,16 +9015,17 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "Gebruikt het lokaal opgeslagen (of via NFS aangekoppelde) archief in /home/" -"apt/debian voor stable/main, stable/contrib, en stable/non-free." +"apt/debian voor stable/main, stable/contrib, stable/non-free, en stable/non-" +"free-firmware." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9032,12 +9034,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9049,8 +9051,8 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9059,12 +9061,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9074,8 +9076,8 @@ msgstr "Specificatie voor de bronbestanden van het voorgaande." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9084,12 +9086,12 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -10053,11 +10055,11 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" "Dit is een door spaties gescheiden lijst van secties die onder de " "distributie te vinden zijn. Doorgaans is dat iets zoals main " -"contrib non-free" +"contrib non-free non-free-firmware" #. type: Content of: #: apt-ftparchive.1.xml @@ -12969,14 +12971,14 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " Voer de op te halen componenten in\n" -" Componenten zijn typisch iets zoals: main contrib non-free\n" +" Componenten zijn typisch iets zoals: main contrib non-free non-free-firmware\n" "\n" -" Componenten [main contrib non-free]:\n" +" Componenten [main contrib non-free non-free-firmware]:\n" #. type: Content of: #: guide.dbk diff --git a/doc/po/pl.po b/doc/po/pl.po index df643f65e..547e9e5fa 100644 --- a/doc/po/pl.po +++ b/doc/po/pl.po @@ -7373,10 +7373,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "Typ deb opisuje typowe dwupoziomowe archiwum Debiana: " "dystrybucja/komponent. Zazwyczaj dystrybucja #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "Uses the archive stored locally (or NFS mounted) at /home/jason/debian " -#| "for stable/main, stable/contrib, and stable/non-free." msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "Użycie archiwum lokalnego (lub montowanego przez NFS) w katalogu /home/jason/" -"debian dla zasobów stable/main, stable/contrib i stable/non-free." +"debian dla zasobów stable/main, stable/contrib, stable/non-free i stable/non-" +"free-firmware." #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb file:/home/jason/debian stable main contrib non-free" -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/jason/debian stable main contrib non-free" +#, no-wrap +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb file:/home/jason/debian stable main contrib non-free" +#, no-wrap msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" -msgstr "deb file:/home/jason/debian stable main contrib non-free" +"Components: main contrib non-free non-free-firmware" +msgstr "" +"Types: deb\n" +"URIs: file:/home/apt/debian\n" +"Suites: stable\n" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8064,21 +8063,23 @@ msgstr "" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb file:/home/jason/debian unstable main contrib non-free" -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/jason/debian unstable main contrib non-free" +#, no-wrap +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb file:/home/jason/debian unstable main contrib non-free" +#, no-wrap msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" -msgstr "deb file:/home/jason/debian unstable main contrib non-free" +"Components: main contrib non-free non-free-firmware" +msgstr "" +"Types: deb\n" +"URIs: file:/home/apt/debian\n" +"Suites: unstable\n" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8089,21 +8090,23 @@ msgstr "Linie źródeł dla powyższego przykładu" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb-src file:/home/jason/debian unstable main contrib non-free" -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/jason/debian unstable main contrib non-free" +#, no-wrap +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb-src file:/home/jason/debian unstable main contrib non-free" +#, no-wrap msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" -msgstr "deb-src file:/home/jason/debian unstable main contrib non-free" +"Components: main contrib non-free non-free-firmware" +msgstr "" +"Types: deb-src\n" +"URIs: file:/home/apt/debian\n" +"Suites: unstable\n" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8118,23 +8121,17 @@ msgstr "" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "" -#| "deb http://ftp.debian.org/debian &debian-stable-codename; main\n" -#| "deb [ arch=amd64,armel ] http://ftp.debian.org/debian &debian-stable-codename; main" +#, no-wrap msgid "" "deb http://deb.debian.org/debian &debian-stable-codename; main\n" "deb [ arch=amd64,armel ] http://deb.debian.org/debian &debian-stable-codename; main" msgstr "" -"deb http://ftp.debian.org/debian &debian-stable-codename; main\n" -"deb [ arch=amd64,armel ] http://ftp.debian.org/debian &debian-stable-codename; main" +"deb http://deb.debian.org/debian &debian-stable-codename; main\n" +"deb [ arch=amd64,armel ] http://deb.debian.org/debian &debian-stable-codename; main" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "" -#| "deb http://ftp.debian.org/debian &debian-stable-codename; main\n" -#| "deb [ arch=amd64,armel ] http://ftp.debian.org/debian &debian-stable-codename; main" +#, no-wrap msgid "" "Types: deb\n" "URIs: http://deb.debian.org/debian\n" @@ -8147,8 +8144,16 @@ msgid "" "Components: main\n" "Architectures: amd64 armel\n" msgstr "" -"deb http://ftp.debian.org/debian &debian-stable-codename; main\n" -"deb [ arch=amd64,armel ] http://ftp.debian.org/debian &debian-stable-codename; main" +"Types: deb\n" +"URIs: http://deb.debian.org/debian\n" +"Suites: &debian-stable-codename;\n" +"Components: main\n" +"\n" +"Types: deb\n" +"URIs: http://deb.debian.org/debian\n" +"Suites: &debian-stable-codename;\n" +"Components: main\n" +"Architectures: amd64 armel\n" #. type: Content of: #: sources.list.5.xml @@ -8167,14 +8172,17 @@ msgstr "deb http://archive.debian.org/debian-archive hamm main" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb http://archive.debian.org/debian-archive hamm main" +#, no-wrap msgid "" "Types: deb\n" "URIs: http://archive.debian.org/debian-archive\n" "Suites: hamm\n" "Components: main" -msgstr "deb http://archive.debian.org/debian-archive hamm main" +msgstr "" +"Types: deb\n" +"URIs: http://archive.debian.org/debian-archive\n" +"Suites: hamm\n" +"Components: main" #. type: Content of: #: sources.list.5.xml @@ -8193,14 +8201,17 @@ msgstr "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +#, no-wrap msgid "" "Types: deb\n" "URIs: ftp://ftp.debian.org/debian\n" "Suites: &debian-stable-codename;\n" "Components: contrib" -msgstr "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +msgstr "" +"Types: deb\n" +"URIs: ftp://ftp.debian.org/debian\n" +"Suites: &debian-stable-codename;\n" +"Components: contrib" #. type: Content of: #: sources.list.5.xml @@ -8223,14 +8234,17 @@ msgstr "deb ftp://ftp.debian.org/debian unstable contrib" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb ftp://ftp.debian.org/debian unstable contrib" +#, no-wrap msgid "" "Types: deb\n" "URIs: ftp://ftp.debian.org/debian\n" "Suites: unstable\n" "Components: contrib" -msgstr "deb ftp://ftp.debian.org/debian unstable contrib" +msgstr "" +"Types: deb\n" +"URIs: ftp://ftp.debian.org/debian\n" +"Suites: unstable\n" +"Components: contrib" #. type: Content of: #: sources.list.5.xml @@ -8240,13 +8254,15 @@ msgstr "deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/" #. type: Content of: #: sources.list.5.xml -#, fuzzy, no-wrap -#| msgid "deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/" +#, no-wrap msgid "" "Types: deb\n" "URIs: http://ftp.tlh.debian.org/universe\n" "Suites: unstable/binary-$(ARCH)/" -msgstr "deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/" +msgstr "" +"Types: deb\n" +"URIs: http://ftp.tlh.debian.org/universe\n" +"Suites: unstable/binary-$(ARCH)/" #. type: Content of: #: sources.list.5.xml @@ -8307,10 +8323,8 @@ msgstr "" #. type: Content of: #: sources.list.5.xml -#, fuzzy -#| msgid "&apt-cache;, &apt-config;, &apt-preferences;." msgid "&apt-get;, &apt-conf;, &apt-acquire-additional-files;" -msgstr "&apt-cache;, &apt-config;, &apt-preferences;." +msgstr "&apt-get;, &apt-conf;, &apt-acquire-additional-files;." #. type: Content of: #: apt-extracttemplates.1.xml apt-sortpkgs.1.xml apt-ftparchive.1.xml @@ -8882,7 +8896,7 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" #. type: Content of: @@ -11299,14 +11313,14 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " Proszę podać komponenty do pobrania\n" -" Zazwyczaj komponentem jest coś w rodzaju: main contrib non-free\n" +" Zazwyczaj komponentem jest coś w rodzaju: main contrib non-free non-free-firmware\n" "\n" -" Komponenty [main contrib non-free]:\n" +" Komponenty [main contrib non-free non-free-firmware]:\n" #. type: Content of: #: guide.dbk @@ -12677,19 +12691,6 @@ msgstr "Które użyje pobranych uprzednio archiwów z dysku." #~ msgid "Some examples:" #~ msgstr "Kilka przykładów:" -#~ msgid "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " -#~ msgstr "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " - #~ msgid "apt" #~ msgstr "apt" diff --git a/doc/po/pt.po b/doc/po/pt.po index 0c73d2b3d..1d4847816 100644 --- a/doc/po/pt.po +++ b/doc/po/pt.po @@ -7996,10 +7996,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" "O tipo deb descreve um arquivo Debian típico de dois " "níveis, distribution/component. A " @@ -8007,10 +8007,11 @@ msgstr "" "stable ou testing ou um nome de código " "como &debian-stable-codename; ou &debian-testing-" "codename; enquanto que componente é um de main, " -"contrib ou non-free. O tipo " -"deb-src faz referência a um código fonte de distribuição " -"Debian no mesmo formato que o tipo deb. É necessária uma " -"linha deb-src para obter índices das fontes." +"contrib, non-free ou non-free-" +"firmware. O tipo deb-src faz referência a um " +"código fonte de distribuição Debian no mesmo formato que o tipo " +"deb. É necessária uma linha deb-src " +"para obter índices das fontes." #. type: Content of: #: sources.list.5.xml @@ -8356,7 +8357,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8371,7 +8372,7 @@ msgstr "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -8766,16 +8767,16 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" "Usa o arquivo armazenado localmente (ou montagem NFS) em /home/apt/debian " -"para stable/main, stable/contrib, e stable/non-free." +"para stable/main, stable/contrib, stable/non-free e stable/non-free-firmware." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" -msgstr "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8784,12 +8785,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8800,8 +8801,8 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" -msgstr "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8810,12 +8811,12 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8825,8 +8826,8 @@ msgstr "Especificação de fontes para o referido acima." #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" -msgstr "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" +msgstr "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -8835,12 +8836,12 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" #. type: Content of: #: sources.list.5.xml @@ -9786,11 +9787,11 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" "Isto é uma lista de secções separada por espaços que aparece sob a " -"distribuição, tipicamente isto é algo como main contrib non-free" +"distribuição, tipicamente isto é algo como main contrib non-free " +"non-free-firmware" #. type: Content of: #: apt-ftparchive.1.xml @@ -12627,14 +12628,14 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" " Por favor forneça os componentes a obter\n" -" Tipicamente os componentes são algo como: main contrib non-free\n" +" Tipicamente os componentes são algo como: main contrib non-free non-free-firmware\n" "\n" -" Componentes [main contrib non-free]:\n" +" Componentes [main contrib non-free non-free-firmware]:\n" #. type: Content of: #: guide.dbk @@ -14314,25 +14315,6 @@ msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." #~ msgid "Some examples:" #~ msgstr "Alguns exemplos:" -#, fuzzy -#~| msgid "" -#~| "deb http://ftp.debian.org/debian &stable-codename; main contrib non-" -#~| "free\n" -#~| "deb http://security.debian.org/ &stable-codename;/updates main contrib " -#~| "non-free\n" -#~| " " -#~ msgid "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " -#~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" -#~ " " -#~ msgstr "" -#~ "deb http://ftp.debian.org/debian &stable-codename; main contrib non-free\n" -#~ "deb http://security.debian.org/ &stable-codename;/updates main contrib " -#~ "non-free\n" -#~ " " - #~ msgid "" #~ "As a temporary exception &apt-get; (not &apt;!) raises warnings only if " #~ "it encounters unauthenticated archives to give a slightly longer grace " diff --git a/doc/po/pt_BR.po b/doc/po/pt_BR.po index f0011f8f2..fdb04061f 100644 --- a/doc/po/pt_BR.po +++ b/doc/po/pt_BR.po @@ -5982,10 +5982,10 @@ msgid "" "stable or testing or a codename like " "&debian-stable-codename; or &debian-testing-" "codename; while component is one of main, " -"contrib or non-free. The deb-" -"src type references a Debian distribution's source code in the " -"same form as the deb type. A deb-src " -"line is required to fetch source indexes." +"contrib, non-free or non-free-" +"firmware. The deb-src type references a Debian " +"distribution's source code in the same form as the deb " +"type. A deb-src line is required to fetch source indexes." msgstr "" #. type: Content of: @@ -6215,7 +6215,7 @@ msgid "" "Types: deb\n" "URIs: https://deb.debian.org\n" "Suites: stable\n" -"Components: main contrib non-free\n" +"Components: main contrib non-free non-free-firmware\n" "Signed-By:\n" " -----BEGIN PGP PUBLIC KEY BLOCK-----\n" " .\n" @@ -6475,13 +6475,13 @@ msgstr "" #: sources.list.5.xml msgid "" "Uses the archive stored locally (or NFS mounted) at /home/apt/debian for " -"stable/main, stable/contrib, and stable/non-free." +"stable/main, stable/contrib, stable/non-free and stable/non-free-firmware." msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian stable main contrib non-free" +msgid "deb file:/home/apt/debian stable main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6491,7 +6491,7 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: stable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6502,7 +6502,7 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb file:/home/apt/debian unstable main contrib non-free" +msgid "deb file:/home/apt/debian unstable main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6512,7 +6512,7 @@ msgid "" "Types: deb\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6523,7 +6523,7 @@ msgstr "" #. type: Content of: #: sources.list.5.xml #, no-wrap -msgid "deb-src file:/home/apt/debian unstable main contrib non-free" +msgid "deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -6533,7 +6533,7 @@ msgid "" "Types: deb-src\n" "URIs: file:/home/apt/debian\n" "Suites: unstable\n" -"Components: main contrib non-free" +"Components: main contrib non-free non-free-firmware" msgstr "" #. type: Content of: @@ -7228,7 +7228,7 @@ msgstr "" msgid "" "This is a space separated list of sections which appear under the " "distribution; typically this is something like main contrib non-" -"free" +"free non-free-firmware" msgstr "" #. type: Content of: @@ -9421,9 +9421,9 @@ msgstr "" #, no-wrap msgid "" " Please give the components to get\n" -" The components are typically something like: main contrib non-free\n" +" The components are typically something like: main contrib non-free non-free-firmware\n" "\n" -" Components [main contrib non-free]:\n" +" Components [main contrib non-free non-free-firmware]:\n" msgstr "" #. type: Content of: diff --git a/doc/sources.list.5.xml b/doc/sources.list.5.xml index f7da9ba43..c5a012fe4 100644 --- a/doc/sources.list.5.xml +++ b/doc/sources.list.5.xml @@ -129,8 +129,8 @@ distribution is generally a suite name like stable or testing or a codename like &debian-stable-codename; or &debian-testing-codename; - while component is one of main, contrib or - non-free. The + while component is one of main, contrib, + non-free or non-free-firmware. The deb-src type references a Debian distribution's source code in the same form as the deb type. A deb-src line is required to fetch source indexes. @@ -321,7 +321,7 @@ deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [. Types: deb URIs: https://deb.debian.org Suites: stable -Components: main contrib non-free +Components: main contrib non-free non-free-firmware Signed-By: -----BEGIN PGP PUBLIC KEY BLOCK----- . @@ -505,26 +505,26 @@ Signed-By: Examples Uses the archive stored locally (or NFS mounted) at /home/apt/debian - for stable/main, stable/contrib, and stable/non-free. - deb file:/home/apt/debian stable main contrib non-free + for stable/main, stable/contrib, stable/non-free and stable/non-free-firmware. + deb file:/home/apt/debian stable main contrib non-free non-free-firmware Types: deb URIs: file:/home/apt/debian Suites: stable -Components: main contrib non-free +Components: main contrib non-free non-free-firmware As above, except this uses the unstable (development) distribution. - deb file:/home/apt/debian unstable main contrib non-free + deb file:/home/apt/debian unstable main contrib non-free non-free-firmware Types: deb URIs: file:/home/apt/debian Suites: unstable -Components: main contrib non-free +Components: main contrib non-free non-free-firmware Sources specification for the above. - deb-src file:/home/apt/debian unstable main contrib non-free + deb-src file:/home/apt/debian unstable main contrib non-free non-free-firmware Types: deb-src URIs: file:/home/apt/debian Suites: unstable -Components: main contrib non-free +Components: main contrib non-free non-free-firmware The first line gets package information for the architectures in APT::Architectures while the second always retrieves amd64 and armel. diff --git a/dselect/setup b/dselect/setup index 8689d2388..58eecfcdc 100755 --- a/dselect/setup +++ b/dselect/setup @@ -30,8 +30,8 @@ my $boldoff=`setterm -bold off`; my @known_types = ('deb'); my @known_access = ('http', 'ftp', 'file'); -my @typical_distributions = ('stable', 'unstable', 'testing', 'non-US'); -my @typical_components = ('main', 'contrib', 'non-free'); +my @typical_distributions = ('stable', 'unstable', 'testing'); +my @typical_components = ('main', 'contrib', 'non-free', 'non-free-firmware'); my %known_access = map {($_,$_)} @known_access; my %typical_distributions = map {($_,$_)} @typical_distributions; @@ -118,9 +118,9 @@ sub get_source { } $type = 'deb'; - $urn = "http://http.us.debian.org/debian" unless $urn; + $urn = "http://deb.debian.org/debian" unless $urn; $distribution = "stable" unless $distribution; - $components = "main contrib non-free" unless $components; + $components = "main contrib non-free non-free-firmware" unless $components; $rec->{'Type'} = 'deb'; diff --git a/vendor/debian/CMakeLists.txt b/vendor/debian/CMakeLists.txt new file mode 100644 index 000000000..7c0ccb7d2 --- /dev/null +++ b/vendor/debian/CMakeLists.txt @@ -0,0 +1,2 @@ +execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/apt-vendor.ent.sh + OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/apt-vendor.ent) diff --git a/vendor/debian/apt-vendor.ent b/vendor/debian/apt-vendor.ent index bb6180816..4d02343b2 100644 --- a/vendor/debian/apt-vendor.ent +++ b/vendor/debian/apt-vendor.ent @@ -6,15 +6,15 @@ - + +Components: main contrib non-free non-free-firmware"> -- cgit v1.2.3-70-g09d2 From 7ae8bb8d9942d51bd89fd34af6d2561d7616d393 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 29 Jan 2023 19:16:24 +0100 Subject: Bump codenames in docs in preparation for Debian 12 --- doc/apt-verbatim.ent | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent index 1a257d74c..e6b7073ed 100644 --- a/doc/apt-verbatim.ent +++ b/doc/apt-verbatim.ent @@ -277,17 +277,17 @@ - - - - - + + + + + - - + + "> -- cgit v1.2.3-70-g09d2 From 9712edf6151308148518058bfbd5ccd937509143 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 29 Jan 2023 23:24:43 +0100 Subject: Suggest using non-free-firmware in update for Debian In an ideal world everyone would read release notes, but if the last sources.list change is any indication a lot of people wont. This is even more a problem in so far as apt isn't producing errors for invalid repositories, but instead carries on as normal even through it will not be able to install upgrades for the moved packages. This commit implements two scenarios and prints a notice in those cases pointing to the release notes: a) User has 'non-free' but not 'non-free-firmware' b) User has a firmware package which isn't available from anywhere Both only happen if we are talking about a repository which identifies itself as one of Debian and is for a release codenamed bookworm (or sid). Note that as (usually) apt/oldstable is used to upgrade to the new stable release these suggestions only show for users after they have upgraded to bookworm on apt command line usage after that. --- apt-private/private-update.cc | 166 +++++++++++++++++---- doc/examples/configure-index | 6 +- .../test-apt-get-update-sourceslist-warning | 71 ++++++--- 3 files changed, 193 insertions(+), 50 deletions(-) diff --git a/apt-private/private-update.cc b/apt-private/private-update.cc index affae655d..f1734fea2 100644 --- a/apt-private/private-update.cc +++ b/apt-private/private-update.cc @@ -21,13 +21,32 @@ #include #include +#include #include /*}}}*/ // DoUpdate - Update the package lists /*{{{*/ -// --------------------------------------------------------------------- -/* */ +static bool isDebianBookwormRelease(pkgCache::RlsFileIterator const &RlsFile) +{ + std::tuple const affected[] = { + {"Debian", "Debian", "bookworm"}, + {"Debian", "Debian", "sid"}, + }; + if (RlsFile.end() || RlsFile->Origin == nullptr || RlsFile->Label == nullptr || RlsFile->Codename == nullptr) + return false; + std::tuple const release{RlsFile.Origin(), RlsFile.Label(), RlsFile.Codename()}; + return std::find(std::begin(affected), std::end(affected), release) != std::end(affected); +} +static void suggestDebianNonFreeFirmware(char const *const repo, char const *const val, + char const *const from, char const *const to) +{ + // Both messages are reused from the ReleaseInfoChange feature in acquire-item.cc + _error->Notice(_("Repository '%s' changed its '%s' value from '%s' to '%s'"), repo, val, from, to); + std::string notes; + strprintf(notes, "https://www.debian.org/releases/bookworm/%s/release-notes/ch-information.html#non-free-split", _config->Find("APT::Architecture").c_str()); + _error->Notice(_("More information about this can be found online in the Release notes at: %s"), notes.c_str()); +} bool DoUpdate(CommandLine &CmdL) { if (CmdL.FileSize() != 1) @@ -81,44 +100,135 @@ bool DoUpdate(CommandLine &CmdL) if (Cache.BuildCaches(false) == false) return false; - if (_config->FindB("APT::Get::Update::SourceListWarnings", true)) - { + bool const SLWarnings = _config->FindB("APT::Get::Update::SourceListWarnings", true); + if (SLWarnings) List = Cache.GetSourceList(); - for (pkgSourceList::const_iterator S = List->begin(); S != List->end(); ++S) - { - if (APT::String::Startswith((*S)->GetURI(), "ftp://") == false) - continue; - pkgCache::RlsFileIterator const RlsFile = (*S)->FindInCache(Cache, false); - if (RlsFile.end() || RlsFile->Origin == 0 || RlsFile->Label == 0) - continue; - char const *const affected[][2] = { - {"Debian", "Debian"}, - {"Debian", "Debian-Security"}, - {"Debian Backports", "Debian Backports"}, - }; - auto const matchRelease = [&](decltype(affected[0]) a) { - return strcmp(RlsFile.Origin(), a[0]) == 0 && strcmp(RlsFile.Label(), a[1]) == 0; - }; - if (std::find_if(std::begin(affected), std::end(affected), matchRelease) != std::end(affected)) - _error->Warning("Debian shuts down public FTP services currently still used in your sources.list(5) as '%s'.\n" - "See press release %s for details.", - (*S)->GetURI().c_str(), "https://debian.org/News/2017/20170425"); - } - for (pkgSourceList::const_iterator S = List->begin(); S != List->end(); ++S) + + if (_config->FindB("APT::Get::Update::SourceListWarnings::APTAuth", SLWarnings)) + { + constexpr std::string_view const affected_method[] = {"http", "https", "tor+http", "tor+https", "ftp"}; + for (auto *S : *List) { - URI uri((*S)->GetURI()); + URI uri(S->GetURI()); if (uri.User.empty() && uri.Password.empty()) continue; // we can't really predict if a +http method supports everything http does, // so we play it safe and use an allowlist here. - char const *const affected[] = {"http", "https", "tor+http", "tor+https", "ftp"}; - if (std::find(std::begin(affected), std::end(affected), uri.Access) != std::end(affected)) + if (std::find(std::begin(affected_method), std::end(affected_method), uri.Access) != std::end(affected_method)) // TRANSLATOR: the first two are manpage references, the last the URI from a sources.list _error->Notice(_("Usage of %s should be preferred over embedding login information directly in the %s entry for '%s'"), "apt_auth.conf(5)", "sources.list(5)", URI::ArchiveOnly(uri).c_str()); } } + if (_config->FindB("APT::Get::Update::SourceListWarnings::NonFreeFirmware", SLWarnings)) + { + // If a Debian source has a non-free component, suggest adding non-free-firmware + bool found_affected_release = false; + bool found_non_free = false; + bool found_non_free_firmware = false; + for (auto *S : *List) + { + if (not isDebianBookwormRelease(S->FindInCache(Cache, false))) + continue; + + for (auto PkgFile = Cache.GetPkgCache()->FileBegin(); not PkgFile.end(); ++PkgFile) + { + if (PkgFile.Flagged(pkgCache::Flag::NoPackages)) + continue; + found_affected_release = true; + const auto * const comp = PkgFile.Component(); + if (comp == nullptr) + continue; + if (strcmp(comp, "non-free") == 0) + found_non_free = true; + else if (strcmp(comp, "non-free-firmware") == 0) + { + found_non_free_firmware = true; + break; + } + } + if (found_non_free_firmware) + break; + } + if (not found_non_free_firmware && found_non_free && found_affected_release) + { + /* See if a well-known firmware package is installable from this codename + if so, we likely operate with new apt on an old snapshot not supporting non-free-firmware */ + bool suggest_non_free_firmware = true; + if (auto const Grp = Cache.GetPkgCache()->FindGrp("firmware-linux-nonfree"); not Grp.end()) + { + for (auto Pkg = Grp.PackageList(); not Pkg.end() && suggest_non_free_firmware; Pkg = Grp.NextPkg(Pkg)) + { + for (auto Ver = Pkg.VersionList(); not Ver.end(); ++Ver) + { + if (not Ver.Downloadable()) + continue; + for (auto VerFile = Ver.FileList(); not VerFile.end(); ++VerFile) + { + auto const PkgFile = VerFile.File(); + if (PkgFile.end()) + continue; + if (not isDebianBookwormRelease(PkgFile.ReleaseFile())) + continue; + suggest_non_free_firmware = false; + break; + } + if (not suggest_non_free_firmware) + break; + } + } + } + if (suggest_non_free_firmware) + suggestDebianNonFreeFirmware("Debian bookworm", "non-free component", "non-free", "non-free non-free-firmware"); + } + + if (not found_non_free_firmware && not found_non_free && found_affected_release) + { + /* Try to notify users who have installed firmware packages at some point, but + have not enabled non-free currently – they might want to opt into updates now */ + APT::StringView const affected_pkgs[] = { + "amd64-microcode", "atmel-firmware", "bluez-firmware", "dahdi-firmware-nonfree", + "firmware-amd-graphics", "firmware-ast", "firmware-atheros", "firmware-bnx2", + "firmware-bnx2x", "firmware-brcm80211", "firmware-cavium", "firmware-intel-sound", + "firmware-intelwimax", "firmware-ipw2x00", "firmware-ivtv", "firmware-iwlwifi", + "firmware-libertas", "firmware-linux", "firmware-linux-nonfree", "firmware-misc-nonfree", + "firmware-myricom", "firmware-netronome", "firmware-netxen", "firmware-qcom-media", + "firmware-qcom-soc", "firmware-qlogic", "firmware-realtek", "firmware-realtek-rtl8723cs-bt", + "firmware-samsung", "firmware-siano", "firmware-sof-signed", "firmware-ti-connectivity", + "firmware-zd1211", "intel-microcode", "midisport-firmware", "raspi-firmware", + }; + bool suggest_non_free_firmware = false; + for (auto pkgname : affected_pkgs) + { + auto const Grp = Cache.GetPkgCache()->FindGrp(pkgname); + if (Grp.end()) + continue; + for (auto Pkg = Grp.PackageList(); not Pkg.end(); Pkg = Grp.NextPkg(Pkg)) + { + auto const Ver = Pkg.CurrentVer(); + if (Ver.end() || Ver.Downloadable()) + continue; + bool another = false; + for (auto V = Pkg.VersionList(); not V.end(); ++V) + if (V.Downloadable()) + { + another = true; + break; + } + if (another) + continue; + suggest_non_free_firmware = true; + break; + } + if (suggest_non_free_firmware) + break; + } + if (suggest_non_free_firmware) + suggestDebianNonFreeFirmware("Debian bookworm", "firmware component", "non-free", "non-free-firmware"); + } + } + // show basic stats (if the user whishes) if (_config->FindB("APT::Cmd::Show-Update-Stats", false) == true) { diff --git a/doc/examples/configure-index b/doc/examples/configure-index index b3deccaaf..beafbbcd4 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -123,7 +123,11 @@ APT Update { InteractiveReleaseInfoChanges ""; - SourceListWarnings ""; + SourceListWarnings "" + { + APTAuth ""; + NonFreeFirmware ""; + }; }; }; diff --git a/test/integration/test-apt-get-update-sourceslist-warning b/test/integration/test-apt-get-update-sourceslist-warning index a99356b8b..60c8d7308 100755 --- a/test/integration/test-apt-get-update-sourceslist-warning +++ b/test/integration/test-apt-get-update-sourceslist-warning @@ -11,35 +11,64 @@ setupaptarchive --no-update testsuccess apt update testsuccess apt update --no-download -echo 'deb ftp://ftp.tlh.debian.org/debian zurg main' > rootdir/etc/apt/sources.list.d/ftpshutdown.list -cat > rootdir/var/lib/apt/lists/ftp.tlh.debian.org_debian_dists_zurg_Release < rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_Release < rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download +echo 'deb-src http://example.org/debian bookworm main non-free' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download -echo 'deb http://apt:debian@ftp.tlh.debian.org/debian zurg main' > rootdir/etc/apt/sources.list.d/ftpshutdown.list -testsuccessequal "Reading package lists... -Building dependency tree... -All packages are up to date. -N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'http://ftp.tlh.debian.org/debian'" apt update --no-download +msgmsg 'Is non-free-firmware missing?' +echo 'deb http://example.org/debian bookworm main non-free' > rootdir/etc/apt/sources.list.d/example.list +cat >> rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages < rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages +testsuccessequal "$BOILERPLATE +N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware' +N: More information about this can be found online in the Release notes at: $NOTESURL" apt update --no-download +msgmsg 'Component already present' +echo 'deb http://example.org/debian bookworm non-free non-free-firmware' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download +echo 'deb http://example.org/debian bookworm non-free +deb http://example.org/debian bookworm non-free-firmware' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download -echo 'deb tor+https://apt:debian@ftp.tlh.debian.org/debian zurg main' > rootdir/etc/apt/sources.list.d/ftpshutdown.list -testsuccessequal "Reading package lists... -Building dependency tree... -All packages are up to date. -N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'tor+https://ftp.tlh.debian.org/debian'" apt update --no-download +msgmsg 'Detect login info embedded in sources.list' +echo 'deb http://apt:debian@example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE +N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'http://example.org/debian'" apt update --no-download +echo 'deb tor+https://apt:debian@example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE +N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'tor+https://example.org/debian'" apt update --no-download + +msgmsg 'Firmware packages without upgrades' +echo 'deb http://example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list +insertinstalledpackage 'firmware-linux-nonfree' 'all' '1' +testsuccessequal "$BOILERPLATE +N: Repository 'Debian bookworm' changed its 'firmware component' value from 'non-free' to 'non-free-firmware' +N: More information about this can be found online in the Release notes at: $NOTESURL" apt update --no-download -- cgit v1.2.3-70-g09d2