Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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
Comment #1
hunmonk CreditAttribution: hunmonk commentedi 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?
Comment #2
philbar CreditAttribution: philbar commentedThis 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.
Comment #3
hunmonk CreditAttribution: hunmonk commentedthey will be worked on concurrently, and deployed together. anything we're adding to d.o packages is going to have display support.
Comment #4
mikey_p CreditAttribution: mikey_p commentedTagging
Comment #5
boombatower CreditAttribution: boombatower commentedsub
Comment #6
dwwAn 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.Comment #7
mikey_p CreditAttribution: mikey_p commentedSo 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.
Comment #8
dwwCommitted 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...
Comment #9
dwwAdded 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
Comment #10
dww