As part of the Install Profile Packaging initiative, once we have #779452: Whitelist for external dependencies we're going to need support in project_package.module to record external dependencies included in a given package release, and to display those external dependencies on the release nodes.

Comments

hunmonk’s picture

i guess the trickiest part i see from a technical standpoint is getting this info from drush_make to project_package for these external items.

for the local package items, all we need is the release nid of the local item, so in the drush_make_d_o plugin i just dump a list of nids to a temp file, then read that list back in later in the packaging script.

if we kept this basic approach, we'd certainly need to provide more structure to the data in the temp file -- maybe the old standby .info file format?

philbar’s picture

Status: Active » Postponed

This should probably be postponed until the following issue is closed:
#684788: Verify Library URLs against a White-list for drupal-org.make

Once Drush's drupal-org.make can support external libraries, then we can worry about fetching and displaying that data in the release node.

hunmonk’s picture

Status: Postponed » Active

they will be worked on concurrently, and deployed together. anything we're adding to d.o packages is going to have display support.

mikey_p’s picture

Tagging

boombatower’s picture

sub

dww’s picture

An initial commit for the plumbing here is now in:
http://drupal.org/commitlog/commit/122/ffe06337092ec49fc7450eff4d26ab772...

In terms of getting this data back from drush make... there's already a .info file that describes all the external libraries included in the package -- the drupal-org.make file itself! So long as drush make returns success, we know anything listed in there was included. So, instead of telling drush make to vomit its own input back out as output, let's just parse the .make file in the distro packaging plugin and populate these project_package tables directly via the new project_package_record_remote_item() API we've added here. It should hopefully be trivial to iterate over $info['libraries'] and do the right thing. In fact, the distro packaging plugin is *already* parsing the .make file to do some validation on the 'core' attribute.

mikey_p’s picture

So we have storage down, the code for getting this data into the DB is at #1366482: Fix distribution packaging plugin to record patches and libraries included in distributions at the moment. I don't think it makes sense to split it out, since it's pretty intertwined with the code to record patches as well as libraries.

Initial views support for displaying this data is included over at #779998: Add support to record patches applied to release packages. Once again I didn't split out patch vs. remote items but I certainly could do that if necessary.

dww’s picture

Assigned: Unassigned » dww

Committed the views support:
http://drupal.org/commitlog/commit/122/d7a3798d1330a308313ab2ed4f34121b9...

I guess it's pointless to open a separate issue about the default view for the remote items, so let's just handle that in here, too...

dww’s picture

Added a default view for remote items and code in project_package_nodeapi() to embed it into release nodes for any releases with remote items:

http://drupal.org/commitlog/commit/122/bd17dfb63bf58e4955d2d4d739a884fb2...

I believe this is now fixed, since the code for populating this data during packaging is going to be resolved at #1366482: Fix distribution packaging plugin to record patches and libraries included in distributions

dww’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)
Issue tags: -drupal.org distribution blockers

Automatically closed -- issue fixed for 2 weeks with no activity.