Thread: Minimum bison and flex versions
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)
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
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
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
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
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
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