reverse-build-depends matches by substrings

Bug #272273 reported by Cesare Tirabassi
2
Affects Status Importance Assigned to Milestone
ubuntu-dev-tools (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: ubuntu-dev-tools

For instance:

root@norsetto:/# reverse-build-depends pilot
evolution
gnome-pilot-conduits

But evolution and gnome-pilot-conduit build-depends on libgnome-pilot2-dev, not pilot.
That's because reverse-build-depends doesn't call grep-dctrl with the -X or --exact-match option.

Note that the synopsis of the command is:

Usage: /usr/bin/reverse-build-depends [-c|-s] <package name>

so I expect that it works with EXACT matches only.

Changed in ubuntu-dev-tools:
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-dev-tools - 0.45

---------------
ubuntu-dev-tools (0.45) intrepid; urgency=low

  [ Siegfried-Angel Gevatter Pujals ]
  * common.py:
     - Trying to read from a locked sqlite cookie database isn't a fatal
       error anymore.

  [ Adrien Cunin ]
  * update-maintainer:
     - check at the beginning of the script that the necessary files are
       readable/writable, and note which control files we are going to modify
     - at the end, only modify those control files, so that the script doesn't
       return 1 anymore when it was actually successful
  * pbuilder-dist:
     - Eliminated some warning with a better check for whether a given distro
       already has a pbuilder chroot in $BASE_DIR, when that distro is not
       known by the script
     - Added intrepid as a known distro
  * Return to previous versioning, without the ubuntu1 bit

  [ Jonathan Patrick Davies ]
  * buildd: Revert arch:status string format.

  [ Cesare Tirabassi ]
  * reverse-build-depends:
    - add -X option to grep-dctrl so that it only works with exact matches
      (LP: #272273).

 -- Adrien Cunin <email address hidden> Wed, 24 Sep 2008 16:01:09 +0200

Changed in ubuntu-dev-tools:
status: Fix Committed → Fix Released
Revision history for this message
Cesare Tirabassi (norsetto) wrote :

I'm reverting this change, apparently dpkg-dctrl definition of full match is for the WHOLE field, so single package names will not be grepped. Perhaps one better solution could be to specify the pattern as a regex, for instance in between word boundaries (which means one would have to escape all possible regex special characters in the package name). I'm leaving this open anyway, perhaps reverse-build-depends should simply be removed since it doesn't do what it should do (and its anyway easier to just use dpkg-ctrl directly).

Changed in ubuntu-dev-tools:
status: Fix Released → Confirmed
Revision history for this message
Cesare Tirabassi (norsetto) wrote :

This perl script seems to be doing the job (output is print ala apt-cache).

Revision history for this message
Cesare Tirabassi (norsetto) wrote :
Revision history for this message
Siegfried Gevatter (rainct) wrote :

(There's also http://people.ubuntu.com/~pitti/scripts/checkrdepends, but it needs a fast internet connection).

Revision history for this message
Siegfried Gevatter (rainct) wrote :

Cesare: Do you know the author / licensing / etc for the script you attached?

Revision history for this message
Cesare Tirabassi (norsetto) wrote :

Its just something I wrote, I could add a license header if you think this could be useful.

Revision history for this message
Cesare Tirabassi (norsetto) wrote :

The advantage is also that its pretty faster and works for multiple packages.

Revision history for this message
Siegfried Gevatter (rainct) wrote :

There is a better script on devscripts, called "build-rdeps", so we should switch to it. However, it needs some work so that it works in Ubuntu, which is: making it recognize restricted, universe and multiverse, and changing the default distribution to Ubuntu's development release (instead of "unstable").

Revision history for this message
Jonathan Davies (jpds) wrote :

Sieg's suggestions have been implemented by Ryan in lp:ubuntu-dev-tools (revno 367).

Changed in ubuntu-dev-tools (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Siegfried Gevatter (rainct) wrote : Re: [Bug 272273] Re: reverse-build-depends matches by substrings

doc/reverse-build-depends.1 needs to be dropped and a manpage with the
text from ubuild-deps (but changing build-deps to ubuild-deps) added.

Further, why don't we keep the name reverse-build-deps so that people
who used it don't need to get used to a new (less intuitive) name?

Revision history for this message
Jonathan Davies (jpds) wrote :

All fixed in Bazaar (revno 368).

Revision history for this message
Siegfried Gevatter (rainct) wrote :

Great :).

(Now if only it used pod2man or something to generate the manpage from
the source instead of having that gibberish there... *g*).

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-dev-tools - 0.72

---------------
ubuntu-dev-tools (0.72) jaunty; urgency=low

  [ Jonathan Davies ]
  * README.updates: Added - lists steps to take when updating this package.
  * grab-merge: Added --help option and manpage (LP: #349109).

  [ Siegfried-Angel Gevatter Pujals ]
  * pbuilder-dist:
     - Add squeeze as a Debian distribution. Thanks to Marco Rodrigues.

  [ Nathan Handler ]
  * pull-debian-source:
    - Add support for etch/oldstable
    - Make script work for codenames (etch, lenny, squeeze, sid)

  [ Ryan Kavanagh ]
  * Ported devscripts' build-rdeps to Ubuntu and replaced
    reverse-build-depends. Updated it's manpage. (LP: #272273)

  [ Kees Cook ]
  * mk-sbuild-lv:
    - Fully handle missing build log directories (LP: #342154).
    - More generalized approach to Distro-specific logic (LP: #342158).

  [ Scott Kitterman ]
  * dgetlp:
    - Port to hashlib module instead of md5 (deprecated in Python 2.6)
  * Bump minimum python-all-dev version to 2.5

 -- Scott Kitterman <email address hidden> Wed, 15 Apr 2009 22:51:14 -0400

Changed in ubuntu-dev-tools (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.