* [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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.