[Hackage] #576: Show reverse dependencies

#576: Show reverse dependencies --------------------------------+------------------------------------------- Reporter: Lenny222 | Owner: Type: enhancement | Status: new Priority: normal | Milestone: HackageDB Component: hackageDB website | Version: 1.6.0.1 Severity: normal | Keywords: dependencies Difficulty: easy (<4 hours) | Ghcversion: Platform: | --------------------------------+------------------------------------------- Suggestion: for every package show which other packages (if any) depend on it. Why? Many packages on http://hackage.haskell.org/ do not provide exmaples or documentation. It could be very helpful to look at packages which use the package on is interested in. This can be made easier if every package on http://hackage.haskell.org/ displays which other packages depend on it. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/576 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#576: Show reverse dependencies --------------------------------+------------------------------------------- Reporter: Lenny222 | Owner: Type: enhancement | Status: new Priority: normal | Milestone: HackageDB Component: hackageDB website | Version: 1.6.0.1 Severity: normal | Resolution: Keywords: dependencies | Difficulty: easy (<4 hours) Ghcversion: | Platform: --------------------------------+------------------------------------------- Comment (by ross): As a workaround, you can get an approximation of this by typing the package name in the search box on the Packages page. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/576#comment:1 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#576: Show reverse dependencies --------------------------------+------------------------------------------- Reporter: Lenny222 | Owner: Type: enhancement | Status: new Priority: normal | Milestone: HackageDB Component: hackageDB website | Version: 1.6.0.1 Severity: normal | Resolution: Keywords: dependencies | Difficulty: easy (<4 hours) Ghcversion: | Platform: --------------------------------+------------------------------------------- Comment (by explicitcall): http://hackage.haskell.org/package/cabal-query As a workaround, you can use this library directly, to query all packages which have specified package in `depends` field. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/576#comment:2 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#576: Show reverse dependencies --------------------------------+------------------------------------------- Reporter: Lenny222 | Owner: Type: enhancement | Status: new Priority: normal | Milestone: HackageDB Component: hackageDB website | Version: 1.6.0.1 Severity: normal | Resolution: Keywords: dependencies | Difficulty: easy (<4 hours) Ghcversion: | Platform: --------------------------------+------------------------------------------- Comment (by Roel van Dijk): A description of what my patch adds to hackage: An executable called pkg-rev-deps calculates the reverse dependencies of every package. It writes this information to a file called "revdeps.csv" inside the directory of a package. The package CGI script is modified to read this file. It will display the number of reverse dependencies right after the normal dependencies. The number of reverse dependencies is a link which will take you to a page containing a listing of all the reverse dependencies, direct and indirect. This page is rendered by a new CGI script called "revdeps". If you do not run pkg-rev-deps to generate the revdeps.csv files then package and revdeps will simply claim that there are no reverse dependencies. I have NOT added pkg-rev-deps to the post-upload-hook script, because I can't judge if the additional overhead will be to large. On my system pkg-rev-deps takes about 4.5 times as long as pkg-list to complete its run. About 60% of this time is spent parsing all the package descriptions. Memory usage is fairly low: around 10MB. New files: * !RevDepMap.hs -- calculates reverse dependencies * pkg-rev-deps.hs -- generates revdeps.csv files * revdeps.hs -- CGI script that lists reverse dependencies * !RevDepsPage.hs -- implementation of the revdeps script Utils now contains a function to load the revdeps.csv file and some functions to calculate revdep related URLs. I also updated the .cabal and Makefile. I don't know if pkg-rev-deps should be added to the post-upload-hook. It already takes some time to upload a package. Perhaps it can be run in a cron-job 4 times a day. Some feedback would be really appreciated. I think that this is a feature which will really add some value to hackage. It can help you when deciding which package to use for you next project. It is also useful for developers as you get an idea how your package is being used. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/576#comment:3 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#576: Show reverse dependencies --------------------------------+------------------------------------------- Reporter: Lenny222 | Owner: Type: enhancement | Status: new Priority: normal | Milestone: HackageDB Component: hackageDB website | Version: 1.6.0.1 Severity: normal | Resolution: Keywords: dependencies | Difficulty: easy (<4 hours) Ghcversion: | Platform: --------------------------------+------------------------------------------- Changes (by vvv): * cc: valery.vv@gmail.com (added) Old description:
Suggestion: for every package show which other packages (if any) depend on it.
Why?
Many packages on http://hackage.haskell.org/ do not provide exmaples or documentation. It could be very helpful to look at packages which use the package on is interested in.
This can be made easier if every package on http://hackage.haskell.org/ displays which other packages depend on it.
New description: Suggestion: for every package show which other packages (if any) depend on it. Why? Many packages on http://hackage.haskell.org/ do not provide examples or documentation. It could be very helpful to look at packages which use the package on is interested in. This can be made easier if every package on http://hackage.haskell.org/ displays which other packages depend on it. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/576#comment:4 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#576: Show reverse dependencies --------------------------------+------------------------------------------- Reporter: Lenny222 | Owner: Type: enhancement | Status: new Priority: normal | Milestone: HackageDB Component: hackageDB website | Version: 1.6.0.1 Severity: normal | Keywords: dependencies Difficulty: easy (<4 hours) | Ghcversion: Platform: | --------------------------------+------------------------------------------- Changes (by fons): * cc: alfonso.acosta@… (added) -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/576#comment:5 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects
participants (1)
-
Hackage