Monthly Archive for August, 2007

Alexander Leidinger: Easy library dependencies detection for ports

In the last days I committed some scripts to $PORTSDIR/Tools/scripts which help in detecting the explicit library dependencies of installed ports. You just have to run $PORTSDIR/Tools/scripts/explicit_lib_depends.sh with the package-name of the installed port (alternatively you can give the path to the registered port, e.g. /var/db/pkg/gnome-terminal-2.18.1). One of the scripts which are called needs portupgrade installed. As an example here’s the complete output of a script run with the gnome-terminal port:

# /usr/ports/Tools/scripts/explicit_lib_depends.sh gnome-terminal-2.18.1
USE_FREETYPE=yes
USE_GETTEXT=yes
USE_GNOME+=atk
USE_GNOME+=esound
USE_GNOME+=gconf2
USE_GNOME+=glib20
USE_GNOME+=gnomevfs2
USE_GNOME+=gtk20
USE_GNOME+=libartlgpl2
USE_GNOME+=libbonobo
USE_GNOME+=libbonoboui
USE_GNOME+=libglade2
USE_GNOME+=libgnome
USE_GNOME+=libgnomecanvas
USE_GNOME+=libgnomeui
USE_GNOME+=libxml2
USE_GNOME+=orbit2
USE_GNOME+=pango
USE_GNOME+=vte
USE_ICONV=yes
USE_XORG+=ice
USE_XORG+=sm
USE_XORG+=x11
USE_XORG+=xau
USE_XORG+=xcursor
USE_XORG+=xdmcp
USE_XORG+=xext
USE_XORG+=xfixes
USE_XORG+=xft
USE_XORG+=xi
USE_XORG+=xinerama
USE_XORG+=xrandr
USE_XORG+=xrender
audiofile:${PORTSDIR}/audio/libaudiofile
avahi-client:${PORTSDIR}/net/avahi
avahi-common:${PORTSDIR}/net/avahi
avahi-glib:${PORTSDIR}/net/avahi
cairo:${PORTSDIR}/graphics/cairo
dbus-1:${PORTSDIR}/devel/dbus
dbus-glib-1:${PORTSDIR}/devel/dbus-glib
expat:${PORTSDIR}/textproc/expat2
fontconfig:${PORTSDIR}/x11-fonts/fontconfig
gnome-keyring:${PORTSDIR}/security/gnome-keyring
jpeg:${PORTSDIR}/graphics/jpeg
png:${PORTSDIR}/graphics/png
popt:${PORTSDIR}/devel/popt
startup-notification-1:${PORTSDIR}/x11/startup-notification

All those libraries are directly referenced (dynamically linked in) in the binaries or libs of the gnome-terminal port, indirect (dependencies of dependencies) ones are not listed (and not needed). So the script allows to quickly produce a list of libs/ports which

  • should be referenced in the port Makefile (new port development, port updates)
  • allows to check if a port lists all referenced LIB_DEPENDS (port maintenance)

To do this with all your ports you can run

for port in /var/db/pkg/*; do
echo $port:
/usr/ports/Tools/scripts/explicit_lib_depends.sh $port
done > explicit_depends.txt

Not all USE_* switches of the Ports Collection are handled yet, if you stumble upon such a case, feel free to send me a mail.

Share/Bookmark

Ulf Lilleengen: Huntin’ them bugs

More status updates... I've been fixing many small gvinum bugs the last couple of weeks:

  • The state of gvinum objects were changed after reloading. This meant that objects got the wrong state when gvinum was brought up.
  • Made gvinum always use the most recent configuration it finds when setting object states.
  • Make sure the newest drive is always the newest, and not the first in the drivelist, as was previously assumed.
  • Add "growable"-state to be used when a plex is ready to be grown.
  • Allow a plex to be rebuilt even though it's also growable.
  • Do not change the size of the volume until the plex is completely grown.
  • Add status of growing and rebuild of a plex in the list output.
  • Prevent rebuild to take over the I/O system increasing access-count at the start and end of the rebuild.

Probably a couple of other fixes as well. Also, I've updated the vinum-examples page in the handbook to reflect new features and more practical examples. I've posted a "call for testers" on current@, arch@ and geom@, and have received some response from people who are willing to help me test. Thanks to them. I've uploaded the code-sample that I'll be delivering to google here: http://folk.ntnu.no/lulf/gvinum_soc2007.tar.gz

FreeBSD GNOME Project News: GNOME 2.19.6 available for FreeBSD

Okay, okay, I have missed a few updates. But the FreeBSD GNOME team has not been slacking. We've been keeping up with the latest GNOME development releases including this http://mail.gnome.org/archives/devel-announce-list/2007-August/msg00000.html . Checkout the ports and ../gnome/docs/faq2.html#q21 to see where GNOME 2.20 currently stands. Since 2.10 Beta 1 is right around the corner, now is also the time to start putting together some killer FreeBSD GNOME screenshots. Send all submissions to mailto:freebsd-gnome@FreeBSD.org .

FreeBSD Java Project News: Patchset 1 for JDK™ 1.6 released

Greg Lewis has released the first patchset (patchset 1) in the JDK™ 1.6 series. See the JDK 1.6.x page for more details.