Date: Sat, 22 Feb 2014 18:40:15 -0800 From: Kevin Oberman <rkoberman@gmail.com> To: LuKreme <kremels@kreme.com> Cc: FreeBSD Ports ML <freebsd-ports@freebsd.org> Subject: Re: Issues with postmaster after freebsd-update Message-ID: <CAN6yY1uZUTd9_dzgDucV2g7r5mLYhivndMyNRNNw=3YC5SEZQg@mail.gmail.com> In-Reply-To: <263F7C1F-7A99-4D8D-9F4E-FB2D48E8A46A@kreme.com> References: <49D3D50F-9FBF-4247-81D6-5425B8FEBA2D@kreme.com> <52FD5D54.1090000@unfs.us> <DF5C26EB-C4F9-48AA-BCCE-A056C911A015@kreme.com> <CAN6yY1vS4mwfDyGCUF%2BOsMPqGL12wOPQNP4rZA_AgYA89gbLYg@mail.gmail.com> <263F7C1F-7A99-4D8D-9F4E-FB2D48E8A46A@kreme.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Feb 22, 2014 at 5:38 PM, LuKreme <kremels@kreme.com> wrote: > On 13 Feb 2014, at 22:46 , Kevin Oberman <rkoberman@gmail.com> wrote: > > An easier way is to install sysutils/bsddfminscripts and use pkg_libchk > to > > find what needs to be reinstalled. I use the command: > > pkg_libchk -o | grep icu | cut -d: -f1 | sort | uniq > ~/reinstall-ports > > portmaster -D `cat ~/reinstall-ports` > > I finally got pkg installed, so, moving on to this and I have a question, > what is the purpose of the `grep icu` pipe? > pkg_libchk (part of sysutils/bsdafminscripts) tests all libraries and executables installed by all ports for non-existant linked sharables. In this case, the purpose is to get a list of ports that still link to the old version of libicu. So pkg_libchk lists ALL files from ports that have links to the old libicu and then trims it to just the port name, sorts it, and removes dupes. > > I ran the command just to see the output and got just: > > devel/libnotify > > in the file. ran postmaster and now the command returns no results (yay!) > but I did't get to see it in action, so what is the 'icu' that it's cueing > off? > Now that any leftovers from he recent devel/icu update are taken care of, you can run it (pkg_libchk -o) again to make sure that there are no other ports installed files that are missing links. Hopefully there are none. Or just run the command without the grep to get a complete list, but some ports do generate false positives because they don't use the system to load shared libs.Java and openoffice have been noted as examples, but I think that openjdk no longer does this. I don't use openoffice any more, so I don't know if that has been changed. You can also "fix" these issues using the -r option to portmaster, but that often rebuilds ports that, while dependent, don't actually link to the library in question. This is frequently a list two or three times as long as the list that actually needs to be rebuilt. Use of pkg_libchk will let you only rebuild the ports that actually need it. -- R. Kevin Oberman, Network Engineer, Retired E-mail: rkoberman@gmail.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1uZUTd9_dzgDucV2g7r5mLYhivndMyNRNNw=3YC5SEZQg>