Thread: Minimum bison and flex versions

Minimum bison and flex versions

From
Tom Lane
Date:
Per the meson thread, we also need to have a conversation about
what's the oldest bison and flex versions still worth supporting.
The ones that had been our reference points are no longer
represented in the buildfarm, and it seems not likely to be
worth resurrecting copies of those.

As fodder for discussion, here's a scraping of the currently-tested
versions.  (This counts only animals running configure, ie not MSVC.
Also, my query looked back a few months, so some recently-dead
animals are still here.)

            regards, tom lane

    sysname    |      snapshot       |                            l
---------------+---------------------+----------------------------------------------------------
 alabio        | 2022-09-02 12:08:36 | configure: using bison (GNU Bison) 3.7.5
 anole         | 2022-07-05 12:31:02 | configure: using bison (GNU Bison) 2.4.1
 avocet        | 2022-09-02 16:01:43 | configure: using bison (GNU Bison) 3.0.4
 ayu           | 2022-09-01 22:48:36 | configure: using bison (GNU Bison) 3.0.4
 barbastella   | 2022-07-26 00:10:04 | configure: using bison (GNU Bison) 3.0.4
 barbthroat    | 2022-07-26 12:04:00 | configure: using bison (GNU Bison) 3.0.4
 batfish       | 2022-09-01 20:21:42 | configure: using bison (GNU Bison) 3.0.4
 bichir        | 2022-08-11 18:30:05 | configure: using bison (GNU Bison) 3.0.4
 blossomcrown  | 2022-09-02 02:39:23 | configure: using bison (GNU Bison) 3.0.4
 bonito        | 2022-09-01 23:39:33 | configure: using bison (GNU Bison) 3.0.5
 boomslang     | 2022-09-02 09:29:14 | configure: using bison (GNU Bison) 3.7.5
 branta        | 2022-09-02 14:16:16 | configure: using bison (GNU Bison) 3.5.1
 buri          | 2022-09-02 00:54:39 | configure: using bison (GNU Bison) 3.0.4
 butterflyfish | 2022-09-02 17:00:17 | configure: using bison (GNU Bison) 3.0.4
 caiman        | 2022-09-02 03:01:08 | configure: using bison (GNU Bison) 3.8.2
 calliphoridae | 2022-09-02 16:01:40 | configure: using bison (GNU Bison) 3.8.2
 cardinalfish  | 2022-09-02 02:56:19 | configure: using bison (GNU Bison) 3.8.2
 cavefish      | 2022-09-02 04:41:00 | configure: using bison (GNU Bison) 3.0.4
 chickadee     | 2022-09-02 05:34:33 | configure: using bison (GNU Bison) 3.8.2
 chimaera      | 2022-09-02 02:38:41 | configure: using bison (GNU Bison) 3.0.4
 chipmunk      | 2022-09-01 19:23:26 | configure: using bison (GNU Bison) 3.0.2
 chub          | 2022-09-02 15:38:55 | configure: using bison (GNU Bison) 3.0.4
 clam          | 2022-09-02 08:00:11 | configure: using bison (GNU Bison) 3.0.4
 conchuela     | 2022-09-02 16:35:47 | configure: using bison (GNU Bison) 3.8.2
 copperhead    | 2022-09-01 23:16:49 | configure: using bison (GNU Bison) 3.7.5
 cotinga       | 2022-09-02 10:15:26 | configure: using bison (GNU Bison) 3.0.4
 crake         | 2022-09-02 16:17:24 | Sep 02 12:17:26 configure: using bison (GNU Bison) 3.7.6
 culicidae     | 2022-09-02 16:02:43 | configure: using bison (GNU Bison) 3.8.2
 cuon          | 2022-09-02 07:44:15 | configure: using bison (GNU Bison) 3.0.4
 curculio      | 2022-09-02 16:15:34 | configure: using bison (GNU Bison) 3.0.4
 dangomushi    | 2022-08-31 21:07:17 | configure: using bison (GNU Bison) 3.8.2
 demoiselle    | 2022-09-02 14:34:17 | configure: using bison (GNU Bison) 3.0.4
 desmoxytes    | 2022-09-02 16:22:03 | configure: using bison (GNU Bison) 3.8.2
 devario       | 2022-09-02 13:29:14 | configure: using bison (GNU Bison) 3.8.2
 dhole         | 2022-09-02 06:17:51 | configure: using bison (GNU Bison) 3.0.4
 dragonet      | 2022-09-02 16:22:03 | configure: using bison (GNU Bison) 3.8.2
 eelpout       | 2022-09-02 16:01:37 | configure: using bison (GNU Bison) 3.7.5
 elasmobranch  | 2022-09-02 03:29:45 | configure: using bison (GNU Bison) 3.0.4
 fairywren     | 2022-09-02 09:04:12 | configure: using bison (GNU Bison) 3.8.2
 flaviventris  | 2022-09-02 16:02:08 | configure: using bison (GNU Bison) 3.8.2
 florican      | 2022-08-05 02:20:05 | configure: using bison (GNU Bison) 3.8.2
 francolin     | 2022-09-02 16:02:41 | configure: using bison (GNU Bison) 3.8.2
 frogfish      | 2022-08-21 17:59:26 | configure: using bison (GNU Bison) 2.5
 gaur          | 2022-05-28 05:05:12 | configure: using bison (GNU Bison) 1.875
 gharial       | 2022-07-05 22:04:23 | configure: using bison (GNU Bison) 2.4.1
 gombessa      | 2022-09-02 17:00:06 | configure: using bison (GNU Bison) 3.3.2
 grassquit     | 2022-09-02 16:02:34 | configure: using bison (GNU Bison) 3.8.2
 grison        | 2022-09-02 08:13:09 | configure: using bison (GNU Bison) 3.0.4
 guaibasaurus  | 2022-09-02 16:20:04 | configure: using bison (GNU Bison) 3.7.5
 gull          | 2022-08-27 09:31:28 | configure: using bison (GNU Bison) 3.7.5
 hake          | 2022-05-17 09:51:48 | configure: using bison (GNU Bison) 3.5.4
 handfish      | 2022-07-22 20:13:11 | configure: using bison (GNU Bison) 3.8.2
 hippopotamus  | 2022-09-02 16:01:44 | configure: using bison (GNU Bison) 3.0.4
 hornet        | 2022-08-29 08:13:44 | configure: using bison (GNU Bison) 3.0.4
 hoverfly      | 2022-09-02 16:02:01 | configure: using bison (GNU Bison) 3.0.4
 ibisbill      | 2022-09-02 07:37:02 | configure: using bison (GNU Bison) 3.3.2
 idiacanthus   | 2022-09-02 16:22:04 | configure: using bison (GNU Bison) 3.8.2
 jacana        | 2022-09-02 12:04:01 | configure: using bison (GNU Bison) 3.8.2
 jay           | 2022-09-02 16:32:05 | configure: using bison (GNU Bison) 3.0.4
 kestrel       | 2022-09-02 16:02:12 | configure: using bison (GNU Bison) 3.8.2
 kittiwake     | 2022-09-02 13:19:45 | configure: using bison (GNU Bison) 3.3.2
 komodoensis   | 2022-09-02 08:20:03 | configure: using bison (GNU Bison) 3.8.2
 lapwing       | 2022-09-02 16:40:12 | configure: using bison (GNU Bison) 2.5
 loach         | 2022-09-02 16:25:16 | configure: using bison (GNU Bison) 3.8.2
 longfin       | 2022-09-02 16:09:42 | configure: using bison (GNU Bison) 2.3
 lorikeet      | 2022-08-23 12:07:18 | configure: using bison (GNU Bison) 3.0.4
 malleefowl    | 2022-09-02 06:52:48 | configure: using bison (GNU Bison) 3.7.6
 mamba         | 2022-09-02 02:29:51 | configure: using bison (GNU Bison) 3.8.2
 mandrill      | 2022-09-02 06:36:08 | configure: using bison (GNU Bison) 3.0.4
 mantid        | 2022-09-02 16:07:16 | configure: using bison (GNU Bison) 3.0.4
 margay        | 2022-09-02 16:00:05 | configure: using bison (GNU Bison) 3.7.3
 massasauga    | 2022-09-02 16:05:24 | configure: using bison (GNU Bison) 3.0.4
 mereswine     | 2022-08-31 09:36:26 | configure: using bison (GNU Bison) 3.7.5
 moonjelly     | 2022-09-01 23:57:37 | configure: using bison (GNU Bison) 3.5.1
 morepork      | 2022-09-02 16:45:32 | configure: using bison (GNU Bison) 3.3.2
 mule          | 2022-09-02 11:30:03 | configure: using bison (GNU Bison) 3.7.5
 mussurana     | 2022-09-02 07:36:16 | configure: using bison (GNU Bison) 3.0.4
 mylodon       | 2022-09-02 16:02:06 | configure: using bison (GNU Bison) 3.8.2
 myna          | 2022-09-02 17:00:17 | configure: using bison (GNU Bison) 3.1
 olingo        | 2022-09-02 16:02:41 | configure: using bison (GNU Bison) 3.8.2
 parula        | 2022-09-02 16:07:02 | configure: using bison (GNU Bison) 3.0.4
 perch         | 2022-09-02 18:40:18 | configure: using bison (GNU Bison) 3.0.4
 peripatus     | 2022-09-02 16:20:16 | configure: using bison (GNU Bison) 3.7.6
 petalura      | 2022-09-02 16:20:03 | configure: using bison (GNU Bison) 3.8.2
 phycodurus    | 2022-09-02 16:30:04 | configure: using bison (GNU Bison) 3.8.2
 piculet       | 2022-09-02 16:01:57 | configure: using bison (GNU Bison) 3.8.2
 pipistrelles  | 2022-07-25 18:10:29 | configure: using bison (GNU Bison) 3.0.4
 plover        | 2022-09-02 17:49:36 | configure: using bison (GNU Bison) 3.3.2
 pogona        | 2022-09-02 16:10:03 | configure: using bison (GNU Bison) 3.8.2
 pollock       | 2022-09-02 04:44:11 | configure: using bison (GNU Bison) 3.8.2
 prairiedog    | 2022-08-04 09:38:04 | configure: using bison (GNU Bison) 1.875
 prion         | 2022-09-02 16:03:16 | configure: using bison (GNU Bison) 2.7
 queensnake    | 2022-07-22 20:14:17 | configure: using bison (GNU Bison) 3.0.4
 quokka        | 2022-09-02 08:00:08 | configure: using bison (GNU Bison) 3.0.4
 rhinoceros    | 2022-09-02 16:52:17 | configure: using bison (GNU Bison) 3.0.4
 rorqual       | 2022-09-02 16:01:40 | configure: using bison (GNU Bison) 3.8.2
 scoter        | 2022-07-25 18:49:33 | configure: using bison (GNU Bison) 3.0.4
 serinus       | 2022-09-02 16:02:09 | configure: using bison (GNU Bison) 3.8.2
 sheartail     | 2022-07-26 08:10:44 | configure: using bison (GNU Bison) 3.0.4
 shelduck      | 2022-09-02 06:42:13 | configure: using bison (GNU Bison) 2.7
 sidewinder    | 2022-09-02 16:05:33 | configure: using bison (GNU Bison) 3.8.2
 sifaka        | 2022-09-02 16:02:05 | configure: using bison (GNU Bison) 2.3
 skate         | 2022-09-02 07:27:10 | configure: using bison (GNU Bison) 2.5
 skink         | 2022-09-01 23:00:20 | configure: using bison (GNU Bison) 3.8.2
 snakefly      | 2022-09-02 16:07:04 | configure: using bison (GNU Bison) 3.0.4
 snapper       | 2022-09-02 13:38:22 | configure: using bison (GNU Bison) 2.5
 spurfowl      | 2022-09-02 16:02:11 | configure: using bison (GNU Bison) 3.0.4
 steamerduck   | 2022-07-26 06:10:14 | configure: using bison (GNU Bison) 3.0.4
 sungazer      | 2022-09-01 10:04:20 | configure: using bison (GNU Bison) 3.0.4
 tadarida      | 2022-09-02 13:22:25 | configure: using bison (GNU Bison) 3.0.4
 tamandua      | 2022-09-02 16:02:34 | configure: using bison (GNU Bison) 3.8.2
 tayra         | 2022-08-30 04:11:47 | configure: using bison (GNU Bison) 3.7.4
 tern          | 2022-08-31 16:39:02 | configure: using bison (GNU Bison) 3.0.4
 thorntail     | 2022-09-02 16:08:15 | configure: using bison (GNU Bison) 3.8.2
 topminnow     | 2022-08-28 07:26:16 | configure: using bison (GNU Bison) 3.0.2
 trilobite     | 2022-09-02 16:17:22 | configure: using bison (GNU Bison) 3.0.4
 urocryon      | 2022-09-02 06:54:38 | configure: using bison (GNU Bison) 3.0.4
 urutau        | 2022-09-02 06:41:10 | configure: using bison (GNU Bison) 3.5.1
 vulpes        | 2022-09-02 09:02:03 | configure: using bison (GNU Bison) 3.0.4
 warbler       | 2022-09-02 07:37:12 | configure: using bison (GNU Bison) 3.8.2
 wobbegong     | 2022-09-01 21:54:25 | configure: using bison (GNU Bison) 3.0.4
 woodstar      | 2022-07-25 20:24:38 | configure: using bison (GNU Bison) 3.0.4
 wrasse        | 2022-09-02 02:59:06 | configure: using bison (GNU Bison) 3.4.1
 xenodermus    | 2022-09-02 14:00:03 | configure: using bison (GNU Bison) 3.8.2
(118 rows)

    sysname    |      snapshot       |                        l
---------------+---------------------+--------------------------------------------------
 alabio        | 2022-09-02 12:08:36 | configure: using flex 2.6.4
 anole         | 2022-07-05 12:31:02 | configure: using flex 2.5.35
 avocet        | 2022-09-02 16:01:43 | configure: using flex 2.6.4
 ayu           | 2022-09-01 22:48:36 | configure: using flex 2.6.1
 barbastella   | 2022-07-26 00:10:04 | configure: using flex 2.6.4
 barbthroat    | 2022-07-26 12:04:00 | configure: using flex 2.6.4
 batfish       | 2022-09-01 20:21:42 | configure: using flex 2.6.0
 bichir        | 2022-08-11 18:30:05 | configure: using flex 2.6.4
 blossomcrown  | 2022-09-02 02:39:23 | configure: using flex 2.6.4
 bonito        | 2022-09-01 23:39:33 | configure: using flex 2.6.1
 boomslang     | 2022-09-02 09:29:14 | configure: using flex 2.6.4
 branta        | 2022-09-02 14:16:16 | configure: using flex 2.6.4
 buri          | 2022-09-02 00:54:39 | configure: using flex 2.5.37
 butterflyfish | 2022-09-02 17:00:17 | configure: using flex 2.6.4
 caiman        | 2022-09-02 03:01:08 | configure: using flex 2.6.4
 calliphoridae | 2022-09-02 16:01:40 | configure: using flex 2.6.4
 cardinalfish  | 2022-09-02 02:56:19 | configure: using flex 2.6.4
 cavefish      | 2022-09-02 04:41:00 | configure: using flex 2.6.4
 chickadee     | 2022-09-02 05:34:33 | configure: using flex 2.6.4
 chimaera      | 2022-09-02 02:38:41 | configure: using flex 2.6.1
 chipmunk      | 2022-09-01 19:23:26 | configure: using flex 2.5.39
 chub          | 2022-09-02 15:38:55 | configure: using flex 2.5.37
 clam          | 2022-09-02 08:00:11 | configure: using flex 2.5.37
 conchuela     | 2022-09-02 16:35:47 | configure: using flex 2.6.4
 copperhead    | 2022-09-01 23:16:49 | configure: using flex 2.6.4
 cotinga       | 2022-09-02 10:15:26 | configure: using flex 2.6.4
 crake         | 2022-09-02 16:17:24 | Sep 02 12:17:26 configure: using flex 2.6.4
 culicidae     | 2022-09-02 16:02:43 | configure: using flex 2.6.4
 cuon          | 2022-09-02 07:44:15 | configure: using flex 2.6.0
 curculio      | 2022-09-02 16:15:34 | configure: using flex 2.5.39
 dangomushi    | 2022-08-31 21:07:17 | configure: using flex 2.6.4
 demoiselle    | 2022-09-02 14:34:17 | configure: using flex 2.6.4
 desmoxytes    | 2022-09-02 16:22:03 | configure: using flex 2.6.4
 devario       | 2022-09-02 13:29:14 | configure: using flex 2.6.4
 dhole         | 2022-09-02 06:17:51 | configure: using flex 2.5.37
 dragonet      | 2022-09-02 16:22:03 | configure: using flex 2.6.4
 eelpout       | 2022-09-02 16:01:37 | configure: using flex 2.6.4
 elasmobranch  | 2022-09-02 03:29:45 | configure: using flex 2.6.4
 fairywren     | 2022-09-02 09:04:12 | configure: using flex 2.6.4
 flaviventris  | 2022-09-02 16:02:08 | configure: using flex 2.6.4
 florican      | 2022-08-05 02:20:05 | configure: using flex 2.6.4
 francolin     | 2022-09-02 16:02:41 | configure: using flex 2.6.4
 frogfish      | 2022-08-21 17:59:26 | configure: using flex 2.5.35
 gaur          | 2022-05-28 05:05:12 | configure: using flex 2.5.33
 gharial       | 2022-07-05 22:04:23 | configure: using flex 2.5.35
 gombessa      | 2022-09-02 17:00:06 | configure: using flex 2.5.39
 grassquit     | 2022-09-02 16:02:34 | configure: using flex 2.6.4
 grison        | 2022-09-02 08:13:09 | configure: using flex 2.6.1
 guaibasaurus  | 2022-09-02 16:20:04 | configure: using flex 2.6.4
 gull          | 2022-08-27 09:31:28 | configure: using flex 2.6.4
 hake          | 2022-05-17 09:51:48 | configure: using flex 2.6.4
 handfish      | 2022-07-22 20:13:11 | configure: using flex 2.6.4
 hippopotamus  | 2022-09-02 16:01:44 | configure: using flex 2.6.4
 hornet        | 2022-08-29 08:13:44 | configure: using flex 2.5.39
 hoverfly      | 2022-09-02 16:02:01 | configure: using flex 2.5.35
 ibisbill      | 2022-09-02 07:37:02 | configure: using flex 2.6.4
 idiacanthus   | 2022-09-02 16:22:04 | configure: using flex 2.6.4
 jacana        | 2022-09-02 12:04:01 | configure: using flex 2.6.4
 jay           | 2022-09-02 16:32:05 | configure: using flex 2.6.4
 kestrel       | 2022-09-02 16:02:12 | configure: using flex 2.6.4
 kittiwake     | 2022-09-02 13:19:45 | configure: using flex 2.6.4
 komodoensis   | 2022-09-02 08:20:03 | configure: using flex 2.6.4
 lapwing       | 2022-09-02 16:40:12 | configure: using flex 2.5.35
 loach         | 2022-09-02 16:25:16 | configure: using flex 2.5.37
 longfin       | 2022-09-02 16:09:42 | configure: using flex 2.6.4 Apple(flex-34)
 lorikeet      | 2022-08-23 12:07:18 | configure: using flex 2.6.4
 malleefowl    | 2022-09-02 06:52:48 | configure: using flex 2.6.4
 mamba         | 2022-09-02 02:29:51 | configure: using flex 2.6.4
 mandrill      | 2022-09-02 06:36:08 | configure: using flex 2.5.39
 mantid        | 2022-09-02 16:07:16 | configure: using flex 2.5.37
 margay        | 2022-09-02 16:00:05 | configure: using flex 2.6.4
 massasauga    | 2022-09-02 16:05:24 | configure: using flex 2.5.37
 mereswine     | 2022-08-31 09:36:26 | configure: using flex 2.6.4
 moonjelly     | 2022-09-01 23:57:37 | configure: using flex 2.6.4
 morepork      | 2022-09-02 16:45:32 | configure: using flex 2.5.39
 mule          | 2022-09-02 11:30:03 | configure: using flex 2.6.4
 mussurana     | 2022-09-02 07:36:16 | configure: using flex 2.6.1
 mylodon       | 2022-09-02 16:02:06 | configure: using flex 2.6.4
 myna          | 2022-09-02 17:00:17 | configure: using flex 2.6.4
 olingo        | 2022-09-02 16:02:41 | configure: using flex 2.6.4
 parula        | 2022-09-02 16:07:02 | configure: using flex 2.5.37
 perch         | 2022-09-02 18:40:18 | configure: using flex 2.6.4
 peripatus     | 2022-09-02 16:20:16 | configure: using flex 2.6.4
 petalura      | 2022-09-02 16:20:03 | configure: using flex 2.6.4
 phycodurus    | 2022-09-02 16:30:04 | configure: using flex 2.6.4
 piculet       | 2022-09-02 16:01:57 | configure: using flex 2.6.4
 pipistrelles  | 2022-07-25 18:10:29 | configure: using flex 2.6.4
 plover        | 2022-09-02 17:49:36 | configure: using flex 2.5.39
 pogona        | 2022-09-02 16:10:03 | configure: using flex 2.6.4
 pollock       | 2022-09-02 04:44:11 | configure: using flex 2.6.4
 prairiedog    | 2022-08-04 09:38:04 | configure: using flex 2.5.33
 prion         | 2022-09-02 16:03:16 | configure: using flex 2.5.37
 queensnake    | 2022-07-22 20:14:17 | configure: using flex 2.6.1
 quokka        | 2022-09-02 08:00:08 | configure: using flex 2.5.37
 rhinoceros    | 2022-09-02 16:52:17 | configure: using flex 2.5.37
 rorqual       | 2022-09-02 16:01:40 | configure: using flex 2.6.4
 scoter        | 2022-07-25 18:49:33 | configure: using flex 2.5.37
 serinus       | 2022-09-02 16:02:09 | configure: using flex 2.6.4
 sheartail     | 2022-07-26 08:10:44 | configure: using flex 2.6.1
 shelduck      | 2022-09-02 06:42:13 | configure: using flex 2.6.4
 sidewinder    | 2022-09-02 16:05:33 | configure: using flex 2.6.4
 sifaka        | 2022-09-02 16:02:05 | configure: using flex 2.6.4 Apple(flex-34)
 skate         | 2022-09-02 07:27:10 | configure: using flex 2.5.35
 skink         | 2022-09-01 23:00:20 | configure: using flex 2.6.4
 snakefly      | 2022-09-02 16:07:04 | configure: using flex 2.5.37
 snapper       | 2022-09-02 13:38:22 | configure: using flex 2.5.35
 spurfowl      | 2022-09-02 16:02:11 | configure: using flex 2.6.0
 steamerduck   | 2022-07-26 06:10:14 | configure: using flex 2.6.4
 sungazer      | 2022-09-01 10:04:20 | configure: using flex 2.5.39
 tadarida      | 2022-09-02 13:22:25 | configure: using flex 2.6.1
 tamandua      | 2022-09-02 16:02:34 | configure: using flex 2.6.4
 tayra         | 2022-08-30 04:11:47 | configure: using flex 2.6.4
 tern          | 2022-08-31 16:39:02 | configure: using flex 2.5.39
 thorntail     | 2022-09-02 16:08:15 | configure: using flex 2.6.4
 topminnow     | 2022-08-28 07:26:16 | configure: using flex 2.5.39
 trilobite     | 2022-09-02 16:17:22 | configure: using flex 2.6.4
 urocryon      | 2022-09-02 06:54:38 | configure: using flex 2.6.1
 urutau        | 2022-09-02 06:41:10 | configure: using flex 2.6.4
 vulpes        | 2022-09-02 09:02:03 | configure: using flex 2.6.1
 warbler       | 2022-09-02 07:37:12 | configure: using flex 2.6.4
 wobbegong     | 2022-09-01 21:54:25 | configure: using flex 2.6.1
 woodstar      | 2022-07-25 20:24:38 | configure: using flex 2.6.1
 wrasse        | 2022-09-02 02:59:06 | configure: using flex 2.6.4
 xenodermus    | 2022-09-02 14:00:03 | configure: using flex 2.6.4
(118 rows)


Re: Minimum bison and flex versions

From
Andres Freund
Date:
Hi,

On 2022-09-02 15:08:01 -0400, Tom Lane wrote:
> As fodder for discussion, here's a scraping of the currently-tested
> versions.  (This counts only animals running configure, ie not MSVC.
> Also, my query looked back a few months, so some recently-dead
> animals are still here.)

If we also count older branches, there's a few alive cases of old bison:

 REL_10_STABLE | {2,4,1}      | 2022-09-01 12:30:05 | {castoroides,frogmouth}
 REL_10_STABLE | {2,4,2}      | 2022-09-01 08:30:15 | {brolga}

All the other animals using bison < 3.0.2 are dead. There's two live animals
using 3.0.2:
 HEAD          | {3,0,2}      | 2022-09-01 19:23:26 | {chipmunk,topminnow}

So it looks like we could trivialy go to 3.0 as the minimum. The number of
animals using some version of 3.0 is quite large:


chipmunk,topminnow,parula,perch,buri,cotinga,tern,elasmobranch,trilobite,urocryon,vulpes,avocet,wobbegong,ayu,batfish,cavefish,bichir,grison,hippopotamus,hornet,hoverfly,chimaera,jay,chub,clam,blossomcrown,lorikeet,mandrill,mantid,massasauga,cuon,curculio,demoiselle,quokka,rhinoceros,mussurana,dhole,butterflyfish,snakefly,spurfowl,sungazer,tadarida,bonito

So I don't think we could easily go to something newer.

There's nothing in 3.1-3.5 release notes [1] that looks particularly helpful
for us to require on a quick glance. 2.6 would be nice to have as noted
e.g. in
https://postgr.es/m/CAFBsxsEospoUX%3DQYkfC%3DWcJqNB%2BiZtBf%3DBaRwn-zbHa48X0NKQ%40mail.gmail.com
but as noted in Tom's followup, apple still ships 2.3.

2.3 is the last bison version using GPLv2, so it's unlikely that apple will
ever update. Given that I'm not sure how much we should feel beholden to
support that, given that we'll eventually have to bite the bullet.


For flex, the minimum after prariedog's demise seems to be 2.5.35, with a
decent population. Skimming the release notes [2] between 2.5.31 and 2.5.35
doesn't show anything particularly interesting. But given that we don't have
coverage and that 2.5.35 was released in 2008, it seems we could just update
our requirements so that we have test coverage?

Greetings,

Andres Freund

[1] https://savannah.gnu.org/news/?group_id=56
[2] https://github.com/westes/flex/blob/master/NEWS



Re: Minimum bison and flex versions

From
Tom Lane
Date:
Andres Freund <andres@anarazel.de> writes:
> On 2022-09-02 15:08:01 -0400, Tom Lane wrote:
>> As fodder for discussion, here's a scraping of the currently-tested
>> versions.  (This counts only animals running configure, ie not MSVC.
>> Also, my query looked back a few months, so some recently-dead
>> animals are still here.)

> All the other animals using bison < 3.0.2 are dead.

Uh, what?

 longfin       | 2022-09-02 16:09:42 | configure: using bison (GNU Bison) 2.3
 sifaka        | 2022-09-02 16:02:05 | configure: using bison (GNU Bison) 2.3
 frogfish      | 2022-08-21 17:59:26 | configure: using bison (GNU Bison) 2.5
 lapwing       | 2022-09-02 16:40:12 | configure: using bison (GNU Bison) 2.5
 skate         | 2022-09-02 07:27:10 | configure: using bison (GNU Bison) 2.5
 snapper       | 2022-09-02 13:38:22 | configure: using bison (GNU Bison) 2.5
 prion         | 2022-09-02 16:03:16 | configure: using bison (GNU Bison) 2.7
 shelduck      | 2022-09-02 06:42:13 | configure: using bison (GNU Bison) 2.7

I'm not sure why frogfish hasn't reported in for a few days, but these
others are certainly still live.

longfin and sifaka are using the Apple-provided copy of bison.
If we move the minimum version above 2.3, that will cause some
pain for all Mac-based developers.  Maybe not much, because most
probably can get it from homebrew or macports, but some.

> 2.3 is the last bison version using GPLv2, so it's unlikely that apple will
> ever update. Given that I'm not sure how much we should feel beholden to
> support that, given that we'll eventually have to bite the bullet.

Seeing that they're au courant on flex (2.6.4), it certainly looks like
a license problem rather than that they just don't care about these tools
at all.  Nonetheless, I want to see a pretty solid benefit from breaking
compatibility with 2.3, and I'm not convinced we're there yet.

> For flex, the minimum after prariedog's demise seems to be 2.5.35, with a
> decent population. Skimming the release notes [2] between 2.5.31 and 2.5.35
> doesn't show anything particularly interesting. But given that we don't have
> coverage and that 2.5.35 was released in 2008, it seems we could just update
> our requirements so that we have test coverage?

Yeah, I think setting the minimum to 2.5.35 is a no-brainer there.
(If memory serves, the only major difference between 2.5.33 and 2.5.35
was a security fix that LTS distros cherry-picked without changing
their version numbers, so that anything claiming to be 2.5.33 today
is probably effectively 2.5.35 anyway.)  There aren't a huge number
of animals still on 2.5.35:

 frogfish      | 2022-08-21 17:59:26 | configure: using flex 2.5.35
 hoverfly      | 2022-09-02 16:02:01 | configure: using flex 2.5.35
 lapwing       | 2022-09-02 16:40:12 | configure: using flex 2.5.35
 skate         | 2022-09-02 07:27:10 | configure: using flex 2.5.35
 snapper       | 2022-09-02 13:38:22 | configure: using flex 2.5.35

but on the other hand I don't know that we'd gain anything by making
them update.

I'd be content for now to set the minimums at 2.3 and 2.5.35.

            regards, tom lane



Re: Minimum bison and flex versions

From
Andres Freund
Date:
Hi,

On 2022-09-02 16:29:22 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On 2022-09-02 15:08:01 -0400, Tom Lane wrote:
> >> As fodder for discussion, here's a scraping of the currently-tested
> >> versions.  (This counts only animals running configure, ie not MSVC.
> >> Also, my query looked back a few months, so some recently-dead
> >> animals are still here.)
> 
> > All the other animals using bison < 3.0.2 are dead.
> 
> Uh, what?

Argh, regex fail. I looked for a version with 3 components :/.


> I'd be content for now to set the minimums at 2.3 and 2.5.35.

+1

Greetings,

Andres Freund



Re: Minimum bison and flex versions

From
John Naylor
Date:
On Sat, Sep 3, 2022 at 4:04 AM Andres Freund <andres@anarazel.de> wrote:
> On 2022-09-02 16:29:22 -0400, Tom Lane wrote:
> > Andres Freund <andres@anarazel.de> writes:
> > > On 2022-09-02 15:08:01 -0400, Tom Lane wrote:
> > I'd be content for now to set the minimums at 2.3 and 2.5.35.
>
> +1

Here are autoconf-only patches to that effect.

-- 
John Naylor
EDB: http://www.enterprisedb.com

Attachment

Re: Minimum bison and flex versions

From
Andres Freund
Date:
Hi,

On 2022-09-06 13:32:32 +0700, John Naylor wrote:
> Here are autoconf-only patches to that effect.

Looks like you did actually include src/tools/msvc as well :)


> Subject: [PATCH v2 2/2] Bump minimum version of Flex to 2.5.35

LGTM.


> From b7f35ae5e0fd55f8dceb2a4a546be3b50065a09c Mon Sep 17 00:00:00 2001
> From: John Naylor <john.naylor@postgresql.org>
> Date: Tue, 6 Sep 2022 11:41:58 +0700
> Subject: [PATCH v2 1/2] Bump minimum version of Bison to 2.3
> 
> Since the retirement of some older buildfarm members, the oldest Bison
> that gets regular testing is 2.3. MacOS ships that version, and will
> continue doing so for the forseeable future because of Apple's policy
> regarding GPLv3. While Mac users could use a package manager to install
> a newer version, there is no compelling reason to do so at this time.

s/to do so/to force them to do so/?


> --- a/src/pl/plpgsql/src/pl_gram.y
> +++ b/src/pl/plpgsql/src/pl_gram.y
> @@ -39,10 +39,7 @@
>  /*
>   * Bison doesn't allocate anything that needs to live across parser calls,
>   * so we can easily have it use palloc instead of malloc.  This prevents
> - * memory leaks if we error out during parsing.  Note this only works with
> - * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
> - * if possible, so there's not really much problem anyhow, at least if
> - * you're building with gcc.
> + * memory leaks if we error out during parsing.
>   */
>  #define YYMALLOC palloc
>  #define YYFREE   pfree

Getting rid of all that copy-pasted stuff alone seems worth doing this :)


LGTM.

Greetings,

Andres Freund



Re: Minimum bison and flex versions

From
John Naylor
Date:
On Fri, Sep 9, 2022 at 12:07 AM Andres Freund <andres@anarazel.de> wrote:
>
> Hi,
>
> On 2022-09-06 13:32:32 +0700, John Naylor wrote:
> > Here are autoconf-only patches to that effect.
>
> Looks like you did actually include src/tools/msvc as well :)

Ah, in my head I meant "no patches for the Meson branch". :-)

CI fails on MSVC pg_upgrade, but that shows up in some existing CF bot
failures and in any case doesn't have a grammar, so I have pushed,
thanks for looking!

> > Since the retirement of some older buildfarm members, the oldest Bison
> > that gets regular testing is 2.3. MacOS ships that version, and will
> > continue doing so for the forseeable future because of Apple's policy
> > regarding GPLv3. While Mac users could use a package manager to install
> > a newer version, there is no compelling reason to do so at this time.
>
> s/to do so/to force them to do so/?

There are good reasons for a dev to install a newer Bison, like better
diagnostics, so used this language.

--
John Naylor
EDB: http://www.enterprisedb.com