From e9df24d3e50b259c80de2290f01d25895698a378 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Fri, 28 Jan 2022 17:05:52 +0000 Subject: [PATCH] snapshot of project "byacc", label t20220128 --- CHANGES | 25 ++++ MANIFEST | 29 ++-- VERSION | 2 +- configure | 12 +- configure.in | 12 +- package/byacc.spec | 4 +- package/{detest => debian}/byacc2.docs | 0 package/{detest => debian}/byacc2.postinst | 0 package/{detest => debian}/byacc2.prerm | 0 package/{detest => debian}/changelog | 6 + package/{detest => debian}/control | 18 +-- package/{detest => debian}/copyright | 4 +- package/debian/rules | 29 ++++ package/{detest => debian}/source/format | 0 package/{detest => debian}/watch | 11 +- package/detest/byacc.docs | 4 - package/detest/byacc.postinst | 15 -- package/detest/byacc.prerm | 12 -- package/detest/rules | 152 --------------------- package/mingw-byacc.spec | 4 +- package/pkgsrc/Makefile | 2 +- yacc.1 | 4 +- 22 files changed, 102 insertions(+), 243 deletions(-) rename package/{detest => debian}/byacc2.docs (100%) rename package/{detest => debian}/byacc2.postinst (100%) rename package/{detest => debian}/byacc2.prerm (100%) rename package/{detest => debian}/changelog (98%) rename package/{detest => debian}/control (63%) rename package/{detest => debian}/copyright (99%) create mode 100755 package/debian/rules rename package/{detest => debian}/source/format (100%) rename package/{detest => debian}/watch (66%) delete mode 100644 package/detest/byacc.docs delete mode 100644 package/detest/byacc.postinst delete mode 100644 package/detest/byacc.prerm delete mode 100755 package/detest/rules diff --git a/CHANGES b/CHANGES index 653b6fb..375fdba 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,26 @@ +2022-01-28 Thomas E. Dickey + + * package/debian/copyright: update, fix typo + + * package/debian/rules, package/debian/control: + adapt from current Debian package + + * configure: regen + + * configure.in: + change default for the backtracking option to match the most-common usage + of byacc + + * VERSION, package/byacc.spec, package/debian/changelog, + package/pkgsrc/Makefile: + update packaging, renaming debian folder back to its original location to + verify that the version-mangling used in the accepted Debian package will work + with the continuous-integration system. + +2022-01-18 Thomas E. Dickey + + * package/debian/watch: adapt from current Debian package + 2022-01-14 Thomas E. Dickey * VERSION, package/byacc.spec, package/detest/changelog, @@ -387,6 +410,8 @@ * main.c, yacc.1: add "-h" option + * yacc.1: fix date + * test/btyacc/no_b_opt.error, test/btyacc/no_output2.error, test/btyacc/no_p_opt.error, test/btyacc/big_b.error, test/btyacc/big_l.error, test/btyacc/help.error, diff --git a/MANIFEST b/MANIFEST index 4a1d28a..74f6e7a 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,4 +1,4 @@ -MANIFEST for byacc, version t20220114 +MANIFEST for byacc, version t20220128 -------------------------------------------------------------------------------- MANIFEST this file ACKNOWLEDGEMENTS original version of byacc - 1993 @@ -43,21 +43,18 @@ yaccpar.c generated from yaccpar.skel yaccpar.skel data which can be transformed into skeleton.c package subdirectory package/byacc.spec RPM file for byacc -package/detest subdirectory -package/detest/byacc.docs extra docs for byacc package -package/detest/byacc.postinst post-install script for byacc package -package/detest/byacc.prerm pre-removal script for byacc package -package/detest/byacc2.docs extra docs for byacc2 package -package/detest/byacc2.postinst post-install script for byacc2 package -package/detest/byacc2.prerm pre-removal script for byacc2 package -package/detest/changelog scripts from Debian package -package/detest/control scripts from Debian package -package/detest/copyright scripts from Debian package -package/detest/rules scripts from Debian package -package/detest/source subdirectory -package/detest/source/format scripts from Debian package -package/detest subdirectory -package/detest/watch scripts from Debian package +package/debian subdirectory +package/debian/byacc2.docs extra docs for byacc2 package +package/debian/byacc2.postinst post-install script for byacc2 package +package/debian/byacc2.prerm pre-removal script for byacc2 package +package/debian/changelog scripts from Debian package +package/debian/control scripts from Debian package +package/debian/copyright scripts from Debian package +package/debian/rules scripts from Debian package +package/debian/source subdirectory +package/debian/source/format scripts from Debian package +package/debian subdirectory +package/debian/watch scripts from Debian package package subdirectory package/mingw-byacc.spec mingw spec-file, for cross-compiles package/pkgsrc subdirectory diff --git a/VERSION b/VERSION index b0d3d8e..5f74118 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -20220114 +20220128 diff --git a/configure b/configure index 0983660..911b4a4 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.25 . +# From configure.in Revision: 1.26 . # Guess values for system-dependent variables and create Makefiles. # Generated by Autoconf 2.52.20210509. # @@ -702,8 +702,8 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-max-table-size=N set the maximum table size = N (no default) - --enable-btyacc turn on support for the btyacc backtracking - extension (default: no) + --enable-btyacc disable support for the btyacc backtracking + extension (default: enabled) --enable-warnings test: turn on gcc compiler warnings --enable-stdnoreturn enable C11 _Noreturn feature for diagnostics --disable-echo do not display "compiling" commands @@ -5415,15 +5415,15 @@ if test "${enable_btyacc+set}" = set; then fi; echo "$as_me:5416: result: $enable_btyacc" >&5 echo "${ECHO_T}$enable_btyacc" >&6 -if test "$enable_btyacc" = "yes"; then +if test "$enable_btyacc" = "no"; then + SKELETON=yaccpar +else cat >>confdefs.h <<\EOF #define YYBTYACC 1 EOF SKELETON=btyaccpar -else - SKELETON=yaccpar fi echo "$as_me:5429: checking for fgrep" >&5 diff --git a/configure.in b/configure.in index 2fe8901..004d0fc 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl Process this file with 'autoconf' to produce a 'configure' script -dnl $Id: configure.in,v 1.25 2020/09/10 18:07:42 tom Exp $ +dnl $Id: configure.in,v 1.26 2022/01/28 13:50:10 tom Exp $ AC_PREREQ(2.52.20200802) -AC_REVISION($Revision: 1.25 $) +AC_REVISION($Revision: 1.26 $) AC_INIT(main.c) AC_CONFIG_HEADER(config.h:config_h.in) @@ -43,13 +43,13 @@ fi AC_MSG_CHECKING(if backtracking extension is wanted) AC_ARG_ENABLE([btyacc], [AC_HELP_STRING([--enable-btyacc], - [turn on support for the btyacc backtracking extension (default: no)])]) + [disable support for the btyacc backtracking extension (default: enabled)])]) AC_MSG_RESULT($enable_btyacc) -if test "$enable_btyacc" = "yes"; then +if test "$enable_btyacc" = "no"; then + SKELETON=yaccpar +else AC_DEFINE(YYBTYACC,1,[Define to 1 to enable backtracking extension]) SKELETON=btyaccpar -else - SKELETON=yaccpar fi AC_SUBST(SKELETON) diff --git a/package/byacc.spec b/package/byacc.spec index 80d49b6..81d069d 100644 --- a/package/byacc.spec +++ b/package/byacc.spec @@ -1,12 +1,12 @@ Summary: public domain Berkeley LALR Yacc parser generator %global AppVersion 2.0 -%global AppPatched 20220114 +%global AppPatched 20220128 %global AltProgram byacc2 %global UseProgram yacc -# $Id: byacc.spec,v 1.66 2022/01/14 21:34:52 tom Exp $ +# $Id: byacc.spec,v 1.67 2022/01/28 13:38:52 tom Exp $ Name: byacc Version: %{AppVersion}.%{AppPatched} Release: 1 diff --git a/package/detest/byacc2.docs b/package/debian/byacc2.docs similarity index 100% rename from package/detest/byacc2.docs rename to package/debian/byacc2.docs diff --git a/package/detest/byacc2.postinst b/package/debian/byacc2.postinst similarity index 100% rename from package/detest/byacc2.postinst rename to package/debian/byacc2.postinst diff --git a/package/detest/byacc2.prerm b/package/debian/byacc2.prerm similarity index 100% rename from package/detest/byacc2.prerm rename to package/debian/byacc2.prerm diff --git a/package/detest/changelog b/package/debian/changelog similarity index 98% rename from package/detest/changelog rename to package/debian/changelog index ce3684e..06275d5 100644 --- a/package/detest/changelog +++ b/package/debian/changelog @@ -1,3 +1,9 @@ +byacc (1:2.0.20220128) unstable; urgency=low + + * maintenance updates + + -- Thomas E. Dickey Fri, 28 Jan 2022 08:38:52 -0500 + byacc (1:2.0.20220114) unstable; urgency=low * maintenance updates diff --git a/package/detest/control b/package/debian/control similarity index 63% rename from package/detest/control rename to package/debian/control index 40437f6..95e709a 100644 --- a/package/detest/control +++ b/package/debian/control @@ -5,30 +5,17 @@ Section: devel Priority: optional Standards-Version: 4.6.0.1 Build-Depends: debhelper-compat (= 12), +Rules-Requires-Root: no Homepage: https://invisible-island.net/byacc/ Vcs-Browser: https://salsa.debian.org/debian/byacc Vcs-Git: https://salsa.debian.org/debian/byacc.git -Package: byacc +Package: byacc2 Provides: yacc Architecture: any Multi-Arch: foreign Depends: ${shlibs:Depends}, ${misc:Depends} Description: public domain Berkeley LALR Yacc parser generator - This package provides a parser generator utility that reads a grammar - specification from a file and generates an LR(1) parser for it. The - parsers consist of a set of LALR(1) parsing tables and a driver - routine written in the C programming language. It has a public domain - license which includes the generated C. - . - Related packages: bison, btyacc, byacc2, antlr - -Package: byacc2 -Provides: yacc -Architecture: any -Multi-Arch: foreign -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: public domain Berkeley LALR Yacc parser generator, with back-tracking This package provides a parser generator utility that reads a grammar specification from a file and generates an LR(1) parser for it. The parsers consist of a set of LALR(1) parsing tables and a driver @@ -36,5 +23,6 @@ Description: public domain Berkeley LALR Yacc parser generator, with back-tracki license which includes the generated C. . This package has the backtracking extension, adapted from btyacc. + The package is renamed to allow installing at the same time as "byacc". . Related packages: bison, btyacc, byacc, antlr diff --git a/package/detest/copyright b/package/debian/copyright similarity index 99% rename from package/detest/copyright rename to package/debian/copyright index 7cc1263..ab8d844 100644 --- a/package/detest/copyright +++ b/package/debian/copyright @@ -1,5 +1,5 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: luit +Upstream-Name: byacc Upstream-Contact: (Thomas E. Dickey) Source: https://invisible-island.net/byacc/ @@ -103,7 +103,7 @@ License: other-BSD shared with many OS's install programs. Files: package/debian/* -Copyright: 2012-2020,2021 Thomas E. Dickey +Copyright: 2012-2021,2022 Thomas E. Dickey License: other-BSD Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, diff --git a/package/debian/rules b/package/debian/rules new file mode 100755 index 0000000..81b0e7c --- /dev/null +++ b/package/debian/rules @@ -0,0 +1,29 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +export DEB_BUILD_MAINT_OPTIONS := hardening=+all qa=+bug reproducible=+all + +%: + dh $@ + +# dh_autoreconf interferes with portability -- skip it +override_dh_autoreconf: + echo "skip: dh_autoreconf autoreconf-dickey -- -f -i" + +override_dh_auto_configure: + dh_auto_configure -- \ + --enable-warnings \ + --verbose \ + --enable-stdnoreturn \ + --enable-btyacc \ + --with-max-table-size=123456 \ + --program-transform-name='s,^yacc,byacc2,' + + # workaround for whatis + sed -i '/- an LALR/s,^..N,byacc2,' yacc.1 + + # omit tests which rely upon getopt error-messages + sed -i.bak '/MYFILE=nosuchfile/,/# Test special cases/d' test/run_test.sh + diff -u test/run_test.sh.bak test/run_test.sh || echo OK diff --git a/package/detest/source/format b/package/debian/source/format similarity index 100% rename from package/detest/source/format rename to package/debian/source/format diff --git a/package/detest/watch b/package/debian/watch similarity index 66% rename from package/detest/watch rename to package/debian/watch index bf42035..a31bf23 100644 --- a/package/detest/watch +++ b/package/debian/watch @@ -12,12 +12,9 @@ version=4 # The introduction of the back-tracking configuration motivated the change of # major/minor numbers; for compatibility the parser skeleton still says "1.9". # -# Patch-dates are always # in yyyymmdd format. +# Patch-dates are always # in yyyymmdd format. -opts=pgpsigurlmangle=s/.*/$0.asc/,\ -dversionmangle=s/^\d\.\d\.(\d+)/$1/,\ -filenamemangle=s/^.*\/(byacc)-(\d+)\.tgz/$1_2.0.$2.orig.tar.gz/ \ +opts=pgpmode=auto,\ +dversionmangle=s/^2\.0\.//,\ +oversionmangle=s/^(.*)/2.0.$1/ \ https://invisible-mirror.net/archives/byacc/byacc-(\d+)\.tgz - -#opts=pgpsigurlmangle=s/.*/$0.asc/ -# https://invisible-mirror.net/archives/byacc/byacc-(\d+)\.tgz diff --git a/package/detest/byacc.docs b/package/detest/byacc.docs deleted file mode 100644 index cbda209..0000000 --- a/package/detest/byacc.docs +++ /dev/null @@ -1,4 +0,0 @@ -README -ACKNOWLEDGEMENTS -NEW_FEATURES -NOTES diff --git a/package/detest/byacc.postinst b/package/detest/byacc.postinst deleted file mode 100644 index ca6276d..0000000 --- a/package/detest/byacc.postinst +++ /dev/null @@ -1,15 +0,0 @@ -#! /bin/sh -# postinst script for byacc - -set -e - -if [ $1 != "upgrade" ] ; then - update-alternatives \ - --install /usr/bin/yacc yacc /usr/bin/byacc 80 \ - --slave /usr/share/man/man1/yacc.1.gz yaccman \ - /usr/share/man/man1/byacc.1.gz -fi - -#DEBHELPER# - -exit 0 diff --git a/package/detest/byacc.prerm b/package/detest/byacc.prerm deleted file mode 100644 index f3889d7..0000000 --- a/package/detest/byacc.prerm +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/sh -# prerm script for byacc - -set -e - -if [ $1 != "upgrade" ]; then - update-alternatives --remove yacc /usr/bin/byacc -fi - -#DEBHELPER# - -exit 0 diff --git a/package/detest/rules b/package/detest/rules deleted file mode 100755 index ba406e7..0000000 --- a/package/detest/rules +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/make -f -# $Id: rules,v 1.1 2022/01/08 19:53:07 tom Exp $ -# -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -PACKAGES.arch = byacc byacc2 - -QA_FIX = DEB_BUILD_MAINT_OPTIONS="hardening=+all qa=+bug reproducible=+all" - -CPPFLAGS := $(shell $(QA_FIX) dpkg-buildflags --get CPPFLAGS) -CFLAGS := $(shell $(QA_FIX) dpkg-buildflags --get CFLAGS) -LDFLAGS := $(shell $(QA_FIX) dpkg-buildflags --get LDFLAGS) - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - INSTALL_PROGRAM += -s -endif - -BYACC_DIR = $(CURDIR)/debian/byacc -BTYACC_DIR = $(CURDIR)/debian/byacc2 - -BYACC_TMP = t/byacc -BTYACC_TMP = t/byacc2 - -verbose = # -v - -configure = \ - CPPFLAGS="$(CPPFLAGS)" \ - CFLAGS="$(CFLAGS)" \ - LDFLAGS="$(LDFLAGS)" \ - ../../configure \ - --host=$(DEB_HOST_GNU_TYPE) \ - --build=$(DEB_BUILD_GNU_TYPE) \ - --prefix=/usr \ - --mandir=\$${prefix}/share/man \ - --sysconfdir=/etc \ - --enable-stdnoreturn \ - --program-transform-name='s,^yacc,byacc,' - -all: build - -config: config-arch -build: build-indep build-arch -install: install-arch -binary: binary-indep binary-arch - -config-arch: $(PACKAGES.arch:%=config-%-stamp) -build-arch: $(PACKAGES.arch:%=build-%-stamp) -install-arch: $(PACKAGES.arch:%=install-%-stamp) - -build-indep: - -config-byacc-stamp: - dh_testdir - - rm -rf $(BYACC_TMP) - mkdir -p $(BYACC_TMP) - cd $(BYACC_TMP); $(configure) - - touch $@ - -config-byacc2-stamp: - dh_testdir - - rm -rf $(BTYACC_TMP) - mkdir -p $(BTYACC_TMP) - cd $(BTYACC_TMP); $(configure) \ - --enable-btyacc \ - --with-max-table-size=123456 \ - --program-transform-name='s,^yacc,byacc2,' - - touch $@ - -build-byacc-stamp: config-byacc-stamp - dh_testdir - - cd $(BYACC_TMP); $(MAKE) - - touch $@ - -build-byacc2-stamp: config-byacc2-stamp - dh_testdir - - cd $(BTYACC_TMP); $(MAKE) - - touch $@ - -install-byacc-stamp: build-byacc-stamp - dh_testdir - dh_testroot - dh_installdirs - - cd $(BYACC_TMP); $(MAKE) install DESTDIR=$(BYACC_DIR) - sed -i '/- an LALR/s,^..N,byacc,' $(BYACC_DIR)/usr/share/man/man1/byacc.1 - - touch $@ - -install-byacc2-stamp: build-byacc2-stamp - dh_testdir - dh_testroot - dh_installdirs - - cd $(BTYACC_TMP); $(MAKE) install DESTDIR=$(BTYACC_DIR) - sed -i '/- an LALR/s,^..N,byacc2,' $(BTYACC_DIR)/usr/share/man/man1/byacc2.1 - - touch $@ - -clean: - dh_testdir - dh_testroot - - dh_clean $(verbose) - - rm -rf t - -# Build architecture-independent files here. -binary-indep: build install - dh_testdir - dh_testroot - dh_lintian $(verbose) $(PACKAGES.arch:%=-p%) - dh_installdocs $(verbose) $(PACKAGES.arch:%=-p%) - dh_installexamples $(verbose) $(PACKAGES.arch:%=-p%) - dh_installchangelogs $(verbose) $(PACKAGES.arch:%=-p%) CHANGES - -# Build architecture-dependent files here. -binary-arch: build install -ifneq ($(PACKAGES.arch),) - rm -f $(PACKAGES.arch:%=install-%-stamp) - dh_testdir - dh_testroot - dh_lintian $(verbose) $(PACKAGES.arch:%=-p%) - dh_strip $(verbose) $(PACKAGES.arch:%=-p%) - dh_compress $(verbose) $(PACKAGES.arch:%=-p%) - dh_fixperms $(verbose) $(PACKAGES.arch:%=-p%) - dh_installdeb $(verbose) $(PACKAGES.arch:%=-p%) - dh_shlibdeps $(verbose) $(PACKAGES.arch:%=-p%) - dh_gencontrol $(verbose) $(PACKAGES.arch:%=-p%) - dh_md5sums $(verbose) $(PACKAGES.arch:%=-p%) - dh_builddeb $(verbose) $(PACKAGES.arch:%=-p%) -endif - -.PHONY: build clean config config-arch binary binary-indep binary-arch install install-arch diff --git a/package/mingw-byacc.spec b/package/mingw-byacc.spec index cf0d2af..6fc3ae8 100644 --- a/package/mingw-byacc.spec +++ b/package/mingw-byacc.spec @@ -1,11 +1,11 @@ Summary: public domain Berkeley LALR Yacc parser generator %global AppVersion 2.0 -%global AppPatched 20220114 +%global AppPatched 20220128 %global UseProgram yacc -# $Id: mingw-byacc.spec,v 1.43 2022/01/14 21:34:52 tom Exp $ +# $Id: mingw-byacc.spec,v 1.44 2022/01/28 13:38:52 tom Exp $ Name: byacc Version: %{AppVersion}.%{AppPatched} Release: 1 diff --git a/package/pkgsrc/Makefile b/package/pkgsrc/Makefile index 8f4bce8..1188e91 100644 --- a/package/pkgsrc/Makefile +++ b/package/pkgsrc/Makefile @@ -1,7 +1,7 @@ # $NetBSD: Makefile,v 1.24 2021/08/14 01:04:32 mef Exp $ # -DISTNAME= byacc-20220114 +DISTNAME= byacc-20220128 CATEGORIES= devel MASTER_SITES= https://invisible-mirror.net/archives/byacc/ DIST_SUBDIR= byacc-20220101 diff --git a/yacc.1 b/yacc.1 index 9173d20..c21518d 100644 --- a/yacc.1 +++ b/yacc.1 @@ -1,4 +1,4 @@ -.\" $Id: yacc.1,v 1.37 2021/08/02 23:55:03 tom Exp $ +.\" $Id: yacc.1,v 1.38 2021/08/02 23:55:03 tom Exp $ .\" .\" .TH YACC 1 "July\ 15,\ 1990" .\" .UC 6 @@ -27,7 +27,7 @@ .ie n .IP \(bu 4 .el .IP \(bu 2 .. -.TH YACC 1 "March 28, 2021" "Berkeley Yacc" "User Commands" +.TH YACC 1 "August 2, 2021" "Berkeley Yacc" "User Commands" .SH NAME \*N \- an LALR(1) parser generator .SH SYNOPSIS