Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Mar 2022 18:54:22 +0100 (CET)
From:      Sysadmin Lists <sysadmin.lists@mailfence.com>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        "bapt@freebsd.org" <bapt@FreeBSD.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-ports@freebsd.org, Eugene Grosbein <eugen@grosbein.net>
Subject:   Re: An idea for a pkg option
Message-ID:  <1162476151.62196.1647971662297@ichabod.co-bxl>
In-Reply-To: <AFBAB216-7B9E-4E4C-9914-CD25AD77709E@yahoo.com>
References:  <84C8C319-4060-47C2-B3DB-0026478BF1A9.ref@yahoo.com> <84C8C319-4060-47C2-B3DB-0026478BF1A9@yahoo.com> <446ab042-e146-60c3-d766-a26742cb1d40@grosbein.net> <AFBAB216-7B9E-4E4C-9914-CD25AD77709E@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
`awk' could probably handle that. Something like this*:

BEGIN { system("pkg update") }
{ while ("pkg info " $1 | getline line > 0) { if ( line ~ /^Available/) { packages = package $1 " "; break } }
END { "pkg -y upgrade " packages }

# awk -f pkg_upgrade.awk ~/origins/CA72-pkgs.txt

1. updates pkg repo[s] once
2. checks each package's info for a line begins with "Available" (I think packages with available updates have such a line)
3. creates a list of those packages
4. updates them all together

* Not tested
** `pkg query' might have an entry for 'available update' but the manpage didn't reveal one
*** you can use a pattern to only match specific packages inside your file; the current empty pattern matches all

> ----------------------------------------
> From: Mark Millard <marklmi@yahoo.com>
> Sent: Tue Mar 22 10:56:56 CET 2022
> To: Eugene Grosbein <eugen@grosbein.net>
> Cc: bapt@freebsd.org <bapt@FreeBSD.org>, <freebsd-ports@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
> Subject: Re: An idea for a pkg option
> 
> 
> On 2022-Mar-22, at 02:34, Eugene Grosbein <eugen@grosbein.net> wrote:
> 
> > 22.03.2022 16:28, Mark Millard wrote:
> > 
> >> So it might look something like:
> >> 
> >> # pkg install --available-ones-of `cat ~/origins/CA72-pkgs.txt`
> >> Updating custom repository catalogue...
> >> custom repository is up to date.
> >> All repositories are up to date.
> >> pkg: No packages available to install matching 'macchiatobin-edk2' have been found in the repositories
> >> pkg: No packages available to install matching 'rpi3-edk2' have been found in the repositories
> >> pkg: No packages available to install matching 'rpi4-edk2' have been found in the repositories
> >> Checking integrity... done (0 conflicting)
> >> The following 1 package(s) will be affected (of 0 checked):
> >> 
> >> New packages to be INSTALLED:
> >> 	llvm14: 14.0.0.r4
> >> 
> >> Number of packages to be installed: 1
> >> 
> >> The process will require 864 MiB more space.
> >> 
> >> Proceed with this action? [y/N]: y
> >> [1/1] Installing llvm14-14.0.0.r4...
> >> [1/1] Extracting llvm14-14.0.0.r4: 100%
> > 
> > Use: pkg install -yU *.pkg
> 
> There may well be packages around that I do not
> want installed unless pulled in as a dependency
> of something that I do want. So a general wild
> card is not what I'm after.
> 
> For my explicit list of what to try to install
> (in the file) your command does not work for
> my purpose/goal:
> 
> # pkg install -yU `cat ~/origins/amd64-pkgs.txt`
> pkg: No packages available to install matching 'rpi4-edk2' have been found in the repositories
> pkg: No packages available to install matching 'rpi4-edk2' have been found in the repositories
> 
> Without the two missing packages being listed in
> the file, your command does:
> 
> # pkg install -yU `cat ~/origins/amd64-pkgs.txt`
> Checking integrity... done (0 conflicting)
> The following 1 package(s) will be affected (of 0 checked):
> 
> New packages to be INSTALLED:
> 	llvm14: 14.0.0.r4
> 
> Number of packages to be installed: 1
> 
> The process will require 1 GiB more space.
> [1/1] Installing llvm14-14.0.0.r4...
> [1/1] Extracting llvm14-14.0.0.r4: 100%
> 
> 
> ===
> Mark Millard
> marklmi at yahoo.com
> 
> 


-- 
Sent with https://mailfence.com  
Secure and private email



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1162476151.62196.1647971662297>