Changes between Version 28 and Version 29 of PortfileRecipes


Ignore:
Timestamp:
Jun 4, 2011, 11:41:58 PM (13 years ago)
Author:
ryandesign (Ryan Carsten Schmidt)
Comment:

rewrite parts of unversioned distfile section, tweak stealth update section

Legend:

Unmodified
Added
Removed
Modified
  • PortfileRecipes

    v28 v29  
    150150The port's `checksums` then need to be updated, but the `version` stays the same (e.g. stays at 1.2).
    151151So that users will see the update, the `revision` is increased, but users who already have the previous distfile would then experience a checksum mismatch.
    152 To avoid this, you must also set `dist_subdir`.
     152To avoid this, you must change `dist_subdir`.
    153153By default, `dist_subdir` is ${name}; change it so that it includes a subdirectory named for the version number and the distfile revision number (start at 1 and increment by 1 each time this version's distfile is stealth-updated):
    154154{{{
     
    168168For software whose developers habitually stealth-update their software, further measures may need to be taken, such as those employed by the dcraw and molden ports.
    169169But ideally, convince the developers to refrain from stealth-updating.
     170Any time a distfile is released to their download area, they should consider it to be immutable.
    170171
    171172See also the next entry on [#unversioned-distfiles unversioned distfiles].
    172173
    173174== Unversioned distfiles == #unversioned-distfiles
    174 Some software may distribute their distfile with a filename that does not contain the version number (e.g. example.tar.gz); such a port will likely change distname from its default ${name}-${version} to just ${name}. But when updating the port version, the old version's distfile will get in the way, since it has the same name.  The correct solution to this problem is to change dist_subdir. By default, dist_subdir is ${name}; change it so that it includes a subdirectory named for the version:
     175Although they would be wise not to do this, some software developers may distribute their distfile with a filename that does not contain the version number (e.g. example.tar.gz); such a port will have its `distname` specified as ${name} rather than its default ${name}-${version}.
     176But when updating the port to a new version, the old version's distfile will get in the way, since it has the same name, and users who had a previous version of the port installed will experience a checksum mismatch.
     177To avoid this, you must change `dist_subdir`.
     178By default, `dist_subdir` is ${name}; change it so that it includes a subdirectory named for the version:
    175179{{{
    176180dist_subdir   ${name}/${version}
    177181}}}
    178 This example is from the [browser:trunk/dports/x11/winetricks/Portfile winetricks Portfile].
     182
     183Ideally, however, convince the developers to put the version number in their distfile names.
     184Any time a distfile is released to their download area, they should consider it to be immutable.
    179185
    180186See also the previous entry on [#stealth-updates stealth updates].