-tag-and-release-baseline:
- aegis -cp -ind Makefile -output /tmp/Makefile.tagandrelease; \
- $(MAKE) -f /tmp/Makefile.tagandrelease tag-and-release-never-by-hand
-
-
-# Running this target in a working directory is
-# WRONG WRONG WRONG.
-# it will tag the current baseline with the version of RT defined
-# in the currently-being-worked-on makefile. which is wrong.
-# you want tag-and-release-baseline
-
-tag-and-release-never-by-hand:
- aegis --delta-name $(TAG)
- rm -rf /tmp/$(TAG)
- mkdir /tmp/$(TAG)
- cd /tmp/$(TAG); \
- aegis -cp -ind -delta $(TAG) . ;\
- make reconfigure;\
- chmod 600 Makefile;\
- aegis --report --project rt.$(RT_VERSION_MAJOR) \
- --page_width 80 \
- --page_length 9999 \
- --change $(RT_VERSION_MINOR) --output Changelog Change_Log
+apachectl:
+ $(APACHECTL) stop
+ sleep 10
+ $(APACHECTL) start
+ sleep 5
+
+SNAPSHOT=$(shell git describe --tags)
+THIRD_PARTY=devel/third-party/
+snapshot: build-snapshot build-third-party clearsign-snapshot clearsign-third-party snapshot-shasums
+
+build-snapshot:
+ git archive --prefix "$(SNAPSHOT)/" HEAD | tar -xf -
+ ( cd $(SNAPSHOT) && \
+ echo "$(SNAPSHOT)" > .tag && \
+ autoconf && \
+ INSTALL=./install-sh PERL=/usr/bin/perl ./configure \
+ --with-db-type=SQLite \
+ --enable-layout=relative \
+ --with-web-handler=standalone && \
+ rm -rf autom4te.cache \
+ config.status config.log config.pld \
+ )
+ tar -czf "$(SNAPSHOT).tar.gz" "$(SNAPSHOT)/"
+ rm -fr "$(SNAPSHOT)/"
+
+clearsign-snapshot:
+ gpg --no-armor --detach-sign "$(SNAPSHOT).tar.gz"
+
+build-third-party:
+ git archive --prefix "$(SNAPSHOT)/$(THIRD_PARTY)" HEAD:$(THIRD_PARTY) \
+ | gzip > "$(SNAPSHOT)-third-party-source.tar.gz"
+ rm -rf "$(SNAPSHOT)/$(THIRD_PARTY)"
+
+clearsign-third-party:
+ gpg --no-armor --detach-sign "$(SNAPSHOT)-third-party-source.tar.gz"
+
+snapshot-shasums:
+ sha1sum $(SNAPSHOT)*.tar.gz*
+
+vessel-import: build-snapshot
+ [ -d $(VESSEL) ] || (echo "VESSEL isn't a path to your shipwright vessel" && exit -1)
+ cp $(VESSEL)/scripts/RT/build.pl /tmp/build.pl
+ ./sbin/rt-test-dependencies --with-standalone --with-fastcgi --with-sqlite --list > /tmp/rt.yml
+ shipwright import file:$(SNAPSHOT).tar.gz \
+ --require-yml /tmp/rt.yml \
+ --build-script /tmp/build.pl \
+ --name RT \
+ --repository fs:$(VESSEL) \
+ --log-level=info \
+ --skip cpan-capitalization,cpan-mod_perl,cpan-Encode,cpan-PPI,cpan-Test-Exception-LessClever,cpan-Test-Manifest,cpan-Test-Object,cpan-Test-Pod,cpan-Test-Requires,cpan-Test-SubCalls,cpan-Test-cpan-Tester,cpan-Test-Warn --skip-all-recommends
+ mv $(VESSEL)/scripts/RT/build $(VESSEL)/scripts/RT/build.pl
+
+JSMIN_URL = http://download.bestpractical.com/mirror/jsmin-2011-01-22.c
+JSMIN_SHA = 8a6b3b980a52c028eb73aee4a82ebe060c1ee854
+
+jsmin: jsmin-checkcc jsmin-fetch jsmin-verify jsmin-confirm jsmin-build jsmin-install
+ @echo ""
+ @echo "To configure RT to use jsmin, add the following line to $(DESTDIR)$(RT_ETC_PATH)/RT_SiteConfig.pm:"
+ @echo ""
+ @echo " Set(\$$JSMinPath, '$(DESTDIR)$(RT_BIN_PATH)/jsmin');"
+ @echo ""