dpkg 1.22.0ubuntu1 source package in Ubuntu


dpkg (1.22.0ubuntu1) mantic; urgency=low

  * Merge from Debian unstable. Remaining changes:
    - Change native source version/format mismatch errors into warnings
      until the dust settles on Debian bug 737634 about override options.
    - Add DPKG_UNTRANSLATED_MESSAGES environment check so that higher-level
      tools can get untranslated dpkg terminal log messages while at the
      same time having translated debconf prompts.
    - Special-case arm{el,hf} ELF objects in Shlibs/Objdump.pm for multilib.
    - Map unqualified package names of multiarch-same packages to the native
      arch instead of throwing an error, so that we don't break on upgrade
      when there are unqualified names stored in the dpkg trigger database.
    - Apply a workaround from mvo to consider ^rc packages as multiarch,
      during the dpkg consistency checks. (see LP: 1015567 and 1057367).
    - dpkg-gencontrol: Fix Package-Type override handling for ddeb support.
    - scripts/Dpkg/Vendor/Ubuntu.pm: set 'nocheck' in build options by default
      on Ubuntu/riscv64.  Overridable in debian/rules with
      'DEB_BUILD_OPTIONS := $(filter-out nocheck,$(DEB_BUILD_OPTIONS))'.
    - scripts/Dpkg/Vendor/Ubuntu.pm, scripts/dpkg-buildpackage.pl:
      Set 'nocheck' for riscv64 using a new 'update-buildopts' hook and make
      it effective with old style debhelper, too.
    - dpkg-dev: Depend on lto-disabled-list.
    - dpkg-buildflags: Read package source names from lto-disabled-list,
      to build without lto optimizations. When adding a source package to the
      list, please also file a launchpad issue and tag it with 'lto'.
    - scripts/Dpkg/Vendor/Ubuntu.pm: set 'noudeb' build profile by
      default. Override this by exporting DEB_BUILD_PROFILE='!noudeb' which
      will be stripped, and thus building with udebs.
    - build: Switch default dpkg-deb compression from xz to zstd.
      Keep compressing dpkg.deb with xz to help bootstrapping on non-Ubuntu
    - set default zstd compression level to 19
    - scripts/Dpkg/Vendor/Debian.pm: Always include "-fdebug-prefix-map"
      to build flags.  Map path to "/usr/src/PKGNAME-PKGVER" instead of
      ".", honouring the DWARF standard which prohibits relative paths
      in DW_AT_comp_dir.
    - scripts/{mk/buildflags.mk,t.mk}: Add support for DEB_BUILD_DEBUGPATH.
    - man/dpkg-buildflags.pod: Document new behaviour of "fdebugmap" and
      new DEB_BUILD_DEBUGPATH variable.

dpkg (1.22.0) unstable; urgency=medium

  [ Guillem Jover ]
  * dpkg: Do not reset the line number for each --command-fd parsed command.
  * dselect: Add non-free-firmware archive area support.
  * dselect: Relicense ftp method from GPL-2 to GPL-2+.
  * dpkg-deb: Do not print trailing spaces in --info output.
  * dpkg: Clarify that commands can take package-name or --pending in error
    message. Closes: #1034466
  * Remove avr32, m32r and tilegx obsolete architectures.
    See Linux commit 26202873bb51fafdaa51be3e8de7aab9beb49f70 (avr32).
    See Linux commit 553b085c2075f6a4a2591108554f830fa61e881f (m32r).
    See Linux commit bb9d812643d8a121df7d614a2b9c60193a92deb0 (tile).
  * dpkg-db-keeper: Add helper script to assist with tracking database changes.
  * dpkg-buildpackage: Add support for new preinit hook. Closes: #1023753
  * dselect: Remove handling of .GZ, .Z and .z compressed Package files.
  * dselect: Fix stdout+stderr discarding redirection in ftp method.
    Prompted by shellcheck.
  * dpkg-buildpackage: Fix build hook action substitution string handling.
  * dpkg-buildpackage: Set the hook options in an environment variable.
    Closes: #902856
  * dpkg-buildpackage: Set DPKG_BUILDPACKAGE_HOOK_NAME envvar for hooks.
  * dpkg-buildpackage: Handle missing information for hook substitutions.
  * dpkg-deb: Fix short lived memory leak after fork().
  * Switch from pkg-config to pkgconf.
  * dpkg: Handle non-existent .dpkg-tmp files on read-only filesystems.
    Closes: #1030149
  * dpkg-buildpackage: Fix R³ namespace check to only refuse unknown dpkg
    keywords. Closes: #1036865
  * dpkg-buildapi: New tool to fetch the dpkg-build-api level.
  * dpkg-shlibdeps: On dpkg-build-api >= 1 require -l instead of
  * dpkg-buildpackage: On dpkg-build-api >= 1 default R³ to no.
  * dpkg-buildpackage: On dpkg-build-api >= 1 avoid build target heuristics.
  * Mark dpkg-build-api level 1 as stable.
  * Architecture support:
    - Restore "arch: Add support for loong64 CPU". Closes: #1028654
  * Perl modules:
    - Dpkg::OpenPGP::ErrorCodes: Add new OPENPGP_CMD_CANNOT_SIGN error code.
    - Dpkg::OpenPGP::Backend::GnuPG: On signing failure use
      OPENPGP_CMD_CANNOT_SIGN. Closes: #1030271
    - Dpkg::Shlibs::Objdump::Object: Split from Dpkg::Shlibs::Objdump.
    - Dpkg::Control::HashCore::Tie: Split from Dpkg::Control::HashCore.
    - Dpkg::Vars: Fold into Dpkg::Package.
    - Dpkg::Package: Rename source_package symbols to source_name.
    - Dpkg::Changelog::Parse: Fix indentation of copyright and license notice.
    - Dpkg::Version: Update POD for removed semantic_change::overload::bool
    - Dpkg::Gettext: Relicense from BSD-2 to GPL-2+.
    - Dpkg::Source::Archive: Fix file normalization for relative pathnames.
    - Dpkg::Source::Archive: Reflow regex match in _add_entry().
    - Dpkg::Control::FieldsCore: Deprecate implicit field_transfer_single()
    - Dselect::Method::Ftp: Rename from Dselect::Ftp.
    - Dselect::Method::Ftp: Modify config and site subs towards method
    - Dselect::Method: Move to be generic functions from Dselect::Ftp.
    - Dselect::Method::Ftp: Update package name.
    - Dpkg::Vendor::Debian: Add time64 feature in the future area.
      Based on a patch by Helge Deller <email address hidden>. Closes: #1030159
    - Dpkg::Control::HashCore::Tie: Rename $last to $prev.
    - Dpkg::Substvars: Handle exponential expansion gracefully.
    - Dpkg::Shlibs::Objdump: Remove unsupported ELF machine types.
    - Dpkg::Shlibs::Objdump: Add ELF machine types for all supported arches.
    - Dpkg::Shlibs::Objdump: Add RISC-V ELF ABI tracking.
    - Dpkg::Shlibs::Objdump: Add OR1K ELF ABI tracking.
    - Dpkg::Shlibs::Objdump: Switch get_format() to return a colon-separated
    - Dpkg::Shlibs::Objdump: Add back the ARM ABI mismatch mask but commented
      out. See #853793.
    - Dpkg::Source::Quilt: Switch get_db_file() to be based off get_db_dir().
    - Dpkg::Vendor::Debian: Mark PIE as builtin on hurd-amd64.
    - Dpkg::Vendor::Debian: Only use ABI bits to suppress LFS or time64
    - Dpkg::Vendor::Debian: Only enable LFS when time64 is enabled for glibc.
    - Dpkg::Vendor::Debian: Invert time64 suppression list logic.
    - Dpkg::Vendor::Debian: Ignore musl libc systems for time64 suppression.
    - Dpkg::Vendor::Debian: Add fallback values for ABI attributes.
    - Dpkg::Source::Package::V2: Mark single-debian-patch as not needing
      forwarding. Closes: #1038121
    - Dpkg::Vendor::Debian: Sync builtin pie arches with gcc-13.
    - Dpkg::Vendor::Debian: Move time64 buildflags feature from future to abi.
      Suggested by Steve Langasek <email address hidden>.
    - Dpkg::Vendor::Debian: Move lfs from future to abi area and create an
      alias. Suggested by Steve Langasek <email address hidden>.
    - Dpkg::Vendor::Debian: Move builtin default setup before
    - Dpkg::Vendor::Debian: Handle abi feature flags as builtin.
    - Dpkg::Vendor::Debian: Add support for new hardening branch feature.
      Closes: #1021292
    - Dpkg::Vendor::Debian: Add support for new stackclash hardening feature.
      Closes: #918914
    - Dpkg::Source::Quilt: Switch get_patch_file() to be based off
    - Dpkg::BuildAPI: New module.
  * Make fragments:
    - Add new buildapi.mk support.
    - On dpkg-build-api >= 1 default to dpkg_vendor_derives_from_v1.
    - On dpkg-build-api >= 1 include buildtools.mk in default.mk.
  * Documentation:
    - man: Add notes about reproducibility properties for path fixing build
      features. Prompted by Sven Joachim <email address hidden>.
    - man: Itemize remaining lists.
    - man: Unify admonition markup and formatting.
    - man: Move shell redirection operator close to the redirected file.
    - man: Add versions where build flag features were added.
    - doc: Update triggers spec.
    - man: Fix OpenPGP backends list in dpkg-buildpackage(1).
    - doc: Use «honor» and «behavior» uniformly in documentation and output.
    - man: Clarify that dpkg-reconfigure is part of the debconf project.
    - doc: Add a Status field to frontend-api spec.
    - man: Clarify shared library name formats and their purpose.
    - man: Add SECURITY sections.
    - man: Spell out «manual page».
    - man: Clarify C.UTF-8 locale setting hint. Closes: #1028296
    - man: Update methods provided by dselect(1).
    - man: Turn buildinfo filename format selection into a list.
    - man: Itemize supported deb-changelog(5) keyword/value entries.
    - doc: Move Perl version baseline as the first perl coding style
    - doc: Clarify required C/C++ standards.
    - doc: Require POSIX.1-2008.
    - man: Mention .buildinfo in dpkg-buildpackage --sign-command description.
    - doc: Fix typo.
    - man: Document known DEB_BUILD_OPTIONS options. Closes: #1038888
    - man: Clarify the md5sums checks as integrity and not security checks.
      Prompted by Sebastian Andrzej Siewior <email address hidden>.
    - man: Clarify dpkg-architecture -c option.
      Prompted by Paul Wise <email address hidden>.
    - man: Document version when new programs where introduced.
    - man: Fix typo in future lfs feature introduction version.
    - man: Open up dpkg-build-api level 1.
  * Code internals:
    - libdpkg: Move early return into the loop.
    - libdpkg: Remove impossible condition.
    - libdpkg: Turn bitmask parse_nv_flags into an actual enum parse_nv_mode.
    - libdpkg: Move parse_nv() next word check inside else block.
    - dpkg: Remove path_quote_filename() usage.
    - dselect: Reduce variables scope.
    - libcompat: Reduce variables scope.
    - libdpkg: Reduce variables scope.
    - update-alternatives: Reduce variables scope.
    - src: Reduce variables scope.
    - libdpkg: Rename mlib module to mustlib.
    - dselect: Remove unused trailing semicolons.
    - libdpkg: Surround macro within a do-while block.
    - perl: Add $VERSION to all embedded perl packages.
    - perl: Add POD to all private modules. Closes: #1030660
    - perl: Move POD sections before what they describe.
    - scripts: Unpack function arguments.
    - scripts: Remove duplicate variable declaration.
    - dselect: Reduce variable scope to avoid shadowing.
    - perl: Move $VERSION into package keyword.
    - perl: Remove unused Dpkg::Version semantic_change warning suppression.
    - scripts: Use «(undef) x N» to ignore tuples or function returns.
    - perl: Stop removing «.» from @INC before loading modules.
    - dpkg-scansources: Reorder captured variable and regex match.
    - perl: Use List::Util instead of fixed string matches within a regex.
    - perl: Pass $_ explicitly to field_transfer_single().
    - perl: Rename filename related variables to distinguish them from field
    - dpkg-genchanges: Move comment describing %sourcedefault before
    - perl: Rename Dpkg::Control variables from $f to $c or $ctrl.
    - perl: Use an $f variable for fields instead of the topic variable.
    - perl: Use fixed string comparisons for field name matches.
    - scripts: Switch code to use chained comparisons.
    - dselect: Update Andy Guy email address.
    - dselect: Remove unused ismulti() function from media method actions.
    - dpkg-deb: Use intermediate variable for exec mark on --info output.
    - dpkg-deb: Refactor maintscript interpreter parser.
    - dpkg-deb, dpkg-query: Rename option flags to opt_NAME.
    - dpkg-trigger: Rename CLI option variables from f_ to opt_.
    - libcompat: Declare variables before definitions.
    - libdpkg: Make local variables static.
    - libdpkg: Rename FHFF_NONE to FHFF_NONEW.
    - libdpkg: Switch bitmasks enumerations into precise masks.
    - libdpkg: Add enumerations for the default, unset and max cases.
    - libdpkg: Add warning suppression macros.
    - lib: Add an enum flags attribute.
    - lib, src, utils: Use new enum flag C attributes.
    - libdpkg: Unconditionally initialize c variable in parse_stanza().
    - start-stop-daemon: Initialize variables in run_stop_schedule().
    - dpkg-genchanges: Refactor .changes file description formatting into a
    - dpkg-genchanges: Replace Encode usage with utf8 encode/decode functions.
    - dpkg-gensymbols: Use File::Compare instead of Digest::MD5.
    - dselect: Reword odd code comment.
    - dselect: Use «color» uniformly in variables and comments.
    - libdpkg: Handle missing Version when formatting source:Upstream-Version.
      Reported by John Scott <email address hidden>.
    - perl: Remove «1;» from end of script in programs.
    - libdpkg: Pass -- after sh -c to avoid bogus option parsing.
      Prompted by Joe Simmons-Talbott <email address hidden> (on libc-alpha).
    - libdpkg: Mask the mode from the tar entry to only the file mode bits.
    - lib: Define __has_include fallback if the compiler does not support it.
    - libdpkg: Simplify progress output by using fputs() and putchar().
    - libdpkg: Mark the progress percentage for translation. See #1034378.
    - dpkg-buildpackage: Turn items into lists for easier extensibility.
    - libdpkg: Make headers self-contained.
      Thanks to Simon Richter <email address hidden>.
    - libdpkg: Mark functions in headers as inline.
      Thanks to Simon Richter <email address hidden>.
    - scripts: Do not set LANG unnecessarily.
    - dpkg: Move comment next to the code it is describing.
    - dpkg-buildpackage: Move hook invocation closer to artifact creation.
    - dpkg-buildpackage: Default the enabled run_hook() parameter to true.
    - dpkg-buildpackage: Turn the run_hook() enabled argument into a hash
    - libcompat: Use ptrdiff_t directly instead of using a macro.
    - libcompat: Update getopt code from gnulib.
    - libdpkg: Remove redundant check.
    - lib, src: Add const qualifiers to variables.
    - dselect: Add constVariableReference as a cppcheck suppression.
    - libdpkg: Fix varbuf memory leak in pkg_source_version().
    - dpkg-shlibdeps: Switch from exec() to Dpkg::IPC::spawn().
      Prompted by Paul Wise <email address hidden>.
    - libdpkg: Fix coding style for varbuf module.
    - libdpkg: Reorder varbuf functions.
    - libdpkg: Add varbuf_add_varbuf() function.
    - libdpkg: Add varbuf_add_strn().
    - libdpkg: Add varbuf setter functions.
    - libdpkg: Switch ustar filename construction to use varbuf_add_strn().
    - dpkg-split: Use varbuf instead of ad-hoc allocation in read_info.
    - Use varbuf_add_varbuf() instead of varbuf_add_buf()/_str().
    - Use varbuf_set_*() instead of ad-hoc initialization.
    - libdpkg: Generalize command_in_path() from find_command().
  * Build system:
    - Fix version script linker support detection.
    - Enable -Wextra-semi compilation warning.
    - Explicitly set the date when generating perl module man pages.
    - Bump minimal Perl version to 5.32.1.
    - Enable more compiler warnings.
    - Remove unused AC_SIZEOF checks.
    - Check for the host architecture attributes during configure.
    - Detect whether we need librt for clock_gettime().
    - Use an export symbols file if there is no version script support.
    - Add -no-undefined libtool flag.
    - Add support for .git-blame-ignore-revs file.
    - Fix typo in .gitignore filename by renaming it.
      Thanks to Simon Richter <email address hidden>.
    - Remove vim swap file entry from .gitignore.
    - Ignore tags files.
      Based on a patch by Simon Richter <email address hidden>.
    - Add perl prefixes into the Code Internals changelog section.
    - Namespace COMPILER_*FLAGS with DPKG_.
    - Add support for compiler sanitizer flags.
    - Add support for compiler analyzer flags.
    - Add new gcc-13 warnings.
    - Warn on alloca() usage.
    - Remove distcleancheck_listfiles override for CPAN dist-cpan target.
    - Avoid Perl's exec() falling back to system().
      Thanks to Paul Wise <email address hidden>.
      See https://perldoc.perl.org/functions/exec.html.
  * Packaging:
    - Merge copyright statements for the same holder.
    - Remove executable permissions from maintscripts in source.
    - Remove no longer needed alternatives fixup from postint.
    - Remove no longer needed maintscripts for method renames.
    - Fix removal of file method state directory on purge.
    - Wrap fields in debian/tests/control file.
    - Set Persistent=true for dpkg-db-backup systemd timer.
      Thanks to Teemu Likonen <email address hidden>. Closes: #1041730
    - Do not start the dpkg-db-backup timer during installation.
  * Test suite:
    - Update perlcritic checks and suppressions.
    - Disable perlcritic checks that are not relevant.
    - Reduce scope of variable to avoid shadowing others.
    - Do not use potentially bogus variable value.
    - Enable perlcritic RegularExpressions::ProhibitCaptureWithoutTest.
    - Disable -Wassign-enum for tests using out of range enum values.
    - Make some perlcritic checks more strict.
    - Update rationale for perlcritic check suppressions.
    - Use the TAR detected at configure time in autotests.
    - Use the SED detected at configure time in autotests.
    - Use m4 to implement seq instead of assuming GNU seq is present.
    - Add missing argument to DPKG_FILE_SIZE m4 function.
    - Add more substvar recursive replace cases.
    - Define lzma based on xz if missing.
    - Switch deb non-uniform members test to use uncompressed control.tar.
    - Use AT_DATA instead of touch to create empty files.
    - Refactor deb-format package template generation into a new macro.
    - Split deb-format tests per compressor.
    - Fix t-disappear-depended test.
    - Add cases for disappearing with diversions.
    - Add cases for disappearance on diverted overwrites and third parties.
      Suggested by Simon Richter <email address hidden>.
    - Quote command variables in case these contain spaces.
    - Use the GREP/EGREP detected at configure time in autotests.
    - Pass -n to gzip for all invocations.
    - Generate the pkg-old.deb from controlled parts.
    - Compute the sizes for «dpkg-deb -I» output dynamically.
    - Add test cases for dpkg-buildpackage hook support.
    - Use dpkg-buildpackage --no-sign instead of each --unsigned-* option.
    - Add new stop words for codespell 2.2.5.
    - Update cppcheck suppressions for 2.11.
    - Define macros to help cppcheck analyze code.
    - Fix varbuf memory leak in t-pkg-format test.
    - Rename merge_changlogs test to match the command being tested.
    - Add new test case checking Conflicts with Replaces.
    - Fix t-conffile-divert-conffile case.
    - Use «ar qc» to create archives with duplicate members.
    - Move test_data_file() to test.h.
  * Localization:
    - Add Portuguese scripts translations.
      Thanks to Américo Monteiro <email address hidden>. Closes: #1032562
    - Clarify license for translation files.
    - Fix Project-Id-Version to match the gettext domain.
    - Unify translation header description.
    - Update Dutch header boilerplate with an actual copyright line.
    - Update French scripts translation.
      Thanks to Sébastien Poher <email address hidden>.
    - Update Romanian dselect translation.
      Thanks to Remus-Gabriel Chelu <email address hidden>.
      Closes: #1040869
    - Use Dpkg Developers instead of listing them individually.

  [ Helge Kreutzmann ]
  * man: Remove a now superfluous character from dpkg(1).
  * Localization:
    - Update German man pages translation.
    - Update German scripts translation.

  [ Sven Joachim ]
  * Localization:
    - Update German dselect translation.
    - Update German programs translation.

 -- Gianfranco Costamagna <email address hidden>  Thu, 31 Aug 2023 22:46:40 +0200

Upload details

Uploaded by:
Gianfranco Costamagna
Uploaded to:
Original maintainer:
Dpkg Mailing List
any all
Medium Urgency

See full publishing history Publishing

Series Pocket Published Component Section
Mantic release main admin


File Size SHA-256 Checksum
dpkg_1.22.0ubuntu1.tar.xz 5.1 MiB e514b7c1492761a769d5e32fde618b92577cb1661177c592e4ae884a0dd346a5
dpkg_1.22.0ubuntu1.dsc 3.0 KiB b5d4af22363ac0a1e45a76f9d1b59d1e0fe31ae187e5180407d725bc04d3a3b3

Available diffs

View changes file

Binary packages built by this source

dpkg: Debian package management system

 This package provides the low-level infrastructure for handling the
 installation and removal of Debian software packages.
 For Debian package development tools, install dpkg-dev.

dpkg-dbgsym: debug symbols for dpkg
dpkg-dev: Debian package development tools

 This package provides the development tools (including dpkg-source)
 required to unpack, build and upload Debian source packages.
 Most Debian source packages will require additional tools to build;
 for example, most packages need make and the C compiler gcc.

dselect: Debian package management front-end

 dselect is a high-level interface for managing the installation and
 removal of Debian software packages.
 Many users find dselect intimidating and new users may prefer to use
 apt-based user interfaces.

dselect-dbgsym: debug symbols for dselect
libdpkg-dev: Debian package management static library

 This package provides the header files and static library necessary to
 develop software using libdpkg, the same library used internally by dpkg.
 Note though, that the API is to be considered volatile, and might change
 at any time, use at your own risk.

libdpkg-perl: Dpkg perl modules

 This package provides the perl modules used by the scripts
 in dpkg-dev. They cover a wide range of functionality. Among them
 there are the following public modules:
  - Dpkg: core variables
  - Dpkg::Arch: architecture handling functions
  - Dpkg::BuildFlags: set, modify and query compilation build flags
  - Dpkg::BuildInfo: build information functions
  - Dpkg::BuildOptions: parse and manipulate DEB_BUILD_OPTIONS
  - Dpkg::BuildProfiles: parse and manipulate build profiles
  - Dpkg::Changelog: parse changelogs
  - Dpkg::Changelog::Entry: represents a changelog entry
  - Dpkg::Changelog::Parse: generic changelog parser for dpkg-parsechangelog
  - Dpkg::Checksums: generate and parse checksums
  - Dpkg::Compression: simple database of available compression methods
  - Dpkg::Compression::FileHandle: transparently (de)compress files
  - Dpkg::Compression::Process: wrapper around compression tools
  - Dpkg::Conf: parse dpkg configuration files
  - Dpkg::Control: parse and manipulate Debian control information
    (.dsc, .changes, Packages/Sources entries, etc.)
  - Dpkg::Control::Changelog: represent fields output by dpkg-parsechangelog
  - Dpkg::Control::Fields: manage (list of known) control fields
  - Dpkg::Control::Hash: parse and manipulate a block of RFC822-like fields
  - Dpkg::Control::Info: parse files like debian/control
  - Dpkg::Control::Tests: parse files like debian/tests/control
  - Dpkg::Control::Tests::Entry: represents a debian/tests/control stanza
  - Dpkg::Deps: parse and manipulate dependencies
  - Dpkg::Deps::Simple: represents a single dependency statement
  - Dpkg::Deps::Multiple: base module to represent multiple dependencies
  - Dpkg::Deps::Union: list of unrelated dependencies
  - Dpkg::Deps::AND: list of AND dependencies
  - Dpkg::Deps::OR: list of OR dependencies
  - Dpkg::Deps::KnownFacts: list of installed and virtual packages
  - Dpkg::Exit: push, pop and run exit handlers
  - Dpkg::Gettext: wrapper around Locale::gettext
  - Dpkg::IPC: spawn sub-processes and feed/retrieve data
  - Dpkg::Index: collections of Dpkg::Control (Packages/Sources files for
  - Dpkg::Interface::Storable: base object serializer
  - Dpkg::Path: common path handling functions
  - Dpkg::Source::Format: manipulate debian/source/format files
  - Dpkg::Source::Package: extract Debian source packages
  - Dpkg::Substvars: substitute variables in strings
  - Dpkg::Vendor: identify current distribution vendor
  - Dpkg::Version: parse and manipulate Debian package versions
 All the packages listed in Suggests or Recommends are used by some of the