unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [elpa] --exclude-vcs for multi-file archives?
@ 2014-05-22 10:07 Mario Lang
  2014-05-22 14:05 ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Mario Lang @ 2014-05-22 10:07 UTC (permalink / raw)
  To: emacs-devel

Hi.

While integrating chess.el into ELPA, I noticed that the .git
subdirectory of packages/<external-name> is placed in the tarballs.  I have manually
added ".git" to .elpaignore in packages/chess for now, but I wonder if a
more generic solution is in order.  Adding --exclude-vcs to the tar call
in GNUMakefile seems like the right thing to do.  If I try, about all
the archive shrinks about 300k, so we definitely ship stuff which (IMHO)
shouldn't be shipped in a tarball.

Am I fine to commit this change, or can anyone see an actual reason why
a left-over .git directory in the release tarball might actually be needed?

diff --git a/GNUmakefile b/GNUmakefile
index 03a25f2..7d88843 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -54,7 +54,7 @@ process-archive:
 	      fi;						\
 	      if [ -d $$pt ]; then				\
 		  echo "Creating tarball $${pt}.tar" &&		\
-		  tar -cf $${pt}.tar $$pt -X "$$ignore";	\
+		  tar -cf $${pt}.tar $$pt --exclude-vcs -X "$$ignore";	\
 		  rm -rf $${pt}; 				\
 	      fi;						\
 	  done

-- 
CYa,
  ⡍⠁⠗⠊⠕
  



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [elpa] --exclude-vcs for multi-file archives?
  2014-05-22 10:07 [elpa] --exclude-vcs for multi-file archives? Mario Lang
@ 2014-05-22 14:05 ` Stefan Monnier
  2014-05-22 14:35   ` Mario Lang
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2014-05-22 14:05 UTC (permalink / raw)
  To: Mario Lang; +Cc: emacs-devel

> While integrating chess.el into ELPA, I noticed that the .git
> subdirectory of packages/<external-name> is placed in the tarballs.  I have manually
> added ".git" to .elpaignore in packages/chess for now, but I wonder if a
> more generic solution is in order.

I saw your commit and thought the exact same thing.
But I don't understand why you need to do that: .git is already skipped
in update-archive.sh:

rsync -av --delete \
      --exclude=ChangeLog \
      --exclude=.git \
      --exclude='*.elc' \
      --exclude='*~' \
      --exclude='*-autoloads.el' \
      ../elpa/packages ./

So I wonder: are you using update-archive.sh, or what are you using?


        Stefan



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [elpa] --exclude-vcs for multi-file archives?
  2014-05-22 14:05 ` Stefan Monnier
@ 2014-05-22 14:35   ` Mario Lang
  2014-05-22 16:09     ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Mario Lang @ 2014-05-22 14:35 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> While integrating chess.el into ELPA, I noticed that the .git
>> subdirectory of packages/<external-name> is placed in the tarballs.  I have manually
>> added ".git" to .elpaignore in packages/chess for now, but I wonder if a
>> more generic solution is in order.
>
> I saw your commit and thought the exact same thing.
> But I don't understand why you need to do that: .git is already skipped
> in update-archive.sh:
>
> rsync -av --delete \
>       --exclude=ChangeLog \
>       --exclude=.git \
>       --exclude='*.elc' \
>       --exclude='*~' \
>       --exclude='*-autoloads.el' \
>       ../elpa/packages ./
>
> So I wonder: are you using update-archive.sh, or what are you using?

Oh, it's a workflow issue?  I actually went the most simple way and did:
$ make externals
$ make archive

archives/packages/<external>-*.tar now contains .git dirs.

-- 
CYa,
  ⡍⠁⠗⠊⠕



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [elpa] --exclude-vcs for multi-file archives?
  2014-05-22 14:35   ` Mario Lang
@ 2014-05-22 16:09     ` Stefan Monnier
  2014-05-22 16:55       ` Mario Lang
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2014-05-22 16:09 UTC (permalink / raw)
  To: Mario Lang; +Cc: emacs-devel

> $ make archive

Where did you find a reference to this?
It's an old deprecated way to build an archive.


        Stefan



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [elpa] --exclude-vcs for multi-file archives?
  2014-05-22 16:09     ` Stefan Monnier
@ 2014-05-22 16:55       ` Mario Lang
  2014-05-22 17:14         ` David Kastrup
  0 siblings, 1 reply; 8+ messages in thread
From: Mario Lang @ 2014-05-22 16:55 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> $ make archive
>
> Where did you find a reference to this?
> It's an old deprecated way to build an archive.

OK, was not aware that this method (albeit rather simple) is
deprecated.  I actually found it by skimming the GNUMakefile.

-- 
CYa,
  ⡍⠁⠗⠊⠕



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [elpa] --exclude-vcs for multi-file archives?
  2014-05-22 16:55       ` Mario Lang
@ 2014-05-22 17:14         ` David Kastrup
  2014-05-22 20:28           ` Mario Lang
  2014-05-23  0:58           ` Stefan Monnier
  0 siblings, 2 replies; 8+ messages in thread
From: David Kastrup @ 2014-05-22 17:14 UTC (permalink / raw)
  To: emacs-devel

Mario Lang <mlang@delysid.org> writes:

> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>>> $ make archive
>>
>> Where did you find a reference to this?
>> It's an old deprecated way to build an archive.
>
> OK, was not aware that this method (albeit rather simple) is
> deprecated.  I actually found it by skimming the GNUMakefile.

If it isn't supported, it should be removed, right?  Exactly because
people will use it upon discovering it.

-- 
David Kastrup




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [elpa] --exclude-vcs for multi-file archives?
  2014-05-22 17:14         ` David Kastrup
@ 2014-05-22 20:28           ` Mario Lang
  2014-05-23  0:58           ` Stefan Monnier
  1 sibling, 0 replies; 8+ messages in thread
From: Mario Lang @ 2014-05-22 20:28 UTC (permalink / raw)
  To: emacs-devel

David Kastrup <dak@gnu.org> writes:

> Mario Lang <mlang@delysid.org> writes:
>
>> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>
>>>> $ make archive
>>>
>>> Where did you find a reference to this?
>>> It's an old deprecated way to build an archive.
>>
>> OK, was not aware that this method (albeit rather simple) is
>> deprecated.  I actually found it by skimming the GNUMakefile.
>
> If it isn't supported, it should be removed, right?  Exactly because
> people will use it upon discovering it.

"make archive-full", which is a variant of "make archive" is called from
admin/update-archive.sh.  My error was to "ignore" the preparation steps
done within that script, and manually call the make target which is
called from within that script after preparation.  Calling "make
archive" actually does a useful job for me, except for the missing
implicit extra excludes done by the update-archive.sh.

I guess I will keep things as they are, since "make archive" is
apparently not ment to be called directly.  That's not surprising, a
make target is not automatically public interface :-)

Thanks Stefan, for explaining the situation.  And sorry for the noise.

-- 
CYa,
  ⡍⠁⠗⠊⠕



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [elpa] --exclude-vcs for multi-file archives?
  2014-05-22 17:14         ` David Kastrup
  2014-05-22 20:28           ` Mario Lang
@ 2014-05-23  0:58           ` Stefan Monnier
  1 sibling, 0 replies; 8+ messages in thread
From: Stefan Monnier @ 2014-05-23  0:58 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> If it isn't supported, it should be removed, right?

The alternative (based on update-archive.sh) requires a more complex
setup, which is why I didn't remove "make archive" altogether.
But yes, it should be removed since it doesn't faithfully produce the
packages that the scripts in elpa.gnu.org will produce.


        Stefan



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-05-23  0:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-22 10:07 [elpa] --exclude-vcs for multi-file archives? Mario Lang
2014-05-22 14:05 ` Stefan Monnier
2014-05-22 14:35   ` Mario Lang
2014-05-22 16:09     ` Stefan Monnier
2014-05-22 16:55       ` Mario Lang
2014-05-22 17:14         ` David Kastrup
2014-05-22 20:28           ` Mario Lang
2014-05-23  0:58           ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.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).