Date: Tue, 01 Jul 2014 11:12:11 +0200 From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no> To: pkg@freebsd.org Subject: "pkg upgrade" doesn't Message-ID: <864mz1fno4.fsf@nine.des.no>
next in thread | raw e-mail | index | archive | help
I have two package repos, des-freebsd (freebsd ports tree) and des-local (home-made packages). Since poudriere is unable to build from a ports tree that has external dependencies, I have copies of pkg and pkg-devel in des-local. poudriere is set up to use pkg 1.2 (WITH_PKGNG=3Dyes, not devel) to build packages, but I assume it still uses whatever is installed locally to generate the repo. I am running: poudriere-devel-3.0.99.20140619_1 (from des-freebsd) pkg-devel-1.3.0.b8_2 (from des-local) des-freebsd has pkg-devel-1.3.0.b8_1, which is 1.3.0.b8 + the repopath patch (103236), while des-local has 1.3.0.b8_2, which is 1.3.0.b8 + a larger set of patches from git, equivalent to e230daa (which is essentially equivalent to 1.3.0.b9). After 1.3.0.b9 came out, I reverted my local changes, updated my ports tree and tried a partial bulk: # poudriere bulk -j 100amd64 ports-mgmt/{pkg,poudriere}{,-devel} which built poudriere-devel-3.0.99.20140626 and pkg-devel-1.3.0.b9 in the des-freebsd repository. However, pkg upgrade did not offer to upgrade pkg-devel. So: # pkg-update -f [...] # pkg rquery %n-%v pkg-devel pkg-devel-1.3.0.b8_2 pkg-devel-1.3.0.b8_1 (the first is des-local, the second is des-freebsd) Wait, what? I just built b9! # ls /poudriere/data/packages/100amd64-default/.latest/All/pkg-devel-1.3.0.= b* /poudriere/data/packages/100amd64-default/.latest/All/pkg-devel-1.3.0.b8_1.= txz /poudriere/data/packages/100amd64-default/.latest/All/pkg-devel-1.3.0.b9.txz Question 1: why did poudriere not remove b8_1 before building b9? Let's regenerate the repo, but to be on the safe side, use 1.2: # ./pkg-static-1.2 -v 1.2.7_3 # ./pkg-static-1.2 repo /poudriere/data/packages/100amd64-default/.latest/ Generating repository catalog in /poudriere/data/packages/100amd64-default/= .latest/: done! Now the repo looks good: # pkg update -f [...] # pkg rquery %n-%v pkg-devel=20=20=20=20=20=20 pkg-devel-1.3.0.b8_2 pkg-devel-1.3.0.b9 but still: # pkg upgrade Updating repository catalogue pkg: http://pkg.des.no/local/freebsd:10:x86:64/meta.txz: Not Found pkg: repository des-local has no meta file, using default settings des-local repository catalogue is up-to-date, no need to fetch fresh copy pkg: http://pkg.des.no/freebsd/freebsd:10:x86:64/meta.txz: Not Found pkg: repository des-freebsd has no meta file, using default settings des-freebsd repository catalogue is up-to-date, no need to fetch fresh copy Your packages are up to date Maybe it doesn't want to upgrade a package installed from des-local to a newer version from a different repo? Let's force it: # pkg install -r des-freebsd -f pkg-devel=20=20 Updating "des-freebsd" repository catalogue pkg: http://pkg.des.no/freebsd/freebsd:10:x86:64/meta.txz: Not Found pkg: repository des-freebsd has no meta file, using default settings des-freebsd repository catalogue is up-to-date, no need to fetch fresh copy The most recent version of packages are already installed BTW, it would be nice to have a) a query pattern that prints the repository a package was installed from and b) a "pkg set" option to change that. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?864mz1fno4.fsf>