[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 872014e: Prevent accidental deletion of .git
From: |
Thomas Fitzsimmons |
Subject: |
[elpa] master 872014e: Prevent accidental deletion of .git |
Date: |
Mon, 09 Nov 2015 01:31:25 +0000 |
branch: master
commit 872014ef2d67b377c9b59ae38265a982ca9db036
Author: Thomas Fitzsimmons <address@hidden>
Commit: Thomas Fitzsimmons <address@hidden>
Prevent accidental deletion of .git
* GNUmakefile (check_copyrights, process-archive, org-fetch)
(%-autoloads.el): Use && after cd command.
---
GNUmakefile | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/GNUmakefile b/GNUmakefile
index cc5be30..ad29cc6 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -14,7 +14,7 @@ CR_EXCEPTIONS=copyright_exceptions
check_copyrights:
@echo "Compute exceptions >$(CR_EXCEPTIONS)~"
@export LC_ALL=C; \
- (cd packages; \
+ (cd packages && \
find . -name '.git' -prune -o \
-name 'test' -prune -o \
-name '*.el' -print0 | \
@@ -40,14 +40,21 @@ archive-tmp: packages
mkdir -p $(ARCHIVE_TMP)
cp -a packages/. $(ARCHIVE_TMP)/packages
+# Use && after the cd commands, not ;, to ensure the build fails
+# immediately if the directory $(ARCHIVE_TMP)/packages does not exist.
+# For process-archive this is crucial; otherwise batch-make-archive in
+# archive-contents.el will interpret directories in the current
+# directory as unreleased packages, and recursively delete them,
+# including .git. Prior to using &&, running "make process-archive"
+# could silently delete all local git history!
process-archive:
# FIXME, we could probably speed this up significantly with
# rules like "%.tar: ../%/ChangeLog" so we only rebuild the packages
# that have indeed changed.
- cd $(ARCHIVE_TMP)/packages; \
+ cd $(ARCHIVE_TMP)/packages && \
$(EMACS) -l $(CURDIR)/admin/archive-contents.el \
-f batch-make-archive
- @cd $(ARCHIVE_TMP)/packages; \
+ @cd $(ARCHIVE_TMP)/packages && \
for pt in *; do \
if [ -f "$${pt}/.elpaignore" ]; then \
ignore="$${pt}/.elpaignore"; \
@@ -76,7 +83,7 @@ archive-full: archive-tmp org-fetch
# FIXME: Turn it into an `external', which will require adding the notion of
# "snapshot" packages.
org-fetch: archive-tmp
- cd $(ARCHIVE_TMP)/packages; \
+ cd $(ARCHIVE_TMP)/packages && \
pkgname=`curl -s http://orgmode.org/elpa/|perl -ne 'push @f, $$1 if
m/(org-\d{8})\.tar/; END { @f = sort @f; print "$$f[-1]\n"}'`; \
wget -q http://orgmode.org/elpa/$${pkgname}.tar -O $${pkgname}.tar; \
if [ -f $${pkgname}.tar ]; then \
@@ -123,7 +130,7 @@ autoloads := $(foreach pkg, $(pkgs), $(pkg)/$(notdir
$(pkg))-autoloads.el)
$(foreach al, $(autoloads), $(eval $(call RULE-srcdeps, $(al))))
%-autoloads.el:
@echo 'Generating autoloads for $@'
- @cd $(dir $@); \
+ @cd $(dir $@) && \
$(EMACS) -l $(CURDIR)/admin/archive-contents.el \
--eval "(archive--refresh-pkg-file)" \
--eval "(require 'package)" \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 872014e: Prevent accidental deletion of .git,
Thomas Fitzsimmons <=