Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 201319
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Portage Utilities Team <tools-portage@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Katerina Barone-Adesi <katerinab@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 201319 depends on: Show dependency tree
Bug 201319 blocks: 170220
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-12-05 03:18 0000
Part of the output of revdep-rebuild:

 * Found some broken files that weren't associated with known packages
 * The broken files are:
 *   /usr/lib64/blas/atlas/libblas.la
 *   /usr/lib64/blas/atlas/libblas.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libpoppler-cairo.la

Some of the files are listed more than once.

Reproducible: Always

Steps to Reproduce:
1. Run revdep-rebuild, with at least one library which is multiply broken: ie,
part of the revdep-rebuild output should look like this:
[ 66% ]  *   broken /usr/lib64/libGraphicsMagick++.la (requires
/usr/lib64/libGraphicsMagick.la)
 *   broken /usr/lib64/libGraphicsMagick++.la (requires
//usr/lib64/libdpstk.la)
 *   broken /usr/lib64/libGraphicsMagick++.la (requires //usr/lib64/libdps.la)
 *   broken /usr/lib64/libGraphicsMagick++.la (requires /-lstdc++)

I'm not sure how to create such a file.
Actual Results:  
 * Found some broken files that weren't associated with known packages
 * The broken files are:
 *   /usr/lib64/blas/atlas/libblas.la
 *   /usr/lib64/blas/atlas/libblas.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libpoppler-cairo.la

Expected Results:  
 * Found some broken files that weren't associated with known packages
 * The broken files are:
 *   /usr/lib64/blas/atlas/libblas.la
 *   /usr/lib64/libGraphicsMagick++.la
 *   /usr/lib64/libpoppler-cairo.la

------- Comment #1 From Zac Medico 2007-12-05 03:59:24 0000 -------
With portage-2.1.3.x you can use portageq owners. This works regardless of
symlinked directories too (by comparison of inodes).

   owners <root> [<filename>]+
      Given a list of files, print the packages that own the files and which
      files belong to each package. Files owned by a package are listed on
      the lines below it, indented by a single tab character (\t). All file
      paths must start with <root>. Returns 1 if no owners could be found,
      and 0 otherwise.

------- Comment #2 From Jakub Moc (RETIRED) 2007-12-05 12:24:34 0000 -------

*** This bug has been marked as a duplicate of bug 93574 ***

------- Comment #3 From Paul Varner 2007-12-05 14:55:23 0000 -------
Not a duplicate

------- Comment #4 From Michael A. Smith 2008-01-23 03:51:03 0000 -------
Change this function (around line 785) from
show_unowned_files() {
  if grep -qF '(none)' "$LIST.4_package_owners"; then
    ewarn "Found some broken files that weren't associated with known packages"
    ewarn "The broken files are:"
    while read filename junk; do
      [[ $junk = *none* ]] && ewarn "  $filename"
    done < "$LIST.4_package_owners"
  fi
}

to
show_unowned_files() {
  if grep -qF '(none)' "$LIST.4_package_owners"; then
    ewarn "Found some broken files that weren't associated with known packages"
    ewarn "The broken files are:"
    while read filename junk; do
      [[ $junk = *none* ]] && ewarn "  $filename"
    done < "$LIST.4_package_owners" | awk '!s[$0]++' # (omit dupes)
  fi
}

And that should do it.

------- Comment #5 From Paul Varner 2008-02-18 18:17:50 0000 -------
$ svn diff revdep-rebuild
Index: revdep-rebuild
===================================================================
--- revdep-rebuild      (revision 464)
+++ revdep-rebuild      (working copy)
@@ -840,7 +840,7 @@
                ewarn "The broken files are:"
                while read filename junk; do
                        [[ $junk = *none* ]] && ewarn "  $filename"
-               done < "$LIST.4_package_owners"
+               done < "$LIST.4_package_owners" | awk '!s[$0]++' # (omit dupes)
        fi
 }

$ svn commit -m "Don't duplicate broken file output. (Bug 201319)"
Sending        revdep-rebuild/revdep-rebuild
Transmitting file data .
Committed revision 465.

------- Comment #6 From Paul Varner 2008-02-21 01:54:22 0000 -------
Released in gentoolkit-0.2.4_rc2

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug