stdlib: Add fedora.gl.
[goals.git] / Goalfile.in
index 05a78dc..1885d20 100644 (file)
@@ -120,9 +120,10 @@ goal depend =
 # Documentation.
 
 let POD2MAN = "@POD2MAN@"
+let POD2TEXT = "@POD2TEXT@"
 
-goal documentation = : pod2man ("goals", "1"),
-                       pod2man ("Goalfile", "5")
+goal documentation = : pod2man ("goals", "1"), pod2man ("Goalfile", "5"),
+                       pod2text ("goals", "1"), pod2text ("Goalfile", "5")
 
 goal pod2man (page, section) =
 "man/%page.%section" : "docs/%page.pod" {
@@ -136,6 +137,14 @@ goal pod2man (page, section) =
     mv %@-t %@
 }
 
+goal pod2text (page, section) =
+"man/%page.%section.txt" : "docs/%page.pod" {
+    rm -f %@ %@-t
+    mkdir -p man
+    %POD2TEXT -u %< > %@-t
+    mv %@-t %@
+}
+
 #----------------------------------------------------------------------
 # Tests.
 
@@ -248,3 +257,52 @@ goal dist = {
     mv "$o-t" "$o"
     rm -rf "$d"
 }
+
+goal distcheck = : dist {
+    d="@PACKAGE_NAME@-@PACKAGE_VERSION@"
+    tar zxf %tarfile
+    pushd "$d"
+    ./configure
+    make
+    make check
+    popd
+    rm -rf "$d"
+    print_green "PASS: distcheck"
+}
+
+#----------------------------------------------------------------------
+# Maintainer rules.
+
+# Check no files are missing from distfiles above by unpacking the
+# distribution tarball and comparing it to git.
+goal maintainer-check-extra-dist = : dist @{
+    tar ztf %tarfile | sort |
+        sed 's,^@PACKAGE_NAME@-@PACKAGE_VERSION@/,,' > tarfiles
+    git ls-files | sort > gitfiles
+    comm -13 tarfiles gitfiles > comm.out
+    cat comm.out
+    [ ! -s comm.out ]
+    rm tarfiles gitfiles comm.out
+    print_green "PASS: distfiles"
+}
+
+# XXX This should also do a Fedora build.
+goal maintainer-release = : dist,
+                            maintainer-check-extra-dist,
+                            distcheck,
+                            maintainer-upload
+
+let websitedir = "%HOME/d/websites/people.redhat.com/goals"
+
+# XXX Should actually use the *url tactic here.
+goal maintainer-upload = {
+    [ -d %websitedir ]
+    cp %tarfile %websitedir/files
+    cp README %websitedir/README
+    cp man/goals.1.txt man/Goalfile.5.txt %websitedir
+    cd %websitedir
+    git add files/%tarfile README goals.1.txt Goalfile.5.txt
+    git commit -m "@PACKAGE_NAME@ @PACKAGE_VERSION@"
+    cd ..
+    ./.rsync
+}