Clarification on fetch/extract targets

Sam Lawrance boris at brooknet.com.au
Sat Jun 16 10:23:15 UTC 2007


On 16/06/2007, at 7:43 PM, Stephen Hurd wrote:

> So, I created a new port (ports/113608) for Code::Blocks which has  
> not had a source code release for almost two years despite constant  
> development.  However, the currently correct way to get the source  
> is via subversion.  The port currently does this, but I'm unsure of  
> exactly what is required by the fetch and extract targets, so I'm  
> not sure what the "right" thing to do here is.  I can think of a  
> few possibilities:
>
> 1) The fetch target is intended to do all the steps which require a  
> network connection and extract is intended to places the files into  
> WRKSRC
> - In this case, the fetch target would use svn co to WRKSRC and the  
> extract target would do nothing.  This is what the port currently  
> does.
>
> 2) The fetch target is intended to place source archives into  
> DISTDIR and extract is intended to place them into WRKSRC
> - In this case, the extract target would use svn co to WRKSRC and  
> the fetch target would do nothing.
>
> 3) The fetch target is intended to place a source archive in  
> DISTDIR and the extract target is intended to extract that archive  
> into WRKSRC
> - Here I would need to do the svn checkout in the fetch target,  
> archive it, then delete it.
>
> 4) The fetch target retrieves sources in the distribution format  
> and extract places them into WRKSRC
> - In this case, you would svn co to a DIST_SUBDIR in fetch, then  
> extract would copy that to WRKSRC
>
> 5) fetch *MUST* fetch a source archive into DISTDIR.  None of this  
> svn/CVS checkout stuff in the ports tree.
> - Hrmph.  So rather than bumping PORTREVISION to the desired  
> subversion revision and having it Just Work, one needs to make a  
> source archive and host it somewhere himself and be responsible for  
> updating it himself too.

In the past, it has been easiest if the maintainer (you) creates an  
archive of the source and either puts it up for download, or asks for  
it to be mirrored as a local distfile (the committer who deals with  
the PR will do this for you).

To make it easier for yourself, you might create a "roll-tarball"  
target in the port, which you (or future maintainers) can use to  
automatically fetch the source from subversion and create a new  
source archive.



More information about the freebsd-ports mailing list