This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: cygport improvements: upload, fish, src_prep_fini_hook
- From: Andrew Schulman <schulman dot andrew at epa dot gov>
- To: cygwin-apps at cygwin dot com
- Date: Thu, 04 Dec 2014 06:58:01 -0500
- Subject: Re: cygport improvements: upload, fish, src_prep_fini_hook
- Authentication-results: sourceware.org; auth=none
- References: <i1c74ah3hi6gdirp06o45tq2kcstclnr14 at 4ax dot com> <i1c74ah3hi6gdirp06o45tq2kcstclnr14-e09XROE/p8c at public dot gmane dot org> <544D0CC5 dot 9030600 at cygwin dot com> <nu2s4al5tup14gfvge083ri8u9j6t62c7m at 4ax dot com> <nu2s4al5tup14gfvge083ri8u9j6t62c7m-e09XROE/p8c at public dot gmane dot org> <547F5B88 dot 3020403 at cygwin dot com> <140v7adq6s0i2u93jdsjqt22j0k87lfnn2 at 4ax dot com> <547FAD61 dot 10200 at cygwin dot com> <547FAD61 dot 10200-rDBXBDvO6BXQT0dZR+AlfA at public dot gmane dot org> <20141204100341 dot GA26431 at calimero dot vinschen dot de>
> > >BTW I see that you commented out the line:
> > >
> > >echo "rm -f !ready || echo -n"
> > >
> > >in the lftp script in __pkg_upload(). That line is there to prevent a race
> > >condition if the maintainer has already made one upload, then later starts
> > >to make another one, at the same time that upset starts to copy files from
> > >the upload area. In that case, upset could copy partially uploaded or
> > >corrupt files. To prevent that, we first remove !ready, then put it back
> > >later after the new upload is complete.
> >
> > Thanks for reminding me: I was wondering if it made more sense to place a
> > !ready file in each top-level package directory, or handle each arch like
> > you have done. I could see arguments either way, so I'm open to
> > suggestions.
>
> Isn't a `cygport <cygportfile> upload always per-arch?
It's per-arch and per-package, so the !ready file can go in the $ARCH/$PN
directory, instead of $ARCH. That's what Yaakov is suggesting.
I think that is better - more specific since uploads are per-package. I'll
make it so. We still want to remove any exiting $ARCH/$PN/!ready file
first though, to prevent race conditions if a packager decides to re-upload
a package while upset is starting to copy the package files.