FreeBSD Bugzilla – Attachment 148502 Details for
Bug 193016
ports-mgmt/pkg: pkg upgrade does not use latest version from repo
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
rm_old_multiple_pkgs.sh
rm_old_multiple_pkgs.sh (text/plain), 2.43 KB, created by
Kalten
on 2014-10-20 13:53:02 UTC
(
hide
)
Description:
rm_old_multiple_pkgs.sh
Filename:
MIME Type:
Creator:
Kalten
Created:
2014-10-20 13:53:02 UTC
Size:
2.43 KB
patch
obsolete
>#!/bin/sh >#------------------------------------------------------------------------------- ># Hack against problem of pkg(8), namely: ># Bug 193016 ``pkg upgrade does not use latest version from repo'' >#------------------------------------------------------------------------------- ># *) getNamesOfOldMultiplePkgVersions() ># tells us the file names of the packages that are to be deleted as they ># are those of old versions ># *) deleteOldMultiplePkgVersions() ># asks getNamesOfOldMultiplePkgVersions() for the file names and deletes ># them ># *) look for ``HERE''-Texts to see what to change! >#------------------------------------------------------------------------------- ># HERE: >poudriere_pkgdir="set me to e.g. /usr/local/poudriere/data/packages/100amd64-default" >pkg_extension="txz" >#------------------------------------------------------------------------------- >getNamesOfOldMultiplePkgVersions()##--get-names-of-old-multiple-pkg-versions##tell us the old pkgs with multiple versions >{ > cd "${poudriere_pkgdir}/All/" > portnames_of_multiple=`\ > ls -1 | grep -E "\.${pkg_extension}\$" | \ > sed -E "s|(.+)-[0-9]+.*\.${pkg_extension}|\1|" | \ > sort | uniq -c | \ > grep -Ev "^ +1 " | \ > sed -E "s|^ +[0-9]+ +(.+)|\1|"` > > for portname in ${portnames_of_multiple}; do > pkg_names=`ls -1 ${portname}-[0-9]*.${pkg_extension} | sort -V` > pkg_names_lines=`echo "${pkg_names}" | wc -l` > to_be_deleted_names=`echo "${pkg_names}" | head -n $(( ${pkg_names_lines} -1 ))` > echo "${to_be_deleted_names}" > done >} >#------------------------------------------------------------------------------- >deleteOldMultiplePkgVersions()#@#--delete-old-multiple-pkg-versions##delete the old pkgs with multiple versions >{ > to_be_deleted_names=`getNamesOfOldMultiplePkgVersions` > for pkg_name in ${to_be_deleted_names}; do > echo "rm ${pkg_name}" > rm "${poudriere_pkgdir}/All/${pkg_name}" > done >} >#------------------------------------------------------------------------------- ># main() >{ > # HERE: uncomment what you want: > > ## first you should build packages as usual. > > ## tell us the old pkgs with multiple versions: > getNamesOfOldMultiplePkgVersions > > ## delete the old pkgs with multiple versions: > # deleteOldMultiplePkgVersions > > ## now you could rebuild missing packagesâthis script might have deleted > ## to many of them. > > ## now you should call this: > # pkg repo ${poudriere_pkgdir}/All >} >#------------------------------------------------------------------------------- >#Ende
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 193016
: 148502