# Many Poudriere builds - only few packages upgraded by pkg



## getopt (May 9, 2015)

Usually I see huge lists that Poudriere is going to build, but only a few packages of the build are going to be installed by pkg. This means that Poudriere builds for hours (the usual suspect big ones) packages that never are going to be updated.

poudriere.conf has 
	
	



```
CHECK_CHANGED_DEPS=no
```

Today the list is easy to grasp so here it is:

Poudriere: 19 ports

```
dri-10.4.6,2 missing dependency libdrm-2.4.60,1
firefox-37.0.2_1,1 missing dependency libGL-10.4.6
fox16-1.6.50_1 missing dependency libGLU-9.0.0_2
git-2.4.0 new version
libGL-10.4.6 missing dependency libdrm-2.4.60,1
libGLU-9.0.0_2 missing dependency libGL-10.4.6
libdrm-2.4.60,1 missing dependency [i]libpciaccess-0.13.3[/i]
libglapi-10.4.6 missing dependency libdrm-2.4.60,1
[i]libpciaccess-0.13.3[/i] missing dependency [b]pciids-20150428[/b]
mupdf-1.7,1 new version
[b]pciids-20150428 new version[/b]
pkg-1.5.2 new version
tmux-2.0 new version
vim-7.4.712 new version
xf86-input-keyboard-1.8.0_7 missing dependency xorg-server-1.14.7_4,1
xf86-input-mouse-1.9.1 missing dependency xorg-server-1.14.7_4,1
xf86-video-intel-2.21.15_8 missing dependency xorg-server-1.14.7_4,1
xfe-1.40 missing dependency fox16-1.6.50_1
xorg-server-1.14.7_4,1 missing dependency [i]libpciaccess-0.13.3[/i]
```

Upgraded by Pkg: 6 ports

```
pkg: pkg upgraded: 1.5.1 -> 1.5.2 
pkg: vim upgraded: 7.4.691 -> 7.4.712 
pkg: tmux upgraded: 1.9a_1 -> 2.0 
[b]pkg: pciids upgraded: 20150417 -> 20150428[/b]
pkg: mupdf upgraded: 1.6,1 -> 1.7,1 
pkg: git upgraded: 2.3.7 -> 2.4.0
```

Not upgraded by Pkg: 13 ports

```
dri-10.4.6,2
firefox-37.0.2_1,1
fox16-1.6.50_1
libGL-10.4.6
libGLU-9.0.0_2
libdrm-2.4.60,1
libglapi-10.4.6
[i]libpciaccess-0.13.3[/i]
xf86-input-keyboard-1.8.0_7
xf86-input-mouse-1.9.1
xf86-video-intel-2.21.15_8
xfe-1.40
xorg-server-1.14.7_4,1
```

*pciids-20150428 new version* gets built and upgraded by Pkg, but all the other ports that depend on that are never going to be reinstalled by Pkg.

1: Shouldn't all new built packages be upgraded?
2: If not, why Poudriere is building them?
3: Is there a knob to be configured for more efficiency?


----------



## kpa (May 9, 2015)

They are rebuilt unconditionally because it is not known in advance if a new version of a dependency (for example misc/pciids) also causes the dependent ports (for example devel/libpciaccess ) to change in such a way that they need reinstallation. It's only after the dependent ports have been rebuilt when it can be decided if the rebuild was really needed, the ports(7) system has no way of telling that. 

Usually nothing changes and ports-mgmt/pkg treats the new package the same as the old as you saw in your case with those 13 ports. In a rare case the rebuild can trigger a new dependency or change in the options of the port and those have to be caught somehow. There is no shortcut available at the moment to reduce the amount of rebuilds that need to be done.


----------

