1 # Makefile for GNU Emacs Lisp Package Archive.
5 ARCHIVE_TMP
=archive-tmp
8 .PHONY
: archive-tmp process-archive archive-full org-fetch
clean all do-it
10 ## Set up the source files for direct usage, by pointing
11 ## `package-directory-list' to the site/ directory.
14 $(EMACS
) -batch
-l
$(CURDIR
)/admin
/archive-contents.el \
15 --eval
"(batch-make-site-dir \"packages\" \"$(SITE_DIR)\")"
18 $(EMACS
) -batch
-l
$(CURDIR
)/admin
/archive-contents.el \
19 --eval
"(progn (setq debug-on-error t) (batch-make-site-package \"$@\"))"
21 ## Deploy the package archive to archive/, with packages in
24 $(MAKE
) $(MFLAGS
) process-archive
27 mkdir
-p
$(ARCHIVE_TMP
)
28 cp
-a packages
/.
$(ARCHIVE_TMP
)/packages
31 # First, refresh the ChangeLog files. This needs to be done in
32 # the source tree, because it needs the Bzr data!
34 $(EMACS
) -batch
-l
$(CURDIR
)/admin
/archive-contents.el \
35 -f batch-prepare-packages
36 # FIXME, we could probably speed this up significantly with
37 # rules like "%.tar: ../%/ChangeLog" so we only rebuild the packages
38 # that have indeed changed.
39 cd
$(ARCHIVE_TMP
)/packages
; $(EMACS
) -batch
-l
$(CURDIR
)/admin
/archive-contents.el
-f batch-make-archive
40 @cd
$(ARCHIVE_TMP
)/packages
; \
42 if
[ -d
$$pt ]; then \
43 echo
"Creating tarball $${pt}.tar" && \
44 tar -cf
$${pt}.
tar $$pt --remove-files
; \
47 mkdir
-p archive
/packages
48 mv archive
/packages archive
/packages-old
49 mv
$(ARCHIVE_TMP
)/packages archive
/packages
50 chmod
-R a
+rX archive
/packages
51 rm -rf archive
/packages-old
54 ## Deploy the package archive to archive/ including the Org daily:
55 archive-full
: archive-tmp org-fetch
56 $(MAKE
) $(MFLAGS
) process-archive
57 #mkdir -p archive/admin
58 #cp admin/* archive/admin/
60 org-fetch
: archive-tmp
61 cd
$(ARCHIVE_TMP
)/packages
; \
62 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"}'`; \
63 wget
-q http
://orgmode.org
/elpa
/$${pkgname}.
tar -O
$${pkgname}.
tar; \
64 if
[ -f
$${pkgname}.
tar ]; then \
65 tar xf
$${pkgname}.
tar; \
66 rm -f
$${pkgname}.
tar; \
71 rm -rf archive
$(ARCHIVE_TMP
) $(SITE_DIR
)