ci: adopt reusable workflows from `named-data/actions`

Switch source archive (tarball) to xz compression

Change-Id: I3e1963bc1f101b7815f1919b4a16da973261f158
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f328d39..50cb6ef 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -7,59 +7,10 @@
       - '.mailmap'
   workflow_dispatch:
 
-permissions:
-  contents: read
+permissions: {}
 
 jobs:
-  linux:
-    name: ${{ matrix.compiler }} on ${{ matrix.os }}
-    runs-on: ${{ matrix.os }}
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [ubuntu-20.04]
-        compiler: [g++-7, g++-8, g++-9, g++-10,
-                   clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12]
-        include:
-          - os: ubuntu-22.04
-            compiler: g++-11
-          - os: ubuntu-22.04
-            compiler: g++-12
-          - os: ubuntu-22.04
-            compiler: clang++-13
-          - os: ubuntu-22.04
-            compiler: clang++-14
-    env:
-      CXX: ${{ matrix.compiler }}
-    steps:
-      - name: Install C++ compiler
-        run: |
-          sudo apt-get -qy install ${CXX/clang++/clang}
-          ${CXX} --version
-      - name: Checkout
-        uses: actions/checkout@v3
-      - name: Build and test
-        run: ./.jenkins
-
-  macos:
-    name: Xcode ${{ matrix.xcode }} on ${{ matrix.os }}
-    runs-on: ${{ matrix.os }}
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [macos-11]
-        xcode: ['12.4', '12.5', '13.2']
-        include:
-          - os: macos-12
-            xcode: '13.4'
-          - os: macos-12
-            xcode: '14.2'
-    steps:
-      - name: Set up Xcode
-        uses: maxim-lobanov/setup-xcode@v1
-        with:
-          xcode-version: ${{ matrix.xcode }}
-      - name: Checkout
-        uses: actions/checkout@v3
-      - name: Build and test
-        run: ./.jenkins
+  Ubuntu:
+    uses: named-data/actions/.github/workflows/jenkins-script-ubuntu.yml@v1
+  macOS:
+    uses: named-data/actions/.github/workflows/jenkins-script-macos.yml@v1
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 1750673..f066452 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -1,35 +1,21 @@
 name: Docs
 on:
   push:
-    paths-ignore:
-      - '*.md'
-      - '.mailmap'
   workflow_dispatch:
+    inputs:
+      skip-deploy:
+        description: 'Skip deployment?'
+        required: true
+        type: boolean
 
-permissions:
-  contents: read
+permissions: {}
 
 jobs:
-  build:
-    runs-on: ${{ matrix.os }}
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [macos-latest, ubuntu-latest]
-    env:
-      JOB_NAME: Docs
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v3
-      - name: Install dependencies
-        run: |
-          find .jenkins.d/ -type f -name '[1-9]*.sh' -exec chmod -x '{}' +
-          ./.jenkins
-      - name: Build documentation
-        run: |
-          pybindir=$(python3 -c 'import sysconfig; print(sysconfig.get_path("scripts", "posix_user"))')
-          export PATH="${pybindir}${PATH:+:}${PATH}"
-          ./waf --color=yes configure
-          ./waf --color=yes build --targets=version.hpp
-          ./waf --color=yes build --targets=manpages
-          ./waf --color=yes docs
+  html:
+    uses: named-data/actions/.github/workflows/docs-html.yml@v1
+    with:
+      # Deploy only the master branch and release tags
+      deploy: ${{ !inputs.skip-deploy && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/NLSR-')) }}
+    secrets: inherit
+  man:
+    uses: named-data/actions/.github/workflows/docs-man.yml@v1
diff --git a/README-dev.md b/README-dev.md
index 060c556..00d84c3 100644
--- a/README-dev.md
+++ b/README-dev.md
@@ -1,15 +1,13 @@
 # Notes for NLSR developers
 
-If you are new to the NDN software community, please read the
+If you are new to the NDN software community, please read our
 [Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md).
 
 ## Licensing requirements
 
-Contributions to NLSR must be licensed under GPL 3.0 or compatible license.  If you are
-choosing GPL 3.0, please use the following license boilerplate in all `.hpp` and `.cpp`
-files:
-
-Include the following header in all `.hpp` and `.cpp` files:
+Contributions to NLSR must be licensed under the GPL v3 or a compatible license.
+If you choose the GPL v3, please use the following license boilerplate in all `.hpp`
+and `.cpp` files:
 
     /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
     /*
diff --git a/docs/beginners-guide.rst b/docs/beginners-guide.rst
index b12f009..e6006a5 100644
--- a/docs/beginners-guide.rst
+++ b/docs/beginners-guide.rst
@@ -860,27 +860,27 @@
 deployment [NDNTestbed]_.
 
 
-.. [NDNmain] *Named Data Networking*, http://named-data.net/, March 2018.
+.. [NDNmain] *Named Data Networking*, https://named-data.net/, March 2018.
 
 .. [Kolman2018] M. Kolman. *Anaconda improvements in Fedora 28*, Fedora Magazine, June 2018.
 
-.. [NDN-cxx] *Getting started with ndn-cxx*, http://named-data.net/doc/ndn-cxx/current/INSTALL.html, April 2018.
+.. [NDN-cxx] *Getting started with ndn-cxx*, https://docs.named-data.net/ndn-cxx/current/INSTALL.html, April 2018.
 
-.. [NDNNFD] *Getting started with NFD*, http://named-data.net/doc/NFD/current/INSTALL.html, April 2018.
+.. [NDNNFD] *Getting started with NFD*, https://docs.named-data.net/NFD/current/INSTALL.html, April 2018.
 
-.. [NDNNFDusage] *NFD usage*, http://named-data.net/doc/NFD/current/manpages/nfd.html, May 2018.
+.. [NDNNFDusage] *NFD usage*, https://docs.named-data.net/NFD/current/manpages/nfd.html, May 2018.
 
 .. [Chronosync] Z. Zhu and A. Afanasyev. *Let's ChronoSync: Decentralized dataset state synchronization in Named Data Networking*, in IEEE ICNP, October 2013.
 
 .. [PSync] M. Zhang, V. Lehman, and L. Wang. *Scalable Name-based Data Synchronization for Named Data Networking*, in IEEE INFOCOM, May 2017.
 
-.. [NLSRsecconf] *NLSR Security Configuration*, http://named-data.net/doc/NLSR/current/SECURITY-CONFIG.html June 2018.
+.. [NLSRsecconf] *NLSR Security Configuration*, https://docs.named-data.net/NLSR/current/SECURITY-CONFIG.html June 2018.
 
 .. [NLSRdevguide] V. Lehman, M. Chowdhury, N. Gordon, A. Gawande. *NLSR Developer's Guide*, University of Memphis, November 2017.
 
-.. [NLSRrtrconf] *NLSR Router Configuration*, http://named-data.net/doc/NLSR/current/ROUTER-CONFIG.html, April 2018.
+.. [NLSRrtrconf] *NLSR Router Configuration*, https://docs.named-data.net/NLSR/current/ROUTER-CONFIG.html, April 2018.
 
-.. [NLSRstarting] *Getting Started with NLSR*, http://named-data.net/doc/NLSR/current/GETTING-STARTED.html, May 2018.
+.. [NLSRstarting] *Getting Started with NLSR*, https://docs.named-data.net/NLSR/current/GETTING-STARTED.html, May 2018.
 
 .. [NDNAnsible] *NDN Ansible repository*, https://github.com/WU-ARL/NDN_Ansible, October 2018.
 
diff --git a/docs/doxygen.conf.in b/docs/doxygen.conf.in
index 66161f9..efb75db 100644
--- a/docs/doxygen.conf.in
+++ b/docs/doxygen.conf.in
@@ -68,7 +68,7 @@
 # performance problems for the file system.
 # The default value is: NO.
 
-CREATE_SUBDIRS         = YES
+CREATE_SUBDIRS         = NO
 
 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
 # documentation generated by doxygen is written. Doxygen will use this
@@ -416,7 +416,7 @@
 # for Java sources.
 # The default value is: YES.
 
-EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_CLASSES  = NO
 
 # This flag is only useful for Objective-C code. When set to YES local methods,
 # which are defined in the implementation section but not in the interface are
@@ -479,7 +479,7 @@
 # and Mac users are advised to set this option to NO.
 # The default value is: system dependent.
 
-CASE_SENSE_NAMES       = YES
+CASE_SENSE_NAMES       = NO
 
 # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
 # their full class and namespace scopes in the documentation. If set to YES the
@@ -1096,7 +1096,7 @@
 # The default value is: YES.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_TIMESTAMP         = YES
+HTML_TIMESTAMP         = NO
 
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
 # documentation will contain sections that can be hidden and shown after the
diff --git a/docs/releases.rst b/docs/releases.rst
index 96ed2ea..0efddcc 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -10,91 +10,91 @@
    release-notes/*
 
 * **NLSR version 0.6.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.6.0>`, `Documentation <https://named-data.net/doc/NLSR/0.6.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.6.0>`, `Documentation <https://docs.named-data.net/NLSR/0.6.0/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.6.0>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.6.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.6.0.tar.bz2.sha256>`__)
 
 * **NLSR version 0.5.2**
-  (:doc:`Release Notes <release-notes/release-notes-0.5.2>`, `Documentation <https://named-data.net/doc/NLSR/0.5.2/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.5.2>`, `Documentation <https://docs.named-data.net/NLSR/0.5.2/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.5.2>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.5.2.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.5.2.tar.bz2.sha256>`__)
 
 * **NLSR version 0.5.1**
-  (:doc:`Release Notes <release-notes/release-notes-0.5.1>`, `Documentation <https://named-data.net/doc/NLSR/0.5.1/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.5.1>`, `Documentation <https://docs.named-data.net/NLSR/0.5.1/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.5.1>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.5.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.5.1.tar.bz2.sha256>`__)
 
 * **NLSR version 0.5.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.5.0>`, `Documentation <https://named-data.net/doc/NLSR/0.5.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.5.0>`, `Documentation <https://docs.named-data.net/NLSR/0.5.0/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.5.0>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.5.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.5.0.tar.bz2.sha256>`__)
 
 * **NLSR version 0.4.3**
-  (:doc:`Release Notes <release-notes/release-notes-0.4.3>`, `Documentation <https://named-data.net/doc/NLSR/0.4.3/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.4.3>`, `Documentation <https://docs.named-data.net/NLSR/0.4.3/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.4.3>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.4.3.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.4.3.tar.bz2.sha256>`__)
 
 * **NLSR version 0.4.2**
-  (:doc:`Release Notes <release-notes/release-notes-0.4.2>`, `Documentation <https://named-data.net/doc/NLSR/0.4.2/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.4.2>`, `Documentation <https://docs.named-data.net/NLSR/0.4.2/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.4.2>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.4.2.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.4.2.tar.bz2.sha256>`__)
 
 * **NLSR version 0.4.1**
-  (:doc:`Release Notes <release-notes/release-notes-0.4.1>`, `Documentation <https://named-data.net/doc/NLSR/0.4.1/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.4.1>`, `Documentation <https://docs.named-data.net/NLSR/0.4.1/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.4.1>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.4.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.4.1.tar.bz2.sha256>`__)
 
 * **NLSR version 0.4.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.4.0>`, `Documentation <https://named-data.net/doc/NLSR/0.4.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.4.0>`, `Documentation <https://docs.named-data.net/NLSR/0.4.0/>`__)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.4.0>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.4.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.4.0.tar.bz2.sha256>`__)
 
 * **NLSR version 0.3.2**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.2>`, `Documentation <https://named-data.net/doc/NLSR/0.3.2/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.2>`)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.3.2>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.3.2.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.3.2.tar.bz2.sha256>`__)
 
 * **NLSR version 0.3.1**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.1>`, `Documentation <https://named-data.net/doc/NLSR/0.3.1/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.1>`)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.3.1>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.3.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.3.1.tar.bz2.sha256>`__)
 
 * **NLSR version 0.3.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.0>`, `Documentation <https://named-data.net/doc/NLSR/0.3.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.0>`)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.3.0>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.3.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.3.0.tar.bz2.sha256>`__)
 
 * **NLSR version 0.2.2**
-  (:doc:`Release Notes <release-notes/release-notes-0.2.2>`, `Documentation <https://named-data.net/doc/NLSR/0.2.2/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.2.2>`)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.2.2>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.2.2.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.2.2.tar.bz2.sha256>`__)
 
 * **NLSR version 0.2.1**
-  (:doc:`Release Notes <release-notes/release-notes-0.2.1>`, `Documentation <https://named-data.net/doc/NLSR/0.2.1/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.2.1>`)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.2.1>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.2.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.2.1.tar.bz2.sha256>`__)
 
 * **NLSR version 0.2.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.2.0>`, `Documentation <https://named-data.net/doc/NLSR/0.2.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.2.0>`)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.2.0>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.2.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.2.0.tar.bz2.sha256>`__)
 
 * **NLSR version 0.1.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.1.0>`, `Documentation <https://named-data.net/doc/NLSR/0.1.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.1.0>`)
 
   `src (git) <https://github.com/named-data/NLSR/releases/tag/NLSR-0.1.0>`__,
   `src (tarball) <https://named-data.net/downloads/nlsr-0.1.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nlsr-0.1.0.tar.bz2.sha256>`__)
diff --git a/wscript b/wscript
index 93e19db..6beff79 100644
--- a/wscript
+++ b/wscript
@@ -22,9 +22,9 @@
 from waflib import Context, Logs, Utils
 import os, subprocess
 
-VERSION = "0.6.0"
-APPNAME = "nlsr"
-GIT_TAG_PREFIX = "NLSR-"
+VERSION = '0.6.0'
+APPNAME = 'nlsr'
+GIT_TAG_PREFIX = 'NLSR-'
 
 def options(opt):
     opt.load(['compiler_cxx', 'gnu_dirs'])
@@ -257,7 +257,9 @@
         Logs.warn('%s is not writable (%s)' % (versionFile, e.strerror))
 
 def dist(ctx):
+    ctx.algo = 'tar.xz'
     version(ctx)
 
 def distcheck(ctx):
+    ctx.algo = 'tar.xz'
     version(ctx)