From a6b5516455fa89d7faa0c6af98c8c4efaaca82c5 Mon Sep 17 00:00:00 2001 From: ryan Date: Thu, 12 May 2022 13:57:54 -0400 Subject: [PATCH] setting up arm builds --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,debugging-bullseye/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,debugging-buster/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,longdouble-bullseye/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,longdouble-buster/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ .../Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,quadmath-bullseye/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,quadmath-buster/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,threaded-bullseye/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 281 ------------------ 5.020.003-main,threaded-buster/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- 5.020.003-main-bullseye/DevelPatchPerl.patch | 281 ------------------ 5.020.003-main-bullseye/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- 5.020.003-main-buster/DevelPatchPerl.patch | 281 ------------------ 5.020.003-main-buster/Dockerfile | 59 ---- .../fix-pack-longdouble.patch | 41 --- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,debugging-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,debugging-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,longdouble-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,longdouble-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,quadmath-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,quadmath-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,threaded-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.022.004-main,threaded-buster/Dockerfile | 59 ---- 5.022.004-main-bullseye/DevelPatchPerl.patch | 264 ---------------- 5.022.004-main-bullseye/Dockerfile | 59 ---- 5.022.004-main-buster/DevelPatchPerl.patch | 264 ---------------- 5.022.004-main-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,debugging-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,debugging-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,longdouble-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,longdouble-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,quadmath-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,quadmath-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,threaded-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 264 ---------------- 5.024.004-main,threaded-buster/Dockerfile | 59 ---- 5.024.004-main-bullseye/DevelPatchPerl.patch | 264 ---------------- 5.024.004-main-bullseye/Dockerfile | 59 ---- 5.024.004-main-buster/DevelPatchPerl.patch | 264 ---------------- 5.024.004-main-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,debugging-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,debugging-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,longdouble-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,longdouble-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,quadmath-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,quadmath-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,threaded-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 213 ------------- 5.026.003-main,threaded-buster/Dockerfile | 59 ---- 5.026.003-main-bullseye/DevelPatchPerl.patch | 213 ------------- 5.026.003-main-bullseye/Dockerfile | 59 ---- 5.026.003-main-buster/DevelPatchPerl.patch | 213 ------------- 5.026.003-main-buster/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,debugging-bullseye/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,debugging-buster/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,longdouble-bullseye/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,longdouble-buster/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- .../Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,quadmath-bullseye/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,quadmath-buster/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,threaded-bullseye/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ .../DevelPatchPerl.patch | 178 ----------- 5.028.003-main,threaded-buster/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ 5.028.003-main-bullseye/DevelPatchPerl.patch | 178 ----------- 5.028.003-main-bullseye/Dockerfile | 59 ---- ...e-HiRes-don-t-truncate-nanosec-utime.patch | 96 ------ 5.028.003-main-buster/DevelPatchPerl.patch | 178 ----------- 5.028.003-main-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,debugging-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,debugging-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,longdouble-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,longdouble-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,quadmath-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,quadmath-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,threaded-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 23 -- 5.030.003-main,threaded-buster/Dockerfile | 59 ---- 5.030.003-main-bullseye/DevelPatchPerl.patch | 23 -- 5.030.003-main-bullseye/Dockerfile | 59 ---- 5.030.003-main-buster/DevelPatchPerl.patch | 23 -- 5.030.003-main-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,debugging-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,debugging-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,longdouble-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,longdouble-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,quadmath-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,quadmath-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,threaded-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.032.001-main,threaded-buster/Dockerfile | 59 ---- 5.032.001-main-bullseye/DevelPatchPerl.patch | 0 5.032.001-main-bullseye/Dockerfile | 59 ---- 5.032.001-main-buster/DevelPatchPerl.patch | 0 5.032.001-main-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,debugging-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,debugging-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,longdouble-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,longdouble-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 .../Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,quadmath-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,quadmath-buster/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,threaded-bullseye/Dockerfile | 59 ---- .../DevelPatchPerl.patch | 0 5.034.000-main,threaded-buster/Dockerfile | 59 ---- 5.034.000-main-bullseye/DevelPatchPerl.patch | 0 5.034.000-main-bullseye/Dockerfile | 59 ---- 5.034.000-main-buster/DevelPatchPerl.patch | 0 5.034.000-main-buster/Dockerfile | 59 ---- config.yml | 1 - generate.pl | 4 - 434 files changed, 43973 deletions(-) delete mode 100644 5.020.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.020.003-main,debugging,longdouble,threaded-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.020.003-main,debugging,longdouble,threaded-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.020.003-main,debugging,longdouble-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.020.003-main,debugging,longdouble-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.020.003-main,debugging,quadmath,threaded-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.020.003-main,debugging,quadmath,threaded-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.020.003-main,debugging,quadmath-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.020.003-main,debugging,quadmath-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.020.003-main,debugging,threaded-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.020.003-main,debugging,threaded-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging-bullseye/Dockerfile delete mode 100644 5.020.003-main,debugging-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,debugging-buster/Dockerfile delete mode 100644 5.020.003-main,debugging-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.020.003-main,longdouble,threaded-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.020.003-main,longdouble,threaded-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,longdouble-bullseye/Dockerfile delete mode 100644 5.020.003-main,longdouble-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,longdouble-buster/Dockerfile delete mode 100644 5.020.003-main,longdouble-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.020.003-main,quadmath,threaded-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.020.003-main,quadmath,threaded-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,quadmath-bullseye/Dockerfile delete mode 100644 5.020.003-main,quadmath-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,quadmath-buster/Dockerfile delete mode 100644 5.020.003-main,quadmath-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main,threaded-bullseye/Dockerfile delete mode 100644 5.020.003-main,threaded-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main,threaded-buster/Dockerfile delete mode 100644 5.020.003-main,threaded-buster/fix-pack-longdouble.patch delete mode 100644 5.020.003-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.020.003-main-bullseye/Dockerfile delete mode 100644 5.020.003-main-bullseye/fix-pack-longdouble.patch delete mode 100644 5.020.003-main-buster/DevelPatchPerl.patch delete mode 100644 5.020.003-main-buster/Dockerfile delete mode 100644 5.020.003-main-buster/fix-pack-longdouble.patch delete mode 100644 5.022.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.022.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.022.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.022.004-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.022.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.022.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.022.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.022.004-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.022.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.022.004-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.022.004-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging-bullseye/Dockerfile delete mode 100644 5.022.004-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,debugging-buster/Dockerfile delete mode 100644 5.022.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.022.004-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.022.004-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,longdouble-bullseye/Dockerfile delete mode 100644 5.022.004-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,longdouble-buster/Dockerfile delete mode 100644 5.022.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.022.004-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.022.004-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,quadmath-bullseye/Dockerfile delete mode 100644 5.022.004-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,quadmath-buster/Dockerfile delete mode 100644 5.022.004-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main,threaded-bullseye/Dockerfile delete mode 100644 5.022.004-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main,threaded-buster/Dockerfile delete mode 100644 5.022.004-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.022.004-main-bullseye/Dockerfile delete mode 100644 5.022.004-main-buster/DevelPatchPerl.patch delete mode 100644 5.022.004-main-buster/Dockerfile delete mode 100644 5.024.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.024.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.024.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.024.004-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.024.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.024.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.024.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.024.004-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.024.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.024.004-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.024.004-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging-bullseye/Dockerfile delete mode 100644 5.024.004-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,debugging-buster/Dockerfile delete mode 100644 5.024.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.024.004-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.024.004-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,longdouble-bullseye/Dockerfile delete mode 100644 5.024.004-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,longdouble-buster/Dockerfile delete mode 100644 5.024.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.024.004-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.024.004-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,quadmath-bullseye/Dockerfile delete mode 100644 5.024.004-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,quadmath-buster/Dockerfile delete mode 100644 5.024.004-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main,threaded-bullseye/Dockerfile delete mode 100644 5.024.004-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main,threaded-buster/Dockerfile delete mode 100644 5.024.004-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.024.004-main-bullseye/Dockerfile delete mode 100644 5.024.004-main-buster/DevelPatchPerl.patch delete mode 100644 5.024.004-main-buster/Dockerfile delete mode 100644 5.026.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.026.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.026.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.026.003-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.026.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.026.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.026.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.026.003-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.026.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.026.003-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.026.003-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging-bullseye/Dockerfile delete mode 100644 5.026.003-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,debugging-buster/Dockerfile delete mode 100644 5.026.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.026.003-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.026.003-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,longdouble-bullseye/Dockerfile delete mode 100644 5.026.003-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,longdouble-buster/Dockerfile delete mode 100644 5.026.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.026.003-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.026.003-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,quadmath-bullseye/Dockerfile delete mode 100644 5.026.003-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,quadmath-buster/Dockerfile delete mode 100644 5.026.003-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main,threaded-bullseye/Dockerfile delete mode 100644 5.026.003-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main,threaded-buster/Dockerfile delete mode 100644 5.026.003-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.026.003-main-bullseye/Dockerfile delete mode 100644 5.026.003-main-buster/DevelPatchPerl.patch delete mode 100644 5.026.003-main-buster/Dockerfile delete mode 100644 5.028.003-main,debugging,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.028.003-main,debugging,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.028.003-main,debugging,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.028.003-main,debugging,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.028.003-main,debugging,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.028.003-main,debugging,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.028.003-main,debugging,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.028.003-main,debugging,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.028.003-main,debugging,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.028.003-main,debugging,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.028.003-main,debugging-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging-bullseye/Dockerfile delete mode 100644 5.028.003-main,debugging-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,debugging-buster/Dockerfile delete mode 100644 5.028.003-main,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.028.003-main,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.028.003-main,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,longdouble-bullseye/Dockerfile delete mode 100644 5.028.003-main,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,longdouble-buster/Dockerfile delete mode 100644 5.028.003-main,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.028.003-main,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.028.003-main,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,quadmath-bullseye/Dockerfile delete mode 100644 5.028.003-main,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,quadmath-buster/Dockerfile delete mode 100644 5.028.003-main,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main,threaded-bullseye/Dockerfile delete mode 100644 5.028.003-main,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main,threaded-buster/Dockerfile delete mode 100644 5.028.003-main-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.028.003-main-bullseye/Dockerfile delete mode 100644 5.028.003-main-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch delete mode 100644 5.028.003-main-buster/DevelPatchPerl.patch delete mode 100644 5.028.003-main-buster/Dockerfile delete mode 100644 5.030.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.030.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.030.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.030.003-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.030.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.030.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.030.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.030.003-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.030.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.030.003-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.030.003-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging-bullseye/Dockerfile delete mode 100644 5.030.003-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,debugging-buster/Dockerfile delete mode 100644 5.030.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.030.003-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.030.003-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,longdouble-bullseye/Dockerfile delete mode 100644 5.030.003-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,longdouble-buster/Dockerfile delete mode 100644 5.030.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.030.003-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.030.003-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,quadmath-bullseye/Dockerfile delete mode 100644 5.030.003-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,quadmath-buster/Dockerfile delete mode 100644 5.030.003-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main,threaded-bullseye/Dockerfile delete mode 100644 5.030.003-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main,threaded-buster/Dockerfile delete mode 100644 5.030.003-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.030.003-main-bullseye/Dockerfile delete mode 100644 5.030.003-main-buster/DevelPatchPerl.patch delete mode 100644 5.030.003-main-buster/Dockerfile delete mode 100644 5.032.001-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.032.001-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.032.001-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.032.001-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.032.001-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.032.001-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.032.001-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.032.001-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.032.001-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.032.001-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.032.001-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging-bullseye/Dockerfile delete mode 100644 5.032.001-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,debugging-buster/Dockerfile delete mode 100644 5.032.001-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.032.001-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.032.001-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,longdouble-bullseye/Dockerfile delete mode 100644 5.032.001-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,longdouble-buster/Dockerfile delete mode 100644 5.032.001-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.032.001-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.032.001-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,quadmath-bullseye/Dockerfile delete mode 100644 5.032.001-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,quadmath-buster/Dockerfile delete mode 100644 5.032.001-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main,threaded-bullseye/Dockerfile delete mode 100644 5.032.001-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main,threaded-buster/Dockerfile delete mode 100644 5.032.001-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.032.001-main-bullseye/Dockerfile delete mode 100644 5.032.001-main-buster/DevelPatchPerl.patch delete mode 100644 5.032.001-main-buster/Dockerfile delete mode 100644 5.034.000-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.034.000-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,longdouble,threaded-buster/Dockerfile delete mode 100644 5.034.000-main,debugging,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,longdouble-bullseye/Dockerfile delete mode 100644 5.034.000-main,debugging,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,longdouble-buster/Dockerfile delete mode 100644 5.034.000-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.034.000-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,quadmath,threaded-buster/Dockerfile delete mode 100644 5.034.000-main,debugging,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,quadmath-bullseye/Dockerfile delete mode 100644 5.034.000-main,debugging,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,quadmath-buster/Dockerfile delete mode 100644 5.034.000-main,debugging,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,threaded-bullseye/Dockerfile delete mode 100644 5.034.000-main,debugging,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging,threaded-buster/Dockerfile delete mode 100644 5.034.000-main,debugging-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging-bullseye/Dockerfile delete mode 100644 5.034.000-main,debugging-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,debugging-buster/Dockerfile delete mode 100644 5.034.000-main,longdouble,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,longdouble,threaded-bullseye/Dockerfile delete mode 100644 5.034.000-main,longdouble,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,longdouble,threaded-buster/Dockerfile delete mode 100644 5.034.000-main,longdouble-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,longdouble-bullseye/Dockerfile delete mode 100644 5.034.000-main,longdouble-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,longdouble-buster/Dockerfile delete mode 100644 5.034.000-main,quadmath,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,quadmath,threaded-bullseye/Dockerfile delete mode 100644 5.034.000-main,quadmath,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,quadmath,threaded-buster/Dockerfile delete mode 100644 5.034.000-main,quadmath-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,quadmath-bullseye/Dockerfile delete mode 100644 5.034.000-main,quadmath-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,quadmath-buster/Dockerfile delete mode 100644 5.034.000-main,threaded-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main,threaded-bullseye/Dockerfile delete mode 100644 5.034.000-main,threaded-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main,threaded-buster/Dockerfile delete mode 100644 5.034.000-main-bullseye/DevelPatchPerl.patch delete mode 100644 5.034.000-main-bullseye/Dockerfile delete mode 100644 5.034.000-main-buster/DevelPatchPerl.patch delete mode 100644 5.034.000-main-buster/Dockerfile diff --git a/5.020.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.020.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.020.003-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 3631047..0000000 --- a/5.020.003-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,longdouble,threaded-bullseye/fix-pack-longdouble.patch b/5.020.003-main,debugging,longdouble,threaded-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,longdouble,threaded-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.020.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,longdouble,threaded-buster/Dockerfile b/5.020.003-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 9407861..0000000 --- a/5.020.003-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,longdouble,threaded-buster/fix-pack-longdouble.patch b/5.020.003-main,debugging,longdouble,threaded-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,longdouble,threaded-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.020.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,longdouble-bullseye/Dockerfile b/5.020.003-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index 19790c7..0000000 --- a/5.020.003-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,longdouble-bullseye/fix-pack-longdouble.patch b/5.020.003-main,debugging,longdouble-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,longdouble-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.020.003-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,longdouble-buster/Dockerfile b/5.020.003-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index e20f1a6..0000000 --- a/5.020.003-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,longdouble-buster/fix-pack-longdouble.patch b/5.020.003-main,debugging,longdouble-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,longdouble-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.020.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.020.003-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 9b5f91f..0000000 --- a/5.020.003-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,quadmath,threaded-bullseye/fix-pack-longdouble.patch b/5.020.003-main,debugging,quadmath,threaded-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,quadmath,threaded-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.020.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,quadmath,threaded-buster/Dockerfile b/5.020.003-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 2c1d301..0000000 --- a/5.020.003-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,quadmath,threaded-buster/fix-pack-longdouble.patch b/5.020.003-main,debugging,quadmath,threaded-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,quadmath,threaded-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.020.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,quadmath-bullseye/Dockerfile b/5.020.003-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index dc2e047..0000000 --- a/5.020.003-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,quadmath-bullseye/fix-pack-longdouble.patch b/5.020.003-main,debugging,quadmath-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,quadmath-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.020.003-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,quadmath-buster/Dockerfile b/5.020.003-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index e6a5efb..0000000 --- a/5.020.003-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,quadmath-buster/fix-pack-longdouble.patch b/5.020.003-main,debugging,quadmath-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,quadmath-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.020.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,threaded-bullseye/Dockerfile b/5.020.003-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index 23d159f..0000000 --- a/5.020.003-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,threaded-bullseye/fix-pack-longdouble.patch b/5.020.003-main,debugging,threaded-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,threaded-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.020.003-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging,threaded-buster/Dockerfile b/5.020.003-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index f6b8674..0000000 --- a/5.020.003-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging,threaded-buster/fix-pack-longdouble.patch b/5.020.003-main,debugging,threaded-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging,threaded-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging-bullseye/DevelPatchPerl.patch b/5.020.003-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging-bullseye/Dockerfile b/5.020.003-main,debugging-bullseye/Dockerfile deleted file mode 100644 index 2f210c1..0000000 --- a/5.020.003-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging-bullseye/fix-pack-longdouble.patch b/5.020.003-main,debugging-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,debugging-buster/DevelPatchPerl.patch b/5.020.003-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,debugging-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,debugging-buster/Dockerfile b/5.020.003-main,debugging-buster/Dockerfile deleted file mode 100644 index f189971..0000000 --- a/5.020.003-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,debugging-buster/fix-pack-longdouble.patch b/5.020.003-main,debugging-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,debugging-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.020.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,longdouble,threaded-bullseye/Dockerfile b/5.020.003-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 758e513..0000000 --- a/5.020.003-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,longdouble,threaded-bullseye/fix-pack-longdouble.patch b/5.020.003-main,longdouble,threaded-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,longdouble,threaded-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.020.003-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,longdouble,threaded-buster/Dockerfile b/5.020.003-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 83da6fa..0000000 --- a/5.020.003-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,longdouble,threaded-buster/fix-pack-longdouble.patch b/5.020.003-main,longdouble,threaded-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,longdouble,threaded-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,longdouble-bullseye/DevelPatchPerl.patch b/5.020.003-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,longdouble-bullseye/Dockerfile b/5.020.003-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index 54a040d..0000000 --- a/5.020.003-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,longdouble-bullseye/fix-pack-longdouble.patch b/5.020.003-main,longdouble-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,longdouble-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,longdouble-buster/DevelPatchPerl.patch b/5.020.003-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,longdouble-buster/Dockerfile b/5.020.003-main,longdouble-buster/Dockerfile deleted file mode 100644 index 4a29d0d..0000000 --- a/5.020.003-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,longdouble-buster/fix-pack-longdouble.patch b/5.020.003-main,longdouble-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,longdouble-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.020.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,quadmath,threaded-bullseye/Dockerfile b/5.020.003-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index a73ab81..0000000 --- a/5.020.003-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,quadmath,threaded-bullseye/fix-pack-longdouble.patch b/5.020.003-main,quadmath,threaded-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,quadmath,threaded-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.020.003-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,quadmath,threaded-buster/Dockerfile b/5.020.003-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 0c34e1d..0000000 --- a/5.020.003-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,quadmath,threaded-buster/fix-pack-longdouble.patch b/5.020.003-main,quadmath,threaded-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,quadmath,threaded-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,quadmath-bullseye/DevelPatchPerl.patch b/5.020.003-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,quadmath-bullseye/Dockerfile b/5.020.003-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index 3a45fd5..0000000 --- a/5.020.003-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,quadmath-bullseye/fix-pack-longdouble.patch b/5.020.003-main,quadmath-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,quadmath-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,quadmath-buster/DevelPatchPerl.patch b/5.020.003-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,quadmath-buster/Dockerfile b/5.020.003-main,quadmath-buster/Dockerfile deleted file mode 100644 index 954ff3c..0000000 --- a/5.020.003-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,quadmath-buster/fix-pack-longdouble.patch b/5.020.003-main,quadmath-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,quadmath-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,threaded-bullseye/DevelPatchPerl.patch b/5.020.003-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,threaded-bullseye/Dockerfile b/5.020.003-main,threaded-bullseye/Dockerfile deleted file mode 100644 index a1d7609..0000000 --- a/5.020.003-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,threaded-bullseye/fix-pack-longdouble.patch b/5.020.003-main,threaded-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,threaded-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main,threaded-buster/DevelPatchPerl.patch b/5.020.003-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main,threaded-buster/Dockerfile b/5.020.003-main,threaded-buster/Dockerfile deleted file mode 100644 index 637ad12..0000000 --- a/5.020.003-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main,threaded-buster/fix-pack-longdouble.patch b/5.020.003-main,threaded-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main,threaded-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main-bullseye/DevelPatchPerl.patch b/5.020.003-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main-bullseye/Dockerfile b/5.020.003-main-bullseye/Dockerfile deleted file mode 100644 index a1241f0..0000000 --- a/5.020.003-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main-bullseye/fix-pack-longdouble.patch b/5.020.003-main-bullseye/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main-bullseye/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.020.003-main-buster/DevelPatchPerl.patch b/5.020.003-main-buster/DevelPatchPerl.patch deleted file mode 100644 index 14c00e2..0000000 --- a/5.020.003-main-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/Configure b/Configure -index 438b926..a762f78 100755 ---- a/Configure -+++ b/Configure -@@ -4591,7 +4591,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4631,7 +4631,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5328,13 +5328,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5343,7 +5343,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5445,7 +5445,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index 956adfc..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,33 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ -+# libquadmath is sometimes installed as gcc internal library, -+# so contrary to our usual policy of *not* looking at gcc internal -+# directories we now *do* look at them, in case they contain -+# the quadmath library. -+# XXX This may apply to other gcc internal libraries, if such exist. -+# XXX This could be at Configure level, but then the $gcc is messy. -+case "$usequadmath" in -+"$define") -+ for d in `LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep 'gcc' | sed -e 's:/$::'` -+ do -+ case `ls $d/*libquadmath*$so* 2>/dev/null` in -+ $d/*libquadmath*$so*) xlibpth="$xlibpth $d" ;; -+ esac -+ done -+ ;; -+esac -+ - case "$libc" in - '') - # If you have glibc, then report the version for ./myconfig bug reporting. -@@ -204,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -497,7 +441,7 @@ then - DBLIB="$DBDIR/libdb.so" - if [ -f $DBLIB ] - then -- if ${nm:-nm} -u $DBLIB | grep pthread >/dev/null -+ if ${nm:-nm} -u $DBLIB 2>/dev/null | grep pthread >/dev/null - then - if ldd $DBLIB | grep pthread >/dev/null - then -diff --git a/pp.c b/pp.c -index 4ec6887..729239c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3435,8 +3435,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.020.003-main-buster/Dockerfile b/5.020.003-main-buster/Dockerfile deleted file mode 100644 index be722d6..0000000 --- a/5.020.003-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ - && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.20.3.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.3.tar.bz2 \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.20.3","-de0"] diff --git a/5.020.003-main-buster/fix-pack-longdouble.patch b/5.020.003-main-buster/fix-pack-longdouble.patch deleted file mode 100644 index a62c9eb..0000000 --- a/5.020.003-main-buster/fix-pack-longdouble.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a2db6c92fc2880ba1f288b6c4599a779997dd4e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 9 Apr 2015 15:45:16 +1000 -Subject: [PATCH] [perl #123971] fix long double pack padding on newer GCC - ---- - pp_pack.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pp_pack.c b/pp_pack.c -index 06adade..1d732a8 100644 ---- a/pp_pack.c -+++ b/pp_pack.c -@@ -2709,6 +2709,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - #ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - anv.nv = sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(anv.bytes+10, sizeof(anv.bytes) - 10, U8); -+# endif - #else - anv.nv = SvNV(fromstr); - #endif -@@ -2726,6 +2732,11 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) - # ifdef __GNUC__ - /* to work round a gcc/x86 bug; don't use SvNV */ - aldouble.ld = (long double)sv_2nv(fromstr); -+# if defined(USE_LONG_DOUBLE) -+ /* GCC sometimes overwrites the padding in the -+ assignment above */ -+ Zero(aldouble.bytes+10, sizeof(aldouble.bytes) - 10, U8); -+# endif - # else - aldouble.ld = (long double)SvNV(fromstr); - # endif --- -1.7.10.4 - - diff --git a/5.022.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.022.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.022.004-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 03089c6..0000000 --- a/5.022.004-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.022.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,longdouble,threaded-buster/Dockerfile b/5.022.004-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 9ba2b50..0000000 --- a/5.022.004-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.022.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,longdouble-bullseye/Dockerfile b/5.022.004-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index 95dbe95..0000000 --- a/5.022.004-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.022.004-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,longdouble-buster/Dockerfile b/5.022.004-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index 2db4992..0000000 --- a/5.022.004-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.022.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.022.004-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 13eee5a..0000000 --- a/5.022.004-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.022.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,quadmath,threaded-buster/Dockerfile b/5.022.004-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 7fc7976..0000000 --- a/5.022.004-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.022.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,quadmath-bullseye/Dockerfile b/5.022.004-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index 64af1c8..0000000 --- a/5.022.004-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.022.004-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,quadmath-buster/Dockerfile b/5.022.004-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index fc2d43b..0000000 --- a/5.022.004-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.022.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,threaded-bullseye/Dockerfile b/5.022.004-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index 0e0a497..0000000 --- a/5.022.004-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.022.004-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging,threaded-buster/Dockerfile b/5.022.004-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index 208b343..0000000 --- a/5.022.004-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging-bullseye/DevelPatchPerl.patch b/5.022.004-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging-bullseye/Dockerfile b/5.022.004-main,debugging-bullseye/Dockerfile deleted file mode 100644 index 0da1368..0000000 --- a/5.022.004-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,debugging-buster/DevelPatchPerl.patch b/5.022.004-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,debugging-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,debugging-buster/Dockerfile b/5.022.004-main,debugging-buster/Dockerfile deleted file mode 100644 index e59ad76..0000000 --- a/5.022.004-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.022.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,longdouble,threaded-bullseye/Dockerfile b/5.022.004-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index ec8adc2..0000000 --- a/5.022.004-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.022.004-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,longdouble,threaded-buster/Dockerfile b/5.022.004-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 87c6349..0000000 --- a/5.022.004-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,longdouble-bullseye/DevelPatchPerl.patch b/5.022.004-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,longdouble-bullseye/Dockerfile b/5.022.004-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index 69b4bc5..0000000 --- a/5.022.004-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,longdouble-buster/DevelPatchPerl.patch b/5.022.004-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,longdouble-buster/Dockerfile b/5.022.004-main,longdouble-buster/Dockerfile deleted file mode 100644 index 50c14f6..0000000 --- a/5.022.004-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.022.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,quadmath,threaded-bullseye/Dockerfile b/5.022.004-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 146c5ef..0000000 --- a/5.022.004-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.022.004-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,quadmath,threaded-buster/Dockerfile b/5.022.004-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index cb5c28a..0000000 --- a/5.022.004-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,quadmath-bullseye/DevelPatchPerl.patch b/5.022.004-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,quadmath-bullseye/Dockerfile b/5.022.004-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index f42a3dd..0000000 --- a/5.022.004-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,quadmath-buster/DevelPatchPerl.patch b/5.022.004-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,quadmath-buster/Dockerfile b/5.022.004-main,quadmath-buster/Dockerfile deleted file mode 100644 index 51b0721..0000000 --- a/5.022.004-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,threaded-bullseye/DevelPatchPerl.patch b/5.022.004-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,threaded-bullseye/Dockerfile b/5.022.004-main,threaded-bullseye/Dockerfile deleted file mode 100644 index a486570..0000000 --- a/5.022.004-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main,threaded-buster/DevelPatchPerl.patch b/5.022.004-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main,threaded-buster/Dockerfile b/5.022.004-main,threaded-buster/Dockerfile deleted file mode 100644 index 1daf22b..0000000 --- a/5.022.004-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main-bullseye/DevelPatchPerl.patch b/5.022.004-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main-bullseye/Dockerfile b/5.022.004-main-bullseye/Dockerfile deleted file mode 100644 index 833e151..0000000 --- a/5.022.004-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.022.004-main-buster/DevelPatchPerl.patch b/5.022.004-main-buster/DevelPatchPerl.patch deleted file mode 100644 index 7dd1f36..0000000 --- a/5.022.004-main-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index 5f5f279..8ce5cbb 100755 ---- a/Configure -+++ b/Configure -@@ -4658,7 +4658,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4698,7 +4698,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5410,13 +5410,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5425,7 +5425,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5534,7 +5534,7 @@ case "$cppflags" in - *) cppflags="$cppflags $ccflags" ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23010,7 +23010,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[45].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 3173c5a..f2a37bd 100644 ---- a/pp.c -+++ b/pp.c -@@ -3624,8 +3624,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.022.004-main-buster/Dockerfile b/5.022.004-main-buster/Dockerfile deleted file mode 100644 index 7e05b5c..0000000 --- a/5.022.004-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.22.4.tar.xz -o perl-5.22.4.tar.xz \ - && echo '713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 *perl-5.22.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.22.4.tar.xz -C /usr/src/perl \ - && rm perl-5.22.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.22.4","-de0"] diff --git a/5.024.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.024.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.024.004-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index f8f0885..0000000 --- a/5.024.004-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.024.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,longdouble,threaded-buster/Dockerfile b/5.024.004-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index f48b80d..0000000 --- a/5.024.004-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.024.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,longdouble-bullseye/Dockerfile b/5.024.004-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index 1d3d442..0000000 --- a/5.024.004-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.024.004-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,longdouble-buster/Dockerfile b/5.024.004-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index e488f2c..0000000 --- a/5.024.004-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.024.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.024.004-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 26fd3e3..0000000 --- a/5.024.004-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.024.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,quadmath,threaded-buster/Dockerfile b/5.024.004-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 73bd712..0000000 --- a/5.024.004-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.024.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,quadmath-bullseye/Dockerfile b/5.024.004-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index 640cb2d..0000000 --- a/5.024.004-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.024.004-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,quadmath-buster/Dockerfile b/5.024.004-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index e1ad8c7..0000000 --- a/5.024.004-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.024.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,threaded-bullseye/Dockerfile b/5.024.004-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index e133d2b..0000000 --- a/5.024.004-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.024.004-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging,threaded-buster/Dockerfile b/5.024.004-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index f81ea40..0000000 --- a/5.024.004-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging-bullseye/DevelPatchPerl.patch b/5.024.004-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging-bullseye/Dockerfile b/5.024.004-main,debugging-bullseye/Dockerfile deleted file mode 100644 index ce1328e..0000000 --- a/5.024.004-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,debugging-buster/DevelPatchPerl.patch b/5.024.004-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,debugging-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,debugging-buster/Dockerfile b/5.024.004-main,debugging-buster/Dockerfile deleted file mode 100644 index 85117ca..0000000 --- a/5.024.004-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.024.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,longdouble,threaded-bullseye/Dockerfile b/5.024.004-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 73a240c..0000000 --- a/5.024.004-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.024.004-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,longdouble,threaded-buster/Dockerfile b/5.024.004-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 556b846..0000000 --- a/5.024.004-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,longdouble-bullseye/DevelPatchPerl.patch b/5.024.004-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,longdouble-bullseye/Dockerfile b/5.024.004-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index 5de92ef..0000000 --- a/5.024.004-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,longdouble-buster/DevelPatchPerl.patch b/5.024.004-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,longdouble-buster/Dockerfile b/5.024.004-main,longdouble-buster/Dockerfile deleted file mode 100644 index 6479669..0000000 --- a/5.024.004-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.024.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,quadmath,threaded-bullseye/Dockerfile b/5.024.004-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 7526eea..0000000 --- a/5.024.004-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.024.004-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,quadmath,threaded-buster/Dockerfile b/5.024.004-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 1c03780..0000000 --- a/5.024.004-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,quadmath-bullseye/DevelPatchPerl.patch b/5.024.004-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,quadmath-bullseye/Dockerfile b/5.024.004-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index 036ba91..0000000 --- a/5.024.004-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,quadmath-buster/DevelPatchPerl.patch b/5.024.004-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,quadmath-buster/Dockerfile b/5.024.004-main,quadmath-buster/Dockerfile deleted file mode 100644 index 98e52c0..0000000 --- a/5.024.004-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,threaded-bullseye/DevelPatchPerl.patch b/5.024.004-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,threaded-bullseye/Dockerfile b/5.024.004-main,threaded-bullseye/Dockerfile deleted file mode 100644 index 45d1eab..0000000 --- a/5.024.004-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main,threaded-buster/DevelPatchPerl.patch b/5.024.004-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main,threaded-buster/Dockerfile b/5.024.004-main,threaded-buster/Dockerfile deleted file mode 100644 index eee6372..0000000 --- a/5.024.004-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main-bullseye/DevelPatchPerl.patch b/5.024.004-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main-bullseye/Dockerfile b/5.024.004-main-bullseye/Dockerfile deleted file mode 100644 index 541675c..0000000 --- a/5.024.004-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-main-buster/DevelPatchPerl.patch b/5.024.004-main-buster/DevelPatchPerl.patch deleted file mode 100644 index 96788a0..0000000 --- a/5.024.004-main-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,264 +0,0 @@ -diff --git a/Configure b/Configure -index cf143bf..c56df9d 100755 ---- a/Configure -+++ b/Configure -@@ -4686,7 +4686,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4726,7 +4726,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5452,13 +5452,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5467,7 +5467,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5585,7 +5585,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23379,7 +23379,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 472e71a..0a852a0 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -91,7 +91,7 @@ for (@time, @neg_time) { - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timelocal($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = localtime($time); -@@ -107,7 +107,7 @@ for (@time, @neg_time) { - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -+ my $year_in = $year + 1900; - my $time = timegm($sec,$min,$hour,$mday,$mon,$year_in); - - my($s,$m,$h,$D,$M,$Y) = gmtime($time); -@@ -125,7 +125,6 @@ for (@time, @neg_time) { - - for (@bad_time) { - my($year, $mon, $mday, $hour, $min, $sec) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm($sec,$min,$hour,$mday,$mon,$year) }; -@@ -134,14 +133,14 @@ for (@bad_time) { - } - - { -- is(timelocal(0,0,1,1,0,90) - timelocal(0,0,0,1,0,90), 3600, -+ is(timelocal(0,0,1,1,0,1990) - timelocal(0,0,0,1,0,1990), 3600, - 'one hour difference between two calls to timelocal'); - -- is(timelocal(1,2,3,1,0,100) - timelocal(1,2,3,31,11,99), 24 * 3600, -+ is(timelocal(1,2,3,1,0,2000) - timelocal(1,2,3,31,11,1999), 24 * 3600, - 'one day difference between two calls to timelocal'); - - # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days) -- is(timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80), 60 * 24 * 3600, -+ is(timegm(0,0,0, 1, 2, 1980) - timegm(0,0,0, 1, 0, 1980), 60 * 24 * 3600, - '60 day difference between two calls to timegm'); - } - -diff --git a/hints/linux.sh b/hints/linux.sh -index fb5a46e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -@@ -221,92 +234,6 @@ case "$libc" in - ;; - esac - --# Are we using ELF? Thanks to Kenneth Albanowski --# for this test. --cat >try.c <<'EOM' --/* Test for whether ELF binaries are produced */ --#include --#include --#include --main() { -- char buffer[4]; -- int i=open("a.out",O_RDONLY); -- if(i==-1) -- exit(1); /* fail */ -- if(read(i,&buffer[0],4)<4) -- exit(1); /* fail */ -- if(buffer[0] != 127 || buffer[1] != 'E' || -- buffer[2] != 'L' || buffer[3] != 'F') -- exit(1); /* fail */ -- exit(0); /* succeed (yes, it's ELF) */ --} --EOM --if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then -- cat <<'EOM' >&4 -- --You appear to have ELF support. I'll try to use it for dynamic loading. --If dynamic loading doesn't work, read hints/linux.sh for further information. --EOM -- --else -- cat <<'EOM' >&4 -- --You don't have an ELF gcc. I will use dld if possible. If you are --using a version of DLD earlier than 3.2.6, or don't have it at all, you --should probably upgrade. If you are forced to use 3.2.4, you should --uncomment a couple of lines in hints/linux.sh and restart Configure so --that shared libraries will be disallowed. -- --EOM -- lddlflags="-r $lddlflags" -- # These empty values are so that Configure doesn't put in the -- # Linux ELF values. -- ccdlflags=' ' -- cccdlflags=' ' -- ccflags="-DOVR_DBL_DIG=14 $ccflags" -- so='sa' -- dlext='o' -- nm_so_opt=' ' -- ## If you are using DLD 3.2.4 which does not support shared libs, -- ## uncomment the next two lines: -- #ldflags="-static" -- #so='none' -- -- # In addition, on some systems there is a problem with perl and NDBM -- # which causes AnyDBM and NDBM_File to lock up. This is evidenced -- # in the tests as AnyDBM just freezing. Apparently, this only -- # happens on a.out systems, so we disable NDBM for all a.out linux -- # systems. If someone can suggest a more robust test -- # that would be appreciated. -- # -- # More info: -- # Date: Wed, 7 Feb 1996 03:21:04 +0900 -- # From: Jeffrey Friedl -- # -- # I tried compiling with DBM support and sure enough things locked up -- # just as advertised. Checking into it, I found that the lockup was -- # during the call to dbm_open. Not *in* dbm_open -- but between the call -- # to and the jump into. -- # -- # To make a long story short, making sure that the *.a and *.sa pairs of -- # /usr/lib/lib{m,db,gdbm}.{a,sa} -- # were perfectly in sync took care of it. -- # -- # This will generate a harmless Whoa There! message -- case "$d_dbm_open" in -- '') cat <<'EOM' >&4 -- --Disabling ndbm. This will generate a Whoa There message in Configure. --Read hints/linux.sh for further information. --EOM -- # You can override this with Configure -Dd_dbm_open -- d_dbm_open=undef -- ;; -- esac --fi -- --rm -f try.c a.out -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -diff --git a/pp.c b/pp.c -index 4a2cde0..b979e19 100644 ---- a/pp.c -+++ b/pp.c -@@ -3818,8 +3818,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.024.004-main-buster/Dockerfile b/5.024.004-main-buster/Dockerfile deleted file mode 100644 index 56ac553..0000000 --- a/5.024.004-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.xz -o perl-5.24.4.tar.xz \ - && echo '7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 *perl-5.24.4.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.24.4.tar.xz -C /usr/src/perl \ - && rm perl-5.24.4.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.24.4","-de0"] diff --git a/5.026.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.026.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.026.003-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 46e6dbe..0000000 --- a/5.026.003-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.026.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,longdouble,threaded-buster/Dockerfile b/5.026.003-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 4741087..0000000 --- a/5.026.003-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.026.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,longdouble-bullseye/Dockerfile b/5.026.003-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index 163168e..0000000 --- a/5.026.003-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.026.003-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,longdouble-buster/Dockerfile b/5.026.003-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index db14808..0000000 --- a/5.026.003-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.026.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.026.003-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 4ccf1df..0000000 --- a/5.026.003-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.026.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,quadmath,threaded-buster/Dockerfile b/5.026.003-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 360fb8e..0000000 --- a/5.026.003-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.026.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,quadmath-bullseye/Dockerfile b/5.026.003-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index 235ede0..0000000 --- a/5.026.003-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.026.003-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,quadmath-buster/Dockerfile b/5.026.003-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index d5c18c3..0000000 --- a/5.026.003-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.026.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,threaded-bullseye/Dockerfile b/5.026.003-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index 352d24b..0000000 --- a/5.026.003-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.026.003-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging,threaded-buster/Dockerfile b/5.026.003-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index 73b83ce..0000000 --- a/5.026.003-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging-bullseye/DevelPatchPerl.patch b/5.026.003-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging-bullseye/Dockerfile b/5.026.003-main,debugging-bullseye/Dockerfile deleted file mode 100644 index fce7c48..0000000 --- a/5.026.003-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,debugging-buster/DevelPatchPerl.patch b/5.026.003-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,debugging-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,debugging-buster/Dockerfile b/5.026.003-main,debugging-buster/Dockerfile deleted file mode 100644 index a3df27d..0000000 --- a/5.026.003-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.026.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,longdouble,threaded-bullseye/Dockerfile b/5.026.003-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index fd7bc2a..0000000 --- a/5.026.003-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.026.003-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,longdouble,threaded-buster/Dockerfile b/5.026.003-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 5571b40..0000000 --- a/5.026.003-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,longdouble-bullseye/DevelPatchPerl.patch b/5.026.003-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,longdouble-bullseye/Dockerfile b/5.026.003-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index 5901b06..0000000 --- a/5.026.003-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,longdouble-buster/DevelPatchPerl.patch b/5.026.003-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,longdouble-buster/Dockerfile b/5.026.003-main,longdouble-buster/Dockerfile deleted file mode 100644 index 6b0a408..0000000 --- a/5.026.003-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.026.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,quadmath,threaded-bullseye/Dockerfile b/5.026.003-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 7bccf7d..0000000 --- a/5.026.003-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.026.003-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,quadmath,threaded-buster/Dockerfile b/5.026.003-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index db776e6..0000000 --- a/5.026.003-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,quadmath-bullseye/DevelPatchPerl.patch b/5.026.003-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,quadmath-bullseye/Dockerfile b/5.026.003-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index 8523282..0000000 --- a/5.026.003-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,quadmath-buster/DevelPatchPerl.patch b/5.026.003-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,quadmath-buster/Dockerfile b/5.026.003-main,quadmath-buster/Dockerfile deleted file mode 100644 index 0926590..0000000 --- a/5.026.003-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,threaded-bullseye/DevelPatchPerl.patch b/5.026.003-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,threaded-bullseye/Dockerfile b/5.026.003-main,threaded-bullseye/Dockerfile deleted file mode 100644 index 928fa2b..0000000 --- a/5.026.003-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main,threaded-buster/DevelPatchPerl.patch b/5.026.003-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main,threaded-buster/Dockerfile b/5.026.003-main,threaded-buster/Dockerfile deleted file mode 100644 index 6f10239..0000000 --- a/5.026.003-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main-bullseye/DevelPatchPerl.patch b/5.026.003-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main-bullseye/Dockerfile b/5.026.003-main-bullseye/Dockerfile deleted file mode 100644 index 7f4d71d..0000000 --- a/5.026.003-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main-buster/DevelPatchPerl.patch b/5.026.003-main-buster/DevelPatchPerl.patch deleted file mode 100644 index c28bcd4..0000000 --- a/5.026.003-main-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/Configure b/Configure -index bdcfaf1..1824010 100755 ---- a/Configure -+++ b/Configure -@@ -4703,7 +4703,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4743,7 +4743,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5469,13 +5469,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5484,7 +5484,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5602,7 +5602,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23612,7 +23612,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index 3f38ea0..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi -@@ -178,6 +181,16 @@ case "$plibpth" in - ;; - esac - -+# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some -+# available functions, like memem, won't be used. See the discussion in -+# [perl #133760]. musl doesn't offer an easy way to identify it, but, -+# at least on alpine linux, the ldd --version output contains the -+# string 'musl.' -+case `ldd --version 2>&1` in -+ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; -+ *) ;; -+esac -+ - # libquadmath is sometimes installed as gcc internal library, - # so contrary to our usual policy of *not* looking at gcc internal - # directories we now *do* look at them, in case they contain -diff --git a/pp.c b/pp.c -index fbba3bd..1e0a5eb 100644 ---- a/pp.c -+++ b/pp.c -@@ -3737,8 +3737,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/5.026.003-main-buster/Dockerfile b/5.026.003-main-buster/Dockerfile deleted file mode 100644 index 0762d16..0000000 --- a/5.026.003-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.xz -o perl-5.26.3.tar.xz \ - && echo 'e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 *perl-5.26.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.26.3.tar.xz -C /usr/src/perl \ - && rm perl-5.26.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.26.3","-de0"] diff --git a/5.028.003-main,debugging,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.028.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.028.003-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 8eb3d40..0000000 --- a/5.028.003-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.028.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,longdouble,threaded-buster/Dockerfile b/5.028.003-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 19bb47a..0000000 --- a/5.028.003-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.028.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,longdouble-bullseye/Dockerfile b/5.028.003-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index 71ed87d..0000000 --- a/5.028.003-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.028.003-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,longdouble-buster/Dockerfile b/5.028.003-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index c40c037..0000000 --- a/5.028.003-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.028.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.028.003-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 6c95325..0000000 --- a/5.028.003-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.028.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,quadmath,threaded-buster/Dockerfile b/5.028.003-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 46a3ae9..0000000 --- a/5.028.003-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.028.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,quadmath-bullseye/Dockerfile b/5.028.003-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index 65db1ae..0000000 --- a/5.028.003-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.028.003-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,quadmath-buster/Dockerfile b/5.028.003-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index 71b2f51..0000000 --- a/5.028.003-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.028.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,threaded-bullseye/Dockerfile b/5.028.003-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index a1818a4..0000000 --- a/5.028.003-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.028.003-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging,threaded-buster/Dockerfile b/5.028.003-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index 8a60103..0000000 --- a/5.028.003-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging-bullseye/DevelPatchPerl.patch b/5.028.003-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging-bullseye/Dockerfile b/5.028.003-main,debugging-bullseye/Dockerfile deleted file mode 100644 index cee952a..0000000 --- a/5.028.003-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,debugging-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,debugging-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,debugging-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,debugging-buster/DevelPatchPerl.patch b/5.028.003-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,debugging-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,debugging-buster/Dockerfile b/5.028.003-main,debugging-buster/Dockerfile deleted file mode 100644 index 5b089e6..0000000 --- a/5.028.003-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,longdouble,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.028.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,longdouble,threaded-bullseye/Dockerfile b/5.028.003-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 7728adc..0000000 --- a/5.028.003-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,longdouble,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.028.003-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,longdouble,threaded-buster/Dockerfile b/5.028.003-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 0acb08b..0000000 --- a/5.028.003-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,longdouble-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,longdouble-bullseye/DevelPatchPerl.patch b/5.028.003-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,longdouble-bullseye/Dockerfile b/5.028.003-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index 4a1e56e..0000000 --- a/5.028.003-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,longdouble-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,longdouble-buster/DevelPatchPerl.patch b/5.028.003-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,longdouble-buster/Dockerfile b/5.028.003-main,longdouble-buster/Dockerfile deleted file mode 100644 index 7abbc96..0000000 --- a/5.028.003-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,quadmath,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.028.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,quadmath,threaded-bullseye/Dockerfile b/5.028.003-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index fb25a8a..0000000 --- a/5.028.003-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,quadmath,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.028.003-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,quadmath,threaded-buster/Dockerfile b/5.028.003-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index ed83ef1..0000000 --- a/5.028.003-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,quadmath-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,quadmath-bullseye/DevelPatchPerl.patch b/5.028.003-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,quadmath-bullseye/Dockerfile b/5.028.003-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index 5ef3148..0000000 --- a/5.028.003-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,quadmath-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,quadmath-buster/DevelPatchPerl.patch b/5.028.003-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,quadmath-buster/Dockerfile b/5.028.003-main,quadmath-buster/Dockerfile deleted file mode 100644 index c5e84f8..0000000 --- a/5.028.003-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,threaded-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,threaded-bullseye/DevelPatchPerl.patch b/5.028.003-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,threaded-bullseye/Dockerfile b/5.028.003-main,threaded-bullseye/Dockerfile deleted file mode 100644 index d3a7a5f..0000000 --- a/5.028.003-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main,threaded-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main,threaded-buster/DevelPatchPerl.patch b/5.028.003-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main,threaded-buster/Dockerfile b/5.028.003-main,threaded-buster/Dockerfile deleted file mode 100644 index 8537e14..0000000 --- a/5.028.003-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main-bullseye/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main-bullseye/DevelPatchPerl.patch b/5.028.003-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main-bullseye/Dockerfile b/5.028.003-main-bullseye/Dockerfile deleted file mode 100644 index 32d950e..0000000 --- a/5.028.003-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.028.003-main-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch b/5.028.003-main-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch deleted file mode 100644 index 769534e..0000000 --- a/5.028.003-main-buster/0001-time-HiRes-don-t-truncate-nanosec-utime.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 66f85150154f441b79024356cbc59fbafcff7c2a Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 27 Apr 2018 12:43:44 +0100 -Subject: [PATCH] time::HiRes: don't truncate nanosec utime - -When passed a floating point atime/mtime value, T::HR::utime() -was converting it into two longs: secs and nsec. But the nanosec value -was calculated using a final NV to long cast, which truncates any -fractional part rather than rounding to nearest. Use a 0.5 addition to -force rounding. - -This was manifesting as a test in lib/File/Copy.t failing to preserve -the same mtime after a couple of round trips with utime() and stat(). - -In particular, the test was attempting to set an mtime to the literal -floating-point value - - 1000000000.12345 - -This value can't be represented exactly as an NV, so was actually -(under -Dquadmath) - -1000000000.1234499999999999999999999568211720247320 - -which was (using truncation) being converted into the two sec/nsec -longs: - - 1000000000, 123449999 - -After this commit, it instead correctly gets converted to - - 1000000000, 123450000 ---- - dist/Time-HiRes/HiRes.xs | 10 ++++++++-- - dist/Time-HiRes/t/utime.t | 15 ++++++++++++++- - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs -index c4a7af7575..97e870c788 100644 ---- a/dist/Time-HiRes/HiRes.xs -+++ b/dist/Time-HiRes/HiRes.xs -@@ -1444,10 +1444,16 @@ PROTOTYPE: $$@ - "): negative time not invented yet", - SvNV(accessed), SvNV(modified)); - Zero(&utbuf, sizeof utbuf, char); -+ - utbuf[0].tv_sec = (Time_t)SvNV(accessed); /* time accessed */ -- utbuf[0].tv_nsec = (long)( ( SvNV(accessed) - utbuf[0].tv_sec ) * 1e9 ); -+ utbuf[0].tv_nsec = (long)( -+ (SvNV(accessed) - (NV)utbuf[0].tv_sec) -+ * NV_1E9 + (NV)0.5); -+ - utbuf[1].tv_sec = (Time_t)SvNV(modified); /* time modified */ -- utbuf[1].tv_nsec = (long)( ( SvNV(modified) - utbuf[1].tv_sec ) * 1e9 ); -+ utbuf[1].tv_nsec = (long)( -+ (SvNV(modified) - (NV)utbuf[1].tv_sec) -+ * NV_1E9 + (NV)0.5); - } - - while (items > 0) { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 7fd4604b35..bb4621a920 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -112,7 +112,7 @@ BEGIN { - } - } - --use Test::More tests => 18; -+use Test::More tests => 22; - BEGIN { push @INC, '.' } - use t::Watchdog; - use File::Temp qw( tempfile ); -@@ -164,6 +164,19 @@ print "#utime \$filename\n"; - is $got_mtime, $mtime, "mtime set correctly"; - }; - -+print "#utime \$filename round-trip\n"; -+{ -+ my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); -+ # this fractional part is not exactly representable -+ my $t = 1000000000.12345; -+ is Time::HiRes::utime($t, $t, $filename), 1, "One file changed"; -+ my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is Time::HiRes::utime($got_atime, $got_mtime, $filename), 1, "One file changed"; -+ my ($got_atime2, $got_mtime2) = ( Time::HiRes::stat($fh) )[8, 9]; -+ is $got_atime, $got_atime2, "atime round trip ok"; -+ is $got_mtime, $got_mtime2, "mtime round trip ok"; -+}; -+ - print "utime \$filename and \$fh\n"; - { - my ($fh1, $filename1) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); --- -2.35.1 - diff --git a/5.028.003-main-buster/DevelPatchPerl.patch b/5.028.003-main-buster/DevelPatchPerl.patch deleted file mode 100644 index c72bc46..0000000 --- a/5.028.003-main-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/Configure b/Configure -index f99377e..e020242 100755 ---- a/Configure -+++ b/Configure -@@ -4689,7 +4689,7 @@ else - fi - $rm -f try try.* - case "$gccversion" in --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; - esac - case "$gccversion" in - '') gccosandvers='' ;; -@@ -4729,7 +4729,7 @@ esac - # gcc 3.* complain about adding -Idirectories that they already know about, - # so we will take those off from locincpth. - case "$gccversion" in --3*) -+3.*) - echo "main(){}">try.c - for incdir in $locincpth; do - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ -@@ -5455,13 +5455,13 @@ fi - case "$hint" in - default|recommended) - case "$gccversion" in -- 1*) dflt="$dflt -fpcc-struct-return" ;; -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; - esac - case "$optimize:$DEBUGGING" in - *-g*:old) dflt="$dflt -DDEBUGGING";; - esac - case "$gccversion" in -- 2*) if $test -d /etc/conf/kconfig.d && -+ 2.*) if $test -d /etc/conf/kconfig.d && - $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 - then - # Interactive Systems (ISC) POSIX mode. -@@ -5470,7 +5470,7 @@ default|recommended) - ;; - esac - case "$gccversion" in -- 1*) ;; -+ 1.*) ;; - 2.[0-8]*) ;; - ?*) set strict-aliasing -fno-strict-aliasing - eval $checkccflag -@@ -5588,7 +5588,7 @@ case "$cppflags" in - ;; - esac - case "$gccversion" in --1*) cppflags="$cppflags -D__GNUC__" -+1.*) cppflags="$cppflags -D__GNUC__" - esac - case "$mips_type" in - '');; -@@ -23026,7 +23026,7 @@ fi - - : add -D_FORTIFY_SOURCE if feasible and not already there - case "$gccversion" in --[4567].*) case "$optimize$ccflags" in -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in - *-O*) case "$ccflags$cppsymbols" in - *_FORTIFY_SOURCE=*) # Don't add it again. - echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.028.003-main-buster/Dockerfile b/5.028.003-main-buster/Dockerfile deleted file mode 100644 index 0666454..0000000 --- a/5.028.003-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.28.3.tar.xz -o perl-5.28.3.tar.xz \ - && echo '77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 *perl-5.28.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.28.3.tar.xz -C /usr/src/perl \ - && rm perl-5.28.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.28.3","-de0"] diff --git a/5.030.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.030.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.030.003-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 0f14697..0000000 --- a/5.030.003-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.030.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,longdouble,threaded-buster/Dockerfile b/5.030.003-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 77b87ef..0000000 --- a/5.030.003-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.030.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,longdouble-bullseye/Dockerfile b/5.030.003-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index c0301d9..0000000 --- a/5.030.003-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.030.003-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,longdouble-buster/Dockerfile b/5.030.003-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index 6dbd0a8..0000000 --- a/5.030.003-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.030.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.030.003-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 1424fbc..0000000 --- a/5.030.003-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.030.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,quadmath,threaded-buster/Dockerfile b/5.030.003-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index ec185a5..0000000 --- a/5.030.003-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.030.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,quadmath-bullseye/Dockerfile b/5.030.003-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index 352dfb3..0000000 --- a/5.030.003-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.030.003-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,quadmath-buster/Dockerfile b/5.030.003-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index 6c6d7ec..0000000 --- a/5.030.003-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.030.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,threaded-bullseye/Dockerfile b/5.030.003-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index e57c7f8..0000000 --- a/5.030.003-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.030.003-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging,threaded-buster/Dockerfile b/5.030.003-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index 6571091..0000000 --- a/5.030.003-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging-bullseye/DevelPatchPerl.patch b/5.030.003-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging-bullseye/Dockerfile b/5.030.003-main,debugging-bullseye/Dockerfile deleted file mode 100644 index ef5a704..0000000 --- a/5.030.003-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,debugging-buster/DevelPatchPerl.patch b/5.030.003-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,debugging-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,debugging-buster/Dockerfile b/5.030.003-main,debugging-buster/Dockerfile deleted file mode 100644 index e1eb754..0000000 --- a/5.030.003-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.030.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,longdouble,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,longdouble,threaded-bullseye/Dockerfile b/5.030.003-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 7da39a9..0000000 --- a/5.030.003-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.030.003-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,longdouble,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,longdouble,threaded-buster/Dockerfile b/5.030.003-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 6ac1710..0000000 --- a/5.030.003-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,longdouble-bullseye/DevelPatchPerl.patch b/5.030.003-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,longdouble-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,longdouble-bullseye/Dockerfile b/5.030.003-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index 1d99127..0000000 --- a/5.030.003-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,longdouble-buster/DevelPatchPerl.patch b/5.030.003-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,longdouble-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,longdouble-buster/Dockerfile b/5.030.003-main,longdouble-buster/Dockerfile deleted file mode 100644 index fbca411..0000000 --- a/5.030.003-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.030.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,quadmath,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,quadmath,threaded-bullseye/Dockerfile b/5.030.003-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 9508ee2..0000000 --- a/5.030.003-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.030.003-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,quadmath,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,quadmath,threaded-buster/Dockerfile b/5.030.003-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index d8992f3..0000000 --- a/5.030.003-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,quadmath-bullseye/DevelPatchPerl.patch b/5.030.003-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,quadmath-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,quadmath-bullseye/Dockerfile b/5.030.003-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index 9fa7146..0000000 --- a/5.030.003-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,quadmath-buster/DevelPatchPerl.patch b/5.030.003-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,quadmath-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,quadmath-buster/Dockerfile b/5.030.003-main,quadmath-buster/Dockerfile deleted file mode 100644 index 16ade6d..0000000 --- a/5.030.003-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,threaded-bullseye/DevelPatchPerl.patch b/5.030.003-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,threaded-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,threaded-bullseye/Dockerfile b/5.030.003-main,threaded-bullseye/Dockerfile deleted file mode 100644 index aae272b..0000000 --- a/5.030.003-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main,threaded-buster/DevelPatchPerl.patch b/5.030.003-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main,threaded-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main,threaded-buster/Dockerfile b/5.030.003-main,threaded-buster/Dockerfile deleted file mode 100644 index 7a98c6f..0000000 --- a/5.030.003-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main-bullseye/DevelPatchPerl.patch b/5.030.003-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main-bullseye/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main-bullseye/Dockerfile b/5.030.003-main-bullseye/Dockerfile deleted file mode 100644 index 5641978..0000000 --- a/5.030.003-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.030.003-main-buster/DevelPatchPerl.patch b/5.030.003-main-buster/DevelPatchPerl.patch deleted file mode 100644 index 7eca6ba..0000000 --- a/5.030.003-main-buster/DevelPatchPerl.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/hints/linux.sh b/hints/linux.sh -index a985a8e..c749f0f 100644 ---- a/hints/linux.sh -+++ b/hints/linux.sh -@@ -85,7 +85,7 @@ uname_minus_m="${uname_minus_m:-"$targetarch"}" - - # Check if we're about to use Intel's ICC compiler - case "`${cc:-cc} -V 2>&1`" in --*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*) -+*"Intel(R) C"*" Compiler"*) - # record the version, formats: - # icc (ICC) 10.1 20080801 - # icpc (ICC) 10.1 20080801 -@@ -165,6 +165,9 @@ esac - # plibpth to bypass this check. - if [ -x /usr/bin/gcc ] ; then - gcc=/usr/bin/gcc -+# clang also provides -print-search-dirs -+elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -+ gcc=${cc:-cc} - else - gcc=gcc - fi diff --git a/5.030.003-main-buster/Dockerfile b/5.030.003-main-buster/Dockerfile deleted file mode 100644 index ae1ae33..0000000 --- a/5.030.003-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.30.3.tar.xz -o perl-5.30.3.tar.xz \ - && echo '6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 *perl-5.30.3.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.30.3.tar.xz -C /usr/src/perl \ - && rm perl-5.30.3.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.30.3","-de0"] diff --git a/5.032.001-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.032.001-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.032.001-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index a41949b..0000000 --- a/5.032.001-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.032.001-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,longdouble,threaded-buster/Dockerfile b/5.032.001-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 6a0a222..0000000 --- a/5.032.001-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.032.001-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,longdouble-bullseye/Dockerfile b/5.032.001-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index 455c326..0000000 --- a/5.032.001-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.032.001-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,longdouble-buster/Dockerfile b/5.032.001-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index 91602fa..0000000 --- a/5.032.001-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.032.001-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.032.001-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index 522411a..0000000 --- a/5.032.001-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.032.001-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,quadmath,threaded-buster/Dockerfile b/5.032.001-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index e4b8bc8..0000000 --- a/5.032.001-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.032.001-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,quadmath-bullseye/Dockerfile b/5.032.001-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index 16516a3..0000000 --- a/5.032.001-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.032.001-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,quadmath-buster/Dockerfile b/5.032.001-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index d9197a9..0000000 --- a/5.032.001-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.032.001-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,threaded-bullseye/Dockerfile b/5.032.001-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index 62f2bed..0000000 --- a/5.032.001-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.032.001-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging,threaded-buster/Dockerfile b/5.032.001-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index 63f123c..0000000 --- a/5.032.001-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging-bullseye/DevelPatchPerl.patch b/5.032.001-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging-bullseye/Dockerfile b/5.032.001-main,debugging-bullseye/Dockerfile deleted file mode 100644 index 631be8a..0000000 --- a/5.032.001-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,debugging-buster/DevelPatchPerl.patch b/5.032.001-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,debugging-buster/Dockerfile b/5.032.001-main,debugging-buster/Dockerfile deleted file mode 100644 index c362105..0000000 --- a/5.032.001-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.032.001-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,longdouble,threaded-bullseye/Dockerfile b/5.032.001-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 0164a17..0000000 --- a/5.032.001-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.032.001-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,longdouble,threaded-buster/Dockerfile b/5.032.001-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 1a70f01..0000000 --- a/5.032.001-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,longdouble-bullseye/DevelPatchPerl.patch b/5.032.001-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,longdouble-bullseye/Dockerfile b/5.032.001-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index 6f5e2c1..0000000 --- a/5.032.001-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,longdouble-buster/DevelPatchPerl.patch b/5.032.001-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,longdouble-buster/Dockerfile b/5.032.001-main,longdouble-buster/Dockerfile deleted file mode 100644 index 940ffb5..0000000 --- a/5.032.001-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.032.001-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,quadmath,threaded-bullseye/Dockerfile b/5.032.001-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index ece7ef9..0000000 --- a/5.032.001-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.032.001-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,quadmath,threaded-buster/Dockerfile b/5.032.001-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index b84bda7..0000000 --- a/5.032.001-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,quadmath-bullseye/DevelPatchPerl.patch b/5.032.001-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,quadmath-bullseye/Dockerfile b/5.032.001-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index 6e7ef83..0000000 --- a/5.032.001-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,quadmath-buster/DevelPatchPerl.patch b/5.032.001-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,quadmath-buster/Dockerfile b/5.032.001-main,quadmath-buster/Dockerfile deleted file mode 100644 index f9012e6..0000000 --- a/5.032.001-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,threaded-bullseye/DevelPatchPerl.patch b/5.032.001-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,threaded-bullseye/Dockerfile b/5.032.001-main,threaded-bullseye/Dockerfile deleted file mode 100644 index 0ee1e12..0000000 --- a/5.032.001-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main,threaded-buster/DevelPatchPerl.patch b/5.032.001-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main,threaded-buster/Dockerfile b/5.032.001-main,threaded-buster/Dockerfile deleted file mode 100644 index f7d360a..0000000 --- a/5.032.001-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main-bullseye/DevelPatchPerl.patch b/5.032.001-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main-bullseye/Dockerfile b/5.032.001-main-bullseye/Dockerfile deleted file mode 100644 index c98c758..0000000 --- a/5.032.001-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.032.001-main-buster/DevelPatchPerl.patch b/5.032.001-main-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.032.001-main-buster/Dockerfile b/5.032.001-main-buster/Dockerfile deleted file mode 100644 index 0cddc8e..0000000 --- a/5.032.001-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz -o perl-5.32.1.tar.xz \ - && echo '57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 *perl-5.32.1.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.32.1.tar.xz -C /usr/src/perl \ - && rm perl-5.32.1.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.32.1","-de0"] diff --git a/5.034.000-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.034.000-main,debugging,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,longdouble,threaded-bullseye/Dockerfile b/5.034.000-main,debugging,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index 96e038d..0000000 --- a/5.034.000-main,debugging,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch b/5.034.000-main,debugging,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,longdouble,threaded-buster/Dockerfile b/5.034.000-main,debugging,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 85c1ee4..0000000 --- a/5.034.000-main,debugging,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,longdouble-bullseye/DevelPatchPerl.patch b/5.034.000-main,debugging,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,longdouble-bullseye/Dockerfile b/5.034.000-main,debugging,longdouble-bullseye/Dockerfile deleted file mode 100644 index 919a3e8..0000000 --- a/5.034.000-main,debugging,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,longdouble-buster/DevelPatchPerl.patch b/5.034.000-main,debugging,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,longdouble-buster/Dockerfile b/5.034.000-main,debugging,longdouble-buster/Dockerfile deleted file mode 100644 index e16cd5b..0000000 --- a/5.034.000-main,debugging,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.034.000-main,debugging,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,quadmath,threaded-bullseye/Dockerfile b/5.034.000-main,debugging,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index eb29933..0000000 --- a/5.034.000-main,debugging,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch b/5.034.000-main,debugging,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,quadmath,threaded-buster/Dockerfile b/5.034.000-main,debugging,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index 5a805dd..0000000 --- a/5.034.000-main,debugging,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,quadmath-bullseye/DevelPatchPerl.patch b/5.034.000-main,debugging,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,quadmath-bullseye/Dockerfile b/5.034.000-main,debugging,quadmath-bullseye/Dockerfile deleted file mode 100644 index 061215b..0000000 --- a/5.034.000-main,debugging,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,quadmath-buster/DevelPatchPerl.patch b/5.034.000-main,debugging,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,quadmath-buster/Dockerfile b/5.034.000-main,debugging,quadmath-buster/Dockerfile deleted file mode 100644 index f92174a..0000000 --- a/5.034.000-main,debugging,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,threaded-bullseye/DevelPatchPerl.patch b/5.034.000-main,debugging,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,threaded-bullseye/Dockerfile b/5.034.000-main,debugging,threaded-bullseye/Dockerfile deleted file mode 100644 index 3859785..0000000 --- a/5.034.000-main,debugging,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging,threaded-buster/DevelPatchPerl.patch b/5.034.000-main,debugging,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging,threaded-buster/Dockerfile b/5.034.000-main,debugging,threaded-buster/Dockerfile deleted file mode 100644 index bae357f..0000000 --- a/5.034.000-main,debugging,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging-bullseye/DevelPatchPerl.patch b/5.034.000-main,debugging-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging-bullseye/Dockerfile b/5.034.000-main,debugging-bullseye/Dockerfile deleted file mode 100644 index 2aeff53..0000000 --- a/5.034.000-main,debugging-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,debugging-buster/DevelPatchPerl.patch b/5.034.000-main,debugging-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,debugging-buster/Dockerfile b/5.034.000-main,debugging-buster/Dockerfile deleted file mode 100644 index e34fce3..0000000 --- a/5.034.000-main,debugging-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Accflags=-ggdb -DDEBUGGING -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,longdouble,threaded-bullseye/DevelPatchPerl.patch b/5.034.000-main,longdouble,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,longdouble,threaded-bullseye/Dockerfile b/5.034.000-main,longdouble,threaded-bullseye/Dockerfile deleted file mode 100644 index fdd0c3b..0000000 --- a/5.034.000-main,longdouble,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,longdouble,threaded-buster/DevelPatchPerl.patch b/5.034.000-main,longdouble,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,longdouble,threaded-buster/Dockerfile b/5.034.000-main,longdouble,threaded-buster/Dockerfile deleted file mode 100644 index 3376025..0000000 --- a/5.034.000-main,longdouble,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,longdouble-bullseye/DevelPatchPerl.patch b/5.034.000-main,longdouble-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,longdouble-bullseye/Dockerfile b/5.034.000-main,longdouble-bullseye/Dockerfile deleted file mode 100644 index b2966b4..0000000 --- a/5.034.000-main,longdouble-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,longdouble-buster/DevelPatchPerl.patch b/5.034.000-main,longdouble-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,longdouble-buster/Dockerfile b/5.034.000-main,longdouble-buster/Dockerfile deleted file mode 100644 index 53bc65c..0000000 --- a/5.034.000-main,longdouble-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duselongdouble -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,quadmath,threaded-bullseye/DevelPatchPerl.patch b/5.034.000-main,quadmath,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,quadmath,threaded-bullseye/Dockerfile b/5.034.000-main,quadmath,threaded-bullseye/Dockerfile deleted file mode 100644 index e15e475..0000000 --- a/5.034.000-main,quadmath,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,quadmath,threaded-buster/DevelPatchPerl.patch b/5.034.000-main,quadmath,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,quadmath,threaded-buster/Dockerfile b/5.034.000-main,quadmath,threaded-buster/Dockerfile deleted file mode 100644 index ec06b5a..0000000 --- a/5.034.000-main,quadmath,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,quadmath-bullseye/DevelPatchPerl.patch b/5.034.000-main,quadmath-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,quadmath-bullseye/Dockerfile b/5.034.000-main,quadmath-bullseye/Dockerfile deleted file mode 100644 index 1736503..0000000 --- a/5.034.000-main,quadmath-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,quadmath-buster/DevelPatchPerl.patch b/5.034.000-main,quadmath-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,quadmath-buster/Dockerfile b/5.034.000-main,quadmath-buster/Dockerfile deleted file mode 100644 index 9e6c20f..0000000 --- a/5.034.000-main,quadmath-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusequadmath -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,threaded-bullseye/DevelPatchPerl.patch b/5.034.000-main,threaded-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,threaded-bullseye/Dockerfile b/5.034.000-main,threaded-bullseye/Dockerfile deleted file mode 100644 index 6798e25..0000000 --- a/5.034.000-main,threaded-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main,threaded-buster/DevelPatchPerl.patch b/5.034.000-main,threaded-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main,threaded-buster/Dockerfile b/5.034.000-main,threaded-buster/Dockerfile deleted file mode 100644 index 544d354..0000000 --- a/5.034.000-main,threaded-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main-bullseye/DevelPatchPerl.patch b/5.034.000-main-bullseye/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main-bullseye/Dockerfile b/5.034.000-main-bullseye/Dockerfile deleted file mode 100644 index c31e48e..0000000 --- a/5.034.000-main-bullseye/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:bullseye-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/5.034.000-main-buster/DevelPatchPerl.patch b/5.034.000-main-buster/DevelPatchPerl.patch deleted file mode 100644 index e69de29..0000000 diff --git a/5.034.000-main-buster/Dockerfile b/5.034.000-main-buster/Dockerfile deleted file mode 100644 index 6f8235d..0000000 --- a/5.034.000-main-buster/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM debian:buster-backports -LABEL maintainer="Ryan Voots " - -COPY *.patch /usr/src/perl/ -WORKDIR /usr/src/perl - -ENV DEBIAN_FRONTEND=noninteractive - -RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list \ - && apt update \ - && apt -yq full-upgrade \ - && apt -yq build-dep perl \ - && apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - # cpio \ - curl \ - dpkg-dev \ - # file \ - gcc \ - # g++ \ - libbz2-dev \ - libdb-dev \ - libc6-dev \ - libgdbm-dev \ - liblzma-dev \ - make \ - netbase \ - patch \ - procps \ - zlib1g-dev \ - xz-utils \ - && curl -SL https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz -o perl-5.34.0.tar.xz \ - && echo '82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded *perl-5.34.0.tar.xz' | sha256sum -c - \ - && tar --strip-components=1 -xaf perl-5.34.0.tar.xz -C /usr/src/perl \ - && rm perl-5.34.0.tar.xz \ - && cat *.patch | patch -p1 \ - && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ - && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ - && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib -des \ - && make -j$(nproc) \ - && TEST_JOBS=$(nproc) make test_harness \ - && make install \ - && cd /usr/src \ - && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ - && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ - && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ - && savedPackages="make netbase" \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedPackages \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ - && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* - -WORKDIR / - -CMD ["perl5.34.0","-de0"] diff --git a/config.yml b/config.yml index c0260ff..62a3587 100644 --- a/config.yml +++ b/config.yml @@ -5,7 +5,6 @@ builds: options: common: "-Duseshrplib -Dvendorprefix=/usr/local -Aldflags='-Wl,-z,now -Wl,-zrelro -Wl,-z,noexecstack' -Accflags='-fpie -fPIC -fstack-protector-all -pie -D_FORTIFY_SOURCE=2' -Duseshrplib" threaded: "-Dusethreads" - longdouble: "-Duselongdouble" quadmath: "-Dusequadmath" debugging: "-Accflags=-ggdb -DDEBUGGING" diff --git a/generate.pl b/generate.pl index 18d291e..1601e9a 100755 --- a/generate.pl +++ b/generate.pl @@ -98,15 +98,11 @@ if (!-d "downloads") { for my $build (@{$config->{builds}}) { $builds{$build} = $config->{options}{common}; $builds{"$build,threaded"} = "@{$config->{options}}{qw/threaded common/}"; - $builds{"$build,longdouble"} = "@{$config->{options}}{qw/longdouble common/}"; $builds{"$build,quadmath"} = "@{$config->{options}}{qw/quadmath common/}"; $builds{"$build,debugging"} = "@{$config->{options}}{qw/debugging common/}"; - $builds{"$build,longdouble,threaded"} = "@{$config->{options}}{qw/longdouble threaded common/}"; $builds{"$build,quadmath,threaded"} = "@{$config->{options}}{qw/quadmath threaded common/}"; $builds{"$build,debugging,threaded"} = "@{$config->{options}}{qw/debugging threaded common/}"; - $builds{"$build,debugging,longdouble,threaded"} = "@{$config->{options}}{qw/debugging threaded longdouble common/}"; $builds{"$build,debugging,quadmath,threaded"} = "@{$config->{options}}{qw/debugging threaded quadmath common/}"; - $builds{"$build,debugging,longdouble"} = "@{$config->{options}}{qw/debugging longdouble common/}"; $builds{"$build,debugging,quadmath"} = "@{$config->{options}}{qw/debugging quadmath common/}"; }