Solved [Solved] Poudriere, pkg shlib, oh my!

Is there a proper/good way to combine the output of pkg check, pkg shlib, with poudriere? Without having to rebuild everything, just the effected ports?

I get lots of Missing Library errors after rebuilding ports with poudriere. As expected, consistent with life. And then, I can track down all the effected packages with pkg check -Bv. But, is there a way to marry the two, so Poudriere will just rebuild everything with library issues? and not everything everything.

I'm novice user trying to figure this out, without a lot of expertise in the process/situation.

Edit: Changed pkg shlip to pkg check. I confused pkg shlib with pkg check.
 
Re: Poudriere, pkg shlib, oh my!

Code:
Shared object "libpixman-1.so.30" not found, required by "X"
Shared object "libfreetype.so.9" not found, required by "X"
Shared object "libxcb.so.2" not found, required by "libxkbfile.so.1"
Shared object "libxcb.so.2" not found, required by "libxkbfile.so.1"

These are picked out from
Code:
pkg check -Bv

I was able to temp-fix them by creating links to the new library. But I want to fix it the right way.
 
Re: Poudriere, pkg shlib, oh my!

There was about 7 altogether I needed to temp-fix to get everything up and running.

I do build all ports myself, using ports-mgmt/poudriere. And only use the resulting repository.

I recently used poudriere to build a single port. It rebuilt a bunch of ports, automatically, as a result. Which, its done before. But, this time, lots of library issues. Could this be what caused it? Building a single port, weeks later, after I did the initial build of everything?

I don't know enough about it to pinpoint what caused it.
 
Re: Poudriere, pkg shlib, oh my!

You should always use your pre-made list of ports with poudriere bulk, rebuilding just one port doesn't guarantee that the other ports in the repository are checked if they need to be rebuilt as well.
 
Re: Poudriere, pkg shlib, oh my!

What about a situation where I want to add something later? Not necessarily rebuilding something that was already built, but adding a new port?

This server in particular is used for Virtualbox. Everything runs really well. Then I wanted to try out net/remotebox. So, I just ran
Code:
poudriere options -j myJail net/remotebox
poudriere bulk -j myJail net/remotebox

Is this a bad thing to do?

Should I always just rebuild everything if I'm going to add a port?
 
Re: Poudriere, pkg shlib, oh my!

I think I confused the commands earlier too. Edited my previous post to reflect pkg check -Bv used to sanity check, and then pkg shlib library.so.1 to find all the ports that use the library.
 
Re: Poudriere, pkg shlib, oh my!

You can just add an entry for the new port to the list of ports to be built. Next time you run poudriere bulk -j myjail -f ports.txt only the new ports or ports that need to be rebuilt will be built. If you know that the port you're adding is not needed by any other ports then it's safe to build it separately.
 
Re: Poudriere, pkg shlib, oh my!

rhish said:
Is this a bad thing to do?
Nope :D

Should I always just rebuild everything if I'm going to add a port?
By default poudriere only rebuilds ports that have been added or had their options/versions changed. It will only rebuild everything from scratch if you add the -c switch. So adding a single port to your list and running poudriere bulk is good, if your other packages are up to date it will only build that one port. If you set up a web server for poudriere's web interface you can keep better track of the build process and what exactly was (re)build.
 
Re: Poudriere, pkg shlib, oh my!

I think this may be the problem I'm having then. I've built multiple ports, from the command line, outside of the initial list.

Is there a way to compile an accurate list afterwards?

I can list out every package I've built. But, they need the corresponding Category. Any ideas how I could generate a list, in the format poudriere wants, category/port without having to do it by hand?
 
Re: Poudriere, pkg shlib, oh my!

Trying to use a pkg rquery against my repo to see if I can spit out the exact list Category/Port for everything in the repo.
 
Re: Poudriere, pkg shlib, oh my!

Ok, got my new list done!

pkg rquery -a %o > list

vim list

:sort u

List!

Going to just rebuild everything from here and use the prescribed advice of always just adding ports to the one centralized list.

Thanks everyone!
 
Back
Top