From owner-freebsd-ports@FreeBSD.ORG Fri Oct 25 23:40:08 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 93512B07 for ; Fri, 25 Oct 2013 23:40:08 +0000 (UTC) (envelope-from ken@pcbsd.org) Received: from mail.iXsystems.com (newknight.ixsystems.com [206.40.55.70]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 75BE62A31 for ; Fri, 25 Oct 2013 23:40:08 +0000 (UTC) Received: from localhost (mail.ixsystems.com [10.2.55.1]) by mail.iXsystems.com (Postfix) with ESMTP id E8A1167566 for ; Fri, 25 Oct 2013 16:40:07 -0700 (PDT) Received: from mail.iXsystems.com ([10.2.55.1]) by localhost (mail.ixsystems.com [10.2.55.1]) (maiad, port 10024) with ESMTP id 00500-09 for ; Fri, 25 Oct 2013 16:40:07 -0700 (PDT) Received: from [192.168.0.103] (66-191-252-139.dhcp.kgpt.tn.charter.com [66.191.252.139]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.iXsystems.com (Postfix) with ESMTPSA id 5004367561 for ; Fri, 25 Oct 2013 16:40:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ixsystems.com; s=newknight0; t=1382744407; bh=kTkE8ZWbWutFSrDiX2pMoM0vswveVCD01minM5Gnrs8=; h=Date:From:To:Subject:References:In-Reply-To; b=pYskFSYODA3QMIi7YVqkosF/QBnr/r26klWgIQ9fIsHqMy8lF2ZrS0sEI/ULmYHuO c5Tex3NtEKskdBAqmO++0KpdiGoNOYyyNFqkxqxSoAQ+N6g9JA4xGf+3skNLhXzXnN YhtZjR2zC0VgBzW2BZA8IPnCBikT+JkEbqBGKbUw= Message-ID: <526B0156.1010004@pcbsd.org> Date: Fri, 25 Oct 2013 19:40:06 -0400 From: Ken Moore User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: freebsd-ports@freebsd.org Subject: Re: PKGNG: ability to view pkg-plist? References: <526AA934.10405@pcbsd.org> <526AEB3A.3020004@FreeBSD.org> In-Reply-To: <526AEB3A.3020004@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Oct 2013 23:40:08 -0000 On 10/25/2013 18:05, Matthew Seaman wrote: > On 25/10/2013 18:24, Ken Moore wrote: >> I have been looking around, but I am unable to find a way to easily read >> the pkg-plist within a PKGNG package on the repository. Is this >> functionality missing in pkg, or am I just missing something? > If you've downloaded the package tarball, then like this: > > lucid-nonsense:...cache/pkg/All:% pkg info -l -F ./pkg-1.1.4_8.txz > pkg-1.1.4_8: > /usr/local/share/licenses/pkg-1.1.4_8/catalog.mk > /usr/local/share/licenses/pkg-1.1.4_8/LICENSE > /usr/local/share/licenses/pkg-1.1.4_8/BSD > /usr/local/etc/pkg.conf.sample > /usr/local/sbin/pkg > /usr/local/sbin/pkg-static > /usr/local/sbin/pkg2ng > /usr/local/include/pkg.h > /usr/local/lib/libpkg.so.1 > /usr/local/lib/libpkg.so > /usr/local/lib/libpkg.a > /usr/local/etc/periodic/daily/400.status-pkg > /usr/local/etc/periodic/daily/411.pkg-backup > /usr/local/etc/periodic/daily/490.status-pkg-changes > /usr/local/etc/periodic/security/410.pkg-audit > /usr/local/etc/periodic/security/460.pkg-checksum > /usr/local/libdata/pkgconfig/pkg.pc > /usr/local/man/man3/pkg_printf.3.gz > /usr/local/man/man5/pkg-repository.5.gz > /usr/local/man/man5/pkg.conf.5.gz > /usr/local/man/man8/pkg-add.8.gz > /usr/local/man/man8/pkg-annotate.8.gz > /usr/local/man/man8/pkg-audit.8.gz > /usr/local/man/man8/pkg-autoremove.8.gz > /usr/local/man/man8/pkg-backup.8.gz > /usr/local/man/man8/pkg-check.8.gz > /usr/local/man/man8/pkg-clean.8.gz > /usr/local/man/man8/pkg-convert.8.gz > /usr/local/man/man8/pkg-create.8.gz > /usr/local/man/man8/pkg-delete.8.gz > /usr/local/man/man8/pkg-fetch.8.gz > /usr/local/man/man8/pkg-info.8.gz > /usr/local/man/man8/pkg-install.8.gz > /usr/local/man/man8/pkg-lock.8.gz > /usr/local/man/man8/pkg-query.8.gz > /usr/local/man/man8/pkg-register.8.gz > /usr/local/man/man8/pkg-remove.8.gz > /usr/local/man/man8/pkg-repo.8.gz > /usr/local/man/man8/pkg-rquery.8.gz > /usr/local/man/man8/pkg-search.8.gz > /usr/local/man/man8/pkg-set.8.gz > /usr/local/man/man8/pkg-shell.8.gz > /usr/local/man/man8/pkg-shlib.8.gz > /usr/local/man/man8/pkg-static.8.gz > /usr/local/man/man8/pkg-stats.8.gz > /usr/local/man/man8/pkg-unlock.8.gz > /usr/local/man/man8/pkg-update.8.gz > /usr/local/man/man8/pkg-updating.8.gz > /usr/local/man/man8/pkg-upgrade.8.gz > /usr/local/man/man8/pkg-version.8.gz > /usr/local/man/man8/pkg-which.8.gz > /usr/local/man/man8/pkg.8.gz > /usr/local/share/zsh/site-functions/_pkg > /usr/local/etc/bash_completion.d/_pkg.bash > > Otherwise there is an optional '-l' flag to 'pkg repo' that creates a > database of all of the files installable by all of the packages in the > repo -- which should be downloadable as 'filesite.txz'. Whether this > exists or not depends on the choices of the repository maintainer. It's > not currently available from the official repos for http://pkg.freebsd.org/ > > >> Just for a bit of context: >> I am working on adding the functionality into EasyPBI to work *without* >> a local copy of the ports tree available, so I am trying to grab all the >> information about a given package from the remote repository (with user >> privileges) to maintain the "Easy" part of EasyPBI in the new version. >> Most of the information can be easily pulled using "pkg rquery", but the >> only thing I am still missing is the ability to search through the >> pkg-plist for binaries/icons/etc.. > Yeah -- the repository catalogue is a collection of selected package > metadata for the packages in the repo. Unfortunately the lists of files > and directories from each package aren't part of that selection. Mostly > because of the space they'd take up. > > Whether it would be desirable to publish a 'filesite.txz' index of all > the files in the packages on the official repos is a matter for debate. > It would probably mean some changes to poudriere too -- I can't see any > obvious way of telling it to run 'pkg repo -l' instead of plain 'pkg repo'. > > Cheers, > > Matthew > Thanks for the confirmation. The only way I am seeing that it can be done at the moment is to download and/or install the package first, and then there are a couple of pkg command for getting the pkg-plist ("pkg info -l -F" if not installed, "pkg query %Fp" if it is installed). Unfortunately, this generally requires root/admin permissions to fetch the package (unless I change the package cache dir, but I am hesitant to do that for a simple application like this), so that is out of the question for my use case. I will look into the "pkg repo -l" option and see if that will work. If so, we might be able to use that on the PC-BSD package repo, and I can just tell people that the simplifications for generating XDG desktop/menu entries are only available if you are using a repository with that option enabled. Is a general way to list the files in a package that important for others, or is my case very specialized? I can think of a few situations where it might be a nice option to search for package(s) on the repo that contains a particular binary name, but I might be in a very small group of people that would actually use it. Thanks! -- ~~ Ken Moore ~~ PC-BSD/iXsystems