[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#961411: marked as done (apt search -- output NOT grepable)



Your message dated Sun, 24 May 2020 15:35:31 +0200
with message-id <20200524153110.GA1041191@debian.org>
and subject line Re: Bug#961411: apt search -- output NOT grepable
has caused the Debian Bug report #961411,
regarding apt search -- output NOT grepable
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
961411: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=961411
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: apt
Version: 1.8.2.1
Severity: normal

I've completely switched to using "apt" for all debian package management. I'm
fine with the "apt" tool, it fits all my needs except one... serarching. 

For example I look for package to read/write JSON data in perl. In old days I
used the command "apt-cache search" like this: 

	leszek@len530:~$ apt-cache search perl | egrep JSON | egrep -i data

and the result was simple: 

	libjson-perl - module for manipulating JSON-formatted data
	libjson-xs-perl - module for manipulating JSON-formatted data (C/XS-accelerated)
	libcatmandu-importer-getjson-perl - load JSON-encoded data from a server using a GET HTTP request
	libjson-pp-perl - module for manipulating JSON-formatted data (Pure Perl)
	libjson-validator-perl - module to validate data against a JSON schema
	libtest-deep-json-perl - Test::Deep plugin for comparing JSON data
	libtest-json-perl - module for testing JSON data


Because "apt search" (not "apt-cache search", just "apt") shows each package on
two lines, then grepping results is not possible. 

I've looked at man pages, internet sites to find soultion. Other people have the
same problem. 

The soultion is to change "apt search" output: 

	leszek@len530:~$ apt search perl JSON data

from: 

	libxml-atom-microformats-perl/focal,focal 0.004-3 all
	  parse microformats in Atom content

	php-json-schema/focal,focal 5.2.9-1 all
	  implementation of JSON schema

	php-services-json/focal,focal 1.0.3-1build1 all
	  PHP implementaion of json_encode/decode

	vim-syntastic/focal,focal 3.10.0-2 all
	  Syntax checking hacks for vim

to:

	libxml-atom-microformats-perl/focal,focal 0.004-3 all parse microformats in Atom content
	php-json-schema/focal,focal 5.2.9-1 all implementation of JSON schema
	php-services-json/focal,focal 1.0.3-1build1 all PHP implementaion of json_encode/decode
	vim-syntastic/focal,focal 3.10.0-2 all Syntax checking hacks for vim

It would make life lot easier. 


-- Package-specific info:

-- apt-config dump --

APT "";
APT::Architecture "amd64";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "false";
APT::Install-Suggests "false";
APT::Sandbox "";
APT::Sandbox::User "_apt";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^firmware-linux.*";
APT::NeverAutoRemove:: "^linux-firmware$";
APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*$";
APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*-[a-z0-9]*$";
APT::NeverAutoRemove:: "^linux-image-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-image-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-headers-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-headers-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-image-extra-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-image-extra-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-modules-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-modules-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-modules-extra-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-modules-extra-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-signed-image-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-signed-image-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-image-unsigned-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-image-unsigned-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^kfreebsd-image-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^kfreebsd-image-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^kfreebsd-headers-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^kfreebsd-headers-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^gnumach-image-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^gnumach-image-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^.*-modules-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^.*-modules-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^.*-kernel-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^.*-kernel-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-backports-modules-.*-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-backports-modules-.*-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-modules-.*-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-modules-.*-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-tools-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-tools-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-cloud-tools-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-cloud-tools-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-buildinfo-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-buildinfo-4\.19\.0-9-amd64$";
APT::NeverAutoRemove:: "^linux-source-4\.19\.0-8-amd64$";
APT::NeverAutoRemove:: "^linux-source-4\.19\.0-9-amd64$";
APT::VersionedKernelPackages "";
APT::VersionedKernelPackages:: "linux-image";
APT::VersionedKernelPackages:: "linux-headers";
APT::VersionedKernelPackages:: "linux-image-extra";
APT::VersionedKernelPackages:: "linux-modules";
APT::VersionedKernelPackages:: "linux-modules-extra";
APT::VersionedKernelPackages:: "linux-signed-image";
APT::VersionedKernelPackages:: "linux-image-unsigned";
APT::VersionedKernelPackages:: "kfreebsd-image";
APT::VersionedKernelPackages:: "kfreebsd-headers";
APT::VersionedKernelPackages:: "gnumach-image";
APT::VersionedKernelPackages:: ".*-modules";
APT::VersionedKernelPackages:: ".*-kernel";
APT::VersionedKernelPackages:: "linux-backports-modules-.*";
APT::VersionedKernelPackages:: "linux-modules-.*";
APT::VersionedKernelPackages:: "linux-tools";
APT::VersionedKernelPackages:: "linux-cloud-tools";
APT::VersionedKernelPackages:: "linux-buildinfo";
APT::VersionedKernelPackages:: "linux-source";
APT::Never-MarkAuto-Sections "";
APT::Never-MarkAuto-Sections:: "metapackages";
APT::Never-MarkAuto-Sections:: "contrib/metapackages";
APT::Never-MarkAuto-Sections:: "non-free/metapackages";
APT::Never-MarkAuto-Sections:: "restricted/metapackages";
APT::Never-MarkAuto-Sections:: "universe/metapackages";
APT::Never-MarkAuto-Sections:: "multiverse/metapackages";
APT::Move-Autobit-Sections "";
APT::Move-Autobit-Sections:: "oldlibs";
APT::Move-Autobit-Sections:: "contrib/oldlibs";
APT::Move-Autobit-Sections:: "non-free/oldlibs";
APT::Move-Autobit-Sections:: "restricted/oldlibs";
APT::Move-Autobit-Sections:: "universe/oldlibs";
APT::Move-Autobit-Sections:: "multiverse/oldlibs";
APT::Architectures "";
APT::Architectures:: "amd64";
APT::Compressor "";
APT::Compressor::. "";
APT::Compressor::.::Name ".";
APT::Compressor::.::Extension "";
APT::Compressor::.::Binary "";
APT::Compressor::.::Cost "0";
APT::Compressor::zstd "";
APT::Compressor::zstd::Name "zstd";
APT::Compressor::zstd::Extension ".zst";
APT::Compressor::zstd::Binary "false";
APT::Compressor::zstd::Cost "60";
APT::Compressor::lz4 "";
APT::Compressor::lz4::Name "lz4";
APT::Compressor::lz4::Extension ".lz4";
APT::Compressor::lz4::Binary "false";
APT::Compressor::lz4::Cost "50";
APT::Compressor::gzip "";
APT::Compressor::gzip::Name "gzip";
APT::Compressor::gzip::Extension ".gz";
APT::Compressor::gzip::Binary "gzip";
APT::Compressor::gzip::Cost "100";
APT::Compressor::gzip::CompressArg "";
APT::Compressor::gzip::CompressArg:: "-6n";
APT::Compressor::gzip::UncompressArg "";
APT::Compressor::gzip::UncompressArg:: "-d";
APT::Compressor::xz "";
APT::Compressor::xz::Name "xz";
APT::Compressor::xz::Extension ".xz";
APT::Compressor::xz::Binary "xz";
APT::Compressor::xz::Cost "200";
APT::Compressor::xz::CompressArg "";
APT::Compressor::xz::CompressArg:: "-6";
APT::Compressor::xz::UncompressArg "";
APT::Compressor::xz::UncompressArg:: "-d";
APT::Compressor::bzip2 "";
APT::Compressor::bzip2::Name "bzip2";
APT::Compressor::bzip2::Extension ".bz2";
APT::Compressor::bzip2::Binary "bzip2";
APT::Compressor::bzip2::Cost "300";
APT::Compressor::bzip2::CompressArg "";
APT::Compressor::bzip2::CompressArg:: "-6";
APT::Compressor::bzip2::UncompressArg "";
APT::Compressor::bzip2::UncompressArg:: "-d";
APT::Compressor::lzma "";
APT::Compressor::lzma::Name "lzma";
APT::Compressor::lzma::Extension ".lzma";
APT::Compressor::lzma::Binary "xz";
APT::Compressor::lzma::Cost "400";
APT::Compressor::lzma::CompressArg "";
APT::Compressor::lzma::CompressArg:: "--format=lzma";
APT::Compressor::lzma::CompressArg:: "-6";
APT::Compressor::lzma::UncompressArg "";
APT::Compressor::lzma::UncompressArg:: "--format=lzma";
APT::Compressor::lzma::UncompressArg:: "-d";
Dir "/";
Dir::State "var/lib/apt";
Dir::State::lists "lists/";
Dir::State::cdroms "cdroms.list";
Dir::State::extended_states "extended_states";
Dir::State::status "/var/lib/dpkg/status";
Dir::Cache "var/cache/apt";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Dir::Etc "etc/apt";
Dir::Etc::sourcelist "sources.list";
Dir::Etc::sourceparts "sources.list.d";
Dir::Etc::main "apt.conf";
Dir::Etc::netrc "auth.conf";
Dir::Etc::netrcparts "auth.conf.d";
Dir::Etc::parts "apt.conf.d";
Dir::Etc::preferences "preferences";
Dir::Etc::preferencesparts "preferences.d";
Dir::Etc::trusted "trusted.gpg";
Dir::Etc::trustedparts "trusted.gpg.d";
Dir::Bin "";
Dir::Bin::methods "/usr/lib/apt/methods";
Dir::Bin::solvers "";
Dir::Bin::solvers:: "/usr/lib/apt/solvers";
Dir::Bin::planners "";
Dir::Bin::planners:: "/usr/lib/apt/planners";
Dir::Bin::dpkg "/usr/bin/dpkg";
Dir::Bin::gzip "/bin/gzip";
Dir::Bin::bzip2 "/bin/bzip2";
Dir::Bin::xz "/usr/bin/xz";
Dir::Bin::lz4 "/usr/bin/lz4";
Dir::Bin::zstd "/usr/bin/zstd";
Dir::Bin::lzma "/usr/bin/xz";
Dir::Media "";
Dir::Media::MountPath "/media/cdrom";
Dir::Log "var/log/apt";
Dir::Log::Terminal "term.log";
Dir::Log::History "history.log";
Dir::Log::Planner "eipp.log.xz";
Dir::Ignore-Files-Silently "";
Dir::Ignore-Files-Silently:: "~$";
Dir::Ignore-Files-Silently:: "\.disabled$";
Dir::Ignore-Files-Silently:: "\.bak$";
Dir::Ignore-Files-Silently:: "\.dpkg-[a-z]+$";
Dir::Ignore-Files-Silently:: "\.ucf-[a-z]+$";
Dir::Ignore-Files-Silently:: "\.save$";
Dir::Ignore-Files-Silently:: "\.orig$";
Dir::Ignore-Files-Silently:: "\.distUpgrade$";
Acquire "";
Acquire::AllowInsecureRepositories "0";
Acquire::AllowWeakRepositories "0";
Acquire::AllowDowngradeToInsecureRepositories "0";
Acquire::cdrom "";
Acquire::cdrom::mount "/media/cdrom";
Acquire::IndexTargets "";
Acquire::IndexTargets::deb "";
Acquire::IndexTargets::deb::Packages "";
Acquire::IndexTargets::deb::Packages::MetaKey "$(COMPONENT)/binary-$(ARCHITECTURE)/Packages";
Acquire::IndexTargets::deb::Packages::flatMetaKey "Packages";
Acquire::IndexTargets::deb::Packages::ShortDescription "Packages";
Acquire::IndexTargets::deb::Packages::Description "$(RELEASE)/$(COMPONENT) $(ARCHITECTURE) Packages";
Acquire::IndexTargets::deb::Packages::flatDescription "$(RELEASE) Packages";
Acquire::IndexTargets::deb::Packages::Optional "0";
Acquire::IndexTargets::deb::Translations "";
Acquire::IndexTargets::deb::Translations::MetaKey "$(COMPONENT)/i18n/Translation-$(LANGUAGE)";
Acquire::IndexTargets::deb::Translations::flatMetaKey "$(LANGUAGE)";
Acquire::IndexTargets::deb::Translations::ShortDescription "Translation-$(LANGUAGE)";
Acquire::IndexTargets::deb::Translations::Description "$(RELEASE)/$(COMPONENT) Translation-$(LANGUAGE)";
Acquire::IndexTargets::deb::Translations::flatDescription "$(RELEASE) Translation-$(LANGUAGE)";
Acquire::IndexTargets::deb-src "";
Acquire::IndexTargets::deb-src::Sources "";
Acquire::IndexTargets::deb-src::Sources::MetaKey "$(COMPONENT)/source/Sources";
Acquire::IndexTargets::deb-src::Sources::flatMetaKey "Sources";
Acquire::IndexTargets::deb-src::Sources::ShortDescription "Sources";
Acquire::IndexTargets::deb-src::Sources::Description "$(RELEASE)/$(COMPONENT) Sources";
Acquire::IndexTargets::deb-src::Sources::flatDescription "$(RELEASE) Sources";
Acquire::IndexTargets::deb-src::Sources::Optional "0";
Acquire::Changelogs "";
Acquire::Changelogs::URI "";
Acquire::Changelogs::URI::Origin "";
Acquire::Changelogs::URI::Origin::Debian "https://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog";;
Acquire::Changelogs::URI::Origin::Ubuntu "https://changelogs.ubuntu.com/changelogs/pool/@CHANGEPATH@/changelog";;
Acquire::Changelogs::AlwaysOnline "";
Acquire::Changelogs::AlwaysOnline::Origin "";
Acquire::Changelogs::AlwaysOnline::Origin::Ubuntu "1";
Acquire::Languages "";
Acquire::Languages:: "en";
Acquire::Languages:: "none";
Acquire::Languages:: "pl";
Acquire::CompressionTypes "";
Acquire::CompressionTypes::xz "xz";
Acquire::CompressionTypes::bz2 "bzip2";
Acquire::CompressionTypes::lzma "lzma";
Acquire::CompressionTypes::gz "gzip";
Acquire::CompressionTypes::lz4 "lz4";
Acquire::CompressionTypes::zst "zstd";
DPkg "";
DPkg::Path "/usr/sbin:/usr/bin:/sbin:/bin";
DPkg::Pre-Install-Pkgs "";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
Binary "apt-config";
Binary::apt "";
Binary::apt::APT "";
Binary::apt::APT::Color "1";
Binary::apt::APT::Cache "";
Binary::apt::APT::Cache::Show "";
Binary::apt::APT::Cache::Show::Version "2";
Binary::apt::APT::Cache::AllVersions "0";
Binary::apt::APT::Cache::ShowVirtuals "1";
Binary::apt::APT::Cache::Search "";
Binary::apt::APT::Cache::Search::Version "2";
Binary::apt::APT::Cache::ShowDependencyType "1";
Binary::apt::APT::Cache::ShowVersion "1";
Binary::apt::APT::Get "";
Binary::apt::APT::Get::Upgrade-Allow-New "1";
Binary::apt::APT::Get::Update "";
Binary::apt::APT::Get::Update::InteractiveReleaseInfoChanges "1";
Binary::apt::APT::Cmd "";
Binary::apt::APT::Cmd::Show-Update-Stats "1";
Binary::apt::APT::Keep-Downloaded-Packages "0";
Binary::apt::DPkg "";
Binary::apt::DPkg::Progress-Fancy "1";
CommandLine "";
CommandLine::AsString "apt-config dump";

-- (no /etc/apt/preferences present) --


-- (no /etc/apt/preferences.d/* present) --


-- /etc/apt/sources.list --

deb http://httpredir.debian.org/debian buster main 
deb http://httpredir.debian.org/debian buster-updates main
deb http://security.debian.org buster/updates main

-- (no /etc/apt/sources.list.d/* present) --


-- System Information:
Debian Release: 10.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-9-amd64 (SMP w/4 CPU cores)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8), LANGUAGE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages apt depends on:
ii  adduser                 3.118
ii  debian-archive-keyring  2019.1
ii  gpgv                    2.2.12-1+deb10u1
ii  libapt-pkg5.0           1.8.2.1
ii  libc6                   2.28-10
ii  libgcc1                 1:8.3.0-6
ii  libgnutls30             3.6.7-4+deb10u3
ii  libseccomp2             2.3.3-4
ii  libstdc++6              8.3.0-6

Versions of packages apt recommends:
ii  ca-certificates  20190110

Versions of packages apt suggests:
pn  apt-doc                      <none>
pn  aptitude | synaptic | wajig  <none>
pn  dpkg-dev                     <none>
ii  gnupg                        2.2.12-1+deb10u1
pn  powermgmt-base               <none>

-- no debconf information

--- End Message ---
--- Begin Message ---
On Sun, May 24, 2020 at 11:54:42AM +0200, Leszek Dubiel wrote:
> Package: apt
> Version: 1.8.2.1
> Severity: normal
> 
> I've completely switched to using "apt" for all debian package management. I'm
> fine with the "apt" tool, it fits all my needs except one... serarching. 
> 
> For example I look for package to read/write JSON data in perl. In old days I
> used the command "apt-cache search" like this: 
> 
> 	leszek@len530:~$ apt-cache search perl | egrep JSON | egrep -i data
> 
> and the result was simple: 
> 
> 	libjson-perl - module for manipulating JSON-formatted data
> 	libjson-xs-perl - module for manipulating JSON-formatted data (C/XS-accelerated)
> 	libcatmandu-importer-getjson-perl - load JSON-encoded data from a server using a GET HTTP request
> 	libjson-pp-perl - module for manipulating JSON-formatted data (Pure Perl)
> 	libjson-validator-perl - module to validate data against a JSON schema
> 	libtest-deep-json-perl - Test::Deep plugin for comparing JSON data
> 	libtest-json-perl - module for testing JSON data
> 
> 
> Because "apt search" (not "apt-cache search", just "apt") shows each package on
> two lines, then grepping results is not possible. 
> 
> I've looked at man pages, internet sites to find soultion. Other people have the
> same problem. 
> 
> The soultion is to change "apt search" output: 
> 
> 	leszek@len530:~$ apt search perl JSON data
> 
> from: 
> 
> 	libxml-atom-microformats-perl/focal,focal 0.004-3 all
> 	  parse microformats in Atom content
> 
> 	php-json-schema/focal,focal 5.2.9-1 all
> 	  implementation of JSON schema
> 
> 	php-services-json/focal,focal 1.0.3-1build1 all
> 	  PHP implementaion of json_encode/decode
> 
> 	vim-syntastic/focal,focal 3.10.0-2 all
> 	  Syntax checking hacks for vim
> 
> to:
> 
> 	libxml-atom-microformats-perl/focal,focal 0.004-3 all parse microformats in Atom content
> 	php-json-schema/focal,focal 5.2.9-1 all implementation of JSON schema
> 	php-services-json/focal,focal 1.0.3-1build1 all PHP implementaion of json_encode/decode
> 	vim-syntastic/focal,focal 3.10.0-2 all Syntax checking hacks for vim
> 
> It would make life lot easier. 

It's a feature, not a bug. It's significantly easier to read. Future versions
of apt search will also

* pipe output through a pager, so just search in there
* support searching via patterns, so just search that way (see apt-patterns manpage,
  plus there'll be ?description pattern)

As to scriptable interfaces - we're still working on how to make apt usable
in scripts while maintaining our ability to break the behavior and output
formats. There will probably be some sort of compat levels and/or output
format specifiers at a future point, at which point apt will be useful
in scripts.


-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en

--- End Message ---

Reply to: