Reuben Thomas wrote: > On 16 March 2011 19:59, Jim Meyering <j...@meyering.net> wrote: >> Reuben Thomas wrote: >>> >>> OK, so an extra target is needed. I used to use "make release". This >>> would seem to make sense to cover uploading and announcing the >>> release. >> >> There's already a target (or three) for that: >> alpha, beta, stable. > > Fine, provided I can still just use one hook. Would I still call it > "release-hook"?
Actually, there may be no need for a hook per se. >> Actually, there's already the release-prep-hook variable. > > Sure, but announcing is not release-prep. In particular, the rule > should only be executed if the release and upload succeeded. > >>>> I'm not terribly gung-ho on making the process completely >>>> non-interactive, so haven't pursued this, but if you find >>>> a noninvasive way (or one that's universally accepted by maintainers who >>>> use these rules) to make it do what you want, propose a patch. >>> >>> I'm not trying to make the process interactive, I'm trying to reduce >> >> You meant s/interactive/non-interactive/, I suppose. > > No, I meant what I said. I prefer a non-interactive process, but in > this case, at least one bit of interaction is needed, namely typing > one's GPG passphrase. > >> I generally prefer to avoid a recipe that prompts me for things. > > Me too. What I was saying is that I'd like to have a target, which > I'll call "reuben-stable" for the sake of argument, such that > > make reuben-stable > > does the same as stable, plus uploading and sending announcements. > (Uploading involves a prompt, of necessity.) If you require no change to an existing rule, then you can simply write your rule in cfg.mk: reuben-stable: $(MAKE) stable $(MAKE) upload $(MAKE) send-announcement But you'll want a delay between the upload and the actual announcement. At least when uploading to ftp.gnu.org, you have to wait for a while (10-20m) and sometimes for a long while (days) if you're a first-time uploader and your key is not yet on file. This suggests an added rule, where verify-uploads would wait for URLs to become valid, and when they do, download each tarball/signature pair and gpg --verify them: reuben-stable: $(MAKE) stable $(MAKE) upload $(MAKE) verify-uploads $(MAKE) send-announcement