From ede2106e57f757c70890064e7dfc1164535e8b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ru=C5=BEi=C4=8Dka?= Date: Thu, 4 Mar 2021 20:04:19 +0100 Subject: [PATCH 1/4] move distro files into apkg tempalte dir --- distro/Makefile.am | 4 +--- distro/deb/knot.service | 1 - distro/deb/knot.tmpfile | 1 - distro/{ => pkg}/arch/PKGBUILD | 0 distro/{ => pkg}/arch/knot.sysusers | 0 distro/{ => pkg}/arch/knot.tmpfiles.arch | 0 distro/{ => pkg}/deb/changelog | 0 distro/{ => pkg}/deb/clean | 0 distro/{ => pkg}/deb/compat | 0 distro/{ => pkg}/deb/control | 0 distro/{ => pkg}/deb/copyright | 0 distro/{ => pkg}/deb/docs | 0 distro/{ => pkg}/deb/knot-dnsutils.NEWS | 0 distro/{ => pkg}/deb/knot-dnsutils.install | 0 distro/{ => pkg}/deb/knot-doc.install | 0 distro/{ => pkg}/deb/knot-doc.links | 0 distro/{ => pkg}/deb/knot-host.NEWS | 0 distro/{ => pkg}/deb/knot-host.install | 0 distro/{ => pkg}/deb/knot-module-dnstap.install | 0 distro/{ => pkg}/deb/knot-module-geoip.install | 0 distro/{ => pkg}/deb/knot.NEWS | 0 distro/{ => pkg}/deb/knot.dirs | 0 distro/{ => pkg}/deb/knot.init | 0 distro/{ => pkg}/deb/knot.install | 0 distro/{ => pkg}/deb/knot.maintscript | 0 distro/{ => pkg}/deb/knot.postinst | 0 distro/{ => pkg}/deb/knot.postrm | 0 distro/pkg/deb/knot.service | 1 + distro/pkg/deb/knot.tmpfile | 1 + distro/{ => pkg}/deb/libdnssec8.install | 0 distro/{ => pkg}/deb/libdnssec8.symbols | 0 distro/{ => pkg}/deb/libknot-dev.install | 0 distro/{ => pkg}/deb/libknot11.install | 0 distro/{ => pkg}/deb/libknot11.symbols | 0 distro/{ => pkg}/deb/libzscanner3.install | 0 distro/{ => pkg}/deb/libzscanner3.symbols | 0 distro/{ => pkg}/deb/not-installed | 0 distro/{ => pkg}/deb/prepare-environment | 0 distro/{ => pkg}/deb/rules | 0 distro/{ => pkg}/deb/source/format | 0 distro/{ => pkg}/deb/tests/control | 0 distro/{ => pkg}/deb/tests/kdig | 0 distro/{ => pkg}/deb/ufw/knot | 0 distro/{ => pkg}/deb/watch | 0 .../rpm/01-test_net-disable-udp-send-on-unconnected.patch | 0 distro/{ => pkg}/rpm/knot.spec | 0 46 files changed, 3 insertions(+), 5 deletions(-) delete mode 120000 distro/deb/knot.service delete mode 120000 distro/deb/knot.tmpfile rename distro/{ => pkg}/arch/PKGBUILD (100%) rename distro/{ => pkg}/arch/knot.sysusers (100%) rename distro/{ => pkg}/arch/knot.tmpfiles.arch (100%) rename distro/{ => pkg}/deb/changelog (100%) rename distro/{ => pkg}/deb/clean (100%) rename distro/{ => pkg}/deb/compat (100%) rename distro/{ => pkg}/deb/control (100%) rename distro/{ => pkg}/deb/copyright (100%) rename distro/{ => pkg}/deb/docs (100%) rename distro/{ => pkg}/deb/knot-dnsutils.NEWS (100%) rename distro/{ => pkg}/deb/knot-dnsutils.install (100%) rename distro/{ => pkg}/deb/knot-doc.install (100%) rename distro/{ => pkg}/deb/knot-doc.links (100%) rename distro/{ => pkg}/deb/knot-host.NEWS (100%) rename distro/{ => pkg}/deb/knot-host.install (100%) rename distro/{ => pkg}/deb/knot-module-dnstap.install (100%) rename distro/{ => pkg}/deb/knot-module-geoip.install (100%) rename distro/{ => pkg}/deb/knot.NEWS (100%) rename distro/{ => pkg}/deb/knot.dirs (100%) rename distro/{ => pkg}/deb/knot.init (100%) rename distro/{ => pkg}/deb/knot.install (100%) rename distro/{ => pkg}/deb/knot.maintscript (100%) rename distro/{ => pkg}/deb/knot.postinst (100%) rename distro/{ => pkg}/deb/knot.postrm (100%) create mode 120000 distro/pkg/deb/knot.service create mode 120000 distro/pkg/deb/knot.tmpfile rename distro/{ => pkg}/deb/libdnssec8.install (100%) rename distro/{ => pkg}/deb/libdnssec8.symbols (100%) rename distro/{ => pkg}/deb/libknot-dev.install (100%) rename distro/{ => pkg}/deb/libknot11.install (100%) rename distro/{ => pkg}/deb/libknot11.symbols (100%) rename distro/{ => pkg}/deb/libzscanner3.install (100%) rename distro/{ => pkg}/deb/libzscanner3.symbols (100%) rename distro/{ => pkg}/deb/not-installed (100%) rename distro/{ => pkg}/deb/prepare-environment (100%) rename distro/{ => pkg}/deb/rules (100%) rename distro/{ => pkg}/deb/source/format (100%) rename distro/{ => pkg}/deb/tests/control (100%) rename distro/{ => pkg}/deb/tests/kdig (100%) rename distro/{ => pkg}/deb/ufw/knot (100%) rename distro/{ => pkg}/deb/watch (100%) rename distro/{ => pkg}/rpm/01-test_net-disable-udp-send-on-unconnected.patch (100%) rename distro/{ => pkg}/rpm/knot.spec (100%) diff --git a/distro/Makefile.am b/distro/Makefile.am index 442960d90..7228a1b8e 100644 --- a/distro/Makefile.am +++ b/distro/Makefile.am @@ -1,6 +1,4 @@ EXTRA_DIST = \ - arch \ common \ - deb \ - rpm \ + pkg \ tests diff --git a/distro/deb/knot.service b/distro/deb/knot.service deleted file mode 120000 index b340efb47..000000000 --- a/distro/deb/knot.service +++ /dev/null @@ -1 +0,0 @@ -../common/knot.service \ No newline at end of file diff --git a/distro/deb/knot.tmpfile b/distro/deb/knot.tmpfile deleted file mode 120000 index d0be116f6..000000000 --- a/distro/deb/knot.tmpfile +++ /dev/null @@ -1 +0,0 @@ -../common/knot.tmpfiles \ No newline at end of file diff --git a/distro/arch/PKGBUILD b/distro/pkg/arch/PKGBUILD similarity index 100% rename from distro/arch/PKGBUILD rename to distro/pkg/arch/PKGBUILD diff --git a/distro/arch/knot.sysusers b/distro/pkg/arch/knot.sysusers similarity index 100% rename from distro/arch/knot.sysusers rename to distro/pkg/arch/knot.sysusers diff --git a/distro/arch/knot.tmpfiles.arch b/distro/pkg/arch/knot.tmpfiles.arch similarity index 100% rename from distro/arch/knot.tmpfiles.arch rename to distro/pkg/arch/knot.tmpfiles.arch diff --git a/distro/deb/changelog b/distro/pkg/deb/changelog similarity index 100% rename from distro/deb/changelog rename to distro/pkg/deb/changelog diff --git a/distro/deb/clean b/distro/pkg/deb/clean similarity index 100% rename from distro/deb/clean rename to distro/pkg/deb/clean diff --git a/distro/deb/compat b/distro/pkg/deb/compat similarity index 100% rename from distro/deb/compat rename to distro/pkg/deb/compat diff --git a/distro/deb/control b/distro/pkg/deb/control similarity index 100% rename from distro/deb/control rename to distro/pkg/deb/control diff --git a/distro/deb/copyright b/distro/pkg/deb/copyright similarity index 100% rename from distro/deb/copyright rename to distro/pkg/deb/copyright diff --git a/distro/deb/docs b/distro/pkg/deb/docs similarity index 100% rename from distro/deb/docs rename to distro/pkg/deb/docs diff --git a/distro/deb/knot-dnsutils.NEWS b/distro/pkg/deb/knot-dnsutils.NEWS similarity index 100% rename from distro/deb/knot-dnsutils.NEWS rename to distro/pkg/deb/knot-dnsutils.NEWS diff --git a/distro/deb/knot-dnsutils.install b/distro/pkg/deb/knot-dnsutils.install similarity index 100% rename from distro/deb/knot-dnsutils.install rename to distro/pkg/deb/knot-dnsutils.install diff --git a/distro/deb/knot-doc.install b/distro/pkg/deb/knot-doc.install similarity index 100% rename from distro/deb/knot-doc.install rename to distro/pkg/deb/knot-doc.install diff --git a/distro/deb/knot-doc.links b/distro/pkg/deb/knot-doc.links similarity index 100% rename from distro/deb/knot-doc.links rename to distro/pkg/deb/knot-doc.links diff --git a/distro/deb/knot-host.NEWS b/distro/pkg/deb/knot-host.NEWS similarity index 100% rename from distro/deb/knot-host.NEWS rename to distro/pkg/deb/knot-host.NEWS diff --git a/distro/deb/knot-host.install b/distro/pkg/deb/knot-host.install similarity index 100% rename from distro/deb/knot-host.install rename to distro/pkg/deb/knot-host.install diff --git a/distro/deb/knot-module-dnstap.install b/distro/pkg/deb/knot-module-dnstap.install similarity index 100% rename from distro/deb/knot-module-dnstap.install rename to distro/pkg/deb/knot-module-dnstap.install diff --git a/distro/deb/knot-module-geoip.install b/distro/pkg/deb/knot-module-geoip.install similarity index 100% rename from distro/deb/knot-module-geoip.install rename to distro/pkg/deb/knot-module-geoip.install diff --git a/distro/deb/knot.NEWS b/distro/pkg/deb/knot.NEWS similarity index 100% rename from distro/deb/knot.NEWS rename to distro/pkg/deb/knot.NEWS diff --git a/distro/deb/knot.dirs b/distro/pkg/deb/knot.dirs similarity index 100% rename from distro/deb/knot.dirs rename to distro/pkg/deb/knot.dirs diff --git a/distro/deb/knot.init b/distro/pkg/deb/knot.init similarity index 100% rename from distro/deb/knot.init rename to distro/pkg/deb/knot.init diff --git a/distro/deb/knot.install b/distro/pkg/deb/knot.install similarity index 100% rename from distro/deb/knot.install rename to distro/pkg/deb/knot.install diff --git a/distro/deb/knot.maintscript b/distro/pkg/deb/knot.maintscript similarity index 100% rename from distro/deb/knot.maintscript rename to distro/pkg/deb/knot.maintscript diff --git a/distro/deb/knot.postinst b/distro/pkg/deb/knot.postinst similarity index 100% rename from distro/deb/knot.postinst rename to distro/pkg/deb/knot.postinst diff --git a/distro/deb/knot.postrm b/distro/pkg/deb/knot.postrm similarity index 100% rename from distro/deb/knot.postrm rename to distro/pkg/deb/knot.postrm diff --git a/distro/pkg/deb/knot.service b/distro/pkg/deb/knot.service new file mode 120000 index 000000000..fd50d80fe --- /dev/null +++ b/distro/pkg/deb/knot.service @@ -0,0 +1 @@ +../../common/knot.service \ No newline at end of file diff --git a/distro/pkg/deb/knot.tmpfile b/distro/pkg/deb/knot.tmpfile new file mode 120000 index 000000000..76b7acf6c --- /dev/null +++ b/distro/pkg/deb/knot.tmpfile @@ -0,0 +1 @@ +../../common/knot.tmpfiles \ No newline at end of file diff --git a/distro/deb/libdnssec8.install b/distro/pkg/deb/libdnssec8.install similarity index 100% rename from distro/deb/libdnssec8.install rename to distro/pkg/deb/libdnssec8.install diff --git a/distro/deb/libdnssec8.symbols b/distro/pkg/deb/libdnssec8.symbols similarity index 100% rename from distro/deb/libdnssec8.symbols rename to distro/pkg/deb/libdnssec8.symbols diff --git a/distro/deb/libknot-dev.install b/distro/pkg/deb/libknot-dev.install similarity index 100% rename from distro/deb/libknot-dev.install rename to distro/pkg/deb/libknot-dev.install diff --git a/distro/deb/libknot11.install b/distro/pkg/deb/libknot11.install similarity index 100% rename from distro/deb/libknot11.install rename to distro/pkg/deb/libknot11.install diff --git a/distro/deb/libknot11.symbols b/distro/pkg/deb/libknot11.symbols similarity index 100% rename from distro/deb/libknot11.symbols rename to distro/pkg/deb/libknot11.symbols diff --git a/distro/deb/libzscanner3.install b/distro/pkg/deb/libzscanner3.install similarity index 100% rename from distro/deb/libzscanner3.install rename to distro/pkg/deb/libzscanner3.install diff --git a/distro/deb/libzscanner3.symbols b/distro/pkg/deb/libzscanner3.symbols similarity index 100% rename from distro/deb/libzscanner3.symbols rename to distro/pkg/deb/libzscanner3.symbols diff --git a/distro/deb/not-installed b/distro/pkg/deb/not-installed similarity index 100% rename from distro/deb/not-installed rename to distro/pkg/deb/not-installed diff --git a/distro/deb/prepare-environment b/distro/pkg/deb/prepare-environment similarity index 100% rename from distro/deb/prepare-environment rename to distro/pkg/deb/prepare-environment diff --git a/distro/deb/rules b/distro/pkg/deb/rules similarity index 100% rename from distro/deb/rules rename to distro/pkg/deb/rules diff --git a/distro/deb/source/format b/distro/pkg/deb/source/format similarity index 100% rename from distro/deb/source/format rename to distro/pkg/deb/source/format diff --git a/distro/deb/tests/control b/distro/pkg/deb/tests/control similarity index 100% rename from distro/deb/tests/control rename to distro/pkg/deb/tests/control diff --git a/distro/deb/tests/kdig b/distro/pkg/deb/tests/kdig similarity index 100% rename from distro/deb/tests/kdig rename to distro/pkg/deb/tests/kdig diff --git a/distro/deb/ufw/knot b/distro/pkg/deb/ufw/knot similarity index 100% rename from distro/deb/ufw/knot rename to distro/pkg/deb/ufw/knot diff --git a/distro/deb/watch b/distro/pkg/deb/watch similarity index 100% rename from distro/deb/watch rename to distro/pkg/deb/watch diff --git a/distro/rpm/01-test_net-disable-udp-send-on-unconnected.patch b/distro/pkg/rpm/01-test_net-disable-udp-send-on-unconnected.patch similarity index 100% rename from distro/rpm/01-test_net-disable-udp-send-on-unconnected.patch rename to distro/pkg/rpm/01-test_net-disable-udp-send-on-unconnected.patch diff --git a/distro/rpm/knot.spec b/distro/pkg/rpm/knot.spec similarity index 100% rename from distro/rpm/knot.spec rename to distro/pkg/rpm/knot.spec From 6d1201fe0bf2947b0e865bed2a97645e656f4cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ru=C5=BEi=C4=8Dka?= Date: Wed, 21 Apr 2021 18:37:44 +0200 Subject: [PATCH 2/4] deb: update symbols to enable package builds --- distro/pkg/deb/libknot11.symbols | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/distro/pkg/deb/libknot11.symbols b/distro/pkg/deb/libknot11.symbols index 748539df0..c097c60ab 100644 --- a/distro/pkg/deb/libknot11.symbols +++ b/distro/pkg/deb/libknot11.symbols @@ -7,8 +7,6 @@ libknot.so.11 libknot11 #MINVER# KNOT_DB_LMDB_RDONLY@Base 3.0.0 KNOT_DB_LMDB_WRITEMAP@Base 3.0.0 KNOT_DUMP_STYLE_DEFAULT@Base 3.0.0 - KNOT_XDP_PAYLOAD_OFFSET4@Base 3.0.0 - KNOT_XDP_PAYLOAD_OFFSET6@Base 3.0.0 knot_ctl_accept@Base 3.0.0 knot_ctl_alloc@Base 3.0.0 knot_ctl_bind@Base 3.0.0 @@ -78,6 +76,7 @@ libknot.so.11 libknot11 #MINVER# knot_edns_set_ext_rcode@Base 3.0.0 knot_edns_set_version@Base 3.0.0 knot_error_from_libdnssec@Base 3.0.0 + knot_eth_mtu@Base 3.1.0 knot_eth_name_from_addr@Base 3.0.0 knot_eth_queues@Base 3.0.0 knot_eth_xdp_mode@Base 3.0.2 @@ -181,11 +180,15 @@ libknot.so.11 libknot11 #MINVER# knot_xdp_init@Base 3.0.0 knot_xdp_recv@Base 3.0.0 knot_xdp_recv_finish@Base 3.0.0 + knot_xdp_reply_alloc@Base 3.1.0 knot_xdp_send@Base 3.0.0 knot_xdp_send_alloc@Base 3.0.0 knot_xdp_send_finish@Base 3.0.0 + knot_xdp_send_free@Base 3.1.0 knot_xdp_send_prepare@Base 3.0.0 knot_xdp_socket_fd@Base 3.0.0 + knot_xdp_tcp_relay@Base 3.1.0 + knot_xdp_tcp_send@Base 3.1.0 yp_addr@Base 3.0.0 yp_addr_noport@Base 3.0.0 yp_addr_noport_to_bin@Base 3.0.0 From 19dbbbcc2d1ee146e7315f37fa1b450a0ba2de17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ru=C5=BEi=C4=8Dka?= Date: Fri, 30 Apr 2021 03:08:31 +0200 Subject: [PATCH 3/4] distro: add missing build deps autoreconf: command not found Can't exec "aclocal": No such file or directory at ... autoreconf: failed to run aclocal: No such file or directory error: Libtool library used but 'LIBTOOL' is undefined --- distro/pkg/deb/control | 3 +++ distro/pkg/rpm/knot.spec | 3 +++ 2 files changed, 6 insertions(+) diff --git a/distro/pkg/deb/control b/distro/pkg/deb/control index 58c1047a2..912b7b178 100644 --- a/distro/pkg/deb/control +++ b/distro/pkg/deb/control @@ -9,6 +9,8 @@ Build-Depends-Indep: python3-setuptools, python3-sphinx, Build-Depends: + autoconf, + automake, debhelper (>= 9), dh-python, libcap-ng-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], @@ -25,6 +27,7 @@ Build-Depends: libsofthsm2 , libsystemd-dev [linux-any] | libsystemd-daemon-dev [linux-any], libsystemd-dev [linux-any] | libsystemd-journal-dev [linux-any], + libtool, liburcu-dev (>= 0.4), pkg-config, protobuf-c-compiler, diff --git a/distro/pkg/rpm/knot.spec b/distro/pkg/rpm/knot.spec index 12a632591..8ee8ff8a8 100644 --- a/distro/pkg/rpm/knot.spec +++ b/distro/pkg/rpm/knot.spec @@ -27,6 +27,9 @@ BuildRequires: gnupg2 Patch1: 01-test_net-disable-udp-send-on-unconnected.patch # Required dependencies +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool BuildRequires: make BuildRequires: gcc BuildRequires: pkgconfig(liburcu) From 7e914793d843653a3b5cb83e2be145ce9cd0e4e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ru=C5=BEi=C4=8Dka?= Date: Wed, 21 Apr 2021 17:49:11 +0200 Subject: [PATCH 4/4] distro: add apkg support Change packaging templates distro/pkg/* to use {{ version }}. Add scripts/make_dev_archive.sh to create dev archives. Add apkg config: distro/config/apkg.toml With these changes, apkg can be used to package Knot DNS. --- .gitignore | 3 +++ distro/config/apkg.toml | 12 ++++++++++++ distro/pkg/arch/PKGBUILD | 4 ++-- distro/pkg/deb/changelog | 2 +- distro/pkg/rpm/knot.spec | 7 +++---- scripts/make-dev-archive.sh | 14 ++++++++++++++ 6 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 distro/config/apkg.toml create mode 100755 scripts/make-dev-archive.sh diff --git a/.gitignore b/.gitignore index 66acf991a..1a4374edc 100644 --- a/.gitignore +++ b/.gitignore @@ -81,6 +81,9 @@ src/libknot/libknot.h # Generated tarballs /knot-*.tar.xz +# Packaging output +/pkg + # Code coverage *.gcda *.gcno diff --git a/distro/config/apkg.toml b/distro/config/apkg.toml new file mode 100644 index 000000000..abb8cbcd3 --- /dev/null +++ b/distro/config/apkg.toml @@ -0,0 +1,12 @@ +[project] +name = "knot-dns" +# needed for make-archive +make_archive_script = "scripts/make-dev-archive.sh" + +[upstream] +# needed for get-archive +archive_url = "https://secure.nic.cz/files/knot-dns/knot-{{ version }}.tar.xz" +signature_url = "https://secure.nic.cz/files/knot-dns/knot-{{ version }}.tar.xz.asc" + +[apkg] +compat = 1 diff --git a/distro/pkg/arch/PKGBUILD b/distro/pkg/arch/PKGBUILD index eccde30ae..f8d68eaef 100644 --- a/distro/pkg/arch/PKGBUILD +++ b/distro/pkg/arch/PKGBUILD @@ -6,7 +6,7 @@ # Contributor: Otto Sabart pkgname=knot -pkgver=__VERSION__ +pkgver={{ version }} pkgrel=1 pkgdesc="High-performance authoritative-only DNS server" arch=('x86_64') @@ -23,7 +23,7 @@ depends=('fstrm' 'protobuf-c' 'systemd') backup=('etc/knot/knot.conf') -source=("${pkgname}_${pkgver}.orig.tar.xz") +source=("${pkgname}-${pkgver}.tar.xz") sha256sums=('SKIP') validpgpkeys=('742FA4E95829B6C5EAC6B85710BB7AF6FEBBD6AB') # Daniel Salzman diff --git a/distro/pkg/deb/changelog b/distro/pkg/deb/changelog index 285b69e2c..5538ae1e3 100644 --- a/distro/pkg/deb/changelog +++ b/distro/pkg/deb/changelog @@ -1,4 +1,4 @@ -knot (__VERSION__-cznic.1) unstable; urgency=medium +knot ({{ version }}-cznic.{{ release }}) unstable; urgency=medium * move changelog to OBS * see NEWS or https://knot-dns.cz diff --git a/distro/pkg/rpm/knot.spec b/distro/pkg/rpm/knot.spec index 8ee8ff8a8..254d6805d 100644 --- a/distro/pkg/rpm/knot.spec +++ b/distro/pkg/rpm/knot.spec @@ -2,17 +2,16 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}} %define GPG_CHECK 0 -%define VERSION __VERSION__ %define BASE_VERSION %(echo "%{version}" | sed 's/^\\([^.]\\+\\.[^.]\\+\\).*/\\1/') %define repodir %{_builddir}/%{name}-%{version} Summary: High-performance authoritative DNS server Name: knot -Version: %{VERSION} -Release: cznic.1%{?dist} +Version: {{ version }} +Release: cznic.{{ release }}%{?dist} License: GPL-3.0-or-later URL: https://www.knot-dns.cz -Source0: %{name}_%{version}.orig.tar.xz +Source0: %{name}-%{version}.tar.xz %if 0%{?GPG_CHECK} Source1: https://secure.nic.cz/files/knot-dns/%{name}-%{version}.tar.xz.asc diff --git a/scripts/make-dev-archive.sh b/scripts/make-dev-archive.sh new file mode 100755 index 000000000..693ca506e --- /dev/null +++ b/scripts/make-dev-archive.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-3.0-or-later +# Create a develpoment tarball +set -o errexit -o nounset -o xtrace + +cd "$(dirname ${0})/.." + +# configure Knot DNS in order to create archive +autoreconf -if +./configure +# create archive and parse output for archive name +TARDIR=$(make dist 2>&1 | sed -n 's/tardir=\([^ ]\+\).*/\1/p') +# print created archive name +ls -1 $TARDIR.tar.*