On Dec 11, 2013, at 01:33, [email protected] wrote: > Revision > 114592 > Author > [email protected] > Date > 2013-12-10 23:33:11 -0800 (Tue, 10 Dec 2013) > Log Message > > be more intractable in the search for the worksrcdir > Modified Paths > > • trunk/dports/_resources/port1.0/group/github-1.0.tcl > Diff > > Modified: trunk/dports/_resources/port1.0/group/github-1.0.tcl (114591 => > 114592) > > --- trunk/dports/_resources/port1.0/group/github-1.0.tcl 2013-12-11 > 02:08:31 UTC (rev 114591) > +++ trunk/dports/_resources/port1.0/group/github-1.0.tcl 2013-12-11 > 07:33:11 UTC (rev 114592) > > @@ -78,14 +78,19 @@ > > distname ${github.project}-${github.version} > > fetch.ignore_sslcert yes > > > > + # if worksrcpath does not exist, try to guess the directory that should > be and rename it > > post-extract { > > if {![file exists ${worksrcpath}] && \ > > ${fetch.type} eq "standard" && \ > > ${master_sites} eq ${github.master_sites} && \ > > [llength ${distfiles}] > 0 && \ > > - [llength [glob -nocomplain ${workpath}/*]] > 0 && \ > - [file isdirectory [glob ${workpath}/*]]} { > - move [glob ${workpath}/*] ${worksrcpath} > > + [llength [glob -nocomplain ${workpath}/*]] > 0} { > + foreach item [glob ${workpath}/*] { > + if {[file isdirectory ${item}]} { > + move ${item} ${worksrcpath} > + break > + } > + }
Where were you running into problems with this? The goal here is to not have to specify the git revision in the portfile. So, for example, the Readown port specifies "github.setup suminb readown 1.0.5” and this makes it downloads a tarball from https://github.com/suminb/readown/tarball/1.0.5 but it extracts to a directory called suminb-readown-9cf4ef5. Since I don’t want maintainers using the github portgroup to have to specify revisions like “9cf4ef5” each time they want to update a port, I introduced this magic into the portgroup that renames it to the common worksrcdir. But this magic has proved problematic in many cases, needing this now rather lengthy list of exceptions, and even so it’s still doesn’t work in all cases. Since the directory name that’s extracted is always ${github.project}-${github.author}-[a-z0-9]+ how about we check if there’s a directory matching that and rename that? That might reduce the number of checks we need to do and remove more opportunities for problems. Also, it should probably rename to ${distname}, not ${worksrcpath}, which I think should finally solve the misfeature that ports using the github portgroup were not allowed to override worksrcpath and had to instead override configure.dir and build.dir. _______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
