diff --git a/ChangeLog b/ChangeLog index 458ce7fe..5df6d85a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22808,3 +22808,5 @@ 'rivwebpyapi.Site()'. * Added 'make pypi' and 'make post-pypi' targets to 'apis/rivwebpyapi/Makefile.am'. +2021-12-16 Fred Gleason + * Consolidated all canonical version declarations in 'versions/'. diff --git a/Makefile.am b/Makefile.am index 494e3c21..4f6b5668 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,7 @@ ## ## Top level automake.am for Rivendell ## -## (C) Copyright 2002-2018 Fred Gleason +## (C) Copyright 2002-2021 Fred Gleason ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License version 2 as @@ -26,7 +26,8 @@ if ALSA_RD_AM ALSACONFIG_RD_OPT = rdalsaconfig endif -SUBDIRS = debian\ +SUBDIRS = versions\ + debian\ icons\ helpers\ LICENSES\ @@ -101,7 +102,6 @@ EXTRA_DIST = autogen.sh\ get_distro.pl\ get_target.sh\ INSTALL-WINDOWS\ - PACKAGE_VERSION\ rivendell.ism\ rivendell.pro\ rivendell.spec.in\ diff --git a/apis/rivwebcapi/configure.ac b/apis/rivwebcapi/configure.ac index 1cbcbc6d..998cb2f3 100644 --- a/apis/rivwebcapi/configure.ac +++ b/apis/rivwebcapi/configure.ac @@ -2,7 +2,7 @@ dnl configure.ac dnl dnl Autoconf configuration for the MingW32 build of rivwebcapi. dnl -dnl (C) Copyright 2015-2018 Fred Gleason +dnl (C) Copyright 2015-2021 Fred Gleason dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License version 2 as @@ -19,7 +19,7 @@ dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. dnl dnl Use autoconf to process this into a configure script -AC_INIT([rivwebcapi],m4_esyscmd_s(cat ../../PACKAGE_VERSION)) +AC_INIT([rivwebcapi],m4_esyscmd_s(cat ../../versions/PACKAGE_VERSION)) AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) @@ -30,28 +30,12 @@ AC_PROG_CC AC_PROG_LIBTOOL # -# Determine Library API Versioning +# API Versioning # -# From http://www.gnu.org/software/libtool/manual.html#Updating-version-info -# -# 1. Start with version information of 0:0:0 for each libtool library. -# 2. Update the version information only immediately before a public -# release of your software. More frequent updates are unnecessary, -# and only guarantee that the current interface number gets larger -# faster. -# 3. If the library source code has changed at all since the last update, -# then increment 'REVISION' (c:r:a becomes c:r+1:a). -# 4. If any interfaces have been added, removed, or changed since the last -# update, increment 'CURRENT', and set 'REVISION' to 0. -# 5. If any interfaces have been added since the last public release, then -# increment 'AGE'. -# 6. If any interfaces have been removed since the last public release, -# then set 'AGE' to 0. -RIVWEBCAPI_CURRENT=1 -RIVWEBCAPI_REVISION=0 -RIVWEBCAPI_AGE=1 +RIVWEBCAPI_CURRENT=m4_esyscmd(cat ../../versions/RIVWEBCAPI_CURRENT) +RIVWEBCAPI_REVISION=m4_esyscmd(cat ../../versions/RIVWEBCAPI_REVISION) +RIVWEBCAPI_AGE=m4_esyscmd(cat ../../versions/RIVWEBCAPI_AGE) RIVWEBCAPI_POINT=$(($RIVWEBCAPI_CURRENT - $RIVWEBCAPI_AGE)) - AC_SUBST(INTERFACE_RIVWEBCAPI_CURRENT,$RIVWEBCAPI_CURRENT) AC_SUBST(INTERFACE_RIVWEBCAPI_REVISION,$RIVWEBCAPI_REVISION) AC_SUBST(INTERFACE_RIVWEBCAPI_AGE,$RIVWEBCAPI_AGE) diff --git a/autogen.sh b/autogen.sh index dabf09fc..0eb1f611 100755 --- a/autogen.sh +++ b/autogen.sh @@ -24,8 +24,8 @@ # Generate Debian packaging metadata # DATESTAMP=`date +%a,\ %d\ %b\ %Y\ %T\ %z` -sed s/@VERSION@/`cat PACKAGE_VERSION`/ < debian/control.src > debian/control -sed s/@VERSION@/`cat PACKAGE_VERSION`/ < debian/changelog.src | sed "s/@DATESTAMP@/$DATESTAMP/" > debian/changelog +sed s/@VERSION@/`cat versions/PACKAGE_VERSION`/ < debian/control.src > debian/control +sed s/@VERSION@/`cat versions/PACKAGE_VERSION`/ < debian/changelog.src | sed "s/@DATESTAMP@/$DATESTAMP/" > debian/changelog mkdir -p m4 diff --git a/configure.ac b/configure.ac index 243892c2..6f560bf9 100644 --- a/configure.ac +++ b/configure.ac @@ -19,37 +19,20 @@ dnl License along with this program; if not, write to the Free Software dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. dnl -AC_INIT([rivendell],m4_esyscmd(cat PACKAGE_VERSION)) +AC_INIT([rivendell],m4_esyscmd(cat versions/PACKAGE_VERSION)) AM_INIT_AUTOMAKE([1.9 tar-pax]) AC_SUBST(RPM_RELEASE,1) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) AC_CONFIG_MACRO_DIR([m4]) -AC_SUBST(RIVWEBPYAPI_VERSION,m4_esyscmd(cat RIVWEBPYAPI_VERSION)) - # -# API Library Versioning +# API Versioning # -# From http://www.gnu.org/software/libtool/manual.html#Updating-version-info -# -# 1. Start with version information of 0:0:0 for each libtool library. -# 2. Update the version information only immediately before a public -# release of your software. More frequent updates are unnecessary, -# and only guarantee that the current interface number gets larger -# faster. -# 3. If the library source code has changed at all since the last update, -# then increment 'REVISION' (c:r:a becomes c:r+1:a). -# 4. If any interfaces have been added, removed, or changed since the last -# update, increment 'CURRENT', and set 'REVISION' to 0. -# 5. If any interfaces have been added since the last public release, then -# increment 'AGE'. -# 6. If any interfaces have been removed since the last public release, -# then set 'AGE' to 0. -RIVWEBCAPI_CURRENT=1 -RIVWEBCAPI_REVISION=0 -RIVWEBCAPI_AGE=1 +AC_SUBST(RIVWEBPYAPI_VERSION,m4_esyscmd(cat versions/RIVWEBPYAPI_VERSION)) +RIVWEBCAPI_CURRENT=m4_esyscmd(cat versions/RIVWEBCAPI_CURRENT) +RIVWEBCAPI_REVISION=m4_esyscmd(cat versions/RIVWEBCAPI_REVISION) +RIVWEBCAPI_AGE=m4_esyscmd(cat versions/RIVWEBCAPI_AGE) RIVWEBCAPI_POINT=$(($RIVWEBCAPI_CURRENT - $RIVWEBCAPI_AGE)) - AC_SUBST(INTERFACE_RIVWEBCAPI_CURRENT,$RIVWEBCAPI_CURRENT) AC_SUBST(INTERFACE_RIVWEBCAPI_REVISION,$RIVWEBCAPI_REVISION) AC_SUBST(INTERFACE_RIVWEBCAPI_AGE,$RIVWEBCAPI_AGE) @@ -596,6 +579,7 @@ ln -s ../../icons/redx.png docs/opsguide/redx.png AC_CONFIG_FILES([rivendell.spec \ rivwebpyapi.spec \ + versions/Makefile \ debian/Makefile \ debian/source/Makefile \ Makefile \ diff --git a/docs/opsguide/Makefile.am b/docs/opsguide/Makefile.am index 5814d33c..cd9afadf 100644 --- a/docs/opsguide/Makefile.am +++ b/docs/opsguide/Makefile.am @@ -334,10 +334,10 @@ OPSGUIDE_DEPS = $(OPSGUIDE_IMAGES) \ webget.xml %.html: $(OPSGUIDE_DEPS)\ - ../../PACKAGE_VERSION + ../../versions/PACKAGE_VERSION xsltproc ../stylesheets/book-xhtml.xml opsguide.xml -opsguide.pdf: $(OPSGUIDE_DEPS) ../../PACKAGE_VERSION\ +opsguide.pdf: $(OPSGUIDE_DEPS) ../../versions/PACKAGE_VERSION\ ../stylesheets/book-fo.xml\ ../stylesheets/book-fo-titlepages.xsl xsltproc ../stylesheets/book-fo.xml opsguide.xml | fop - -pdf opsguide.pdf diff --git a/versions/Makefile.am b/versions/Makefile.am new file mode 100644 index 00000000..4ffa47d1 --- /dev/null +++ b/versions/Makefile.am @@ -0,0 +1,29 @@ +## Makefile.am +## +## (C) Copyright 2021 Fred Gleason +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License version 2 as +## published by the Free Software Foundation. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public +## License along with this program; if not, write to the Free Software +## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +## +## +## Use automake to process this into a Makefile.in + +EXTRA_DIST = PACKAGE_VERSION\ + README.txt\ + RIVWEBPYAPI_VERSION + +CLEANFILES = *~ +MAINTAINERCLEANFILES = *~\ + aclocal.m4\ + configure\ + Makefile.in diff --git a/PACKAGE_VERSION b/versions/PACKAGE_VERSION similarity index 100% rename from PACKAGE_VERSION rename to versions/PACKAGE_VERSION diff --git a/versions/README.txt b/versions/README.txt new file mode 100644 index 00000000..039ef891 --- /dev/null +++ b/versions/README.txt @@ -0,0 +1,31 @@ +This directory contains the canonical version strings for Rivendell +and its various components. Each version definition consists of a +file containing the version string on a single line. THERE MUST BE +NO WHITESPACE,NEWLINE OR CARRIAGE RETURN CHARACTERS! + +PACKAGE_VERSION - Primary version string for Rivendell itself. + See https://semver.org/. + +RIVWEBCAPI_CURRENT - ABI versioning for rivwebcapi. Each file should contain +RIVWEBCAPI_REVISION - a single integer, updated as follows: +RIVWEBCAPI_AGE +# +# From http://www.gnu.org/software/libtool/manual.html#Updating-version-info +# +# 1. Start with version information of 0:0:0 for each libtool library. +# 2. Update the version information only immediately before a public +# release of your software. More frequent updates are unnecessary, +# and only guarantee that the current interface number gets larger +# faster. +# 3. If the library source code has changed at all since the last update, +# then increment 'RIVWEBCAPI_REVISION' (c:r:a becomes c:r+1:a). +# 4. If any interfaces have been added, removed, or changed since the last +# update, increment 'RIVWEBCAPI_CURRENT', and set 'RIVWEBCAPI_REVISION' +# to 0. +# 5. If any interfaces have been added since the last public release, then +# increment 'RIVWEBCAPI_AGE'. +# 6. If any interfaces have been removed since the last public release, +# then set 'RIVWEBCAPI_AGE' to 0. + +RIVWEBPYAPI_VERSION - Version string for rivwebpyapi. + See PEP 440 [https://www.python.org/dev/peps/pep-0440/]. diff --git a/versions/RIVWEBCAPI_AGE b/versions/RIVWEBCAPI_AGE new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/versions/RIVWEBCAPI_AGE @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/versions/RIVWEBCAPI_CURRENT b/versions/RIVWEBCAPI_CURRENT new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/versions/RIVWEBCAPI_CURRENT @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/versions/RIVWEBCAPI_REVISION b/versions/RIVWEBCAPI_REVISION new file mode 100644 index 00000000..c2270834 --- /dev/null +++ b/versions/RIVWEBCAPI_REVISION @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/versions/RIVWEBPYAPI_VERSION b/versions/RIVWEBPYAPI_VERSION new file mode 100644 index 00000000..fac5e899 --- /dev/null +++ b/versions/RIVWEBPYAPI_VERSION @@ -0,0 +1 @@ +4.0.0b6 \ No newline at end of file