Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 183657 - app-portage/gentoolkit: revdep-rebuild not working on FreeBSD
Summary: app-portage/gentoolkit: revdep-rebuild not working on FreeBSD
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: FreeBSD (show other bugs)
Hardware: All FreeBSD
: High normal (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on: 184042
Blocks:
  Show dependency tree
 
Reported: 2007-06-29 14:35 UTC by Joe Peterson (RETIRED)
Modified: 2007-10-24 11:41 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
files/gentoolkit-0.2.4_pre5-freebsd.patch (gentoolkit-0.2.4_pre5-freebsd.patch,761 bytes, patch)
2007-06-29 14:36 UTC, Joe Peterson (RETIRED)
Details | Diff
gentoolkit-0.2.4_pre5.ebuild (gentoolkit-0.2.4_pre5.ebuild.diff,648 bytes, patch)
2007-06-29 14:36 UTC, Joe Peterson (RETIRED)
Details | Diff
revdep-rebuild patch (revdep-rebuild.patch,1.15 KB, patch)
2007-07-28 18:54 UTC, Joe Peterson (RETIRED)
Details | Diff
.rdr.0_env (rdr.0_env,622 bytes, text/plain)
2007-07-31 21:38 UTC, Joe Peterson (RETIRED)
Details
.rdr.1_files (rdr.1_files,148.16 KB, text/plain)
2007-07-31 21:39 UTC, Joe Peterson (RETIRED)
Details
.rdr.2_ldpath (rdr.2_ldpath,9.79 KB, text/plain)
2007-07-31 21:39 UTC, Joe Peterson (RETIRED)
Details
.rdr.3_ldd_errors (rdr.3_ldd_errors,50.19 KB, text/plain)
2007-07-31 21:40 UTC, Joe Peterson (RETIRED)
Details
revdep-rebuild.patch (revdep-rebuild.patch,1.71 KB, patch)
2007-08-01 14:32 UTC, Joe Peterson (RETIRED)
Details | Diff
Current version from SVN (revdep-rebuild-rewrite,26.50 KB, text/plain)
2007-08-07 01:36 UTC, Paul Varner (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Peterson (RETIRED) gentoo-dev 2007-06-29 14:35:35 UTC
revdep-rebuild assumes the existence of md5sum, but this is part of Linux coreutils and is not on FreeBSD.  There is a utility called "md5" that should be used in md5sum's absence, and if you give it the "-q" flag (which gives the checksum only), the formatting differences (for the sake of revdep-rebuild's use) should be no issue.  I will attach a patch.
Comment 1 Joe Peterson (RETIRED) gentoo-dev 2007-06-29 14:36:28 UTC
Created attachment 123391 [details, diff]
files/gentoolkit-0.2.4_pre5-freebsd.patch

Patch to use either md5sum or md5
Comment 2 Joe Peterson (RETIRED) gentoo-dev 2007-06-29 14:36:58 UTC
Created attachment 123393 [details, diff]
gentoolkit-0.2.4_pre5.ebuild

New ebuild using patch
Comment 3 Joe Peterson (RETIRED) gentoo-dev 2007-06-29 14:49:19 UTC
P.S.  Please note my comment in the else statement in my patch.  Not sure what to do if nothing is found... (shouldn't happen though)
Comment 4 Timothy Redaelli (RETIRED) gentoo-dev 2007-06-29 15:25:57 UTC
Maybe "openssl md5" :P ?
Btw i think it's an useless check since you HAVE md5sum or md5.
Comment 5 Paul Varner (RETIRED) gentoo-dev 2007-07-16 19:41:20 UTC
BSD folks, can you please test the rewritten revdep-rebuild in bug #184042?  I tried to install a x86-bsd system under vmware server and it kept crashing the server, so I am unable to do any basic testing.  The fix for this bug is included in that rewrite.
Comment 6 Paul Varner (RETIRED) gentoo-dev 2007-07-27 21:42:27 UTC
revdep-rebuild in gentoolkit-0.2.4_pre6 should have this issue resolved. Please reopen if that is not the case.
Comment 7 Joe Peterson (RETIRED) gentoo-dev 2007-07-28 18:52:54 UTC
Paul, I'm reopening this bug and changing the summary, even though the problem is not md5sum anymore.  Basically, the new revdep-rebuild doesn't work on fbsd (I thought it did before, since I did not have any broken libs, but now I do).

I know of two issues, and I fixed these (I'll attach the patch).  One is that you need to include /etc/init.d/functions.sh to get "eerror", etc.  The other is that the find() function doesn't work correctly.  I believe I fixed this, but now I still get no found broken libs (and there are ones that should be found), and I get an error during configuring search environment.  Here's the output from the new version:

---------

WARNING
WARNING *** This is a rewritten version of revdep-rebuild ***
WARNING
WARNING
WARNING Please report any bugs to http://bugs.gentoo.org
WARNING 
WARNING In the bug report please include the following information:
WARNING     emerge --info
WARNING     A copy of the output from the revdep-rebuild command
WARNING     A copy of the .revdep-rebuild* files as an attachment
WARNING
WARNING If the bug is severe, the previous version of revdep-rebuild is located
WARNING at: /usr/lib/gentoolkit/bin/revdep-rebuild
WARNING
WARNING
WARNING *** This is a rewritten version of revdep-rebuild ***
WARNING

 * Configuring search environment for rdr
find: /root/.rdr.*: No such file or directory

 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new /root/.rdr.1_files

 * Collecting complete LD_LIBRARY_PATH
 * Generated new /root/.rdr.2_ldpath

 * Checking dynamic linking consistency
[ 100% ]                 

 * Dynamic linking on your system is consistent... All done. 

----------

Here's the output from the old program:

----------

Configuring search environment for revdep-rebuild

Checking reverse dependencies...

Packages containing binaries and libraries broken by a package update
will be emerged.

Collecting system binaries and libraries... done.
  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.
  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...
  broken /usr/bin/dbus-binding-tool (requires  libexpat.so.1)
  broken /usr/bin/dbus-daemon (requires  libexpat.so.1)
  broken /usr/bin/gdb (requires  libexpat.so.1)
  broken /usr/bin/gdbtui (requires  libexpat.so.1)
  broken /usr/bin/wxrc-2.6 (requires  libexpat.so.1)
  broken /usr/bin/xgettext (requires  libexpat.so.1)
  broken /usr/lib/dri/i810_dri.so (requires  libexpat.so.1)
  broken /usr/lib/dri/i915_dri.so (requires  libexpat.so.1)
  broken /usr/lib/dri/i915tex_dri.so (requires  libexpat.so.1)
  broken /usr/lib/dri/i965_dri.so (requires  libexpat.so.1)
  broken /usr/lib/libwx_base_xml-2.6.so.0.3.1 (requires  libexpat.so.1)
  broken /usr/lib/libwx_baseu_xml-2.6.so.0.3.1 (requires  libexpat.so.1)
  broken /usr/lib/libwx_gtk2_gizmos_xrc-2.6.so.0.3.1 (requires  libexpat.so.1)
  broken /usr/lib/libwx_gtk2u_gizmos_xrc-2.6.so.0.3.1 (requires  libexpat.so.1)
 done.
  (/root/.revdep-rebuild.3_rebuild)

Assigning files to packages...
  /usr/bin/dbus-binding-tool -> dev-libs/dbus-glib
  /usr/bin/dbus-daemon -> sys-apps/dbus
  /usr/bin/gdb -> sys-devel/gdb
  /usr/bin/gdbtui -> sys-devel/gdb
  /usr/bin/wxrc-2.6 -> x11-libs/wxGTK
  /usr/bin/xgettext -> sys-devel/gettext
  /usr/lib/dri/i810_dri.so -> media-libs/mesa
  /usr/lib/dri/i915_dri.so -> media-libs/mesa
  /usr/lib/dri/i915tex_dri.so -> media-libs/mesa
  /usr/lib/dri/i965_dri.so -> media-libs/mesa
  /usr/lib/libwx_base_xml-2.6.so.0.3.1 -> x11-libs/wxGTK
  /usr/lib/libwx_baseu_xml-2.6.so.0.3.1 -> x11-libs/wxGTK
  /usr/lib/libwx_gtk2_gizmos_xrc-2.6.so.0.3.1 -> x11-libs/wxGTK
  /usr/lib/libwx_gtk2u_gizmos_xrc-2.6.so.0.3.1 -> x11-libs/wxGTK
 done.
  (/root/.revdep-rebuild.4_packages_raw, /root/.revdep-rebuild.4_package_owners)

Cleaning list of packages to rebuild... done.
  (/root/.revdep-rebuild.4_packages)

Assigning packages to ebuilds... done.
  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.
  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...
emerge --oneshot -p =sys-devel/gettext-0.16.1-r1 =sys-devel/gdb-6.6-r2 =media-li
bs/mesa-6.5.2-r1 =sys-apps/dbus-1.0.2-r2 =dev-libs/dbus-glib-0.73 =x11-libs/wxGT
K-2.6.3.3 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-devel/gettext-0.16.1-r1  
[ebuild   R   ] sys-devel/gdb-6.6-r2  
[ebuild   R   ] media-libs/mesa-6.5.2-r1  
[ebuild   R   ] sys-apps/dbus-1.0.2-r2  
[ebuild   R   ] dev-libs/dbus-glib-0.73  
[ebuild   R   ] x11-libs/wxGTK-2.6.3.3  
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
Comment 8 Joe Peterson (RETIRED) gentoo-dev 2007-07-28 18:54:38 UTC
Created attachment 126250 [details, diff]
revdep-rebuild patch

This patch fixes the find() function on non-Linux and adds a source of /etc/init.d/functions.sh.  Still there are problems (see last comment).
Comment 9 Joe Peterson (RETIRED) gentoo-dev 2007-07-29 04:53:15 UTC
Note that I have removed the ~x86-fbsd keyword until we resolve this.
Comment 10 Paul Varner (RETIRED) gentoo-dev 2007-07-30 22:15:08 UTC
$ svn commit -m "Add patch for find from bug #183657"
Sending        revdep-rebuild/revdep-rebuild-rewrite
Transmitting file data .
Committed revision 425.

I've left the source /etc/init.d/functions.sh line out for now while I figure out the best way to handle it.  The file is sourced, just not before some calls to ewarn, einfo, etc.  It is not being sourced until the NOCOLOR preference is known.

For the issue of it not finding the broken library, can you please attach all of the /root/.rdr* files?
Comment 11 Joe Peterson (RETIRED) gentoo-dev 2007-07-31 21:35:32 UTC
OK, I have just run this again to capture the issue.  With the old revdep-rebuild, I get the following, but with the new one, I get "Dynamic linking on your system is consistent... All done.".  I will attach the /root/.rdr.* files from the new version momentarily.

Checking dynamic linking consistency...
  broken /usr/bin/cancel (requires  libgnutls.so.15)
  broken /usr/bin/cupstestdsc (requires  libgnutls.so.15)
  broken /usr/bin/cupstestppd (requires  libgnutls.so.15)
  broken /usr/bin/lp (requires  libgnutls.so.15)
  broken /usr/bin/lpoptions (requires  libgnutls.so.15)
  broken /usr/bin/lppasswd (requires  libgnutls.so.15)
  broken /usr/bin/lpq (requires  libgnutls.so.15)
  broken /usr/bin/lpr (requires  libgnutls.so.15)
  broken /usr/bin/lprm (requires  libgnutls.so.15)
  broken /usr/bin/lpstat (requires  libgnutls.so.15)
  broken /usr/lib/libcups.so.2 (requires  libgnutls.so.15)
  broken /usr/lib/libcupsimage.so.2 (requires  libgnutls.so.15)
  broken /usr/lib/libgnomecups-1.0.so.1 (requires  libgnutls.so.15)
  broken /usr/lib/libgnomeprint/2.18.0/modules/libgnomeprintcups.so (requires  libgnutls.so.15)
  broken /usr/lib/libgnutls-extra.so.16 (requires  libgnutls.so.15)
  broken /usr/lib/libgnutls-openssl.so.16 (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/ipp (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/lpd (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/parallel (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/scsi (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/serial (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/snmp (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/socket (requires  libgnutls.so.15)
  broken /usr/libexec/cups/backend/usb (requires  libgnutls.so.15)
  broken /usr/libexec/cups/cgi-bin/admin.cgi (requires  libgnutls.so.15)
  broken /usr/libexec/cups/cgi-bin/classes.cgi (requires  libgnutls.so.15)
  broken /usr/libexec/cups/cgi-bin/help.cgi (requires  libgnutls.so.15)
  broken /usr/libexec/cups/cgi-bin/jobs.cgi (requires  libgnutls.so.15)
  broken /usr/libexec/cups/cgi-bin/printers.cgi (requires  libgnutls.so.15)
  broken /usr/libexec/cups/daemon/cups-deviced (requires  libgnutls.so.15)
  broken /usr/libexec/cups/daemon/cups-driverd (requires  libgnutls.so.15)
  broken /usr/libexec/cups/daemon/cups-lpd (requires  libgnutls.so.15)
  broken /usr/libexec/cups/daemon/cups-polld (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/gziptoany (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/hpgltops (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/imagetops (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/imagetoraster (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/pstops (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/rastertoepson (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/rastertohp (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/rastertolabel (requires  libgnutls.so.15)
  broken /usr/libexec/cups/filter/texttops (requires  libgnutls.so.15)
  broken /usr/libexec/cups/monitor/bcp (requires  libgnutls.so.15)
  broken /usr/libexec/cups/monitor/tbcp (requires  libgnutls.so.15)
  broken /usr/libexec/cups/notifier/mailto (requires  libgnutls.so.15)
  broken /usr/libexec/cups/notifier/testnotify (requires  libgnutls.so.15)
  broken /usr/sbin/accept (requires  libgnutls.so.15)
  broken /usr/sbin/cupsaddsmb (requires  libgnutls.so.15)
  broken /usr/sbin/cupsd (requires  libgnutls.so.15)
  broken /usr/sbin/lpadmin (requires  libgnutls.so.15)
  broken /usr/sbin/lpc (requires  libgnutls.so.15)
  broken /usr/sbin/lpinfo (requires  libgnutls.so.15)
  broken /usr/sbin/lpmove (requires  libgnutls.so.15)
 done.
  (/root/.revdep-rebuild.3_rebuild)

Assigning files to packages...
  /usr/bin/cancel -> net-print/cups
  /usr/bin/cupstestdsc -> net-print/cups
  /usr/bin/cupstestppd -> net-print/cups
  /usr/bin/lp -> net-print/cups
  /usr/bin/lpoptions -> net-print/cups
  /usr/bin/lppasswd -> net-print/cups
  /usr/bin/lpq -> net-print/cups
  /usr/bin/lpr -> net-print/cups
  /usr/bin/lprm -> net-print/cups
  /usr/bin/lpstat -> net-print/cups
  /usr/lib/libcups.so.2 -> net-print/cups
  /usr/lib/libcupsimage.so.2 -> net-print/cups
  /usr/lib/libgnomecups-1.0.so.1 -> net-print/libgnomecups
  /usr/lib/libgnomeprint/2.18.0/modules/libgnomeprintcups.so -> gnome-base/libgnomeprint
  /usr/lib/libgnutls-extra.so.16 -> net-libs/gnutls
  /usr/lib/libgnutls-openssl.so.16 -> net-libs/gnutls
  /usr/libexec/cups/backend/ipp -> net-print/cups
  /usr/libexec/cups/backend/lpd -> net-print/cups
  /usr/libexec/cups/backend/parallel -> net-print/cups
  /usr/libexec/cups/backend/scsi -> net-print/cups
  /usr/libexec/cups/backend/serial -> net-print/cups
  /usr/libexec/cups/backend/snmp -> net-print/cups
  /usr/libexec/cups/backend/socket -> net-print/cups
  /usr/libexec/cups/backend/usb -> net-print/cups
  /usr/libexec/cups/cgi-bin/admin.cgi -> net-print/cups
  /usr/libexec/cups/cgi-bin/classes.cgi -> net-print/cups
  /usr/libexec/cups/cgi-bin/help.cgi -> net-print/cups
  /usr/libexec/cups/cgi-bin/jobs.cgi -> net-print/cups
  /usr/libexec/cups/cgi-bin/printers.cgi -> net-print/cups
  /usr/libexec/cups/daemon/cups-deviced -> net-print/cups
  /usr/libexec/cups/daemon/cups-driverd -> net-print/cups
  /usr/libexec/cups/daemon/cups-lpd -> net-print/cups
  /usr/libexec/cups/daemon/cups-polld -> net-print/cups
  /usr/libexec/cups/filter/gziptoany -> net-print/cups
  /usr/libexec/cups/filter/hpgltops -> net-print/cups
  /usr/libexec/cups/filter/imagetops -> net-print/cups
  /usr/libexec/cups/filter/imagetoraster -> net-print/cups
  /usr/libexec/cups/filter/pstops -> net-print/cups
  /usr/libexec/cups/filter/rastertoepson -> net-print/cups
  /usr/libexec/cups/filter/rastertohp -> net-print/cups
  /usr/libexec/cups/filter/rastertolabel -> net-print/cups
  /usr/libexec/cups/filter/texttops -> net-print/cups
  /usr/libexec/cups/monitor/bcp -> net-print/cups
  /usr/libexec/cups/monitor/tbcp -> net-print/cups
  /usr/libexec/cups/notifier/mailto -> net-print/cups
  /usr/libexec/cups/notifier/testnotify -> net-print/cups
  /usr/sbin/accept -> net-print/cups
  /usr/sbin/cupsaddsmb -> net-print/cups
  /usr/sbin/cupsd -> net-print/cups
  /usr/sbin/lpadmin -> net-print/cups
  /usr/sbin/lpc -> net-print/cups
  /usr/sbin/lpinfo -> net-print/cups
  /usr/sbin/lpmove -> net-print/cups
 done.
  (/root/.revdep-rebuild.4_packages_raw, /root/.revdep-rebuild.4_package_owners)

Cleaning list of packages to rebuild... done.
  (/root/.revdep-rebuild.4_packages)

Assigning packages to ebuilds... done.
  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.
  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...
emerge --oneshot -p =net-libs/gnutls-1.6.3 =net-print/cups-1.2.12 =net-print/libgnomecups-0.2.2 =gnome-base/libgnomeprint-2.18.0 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] net-libs/gnutls-1.6.3  
[ebuild   R   ] net-print/cups-1.2.12  
[ebuild   R   ] net-print/libgnomecups-0.2.2  
[ebuild   R   ] gnome-base/libgnomeprint-2.18.0  
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
Comment 12 Joe Peterson (RETIRED) gentoo-dev 2007-07-31 21:38:26 UTC
Created attachment 126545 [details]
.rdr.0_env
Comment 13 Joe Peterson (RETIRED) gentoo-dev 2007-07-31 21:39:01 UTC
Created attachment 126547 [details]
.rdr.1_files
Comment 14 Joe Peterson (RETIRED) gentoo-dev 2007-07-31 21:39:35 UTC
Created attachment 126549 [details]
.rdr.2_ldpath
Comment 15 Joe Peterson (RETIRED) gentoo-dev 2007-07-31 21:40:03 UTC
Created attachment 126551 [details]
.rdr.3_ldd_errors
Comment 16 Joe Peterson (RETIRED) gentoo-dev 2007-08-01 14:24:36 UTC
OK, I figured out what is going on.  "grep" is crashing (core dump) on BSD.  Note sure why yet, but it is caused by the fact that a lot of unnecessary lines are being fed to it in the following code (appears in two placees):

REQUIRED_LIBS=$(
    expr='s/^[[:space:]]*NEEDED[[:space:]]*\([^[:space:]]*\).*/\1/p';
    objdump -x "$target_file" | sed "$expr" | sort -u
)

This can be fixed by adding another grep in the pipe so only lines containing "NEEDED" are used (although this might not be the most efficient way):

REQUIRED_LIBS=$(
    expr='s/^[[:space:]]*NEEDED[[:space:]]*\([^[:space:]]*\).*/\1/p';
    objdump -x "$target_file" | grep NEEDED | sed "$expr" | sort -u
)

I will attach a patch to revdep-rebuild that includes this fix as well as the find() function fix.  Note this patch does *not* include fixing the /etc/init.d/functions.sh (eerror) issue.

Note that there are two other minor things I noticed:

* Occasionally I get this:
 * Configuring search environment for rdr
./rdr: line 373: /var/tmp//sh-np-3507867373: Interrupted system call

( I don't know what is happening here, but it does not seem to affect the run)

* The man page is out of date, which I noticed when trying to use -X (seems to be the default now, overridden by -e?)
Comment 17 Joe Peterson (RETIRED) gentoo-dev 2007-08-01 14:32:53 UTC
Created attachment 126608 [details, diff]
revdep-rebuild.patch

Patch to fix problems on BSD, except for eerorr issue.  See my notes above for other issues I noticed - I can file separate bugs if desired.  And one more cosmetic things I noticed: The last line ("* Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.") wraps to the next line...
Comment 18 Diego Elio Pettenò (RETIRED) gentoo-dev 2007-08-01 15:44:59 UTC
Uhhh why objdump rather than scanelf to find the NEEDED values to begin with?

Comment 19 Petteri Räty (RETIRED) gentoo-dev 2007-08-02 08:43:49 UTC
(In reply to comment #18)
> Uhhh why objdump rather than scanelf to find the NEEDED values to begin with?
> 

yeah that's what I was thinking too. With the -F flag to scanelf you can even control the output format yourself.
Comment 20 Paul Varner (RETIRED) gentoo-dev 2007-08-07 01:36:28 UTC
Created attachment 127131 [details]
Current version from SVN

Here is the current version from subversion.  Please let me know what other issues you encounter. (eerror messages are not fixed, yet)
Comment 21 Paul Varner (RETIRED) gentoo-dev 2007-09-13 17:14:20 UTC
gentoolkit-0.2.4_pre7 includes the patches from this bug. Please test and let me know what else is broken.  Additionally, since I have been unsuccessful with getting FreeBSD working under vmware-server, if anyone has a FreeBSD box that I can have access to, it would help me with getting any FreeBSD issues resolved quicker.
Comment 22 Joe Peterson (RETIRED) gentoo-dev 2007-09-13 22:31:35 UTC
I have tested this with my FreeBSD box, and it appears to work.  At least I don't see errors, and it counted from 0% to 100%, but since my system was already consistent, I guess it's not a "full" test...

I don't have an always on-line fbsd box at the moment to share, but this could change in the future.  Thanks for applying the patches!
Comment 23 Paul Varner (RETIRED) gentoo-dev 2007-09-13 23:04:56 UTC
Quick way to break something.  Downgrade expat, then XML-Parser.  Re-upgrade expat.  After that run revdep-rebuild.  It should pickup the XML-parser breakage and fix it.
Comment 24 Joe Peterson (RETIRED) gentoo-dev 2007-09-13 23:59:44 UTC
OK, I did this, and it works great!
Comment 25 Paul Varner (RETIRED) gentoo-dev 2007-09-26 23:46:42 UTC
I'm seeing issues with the find function in revdep-rebuild under FreeBSD:

# revdep-rebuild --keep-temp --library libexpat.so.6 --pretend
...
 * Assigning files to packages
find: /var/db/pkg -name CONTENTS -print0: No such file or directory
 *  !!! /usr/bin/xgettext not owned by any package is broken !!!
 * -n -e \n  /usr/bin/xgettext -> (none)
find: /var/db/pkg -name CONTENTS -print0: No such file or directory
 *  !!! /usr/bin/xmlwf not owned by any package is broken !!!
 * -n -e \n  /usr/bin/xmlwf -> (none)
 * Generated new /root/.revdep-rebuild_libexpat.so.6.4_packages_raw and /root/.revdep-rebuild_libexpat.so.6.4_package_owners
 * Found some broken files, but none of them were associated with known packages
 * Unable to proceed with automatic repairs.
 * The broken files are listed in /root/.revdep-rebuild_libexpat.so.6.4_package_owners

The actual command getting executed by the function is:
find '/var/db/pkg -name CONTENTS -print0'

which doesn't work since it thinks the whole thing is a file name.
Comment 26 Roy Marples (RETIRED) gentoo-dev 2007-10-24 11:41:26 UTC
We have our own version of this now, closing.