unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Bavier <ericbavier@openmailbox.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] Clean all .go in clean-go
Date: Fri, 16 Sep 2016 00:15:40 -0500	[thread overview]
Message-ID: <20160916001540.617d9a54@openmailbox.org> (raw)
In-Reply-To: <8737limq18.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2459 bytes --]

On Fri, 02 Sep 2016 14:42:27 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Eric Bavier <ericbavier@openmailbox.org> skribis:
> 
> > On Thu, 01 Sep 2016 14:37:58 +0200
> > ludo@gnu.org (Ludovic Courtès) wrote:  
> 
> [...]
> 
> >> > In regards of the .go files remaining in the build directory, I agree
> >> > that this is not good, however I don't think it is worth trying to fix
> >> > this issue which equally applies to every file generated by Make.  Using
> >> > wildcards can be tempting in such cases but it can lead to accidental
> >> > file deletions which is worse IMO.  As a consequence I would prefer
> >> > keeping the current 'clean-go' rule.    
> >> 
> >> I sympathize with that.  
> >
> > How about simply printing  a warning if there are any .go files laying
> > around after a `make clean` or `make clean-go`?  
> 
> Sure, why not.

So, with the attached patch, I get the following output after `make
clean-go`:

warning: stray .go files: ./guix/scripts/import/cpan.go ./gnu/services/dmd.go
./gnu/system/linux.go ./gnu/packages/yasm.go ./gnu/packages/cursynth.go 
./gnu/packages/lightning.go ./gnu/packages/doxygen.go ./gnu/packages/tre.go 
./gnu/packages/asciidoc.go ./gnu/packages/texlive.go ./gnu/packages/i3.go 
./gnu/packages/fish.go ./gnu/packages/slim.go ./gnu/packages/tcsh.go 
./gnu/packages/zsh.go ./gnu/packages/lsh.go ./gnu/packages/rc.go 
./gnu/packages/openssl.go ./gnu/packages/aria2.go ./gnu/packages/gdbm.go 
./gnu/packages/gnutls.go ./gnu/packages/grue-hunter.go ./gnu/packages/aarddict.go

Maybe this means that I've not been doing due diligence in keeping my
builddir clean, or maybe its just the result of developing on guix for
so long.

Another issue that I thought of that's posed by these stray .go files,
which isn't only a problem when acting as a wizard: introducing a new
module import when adding a package, only to have that module
moved/renamed before pushing your change.  I suppose it is a corner
case, but it did happen to me recently, in 2e3f18511, which 宋文武
kindly fixed in 19b2ea1b6. The problem was that between the time I
originally packaged tomb and the time I pushed the commit,
gnu/packages/zsh.scm was consolidated into gnu/packages/shells.scm.  I
had done a `make clean-go && make` before pushing, as I always do, but
since clean-go didn't remove gnu/packages/zsh.go the subsequent `make`
didn't complain of a missing module.

`~Eric

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-build-clean-go-warn-about-stray-.go-files.patch --]
[-- Type: text/x-patch, Size: 881 bytes --]

From ffe1710d5a91cd9906f2419d21944b1375b1b842 Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@member.fsf.org>
Date: Thu, 15 Sep 2016 23:31:41 -0500
Subject: [PATCH] build: clean-go: warn about stray .go files.

* Makefile.am (clean-go): Warn of .go files remaining in builddir.
---
 Makefile.am | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index f9fe141..43a33c8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -208,6 +208,12 @@ endif INSTALL_SRFI_37
 # Handy way to remove the .go files without removing all the rest.
 clean-go:
 	-$(RM) -f $(GOBJECTS)
+	@find . -name '*.go' -print | \
+	  if test -t 1; then \
+	    xargs -r echo -e "\033[31mwarning:\033[0m stray .go files:"; \
+	  else \
+	    xargs -r echo "warning: stray .go files:"; \
+	  fi
 
 
 # Test extensions; has to be unconditional.
-- 
2.9.2


  reply	other threads:[~2016-09-16  5:15 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-31 23:20 [PATCH] Clean all .go in clean-go Eric Bavier
2016-08-31 23:20 ` [PATCH] build: Clean all .go files " Eric Bavier
2016-09-01  1:10 ` [PATCH] Clean all .go " Mathieu Lirzin
2016-09-01 10:03   ` David Craven
2016-09-01 12:37   ` Ludovic Courtès
2016-09-02  1:30     ` Eric Bavier
2016-09-02 12:42       ` Ludovic Courtès
2016-09-16  5:15         ` Eric Bavier [this message]
2016-09-16  6:00           ` Leo Famulari
2016-09-20  5:20           ` Ludovic Courtès
2017-11-07  1:06           ` myglc2
2017-11-08 10:49             ` Vincent Legoll

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160916001540.617d9a54@openmailbox.org \
    --to=ericbavier@openmailbox.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).