From 404da39381a422b5203c0b3b8041129e037cc155 Mon Sep 17 00:00:00 2001 From: Matthew R Becker Date: Wed, 22 Jul 2020 17:19:38 -0500 Subject: [PATCH] BUG make sure to test CDTs properly (#23) * BUG make sure to test CDTs properly * BUG skip non-links * BUg turn off binary relocation * ENH try again * ENH try fewer threads and publish build artifacts * BUG add slash * ENH maybe it is all i/o? * ENH try this; remove circular dep * BUG make sure build artifact is unique; add one more process --- README.md | 59 ++ azure-pipelines.yml | 5 + build_cdt_recipes.py | 6 +- cdt_slugs.yaml | 52 +- cdts/at-spi-cos6-x86_64/build.sh | 41 +- cdts/at-spi-cos6-x86_64/meta.yaml | 6 + cdts/at-spi-cos7-aarch64/build.sh | 41 +- cdts/at-spi-cos7-aarch64/meta.yaml | 6 + cdts/at-spi-cos7-ppc64le/build.sh | 41 +- cdts/at-spi-cos7-ppc64le/meta.yaml | 6 + cdts/at-spi-cos7-x86_64/build.sh | 41 +- cdts/at-spi-cos7-x86_64/meta.yaml | 6 + cdts/at-spi-devel-cos6-x86_64/build.sh | 41 +- cdts/at-spi-devel-cos6-x86_64/meta.yaml | 6 + cdts/at-spi-devel-cos7-aarch64/build.sh | 41 +- cdts/at-spi-devel-cos7-aarch64/meta.yaml | 6 + cdts/at-spi-devel-cos7-ppc64le/build.sh | 41 +- cdts/at-spi-devel-cos7-ppc64le/meta.yaml | 6 + cdts/at-spi-devel-cos7-x86_64/build.sh | 41 +- cdts/at-spi-devel-cos7-x86_64/meta.yaml | 6 + cdts/atk-cos6-x86_64/build.sh | 41 +- cdts/atk-cos6-x86_64/meta.yaml | 6 + cdts/atk-cos7-aarch64/build.sh | 41 +- cdts/atk-cos7-aarch64/meta.yaml | 6 + cdts/atk-cos7-ppc64le/build.sh | 41 +- cdts/atk-cos7-ppc64le/meta.yaml | 6 + cdts/atk-cos7-x86_64/build.sh | 41 +- cdts/atk-cos7-x86_64/meta.yaml | 6 + cdts/atk-devel-cos6-x86_64/build.sh | 41 +- cdts/atk-devel-cos6-x86_64/meta.yaml | 6 + cdts/atk-devel-cos7-aarch64/build.sh | 41 +- cdts/atk-devel-cos7-aarch64/meta.yaml | 10 + cdts/atk-devel-cos7-ppc64le/build.sh | 41 +- cdts/atk-devel-cos7-ppc64le/meta.yaml | 10 + cdts/atk-devel-cos7-x86_64/build.sh | 41 +- cdts/atk-devel-cos7-x86_64/meta.yaml | 10 + cdts/ca-certificates-cos6-x86_64/build.sh | 14 + cdts/ca-certificates-cos6-x86_64/meta.yaml | 2 + cdts/ca-certificates-cos7-aarch64/build.sh | 14 + cdts/ca-certificates-cos7-aarch64/meta.yaml | 2 + cdts/ca-certificates-cos7-ppc64le/build.sh | 14 + cdts/ca-certificates-cos7-ppc64le/meta.yaml | 2 + cdts/ca-certificates-cos7-x86_64/build.sh | 14 + cdts/ca-certificates-cos7-x86_64/meta.yaml | 2 + cdts/cairo-cos6-x86_64/build.sh | 41 +- cdts/cairo-cos6-x86_64/meta.yaml | 6 + cdts/cairo-cos7-aarch64/build.sh | 59 ++ cdts/cairo-cos7-aarch64/meta.yaml | 47 ++ cdts/cairo-cos7-ppc64le/build.sh | 59 ++ cdts/cairo-cos7-ppc64le/meta.yaml | 47 ++ cdts/cairo-cos7-x86_64/build.sh | 59 ++ cdts/cairo-cos7-x86_64/meta.yaml | 47 ++ cdts/cairo-devel-cos6-x86_64/build.sh | 41 +- cdts/cairo-devel-cos6-x86_64/meta.yaml | 6 + cdts/cairo-devel-cos7-aarch64/build.sh | 41 +- cdts/cairo-devel-cos7-aarch64/meta.yaml | 10 + cdts/cairo-devel-cos7-ppc64le/build.sh | 41 +- cdts/cairo-devel-cos7-ppc64le/meta.yaml | 10 + cdts/cairo-devel-cos7-x86_64/build.sh | 41 +- cdts/cairo-devel-cos7-x86_64/meta.yaml | 10 + cdts/chkconfig-cos6-x86_64/build.sh | 41 +- cdts/chkconfig-cos6-x86_64/meta.yaml | 6 + cdts/chkconfig-cos7-aarch64/build.sh | 41 +- cdts/chkconfig-cos7-aarch64/meta.yaml | 6 + cdts/chkconfig-cos7-ppc64le/build.sh | 41 +- cdts/chkconfig-cos7-ppc64le/meta.yaml | 6 + cdts/chkconfig-cos7-x86_64/build.sh | 41 +- cdts/chkconfig-cos7-x86_64/meta.yaml | 6 + cdts/copy-jdk-configs-cos6-x86_64/build.sh | 41 +- cdts/copy-jdk-configs-cos6-x86_64/meta.yaml | 6 + cdts/copy-jdk-configs-cos7-aarch64/build.sh | 41 +- cdts/copy-jdk-configs-cos7-aarch64/meta.yaml | 6 + cdts/copy-jdk-configs-cos7-ppc64le/build.sh | 41 +- cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml | 6 + cdts/copy-jdk-configs-cos7-x86_64/build.sh | 41 +- cdts/copy-jdk-configs-cos7-x86_64/meta.yaml | 6 + cdts/expat-cos6-x86_64/build.sh | 41 +- cdts/expat-cos6-x86_64/meta.yaml | 6 + cdts/expat-cos7-aarch64/build.sh | 41 +- cdts/expat-cos7-aarch64/meta.yaml | 6 + cdts/expat-cos7-ppc64le/build.sh | 41 +- cdts/expat-cos7-ppc64le/meta.yaml | 6 + cdts/expat-cos7-x86_64/build.sh | 41 +- cdts/expat-cos7-x86_64/meta.yaml | 6 + cdts/expat-devel-cos6-x86_64/build.sh | 41 +- cdts/expat-devel-cos6-x86_64/meta.yaml | 6 + cdts/expat-devel-cos7-aarch64/build.sh | 41 +- cdts/expat-devel-cos7-aarch64/meta.yaml | 6 + cdts/expat-devel-cos7-ppc64le/build.sh | 41 +- cdts/expat-devel-cos7-ppc64le/meta.yaml | 6 + cdts/expat-devel-cos7-x86_64/build.sh | 41 +- cdts/expat-devel-cos7-x86_64/meta.yaml | 6 + cdts/fontconfig-cos6-x86_64/build.sh | 49 +- cdts/fontconfig-cos6-x86_64/meta.yaml | 6 + cdts/fontconfig-cos7-aarch64/build.sh | 49 +- cdts/fontconfig-cos7-aarch64/meta.yaml | 6 + cdts/fontconfig-cos7-ppc64le/build.sh | 49 +- cdts/fontconfig-cos7-ppc64le/meta.yaml | 6 + cdts/fontconfig-cos7-x86_64/build.sh | 49 +- cdts/fontconfig-cos7-x86_64/meta.yaml | 6 + cdts/fontconfig-devel-cos6-x86_64/build.sh | 41 +- cdts/fontconfig-devel-cos6-x86_64/meta.yaml | 6 + cdts/fontconfig-devel-cos7-aarch64/build.sh | 41 +- cdts/fontconfig-devel-cos7-aarch64/meta.yaml | 9 + cdts/fontconfig-devel-cos7-ppc64le/build.sh | 41 +- cdts/fontconfig-devel-cos7-ppc64le/meta.yaml | 9 + cdts/fontconfig-devel-cos7-x86_64/build.sh | 41 +- cdts/fontconfig-devel-cos7-x86_64/meta.yaml | 9 + cdts/freetype-cos6-x86_64/build.sh | 41 +- cdts/freetype-cos6-x86_64/meta.yaml | 6 + cdts/freetype-cos7-aarch64/build.sh | 41 +- cdts/freetype-cos7-aarch64/meta.yaml | 6 + cdts/freetype-cos7-ppc64le/build.sh | 41 +- cdts/freetype-cos7-ppc64le/meta.yaml | 6 + cdts/freetype-cos7-x86_64/build.sh | 41 +- cdts/freetype-cos7-x86_64/meta.yaml | 6 + cdts/freetype-devel-cos6-x86_64/build.sh | 41 +- cdts/freetype-devel-cos6-x86_64/meta.yaml | 6 + cdts/freetype-devel-cos7-aarch64/build.sh | 41 +- cdts/freetype-devel-cos7-aarch64/meta.yaml | 6 + cdts/freetype-devel-cos7-ppc64le/build.sh | 41 +- cdts/freetype-devel-cos7-ppc64le/meta.yaml | 6 + cdts/freetype-devel-cos7-x86_64/build.sh | 41 +- cdts/freetype-devel-cos7-x86_64/meta.yaml | 6 + cdts/fribidi-cos7-aarch64/build.sh | 59 ++ cdts/fribidi-cos7-aarch64/meta.yaml | 45 ++ cdts/fribidi-cos7-ppc64le/build.sh | 59 ++ cdts/fribidi-cos7-ppc64le/meta.yaml | 45 ++ cdts/fribidi-cos7-x86_64/build.sh | 59 ++ cdts/fribidi-cos7-x86_64/meta.yaml | 45 ++ cdts/gdk-pixbuf2-cos6-x86_64/build.sh | 41 +- cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml | 6 + cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh | 41 +- cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml | 6 + cdts/glib2-cos6-x86_64/build.sh | 41 +- cdts/glib2-cos6-x86_64/meta.yaml | 6 + cdts/glib2-cos7-aarch64/build.sh | 41 +- cdts/glib2-cos7-aarch64/meta.yaml | 6 + cdts/glib2-cos7-ppc64le/build.sh | 41 +- cdts/glib2-cos7-ppc64le/meta.yaml | 6 + cdts/glib2-cos7-x86_64/build.sh | 41 +- cdts/glib2-cos7-x86_64/meta.yaml | 6 + cdts/glib2-devel-cos6-x86_64/build.sh | 41 +- cdts/glib2-devel-cos6-x86_64/meta.yaml | 6 + cdts/glib2-devel-cos7-aarch64/build.sh | 41 +- cdts/glib2-devel-cos7-aarch64/meta.yaml | 10 + cdts/glib2-devel-cos7-ppc64le/build.sh | 41 +- cdts/glib2-devel-cos7-ppc64le/meta.yaml | 10 + cdts/glib2-devel-cos7-x86_64/build.sh | 41 +- cdts/glib2-devel-cos7-x86_64/meta.yaml | 10 + cdts/gtk2-cos6-x86_64/build.sh | 41 +- cdts/gtk2-cos6-x86_64/meta.yaml | 6 + cdts/gtk2-cos7-aarch64/build.sh | 41 +- cdts/gtk2-cos7-aarch64/meta.yaml | 6 + cdts/gtk2-cos7-ppc64le/build.sh | 41 +- cdts/gtk2-cos7-ppc64le/meta.yaml | 6 + cdts/gtk2-cos7-x86_64/build.sh | 41 +- cdts/gtk2-cos7-x86_64/meta.yaml | 6 + cdts/gtk2-devel-cos6-x86_64/build.sh | 41 +- cdts/gtk2-devel-cos6-x86_64/meta.yaml | 6 + cdts/gtk2-devel-cos7-aarch64/build.sh | 41 +- cdts/gtk2-devel-cos7-aarch64/meta.yaml | 6 + cdts/gtk2-devel-cos7-ppc64le/build.sh | 41 +- cdts/gtk2-devel-cos7-ppc64le/meta.yaml | 6 + cdts/gtk2-devel-cos7-x86_64/build.sh | 41 +- cdts/gtk2-devel-cos7-x86_64/meta.yaml | 6 + cdts/harfbuzz-cos7-aarch64/build.sh | 59 ++ cdts/harfbuzz-cos7-aarch64/meta.yaml | 43 ++ cdts/harfbuzz-cos7-ppc64le/build.sh | 59 ++ cdts/harfbuzz-cos7-ppc64le/meta.yaml | 43 ++ cdts/harfbuzz-cos7-x86_64/build.sh | 59 ++ cdts/harfbuzz-cos7-x86_64/meta.yaml | 43 ++ cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh | 51 +- cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml | 12 + cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh | 41 +- .../java-1.7.0-openjdk-cos7-aarch64/meta.yaml | 6 + cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh | 41 +- .../java-1.7.0-openjdk-cos7-ppc64le/meta.yaml | 6 + cdts/java-1.7.0-openjdk-cos7-x86_64/build.sh | 41 +- cdts/java-1.7.0-openjdk-cos7-x86_64/meta.yaml | 6 + .../build.sh | 51 +- .../meta.yaml | 12 + .../build.sh | 51 +- .../meta.yaml | 12 + .../build.sh | 51 +- .../meta.yaml | 12 + cdts/javapackages-tools-cos7-aarch64/build.sh | 47 +- .../javapackages-tools-cos7-aarch64/meta.yaml | 6 + cdts/javapackages-tools-cos7-ppc64le/build.sh | 47 +- .../javapackages-tools-cos7-ppc64le/meta.yaml | 6 + cdts/javapackages-tools-cos7-x86_64/build.sh | 47 +- cdts/javapackages-tools-cos7-x86_64/meta.yaml | 6 + cdts/jpackage-utils-cos6-x86_64/build.sh | 41 +- cdts/jpackage-utils-cos6-x86_64/meta.yaml | 6 + cdts/kernel-headers-cos6-x86_64/build.sh | 41 +- cdts/kernel-headers-cos6-x86_64/meta.yaml | 6 + cdts/kernel-headers-cos7-aarch64/build.sh | 41 +- cdts/kernel-headers-cos7-aarch64/meta.yaml | 6 + cdts/kernel-headers-cos7-ppc64le/build.sh | 41 +- cdts/kernel-headers-cos7-ppc64le/meta.yaml | 6 + cdts/kernel-headers-cos7-x86_64/build.sh | 41 +- cdts/kernel-headers-cos7-x86_64/meta.yaml | 6 + cdts/libbonobo-cos6-x86_64/build.sh | 41 +- cdts/libbonobo-cos6-x86_64/meta.yaml | 6 + cdts/libbonobo-cos7-aarch64/build.sh | 41 +- cdts/libbonobo-cos7-aarch64/meta.yaml | 6 + cdts/libbonobo-cos7-ppc64le/build.sh | 41 +- cdts/libbonobo-cos7-ppc64le/meta.yaml | 6 + cdts/libbonobo-cos7-x86_64/build.sh | 41 +- cdts/libbonobo-cos7-x86_64/meta.yaml | 6 + cdts/libbonobo-devel-cos6-x86_64/build.sh | 41 +- cdts/libbonobo-devel-cos6-x86_64/meta.yaml | 6 + cdts/libbonobo-devel-cos7-aarch64/build.sh | 41 +- cdts/libbonobo-devel-cos7-aarch64/meta.yaml | 6 + cdts/libbonobo-devel-cos7-ppc64le/build.sh | 41 +- cdts/libbonobo-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libbonobo-devel-cos7-x86_64/build.sh | 41 +- cdts/libbonobo-devel-cos7-x86_64/meta.yaml | 6 + cdts/libdrm-cos6-x86_64/build.sh | 41 +- cdts/libdrm-cos6-x86_64/meta.yaml | 6 + cdts/libdrm-cos7-aarch64/build.sh | 41 +- cdts/libdrm-cos7-aarch64/meta.yaml | 6 + cdts/libdrm-cos7-ppc64le/build.sh | 41 +- cdts/libdrm-cos7-ppc64le/meta.yaml | 6 + cdts/libdrm-cos7-x86_64/build.sh | 41 +- cdts/libdrm-cos7-x86_64/meta.yaml | 6 + cdts/libdrm-devel-cos6-x86_64/build.sh | 41 +- cdts/libdrm-devel-cos6-x86_64/meta.yaml | 6 + cdts/libdrm-devel-cos7-aarch64/build.sh | 41 +- cdts/libdrm-devel-cos7-aarch64/meta.yaml | 6 + cdts/libdrm-devel-cos7-ppc64le/build.sh | 41 +- cdts/libdrm-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libdrm-devel-cos7-x86_64/build.sh | 41 +- cdts/libdrm-devel-cos7-x86_64/meta.yaml | 6 + cdts/libglvnd-cos7-aarch64/build.sh | 59 ++ cdts/libglvnd-cos7-aarch64/libglvnd-license | 540 ++++++++++++++++++ cdts/libglvnd-cos7-aarch64/meta.yaml | 44 ++ cdts/libglvnd-cos7-ppc64le/build.sh | 59 ++ cdts/libglvnd-cos7-ppc64le/libglvnd-license | 540 ++++++++++++++++++ cdts/libglvnd-cos7-ppc64le/meta.yaml | 44 ++ cdts/libglvnd-cos7-x86_64/build.sh | 59 ++ cdts/libglvnd-cos7-x86_64/libglvnd-license | 540 ++++++++++++++++++ cdts/libglvnd-cos7-x86_64/meta.yaml | 44 ++ cdts/libglvnd-glx-cos7-aarch64/build.sh | 69 +++ .../libglvnd-license | 540 ++++++++++++++++++ cdts/libglvnd-glx-cos7-aarch64/meta.yaml | 46 ++ cdts/libglvnd-glx-cos7-ppc64le/build.sh | 69 +++ .../libglvnd-license | 540 ++++++++++++++++++ cdts/libglvnd-glx-cos7-ppc64le/meta.yaml | 46 ++ cdts/libglvnd-glx-cos7-x86_64/build.sh | 69 +++ .../libglvnd-glx-cos7-x86_64/libglvnd-license | 540 ++++++++++++++++++ cdts/libglvnd-glx-cos7-x86_64/meta.yaml | 46 ++ cdts/libibcm-cos6-x86_64/build.sh | 41 +- cdts/libibcm-cos6-x86_64/meta.yaml | 6 + cdts/libibcm-devel-cos6-x86_64/build.sh | 41 +- cdts/libibcm-devel-cos6-x86_64/meta.yaml | 6 + cdts/libibverbs-cos6-x86_64/build.sh | 41 +- cdts/libibverbs-cos6-x86_64/meta.yaml | 6 + cdts/libibverbs-devel-cos6-x86_64/build.sh | 41 +- cdts/libibverbs-devel-cos6-x86_64/meta.yaml | 6 + cdts/libidl-cos6-x86_64/build.sh | 41 +- cdts/libidl-cos6-x86_64/meta.yaml | 6 + cdts/libidl-cos7-aarch64/build.sh | 41 +- cdts/libidl-cos7-aarch64/meta.yaml | 6 + cdts/libidl-cos7-ppc64le/build.sh | 41 +- cdts/libidl-cos7-ppc64le/meta.yaml | 6 + cdts/libidl-cos7-x86_64/build.sh | 41 +- cdts/libidl-cos7-x86_64/meta.yaml | 6 + cdts/libidl-devel-cos6-x86_64/build.sh | 41 +- cdts/libidl-devel-cos6-x86_64/meta.yaml | 6 + cdts/libidl-devel-cos7-aarch64/build.sh | 41 +- cdts/libidl-devel-cos7-aarch64/meta.yaml | 6 + cdts/libidl-devel-cos7-ppc64le/build.sh | 41 +- cdts/libidl-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libidl-devel-cos7-x86_64/build.sh | 41 +- cdts/libidl-devel-cos7-x86_64/meta.yaml | 6 + cdts/libjpeg-turbo-cos6-x86_64/build.sh | 41 +- cdts/libjpeg-turbo-cos6-x86_64/meta.yaml | 6 + cdts/libjpeg-turbo-cos7-aarch64/build.sh | 41 +- cdts/libjpeg-turbo-cos7-aarch64/meta.yaml | 6 + cdts/libjpeg-turbo-cos7-ppc64le/build.sh | 41 +- cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml | 6 + cdts/libjpeg-turbo-cos7-x86_64/build.sh | 41 +- cdts/libjpeg-turbo-cos7-x86_64/meta.yaml | 6 + cdts/libnl-cos6-x86_64/build.sh | 41 +- cdts/libnl-cos6-x86_64/meta.yaml | 6 + cdts/libnl-cos7-aarch64/build.sh | 41 +- cdts/libnl-cos7-aarch64/meta.yaml | 6 + cdts/libnl-cos7-ppc64le/build.sh | 41 +- cdts/libnl-cos7-ppc64le/meta.yaml | 6 + cdts/libnl-cos7-x86_64/build.sh | 41 +- cdts/libnl-cos7-x86_64/meta.yaml | 6 + cdts/libnl-devel-cos6-x86_64/build.sh | 41 +- cdts/libnl-devel-cos6-x86_64/meta.yaml | 6 + cdts/libnl-devel-cos7-aarch64/build.sh | 41 +- cdts/libnl-devel-cos7-aarch64/meta.yaml | 6 + cdts/libnl-devel-cos7-ppc64le/build.sh | 41 +- cdts/libnl-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libnl-devel-cos7-x86_64/build.sh | 41 +- cdts/libnl-devel-cos7-x86_64/meta.yaml | 6 + cdts/librdmacm-cos6-x86_64/build.sh | 41 +- cdts/librdmacm-cos6-x86_64/meta.yaml | 6 + cdts/librdmacm-devel-cos6-x86_64/build.sh | 41 +- cdts/librdmacm-devel-cos6-x86_64/meta.yaml | 6 + cdts/libselinux-cos6-x86_64/build.sh | 41 +- cdts/libselinux-cos6-x86_64/meta.yaml | 6 + cdts/libselinux-cos7-aarch64/build.sh | 41 +- cdts/libselinux-cos7-aarch64/meta.yaml | 10 + cdts/libselinux-cos7-ppc64le/build.sh | 41 +- cdts/libselinux-cos7-ppc64le/meta.yaml | 10 + cdts/libselinux-cos7-x86_64/build.sh | 41 +- cdts/libselinux-cos7-x86_64/meta.yaml | 10 + cdts/libselinux-devel-cos6-x86_64/build.sh | 41 +- cdts/libselinux-devel-cos6-x86_64/meta.yaml | 6 + cdts/libselinux-devel-cos7-aarch64/build.sh | 41 +- cdts/libselinux-devel-cos7-aarch64/meta.yaml | 13 + cdts/libselinux-devel-cos7-ppc64le/build.sh | 41 +- cdts/libselinux-devel-cos7-ppc64le/meta.yaml | 13 + cdts/libselinux-devel-cos7-x86_64/build.sh | 41 +- cdts/libselinux-devel-cos7-x86_64/meta.yaml | 13 + cdts/libsepol-cos6-x86_64/build.sh | 41 +- cdts/libsepol-cos6-x86_64/meta.yaml | 6 + cdts/libsepol-cos7-aarch64/build.sh | 41 +- cdts/libsepol-cos7-aarch64/meta.yaml | 6 + cdts/libsepol-cos7-ppc64le/build.sh | 41 +- cdts/libsepol-cos7-ppc64le/meta.yaml | 6 + cdts/libsepol-cos7-x86_64/build.sh | 41 +- cdts/libsepol-cos7-x86_64/meta.yaml | 6 + cdts/libsepol-devel-cos6-x86_64/build.sh | 41 +- cdts/libsepol-devel-cos6-x86_64/meta.yaml | 6 + cdts/libsepol-devel-cos7-aarch64/build.sh | 41 +- cdts/libsepol-devel-cos7-aarch64/meta.yaml | 10 + cdts/libsepol-devel-cos7-ppc64le/build.sh | 41 +- cdts/libsepol-devel-cos7-ppc64le/meta.yaml | 10 + cdts/libsepol-devel-cos7-x86_64/build.sh | 41 +- cdts/libsepol-devel-cos7-x86_64/meta.yaml | 10 + cdts/libthai-cos6-x86_64/build.sh | 41 +- cdts/libthai-cos6-x86_64/meta.yaml | 6 + cdts/libthai-cos7-aarch64/build.sh | 59 ++ cdts/libthai-cos7-aarch64/meta.yaml | 46 ++ cdts/libthai-cos7-ppc64le/build.sh | 59 ++ cdts/libthai-cos7-ppc64le/meta.yaml | 46 ++ cdts/libthai-cos7-x86_64/build.sh | 59 ++ cdts/libthai-cos7-x86_64/meta.yaml | 46 ++ cdts/libtiff-cos7-aarch64/build.sh | 41 +- cdts/libtiff-cos7-aarch64/meta.yaml | 6 + cdts/libtiff-cos7-ppc64le/build.sh | 41 +- cdts/libtiff-cos7-ppc64le/meta.yaml | 6 + cdts/libtiff-cos7-x86_64/build.sh | 41 +- cdts/libtiff-cos7-x86_64/meta.yaml | 6 + cdts/libudev-cos6-x86_64/build.sh | 41 +- cdts/libudev-cos6-x86_64/meta.yaml | 6 + cdts/libx11-common-cos6-x86_64/build.sh | 41 +- cdts/libx11-common-cos6-x86_64/meta.yaml | 6 + cdts/libx11-common-cos7-aarch64/build.sh | 41 +- cdts/libx11-common-cos7-aarch64/meta.yaml | 6 + cdts/libx11-common-cos7-ppc64le/build.sh | 41 +- cdts/libx11-common-cos7-ppc64le/meta.yaml | 6 + cdts/libx11-common-cos7-x86_64/build.sh | 41 +- cdts/libx11-common-cos7-x86_64/meta.yaml | 6 + cdts/libx11-cos6-x86_64/build.sh | 41 +- cdts/libx11-cos6-x86_64/meta.yaml | 6 + cdts/libx11-cos7-aarch64/build.sh | 41 +- cdts/libx11-cos7-aarch64/meta.yaml | 6 + cdts/libx11-cos7-ppc64le/build.sh | 41 +- cdts/libx11-cos7-ppc64le/meta.yaml | 6 + cdts/libx11-cos7-x86_64/build.sh | 41 +- cdts/libx11-cos7-x86_64/meta.yaml | 6 + cdts/libx11-devel-cos6-x86_64/build.sh | 41 +- cdts/libx11-devel-cos6-x86_64/meta.yaml | 6 + cdts/libx11-devel-cos7-aarch64/build.sh | 41 +- cdts/libx11-devel-cos7-aarch64/meta.yaml | 6 + cdts/libx11-devel-cos7-ppc64le/build.sh | 41 +- cdts/libx11-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libx11-devel-cos7-x86_64/build.sh | 41 +- cdts/libx11-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxau-cos6-x86_64/build.sh | 41 +- cdts/libxau-cos6-x86_64/meta.yaml | 6 + cdts/libxau-cos7-aarch64/build.sh | 41 +- cdts/libxau-cos7-aarch64/meta.yaml | 6 + cdts/libxau-cos7-ppc64le/build.sh | 41 +- cdts/libxau-cos7-ppc64le/meta.yaml | 6 + cdts/libxau-cos7-x86_64/build.sh | 41 +- cdts/libxau-cos7-x86_64/meta.yaml | 6 + cdts/libxau-devel-cos6-x86_64/build.sh | 41 +- cdts/libxau-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxau-devel-cos7-aarch64/build.sh | 41 +- cdts/libxau-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxau-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxau-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxau-devel-cos7-x86_64/build.sh | 41 +- cdts/libxau-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxcb-cos6-x86_64/build.sh | 41 +- cdts/libxcb-cos6-x86_64/meta.yaml | 6 + cdts/libxcb-cos7-aarch64/build.sh | 41 +- cdts/libxcb-cos7-aarch64/meta.yaml | 6 + cdts/libxcb-cos7-ppc64le/build.sh | 41 +- cdts/libxcb-cos7-ppc64le/meta.yaml | 6 + cdts/libxcb-cos7-x86_64/build.sh | 41 +- cdts/libxcb-cos7-x86_64/meta.yaml | 6 + cdts/libxcomposite-cos6-x86_64/build.sh | 41 +- cdts/libxcomposite-cos6-x86_64/meta.yaml | 6 + cdts/libxcomposite-cos7-aarch64/build.sh | 41 +- cdts/libxcomposite-cos7-aarch64/meta.yaml | 6 + cdts/libxcomposite-cos7-ppc64le/build.sh | 41 +- cdts/libxcomposite-cos7-ppc64le/meta.yaml | 6 + cdts/libxcomposite-cos7-x86_64/build.sh | 41 +- cdts/libxcomposite-cos7-x86_64/meta.yaml | 6 + cdts/libxcomposite-devel-cos6-x86_64/build.sh | 41 +- .../libxcomposite-devel-cos6-x86_64/meta.yaml | 6 + .../libxcomposite-devel-cos7-aarch64/build.sh | 41 +- .../meta.yaml | 6 + .../libxcomposite-devel-cos7-ppc64le/build.sh | 41 +- .../meta.yaml | 6 + cdts/libxcomposite-devel-cos7-x86_64/build.sh | 41 +- .../libxcomposite-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxcursor-cos6-x86_64/build.sh | 41 +- cdts/libxcursor-cos6-x86_64/meta.yaml | 6 + cdts/libxcursor-cos7-aarch64/build.sh | 41 +- cdts/libxcursor-cos7-aarch64/meta.yaml | 6 + cdts/libxcursor-cos7-ppc64le/build.sh | 41 +- cdts/libxcursor-cos7-ppc64le/meta.yaml | 6 + cdts/libxcursor-cos7-x86_64/build.sh | 41 +- cdts/libxcursor-cos7-x86_64/meta.yaml | 6 + cdts/libxcursor-devel-cos6-x86_64/build.sh | 41 +- cdts/libxcursor-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxcursor-devel-cos7-aarch64/build.sh | 41 +- cdts/libxcursor-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxcursor-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxcursor-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxcursor-devel-cos7-x86_64/build.sh | 41 +- cdts/libxcursor-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxdamage-cos6-x86_64/build.sh | 41 +- cdts/libxdamage-cos6-x86_64/meta.yaml | 6 + cdts/libxdamage-cos7-aarch64/build.sh | 41 +- cdts/libxdamage-cos7-aarch64/meta.yaml | 6 + cdts/libxdamage-cos7-ppc64le/build.sh | 41 +- cdts/libxdamage-cos7-ppc64le/meta.yaml | 6 + cdts/libxdamage-cos7-x86_64/build.sh | 41 +- cdts/libxdamage-cos7-x86_64/meta.yaml | 6 + cdts/libxdamage-devel-cos6-x86_64/build.sh | 41 +- cdts/libxdamage-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxdamage-devel-cos7-aarch64/build.sh | 41 +- cdts/libxdamage-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxdamage-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxdamage-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxdamage-devel-cos7-x86_64/build.sh | 41 +- cdts/libxdamage-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxext-cos6-x86_64/build.sh | 41 +- cdts/libxext-cos6-x86_64/meta.yaml | 6 + cdts/libxext-cos7-aarch64/build.sh | 41 +- cdts/libxext-cos7-aarch64/meta.yaml | 6 + cdts/libxext-cos7-ppc64le/build.sh | 41 +- cdts/libxext-cos7-ppc64le/meta.yaml | 6 + cdts/libxext-cos7-x86_64/build.sh | 41 +- cdts/libxext-cos7-x86_64/meta.yaml | 6 + cdts/libxext-devel-cos6-x86_64/build.sh | 41 +- cdts/libxext-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxext-devel-cos7-aarch64/build.sh | 41 +- cdts/libxext-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxext-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxext-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxext-devel-cos7-x86_64/build.sh | 41 +- cdts/libxext-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxfixes-cos6-x86_64/build.sh | 41 +- cdts/libxfixes-cos6-x86_64/meta.yaml | 6 + cdts/libxfixes-cos7-aarch64/build.sh | 41 +- cdts/libxfixes-cos7-aarch64/meta.yaml | 6 + cdts/libxfixes-cos7-ppc64le/build.sh | 41 +- cdts/libxfixes-cos7-ppc64le/meta.yaml | 6 + cdts/libxfixes-cos7-x86_64/build.sh | 41 +- cdts/libxfixes-cos7-x86_64/meta.yaml | 6 + cdts/libxfixes-devel-cos6-x86_64/build.sh | 41 +- cdts/libxfixes-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxfixes-devel-cos7-aarch64/build.sh | 41 +- cdts/libxfixes-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxfixes-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxfixes-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxfixes-devel-cos7-x86_64/build.sh | 41 +- cdts/libxfixes-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxft-cos6-x86_64/build.sh | 41 +- cdts/libxft-cos6-x86_64/meta.yaml | 6 + cdts/libxft-cos7-aarch64/build.sh | 41 +- cdts/libxft-cos7-aarch64/meta.yaml | 6 + cdts/libxft-cos7-ppc64le/build.sh | 41 +- cdts/libxft-cos7-ppc64le/meta.yaml | 6 + cdts/libxft-cos7-x86_64/build.sh | 41 +- cdts/libxft-cos7-x86_64/meta.yaml | 6 + cdts/libxi-cos6-x86_64/build.sh | 41 +- cdts/libxi-cos6-x86_64/meta.yaml | 6 + cdts/libxi-cos7-aarch64/build.sh | 41 +- cdts/libxi-cos7-aarch64/meta.yaml | 6 + cdts/libxi-cos7-ppc64le/build.sh | 41 +- cdts/libxi-cos7-ppc64le/meta.yaml | 6 + cdts/libxi-cos7-x86_64/build.sh | 41 +- cdts/libxi-cos7-x86_64/meta.yaml | 6 + cdts/libxi-devel-cos6-x86_64/build.sh | 41 +- cdts/libxi-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxi-devel-cos7-aarch64/build.sh | 41 +- cdts/libxi-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxi-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxi-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxi-devel-cos7-x86_64/build.sh | 41 +- cdts/libxi-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxinerama-cos6-x86_64/build.sh | 41 +- cdts/libxinerama-cos6-x86_64/meta.yaml | 6 + cdts/libxinerama-cos7-aarch64/build.sh | 41 +- cdts/libxinerama-cos7-aarch64/meta.yaml | 6 + cdts/libxinerama-cos7-ppc64le/build.sh | 41 +- cdts/libxinerama-cos7-ppc64le/meta.yaml | 6 + cdts/libxinerama-cos7-x86_64/build.sh | 41 +- cdts/libxinerama-cos7-x86_64/meta.yaml | 6 + cdts/libxinerama-devel-cos6-x86_64/build.sh | 41 +- cdts/libxinerama-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxinerama-devel-cos7-aarch64/build.sh | 41 +- cdts/libxinerama-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxinerama-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxinerama-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxinerama-devel-cos7-x86_64/build.sh | 41 +- cdts/libxinerama-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxml2-cos6-x86_64/build.sh | 41 +- cdts/libxml2-cos6-x86_64/meta.yaml | 6 + cdts/libxml2-cos7-aarch64/build.sh | 41 +- cdts/libxml2-cos7-aarch64/meta.yaml | 6 + cdts/libxml2-cos7-ppc64le/build.sh | 41 +- cdts/libxml2-cos7-ppc64le/meta.yaml | 6 + cdts/libxml2-cos7-x86_64/build.sh | 41 +- cdts/libxml2-cos7-x86_64/meta.yaml | 6 + cdts/libxml2-devel-cos6-x86_64/build.sh | 41 +- cdts/libxml2-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxml2-devel-cos7-aarch64/build.sh | 41 +- cdts/libxml2-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxml2-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxml2-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxml2-devel-cos7-x86_64/build.sh | 41 +- cdts/libxml2-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxrandr-cos6-x86_64/build.sh | 41 +- cdts/libxrandr-cos6-x86_64/meta.yaml | 6 + cdts/libxrandr-cos7-aarch64/build.sh | 41 +- cdts/libxrandr-cos7-aarch64/meta.yaml | 6 + cdts/libxrandr-cos7-ppc64le/build.sh | 41 +- cdts/libxrandr-cos7-ppc64le/meta.yaml | 6 + cdts/libxrandr-cos7-x86_64/build.sh | 41 +- cdts/libxrandr-cos7-x86_64/meta.yaml | 6 + cdts/libxrandr-devel-cos6-x86_64/build.sh | 41 +- cdts/libxrandr-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxrandr-devel-cos7-aarch64/build.sh | 41 +- cdts/libxrandr-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxrandr-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxrandr-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxrandr-devel-cos7-x86_64/build.sh | 41 +- cdts/libxrandr-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxrender-cos6-x86_64/build.sh | 41 +- cdts/libxrender-cos6-x86_64/meta.yaml | 6 + cdts/libxrender-cos7-aarch64/build.sh | 41 +- cdts/libxrender-cos7-aarch64/meta.yaml | 6 + cdts/libxrender-cos7-ppc64le/build.sh | 41 +- cdts/libxrender-cos7-ppc64le/meta.yaml | 6 + cdts/libxrender-cos7-x86_64/build.sh | 41 +- cdts/libxrender-cos7-x86_64/meta.yaml | 6 + cdts/libxrender-devel-cos6-x86_64/build.sh | 41 +- cdts/libxrender-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxrender-devel-cos7-aarch64/build.sh | 41 +- cdts/libxrender-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxrender-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxrender-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxrender-devel-cos7-x86_64/build.sh | 41 +- cdts/libxrender-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxscrnsaver-cos6-x86_64/build.sh | 41 +- cdts/libxscrnsaver-cos6-x86_64/meta.yaml | 6 + cdts/libxscrnsaver-cos7-aarch64/build.sh | 41 +- cdts/libxscrnsaver-cos7-aarch64/meta.yaml | 6 + cdts/libxscrnsaver-cos7-ppc64le/build.sh | 41 +- cdts/libxscrnsaver-cos7-ppc64le/meta.yaml | 6 + cdts/libxscrnsaver-cos7-x86_64/build.sh | 41 +- cdts/libxscrnsaver-cos7-x86_64/meta.yaml | 6 + cdts/libxscrnsaver-devel-cos6-x86_64/build.sh | 41 +- .../libxscrnsaver-devel-cos6-x86_64/meta.yaml | 6 + .../libxscrnsaver-devel-cos7-aarch64/build.sh | 41 +- .../meta.yaml | 6 + .../libxscrnsaver-devel-cos7-ppc64le/build.sh | 41 +- .../meta.yaml | 6 + cdts/libxscrnsaver-devel-cos7-x86_64/build.sh | 41 +- .../libxscrnsaver-devel-cos7-x86_64/meta.yaml | 6 + cdts/libxshmfence-cos6-x86_64/build.sh | 59 ++ .../libxshmfence-license | 19 + cdts/libxshmfence-cos6-x86_64/meta.yaml | 43 ++ cdts/libxshmfence-cos7-aarch64/build.sh | 59 ++ .../libxshmfence-license | 19 + cdts/libxshmfence-cos7-aarch64/meta.yaml | 43 ++ cdts/libxshmfence-cos7-ppc64le/build.sh | 59 ++ .../libxshmfence-license | 19 + cdts/libxshmfence-cos7-ppc64le/meta.yaml | 43 ++ cdts/libxshmfence-cos7-x86_64/build.sh | 59 ++ .../libxshmfence-license | 19 + cdts/libxshmfence-cos7-x86_64/meta.yaml | 43 ++ cdts/libxshmfence-devel-cos6-x86_64/build.sh | 41 +- cdts/libxshmfence-devel-cos6-x86_64/meta.yaml | 10 + cdts/libxshmfence-devel-cos7-aarch64/build.sh | 41 +- .../libxshmfence-devel-cos7-aarch64/meta.yaml | 10 + cdts/libxshmfence-devel-cos7-ppc64le/build.sh | 41 +- .../libxshmfence-devel-cos7-ppc64le/meta.yaml | 10 + cdts/libxshmfence-devel-cos7-x86_64/build.sh | 41 +- cdts/libxshmfence-devel-cos7-x86_64/meta.yaml | 10 + cdts/libxt-cos6-x86_64/build.sh | 41 +- cdts/libxt-cos6-x86_64/meta.yaml | 6 + cdts/libxt-cos7-aarch64/build.sh | 41 +- cdts/libxt-cos7-aarch64/meta.yaml | 10 + cdts/libxt-cos7-ppc64le/build.sh | 41 +- cdts/libxt-cos7-ppc64le/meta.yaml | 10 + cdts/libxt-cos7-x86_64/build.sh | 41 +- cdts/libxt-cos7-x86_64/meta.yaml | 10 + cdts/libxt-devel-cos6-x86_64/build.sh | 41 +- cdts/libxt-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxt-devel-cos7-aarch64/build.sh | 41 +- cdts/libxt-devel-cos7-aarch64/meta.yaml | 10 + cdts/libxt-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxt-devel-cos7-ppc64le/meta.yaml | 10 + cdts/libxt-devel-cos7-x86_64/build.sh | 41 +- cdts/libxt-devel-cos7-x86_64/meta.yaml | 10 + cdts/libxtst-cos6-x86_64/build.sh | 59 ++ cdts/libxtst-cos6-x86_64/libxtst-license | 116 ++++ cdts/libxtst-cos6-x86_64/meta.yaml | 47 ++ cdts/libxtst-cos7-aarch64/build.sh | 59 ++ cdts/libxtst-cos7-aarch64/libxtst-license | 116 ++++ cdts/libxtst-cos7-aarch64/meta.yaml | 47 ++ cdts/libxtst-cos7-ppc64le/build.sh | 59 ++ cdts/libxtst-cos7-ppc64le/libxtst-license | 116 ++++ cdts/libxtst-cos7-ppc64le/meta.yaml | 47 ++ cdts/libxtst-cos7-x86_64/build.sh | 59 ++ cdts/libxtst-cos7-x86_64/libxtst-license | 116 ++++ cdts/libxtst-cos7-x86_64/meta.yaml | 47 ++ cdts/libxtst-devel-cos6-x86_64/build.sh | 41 +- cdts/libxtst-devel-cos6-x86_64/meta.yaml | 10 + cdts/libxtst-devel-cos7-aarch64/build.sh | 41 +- cdts/libxtst-devel-cos7-aarch64/meta.yaml | 10 + cdts/libxtst-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxtst-devel-cos7-ppc64le/meta.yaml | 10 + cdts/libxtst-devel-cos7-x86_64/build.sh | 41 +- cdts/libxtst-devel-cos7-x86_64/meta.yaml | 10 + cdts/libxxf86vm-cos6-x86_64/build.sh | 41 +- cdts/libxxf86vm-cos6-x86_64/meta.yaml | 6 + cdts/libxxf86vm-cos7-aarch64/build.sh | 41 +- cdts/libxxf86vm-cos7-aarch64/meta.yaml | 6 + cdts/libxxf86vm-cos7-ppc64le/build.sh | 41 +- cdts/libxxf86vm-cos7-ppc64le/meta.yaml | 6 + cdts/libxxf86vm-cos7-x86_64/build.sh | 41 +- cdts/libxxf86vm-cos7-x86_64/meta.yaml | 6 + cdts/libxxf86vm-devel-cos6-x86_64/build.sh | 41 +- cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml | 6 + cdts/libxxf86vm-devel-cos7-aarch64/build.sh | 41 +- cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml | 6 + cdts/libxxf86vm-devel-cos7-ppc64le/build.sh | 41 +- cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml | 6 + cdts/libxxf86vm-devel-cos7-x86_64/build.sh | 41 +- cdts/libxxf86vm-devel-cos7-x86_64/meta.yaml | 6 + cdts/mesa-dri-drivers-cos6-x86_64/build.sh | 41 +- cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml | 6 + cdts/mesa-dri-drivers-cos7-aarch64/build.sh | 41 +- cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml | 6 + cdts/mesa-dri-drivers-cos7-ppc64le/build.sh | 41 +- cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml | 6 + cdts/mesa-dri-drivers-cos7-x86_64/build.sh | 41 +- cdts/mesa-dri-drivers-cos7-x86_64/meta.yaml | 6 + cdts/mesa-dri1-drivers-cos6-x86_64/build.sh | 41 +- cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml | 6 + cdts/mesa-khr-devel-cos7-aarch64/build.sh | 41 +- cdts/mesa-khr-devel-cos7-aarch64/meta.yaml | 6 + cdts/mesa-khr-devel-cos7-ppc64le/build.sh | 41 +- cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml | 6 + cdts/mesa-khr-devel-cos7-x86_64/build.sh | 41 +- cdts/mesa-khr-devel-cos7-x86_64/meta.yaml | 6 + cdts/mesa-libegl-cos6-x86_64/build.sh | 41 +- cdts/mesa-libegl-cos6-x86_64/meta.yaml | 6 + cdts/mesa-libegl-cos7-aarch64/build.sh | 41 +- cdts/mesa-libegl-cos7-aarch64/meta.yaml | 6 + cdts/mesa-libegl-cos7-ppc64le/build.sh | 41 +- cdts/mesa-libegl-cos7-ppc64le/meta.yaml | 6 + cdts/mesa-libegl-cos7-x86_64/build.sh | 41 +- cdts/mesa-libegl-cos7-x86_64/meta.yaml | 6 + cdts/mesa-libegl-devel-cos6-x86_64/build.sh | 41 +- cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml | 6 + cdts/mesa-libegl-devel-cos7-aarch64/build.sh | 41 +- cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml | 9 + cdts/mesa-libegl-devel-cos7-ppc64le/build.sh | 41 +- cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml | 9 + cdts/mesa-libegl-devel-cos7-x86_64/build.sh | 41 +- cdts/mesa-libegl-devel-cos7-x86_64/meta.yaml | 9 + cdts/mesa-libgbm-cos6-x86_64/build.sh | 41 +- cdts/mesa-libgbm-cos6-x86_64/meta.yaml | 6 + cdts/mesa-libgbm-cos7-aarch64/build.sh | 41 +- cdts/mesa-libgbm-cos7-aarch64/meta.yaml | 6 + cdts/mesa-libgbm-cos7-ppc64le/build.sh | 41 +- cdts/mesa-libgbm-cos7-ppc64le/meta.yaml | 6 + cdts/mesa-libgbm-cos7-x86_64/build.sh | 41 +- cdts/mesa-libgbm-cos7-x86_64/meta.yaml | 6 + cdts/mesa-libgl-cos6-x86_64/build.sh | 41 +- cdts/mesa-libgl-cos6-x86_64/meta.yaml | 9 + cdts/mesa-libgl-cos7-aarch64/build.sh | 49 +- cdts/mesa-libgl-cos7-aarch64/meta.yaml | 9 + cdts/mesa-libgl-cos7-ppc64le/build.sh | 49 +- cdts/mesa-libgl-cos7-ppc64le/meta.yaml | 9 + cdts/mesa-libgl-cos7-x86_64/build.sh | 49 +- cdts/mesa-libgl-cos7-x86_64/meta.yaml | 9 + cdts/mesa-libgl-devel-cos6-x86_64/build.sh | 41 +- cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml | 6 + cdts/mesa-libgl-devel-cos7-aarch64/build.sh | 41 +- cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml | 9 + cdts/mesa-libgl-devel-cos7-ppc64le/build.sh | 41 +- cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml | 9 + cdts/mesa-libgl-devel-cos7-x86_64/build.sh | 41 +- cdts/mesa-libgl-devel-cos7-x86_64/meta.yaml | 9 + cdts/mesa-libglapi-cos7-aarch64/build.sh | 41 +- cdts/mesa-libglapi-cos7-aarch64/meta.yaml | 6 + cdts/mesa-libglapi-cos7-ppc64le/build.sh | 41 +- cdts/mesa-libglapi-cos7-ppc64le/meta.yaml | 6 + cdts/mesa-libglapi-cos7-x86_64/build.sh | 41 +- cdts/mesa-libglapi-cos7-x86_64/meta.yaml | 6 + cdts/nspr-cos6-x86_64/build.sh | 59 ++ cdts/nspr-cos6-x86_64/meta.yaml | 46 ++ cdts/nspr-cos6-x86_64/nspr-license | 373 ++++++++++++ cdts/nspr-cos7-aarch64/build.sh | 41 +- cdts/nspr-cos7-aarch64/meta.yaml | 6 + cdts/nspr-cos7-ppc64le/build.sh | 41 +- cdts/nspr-cos7-ppc64le/meta.yaml | 6 + cdts/nspr-cos7-x86_64/build.sh | 59 ++ cdts/nspr-cos7-x86_64/meta.yaml | 46 ++ cdts/nspr-cos7-x86_64/nspr-license | 373 ++++++++++++ cdts/nss-cos6-x86_64/build.sh | 59 ++ cdts/nss-cos6-x86_64/meta.yaml | 57 ++ cdts/nss-cos6-x86_64/nss-license | 403 +++++++++++++ cdts/nss-cos7-aarch64/build.sh | 41 +- cdts/nss-cos7-aarch64/meta.yaml | 9 + cdts/nss-cos7-ppc64le/build.sh | 41 +- cdts/nss-cos7-ppc64le/meta.yaml | 9 + cdts/nss-cos7-x86_64/build.sh | 59 ++ cdts/nss-cos7-x86_64/meta.yaml | 57 ++ cdts/nss-cos7-x86_64/nss-license | 403 +++++++++++++ cdts/nss-softokn-cos6-x86_64/build.sh | 59 ++ cdts/nss-softokn-cos6-x86_64/meta.yaml | 53 ++ cdts/nss-softokn-cos6-x86_64/nss-license | 403 +++++++++++++ cdts/nss-softokn-cos7-aarch64/build.sh | 41 +- cdts/nss-softokn-cos7-aarch64/meta.yaml | 9 + cdts/nss-softokn-cos7-ppc64le/build.sh | 41 +- cdts/nss-softokn-cos7-ppc64le/meta.yaml | 9 + cdts/nss-softokn-cos7-x86_64/build.sh | 59 ++ cdts/nss-softokn-cos7-x86_64/meta.yaml | 53 ++ cdts/nss-softokn-cos7-x86_64/nss-license | 403 +++++++++++++ cdts/nss-softokn-freebl-cos6-x86_64/build.sh | 59 ++ cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml | 44 ++ .../nss-license | 403 +++++++++++++ cdts/nss-softokn-freebl-cos7-aarch64/build.sh | 41 +- .../nss-softokn-freebl-cos7-aarch64/meta.yaml | 6 + cdts/nss-softokn-freebl-cos7-ppc64le/build.sh | 41 +- .../nss-softokn-freebl-cos7-ppc64le/meta.yaml | 6 + cdts/nss-softokn-freebl-cos7-x86_64/build.sh | 59 ++ cdts/nss-softokn-freebl-cos7-x86_64/meta.yaml | 51 ++ .../nss-license | 403 +++++++++++++ cdts/nss-util-cos6-x86_64/build.sh | 59 ++ cdts/nss-util-cos6-x86_64/meta.yaml | 47 ++ cdts/nss-util-cos6-x86_64/nss-license | 403 +++++++++++++ cdts/nss-util-cos7-aarch64/build.sh | 41 +- cdts/nss-util-cos7-aarch64/meta.yaml | 6 + cdts/nss-util-cos7-ppc64le/build.sh | 41 +- cdts/nss-util-cos7-ppc64le/meta.yaml | 6 + cdts/nss-util-cos7-x86_64/build.sh | 59 ++ cdts/nss-util-cos7-x86_64/meta.yaml | 47 ++ cdts/nss-util-cos7-x86_64/nss-license | 403 +++++++++++++ cdts/numactl-cos6-x86_64/build.sh | 41 +- cdts/numactl-cos6-x86_64/meta.yaml | 6 + cdts/numactl-devel-cos6-x86_64/build.sh | 41 +- cdts/numactl-devel-cos6-x86_64/meta.yaml | 6 + cdts/orbit2-cos6-x86_64/build.sh | 41 +- cdts/orbit2-cos6-x86_64/meta.yaml | 6 + cdts/orbit2-cos7-aarch64/build.sh | 41 +- cdts/orbit2-cos7-aarch64/meta.yaml | 6 + cdts/orbit2-cos7-ppc64le/build.sh | 41 +- cdts/orbit2-cos7-ppc64le/meta.yaml | 6 + cdts/orbit2-cos7-x86_64/build.sh | 41 +- cdts/orbit2-cos7-x86_64/meta.yaml | 6 + cdts/orbit2-devel-cos6-x86_64/build.sh | 41 +- cdts/orbit2-devel-cos6-x86_64/meta.yaml | 6 + cdts/orbit2-devel-cos7-aarch64/build.sh | 41 +- cdts/orbit2-devel-cos7-aarch64/meta.yaml | 6 + cdts/orbit2-devel-cos7-ppc64le/build.sh | 41 +- cdts/orbit2-devel-cos7-ppc64le/meta.yaml | 6 + cdts/orbit2-devel-cos7-x86_64/build.sh | 41 +- cdts/orbit2-devel-cos7-x86_64/meta.yaml | 6 + cdts/p11-kit-cos6-x86_64/build.sh | 14 + cdts/p11-kit-cos6-x86_64/meta.yaml | 2 + cdts/p11-kit-cos7-aarch64/build.sh | 14 + cdts/p11-kit-cos7-aarch64/meta.yaml | 2 + cdts/p11-kit-cos7-ppc64le/build.sh | 14 + cdts/p11-kit-cos7-ppc64le/meta.yaml | 2 + cdts/p11-kit-cos7-x86_64/build.sh | 14 + cdts/p11-kit-cos7-x86_64/meta.yaml | 2 + cdts/p11-kit-trust-cos6-x86_64/build.sh | 14 + cdts/p11-kit-trust-cos6-x86_64/meta.yaml | 6 + cdts/p11-kit-trust-cos7-aarch64/build.sh | 14 + cdts/p11-kit-trust-cos7-aarch64/meta.yaml | 6 + cdts/p11-kit-trust-cos7-ppc64le/build.sh | 14 + cdts/p11-kit-trust-cos7-ppc64le/meta.yaml | 6 + cdts/p11-kit-trust-cos7-x86_64/build.sh | 14 + cdts/p11-kit-trust-cos7-x86_64/meta.yaml | 6 + cdts/pango-cos6-x86_64/build.sh | 41 +- cdts/pango-cos6-x86_64/meta.yaml | 6 + cdts/pango-cos7-aarch64/build.sh | 49 +- cdts/pango-cos7-aarch64/meta.yaml | 31 + cdts/pango-cos7-ppc64le/build.sh | 49 +- cdts/pango-cos7-ppc64le/meta.yaml | 31 + cdts/pango-cos7-x86_64/build.sh | 49 +- cdts/pango-cos7-x86_64/meta.yaml | 31 + cdts/pango-devel-cos6-x86_64/build.sh | 41 +- cdts/pango-devel-cos6-x86_64/meta.yaml | 6 + cdts/pango-devel-cos7-aarch64/build.sh | 41 +- cdts/pango-devel-cos7-aarch64/meta.yaml | 22 + cdts/pango-devel-cos7-ppc64le/build.sh | 41 +- cdts/pango-devel-cos7-ppc64le/meta.yaml | 22 + cdts/pango-devel-cos7-x86_64/build.sh | 41 +- cdts/pango-devel-cos7-x86_64/meta.yaml | 22 + cdts/pixman-cos6-x86_64/build.sh | 41 +- cdts/pixman-cos6-x86_64/meta.yaml | 6 + cdts/pixman-cos7-aarch64/build.sh | 41 +- cdts/pixman-cos7-aarch64/meta.yaml | 6 + cdts/pixman-cos7-ppc64le/build.sh | 41 +- cdts/pixman-cos7-ppc64le/meta.yaml | 6 + cdts/pixman-cos7-x86_64/build.sh | 41 +- cdts/pixman-cos7-x86_64/meta.yaml | 6 + cdts/pixman-devel-cos6-x86_64/build.sh | 41 +- cdts/pixman-devel-cos6-x86_64/meta.yaml | 6 + cdts/pixman-devel-cos7-aarch64/build.sh | 41 +- cdts/pixman-devel-cos7-aarch64/meta.yaml | 6 + cdts/pixman-devel-cos7-ppc64le/build.sh | 41 +- cdts/pixman-devel-cos7-ppc64le/meta.yaml | 6 + cdts/pixman-devel-cos7-x86_64/build.sh | 41 +- cdts/pixman-devel-cos7-x86_64/meta.yaml | 6 + cdts/pkgconfig-cos6-x86_64/build.sh | 41 +- cdts/pkgconfig-cos6-x86_64/meta.yaml | 6 + cdts/pkgconfig-cos7-aarch64/build.sh | 41 +- cdts/pkgconfig-cos7-aarch64/meta.yaml | 6 + cdts/pkgconfig-cos7-ppc64le/build.sh | 41 +- cdts/pkgconfig-cos7-ppc64le/meta.yaml | 6 + cdts/pkgconfig-cos7-x86_64/build.sh | 41 +- cdts/pkgconfig-cos7-x86_64/meta.yaml | 6 + .../python-javapackages-cos7-aarch64/build.sh | 41 +- .../meta.yaml | 6 + .../python-javapackages-cos7-ppc64le/build.sh | 41 +- .../meta.yaml | 6 + cdts/python-javapackages-cos7-x86_64/build.sh | 41 +- .../python-javapackages-cos7-x86_64/meta.yaml | 6 + cdts/webkitgtk-cos6-x86_64/build.sh | 41 +- cdts/webkitgtk-cos6-x86_64/meta.yaml | 6 + cdts/webkitgtk-devel-cos6-x86_64/build.sh | 41 +- cdts/webkitgtk-devel-cos6-x86_64/meta.yaml | 6 + .../xorg-x11-proto-devel-cos6-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../xorg-x11-proto-devel-cos7-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../xorg-x11-server-xvfb-cos6-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../xorg-x11-server-xvfb-cos7-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../xorg-x11-util-macros-cos6-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../xorg-x11-util-macros-cos7-x86_64/build.sh | 41 +- .../meta.yaml | 6 + conda_build_config.yaml | 2 +- gen_cdt_recipes.py | 54 +- legacy_cdts/at-spi-cos6-x86_64/build.sh | 41 +- legacy_cdts/at-spi-cos6-x86_64/meta.yaml | 6 + legacy_cdts/at-spi-cos7-aarch64/build.sh | 41 +- legacy_cdts/at-spi-cos7-aarch64/meta.yaml | 6 + legacy_cdts/at-spi-cos7-ppc64le/build.sh | 41 +- legacy_cdts/at-spi-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/at-spi-devel-cos6-x86_64/build.sh | 41 +- .../at-spi-devel-cos6-x86_64/meta.yaml | 6 + .../at-spi-devel-cos7-aarch64/build.sh | 41 +- .../at-spi-devel-cos7-aarch64/meta.yaml | 6 + .../at-spi-devel-cos7-ppc64le/build.sh | 41 +- .../at-spi-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/atk-cos6-x86_64/build.sh | 41 +- legacy_cdts/atk-cos6-x86_64/meta.yaml | 6 + legacy_cdts/atk-cos7-aarch64/build.sh | 41 +- legacy_cdts/atk-cos7-aarch64/meta.yaml | 6 + legacy_cdts/atk-cos7-ppc64le/build.sh | 41 +- legacy_cdts/atk-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/atk-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/atk-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/atk-devel-cos7-aarch64/build.sh | 41 +- legacy_cdts/atk-devel-cos7-aarch64/meta.yaml | 12 + legacy_cdts/atk-devel-cos7-ppc64le/build.sh | 41 +- legacy_cdts/atk-devel-cos7-ppc64le/meta.yaml | 12 + .../ca-certificates-cos6-x86_64/build.sh | 14 + .../ca-certificates-cos6-x86_64/meta.yaml | 2 + .../ca-certificates-cos7-aarch64/build.sh | 14 + .../ca-certificates-cos7-aarch64/meta.yaml | 2 + .../ca-certificates-cos7-ppc64le/build.sh | 14 + .../ca-certificates-cos7-ppc64le/meta.yaml | 2 + legacy_cdts/cairo-cos6-x86_64/build.sh | 41 +- legacy_cdts/cairo-cos6-x86_64/meta.yaml | 6 + legacy_cdts/cairo-cos7-aarch64/build.sh | 59 ++ legacy_cdts/cairo-cos7-aarch64/meta.yaml | 45 ++ legacy_cdts/cairo-cos7-ppc64le/build.sh | 59 ++ legacy_cdts/cairo-cos7-ppc64le/meta.yaml | 45 ++ legacy_cdts/cairo-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/cairo-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/cairo-devel-cos7-aarch64/build.sh | 41 +- .../cairo-devel-cos7-aarch64/meta.yaml | 12 + legacy_cdts/cairo-devel-cos7-ppc64le/build.sh | 41 +- .../cairo-devel-cos7-ppc64le/meta.yaml | 12 + legacy_cdts/chkconfig-cos6-x86_64/build.sh | 41 +- legacy_cdts/chkconfig-cos6-x86_64/meta.yaml | 6 + legacy_cdts/chkconfig-cos7-aarch64/build.sh | 41 +- legacy_cdts/chkconfig-cos7-aarch64/meta.yaml | 6 + legacy_cdts/chkconfig-cos7-ppc64le/build.sh | 41 +- legacy_cdts/chkconfig-cos7-ppc64le/meta.yaml | 6 + .../copy-jdk-configs-cos6-x86_64/build.sh | 41 +- .../copy-jdk-configs-cos6-x86_64/meta.yaml | 6 + .../copy-jdk-configs-cos7-aarch64/build.sh | 41 +- .../copy-jdk-configs-cos7-aarch64/meta.yaml | 6 + .../copy-jdk-configs-cos7-ppc64le/build.sh | 41 +- .../copy-jdk-configs-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/expat-cos6-x86_64/build.sh | 41 +- legacy_cdts/expat-cos6-x86_64/meta.yaml | 6 + legacy_cdts/expat-cos7-aarch64/build.sh | 41 +- legacy_cdts/expat-cos7-aarch64/meta.yaml | 6 + legacy_cdts/expat-cos7-ppc64le/build.sh | 41 +- legacy_cdts/expat-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/expat-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/expat-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/expat-devel-cos7-aarch64/build.sh | 41 +- .../expat-devel-cos7-aarch64/meta.yaml | 6 + legacy_cdts/expat-devel-cos7-ppc64le/build.sh | 41 +- .../expat-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/fontconfig-cos6-x86_64/build.sh | 49 +- legacy_cdts/fontconfig-cos6-x86_64/meta.yaml | 6 + legacy_cdts/fontconfig-cos7-aarch64/build.sh | 49 +- legacy_cdts/fontconfig-cos7-aarch64/meta.yaml | 6 + legacy_cdts/fontconfig-cos7-ppc64le/build.sh | 49 +- legacy_cdts/fontconfig-cos7-ppc64le/meta.yaml | 6 + .../fontconfig-devel-cos6-x86_64/build.sh | 41 +- .../fontconfig-devel-cos6-x86_64/meta.yaml | 6 + .../fontconfig-devel-cos7-aarch64/build.sh | 41 +- .../fontconfig-devel-cos7-aarch64/meta.yaml | 9 + .../fontconfig-devel-cos7-ppc64le/build.sh | 41 +- .../fontconfig-devel-cos7-ppc64le/meta.yaml | 9 + legacy_cdts/freetype-cos6-x86_64/build.sh | 41 +- legacy_cdts/freetype-cos6-x86_64/meta.yaml | 6 + legacy_cdts/freetype-cos7-aarch64/build.sh | 41 +- legacy_cdts/freetype-cos7-aarch64/meta.yaml | 6 + legacy_cdts/freetype-cos7-ppc64le/build.sh | 41 +- legacy_cdts/freetype-cos7-ppc64le/meta.yaml | 6 + .../freetype-devel-cos6-x86_64/build.sh | 41 +- .../freetype-devel-cos6-x86_64/meta.yaml | 6 + .../freetype-devel-cos7-aarch64/build.sh | 41 +- .../freetype-devel-cos7-aarch64/meta.yaml | 6 + .../freetype-devel-cos7-ppc64le/build.sh | 41 +- .../freetype-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/fribidi-cos7-aarch64/build.sh | 59 ++ legacy_cdts/fribidi-cos7-aarch64/meta.yaml | 43 ++ legacy_cdts/fribidi-cos7-ppc64le/build.sh | 59 ++ legacy_cdts/fribidi-cos7-ppc64le/meta.yaml | 43 ++ legacy_cdts/gdk-pixbuf2-cos6-x86_64/build.sh | 41 +- legacy_cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml | 6 + .../gdk-pixbuf2-devel-cos6-x86_64/build.sh | 41 +- .../gdk-pixbuf2-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/glib2-cos6-x86_64/build.sh | 41 +- legacy_cdts/glib2-cos6-x86_64/meta.yaml | 6 + legacy_cdts/glib2-cos7-aarch64/build.sh | 41 +- legacy_cdts/glib2-cos7-aarch64/meta.yaml | 6 + legacy_cdts/glib2-cos7-ppc64le/build.sh | 41 +- legacy_cdts/glib2-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/glib2-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/glib2-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/glib2-devel-cos7-aarch64/build.sh | 41 +- .../glib2-devel-cos7-aarch64/meta.yaml | 12 + legacy_cdts/glib2-devel-cos7-ppc64le/build.sh | 41 +- .../glib2-devel-cos7-ppc64le/meta.yaml | 12 + legacy_cdts/gtk2-cos6-x86_64/build.sh | 41 +- legacy_cdts/gtk2-cos6-x86_64/meta.yaml | 6 + legacy_cdts/gtk2-cos7-aarch64/build.sh | 41 +- legacy_cdts/gtk2-cos7-aarch64/meta.yaml | 6 + legacy_cdts/gtk2-cos7-ppc64le/build.sh | 41 +- legacy_cdts/gtk2-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/gtk2-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/gtk2-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/gtk2-devel-cos7-aarch64/build.sh | 41 +- legacy_cdts/gtk2-devel-cos7-aarch64/meta.yaml | 6 + legacy_cdts/gtk2-devel-cos7-ppc64le/build.sh | 41 +- legacy_cdts/gtk2-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/harfbuzz-cos7-aarch64/build.sh | 59 ++ legacy_cdts/harfbuzz-cos7-aarch64/meta.yaml | 41 ++ legacy_cdts/harfbuzz-cos7-ppc64le/build.sh | 59 ++ legacy_cdts/harfbuzz-cos7-ppc64le/meta.yaml | 41 ++ .../java-1.7.0-openjdk-cos6-x86_64/build.sh | 51 +- .../java-1.7.0-openjdk-cos6-x86_64/meta.yaml | 12 + .../java-1.7.0-openjdk-cos7-aarch64/build.sh | 41 +- .../java-1.7.0-openjdk-cos7-aarch64/meta.yaml | 6 + .../java-1.7.0-openjdk-cos7-ppc64le/build.sh | 41 +- .../java-1.7.0-openjdk-cos7-ppc64le/meta.yaml | 6 + .../build.sh | 51 +- .../meta.yaml | 12 + .../build.sh | 51 +- .../meta.yaml | 12 + .../javapackages-tools-cos7-aarch64/build.sh | 47 +- .../javapackages-tools-cos7-aarch64/meta.yaml | 6 + .../javapackages-tools-cos7-ppc64le/build.sh | 47 +- .../javapackages-tools-cos7-ppc64le/meta.yaml | 6 + .../jpackage-utils-cos6-x86_64/build.sh | 41 +- .../jpackage-utils-cos6-x86_64/meta.yaml | 6 + .../kernel-headers-cos6-x86_64/build.sh | 41 +- .../kernel-headers-cos6-x86_64/meta.yaml | 6 + .../kernel-headers-cos7-aarch64/build.sh | 41 +- .../kernel-headers-cos7-aarch64/meta.yaml | 6 + .../kernel-headers-cos7-ppc64le/build.sh | 41 +- .../kernel-headers-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libbonobo-cos6-x86_64/build.sh | 41 +- legacy_cdts/libbonobo-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libbonobo-cos7-aarch64/build.sh | 41 +- legacy_cdts/libbonobo-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libbonobo-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libbonobo-cos7-ppc64le/meta.yaml | 6 + .../libbonobo-devel-cos6-x86_64/build.sh | 41 +- .../libbonobo-devel-cos6-x86_64/meta.yaml | 6 + .../libbonobo-devel-cos7-aarch64/build.sh | 41 +- .../libbonobo-devel-cos7-aarch64/meta.yaml | 6 + .../libbonobo-devel-cos7-ppc64le/build.sh | 41 +- .../libbonobo-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libdrm-cos6-x86_64/build.sh | 41 +- legacy_cdts/libdrm-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libdrm-cos7-aarch64/build.sh | 41 +- legacy_cdts/libdrm-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libdrm-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libdrm-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libdrm-devel-cos6-x86_64/build.sh | 41 +- .../libdrm-devel-cos6-x86_64/meta.yaml | 6 + .../libdrm-devel-cos7-aarch64/build.sh | 41 +- .../libdrm-devel-cos7-aarch64/meta.yaml | 6 + .../libdrm-devel-cos7-ppc64le/build.sh | 41 +- .../libdrm-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libglvnd-cos7-aarch64/build.sh | 59 ++ .../libglvnd-cos7-aarch64/libglvnd-license | 540 ++++++++++++++++++ legacy_cdts/libglvnd-cos7-aarch64/meta.yaml | 42 ++ legacy_cdts/libglvnd-cos7-ppc64le/build.sh | 59 ++ .../libglvnd-cos7-ppc64le/libglvnd-license | 540 ++++++++++++++++++ legacy_cdts/libglvnd-cos7-ppc64le/meta.yaml | 42 ++ .../libglvnd-glx-cos7-aarch64/build.sh | 69 +++ .../libglvnd-license | 540 ++++++++++++++++++ .../libglvnd-glx-cos7-aarch64/meta.yaml | 47 ++ .../libglvnd-glx-cos7-ppc64le/build.sh | 69 +++ .../libglvnd-license | 540 ++++++++++++++++++ .../libglvnd-glx-cos7-ppc64le/meta.yaml | 47 ++ legacy_cdts/libibcm-cos6-x86_64/build.sh | 41 +- legacy_cdts/libibcm-cos6-x86_64/meta.yaml | 6 + .../libibcm-devel-cos6-x86_64/build.sh | 41 +- .../libibcm-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libibverbs-cos6-x86_64/build.sh | 41 +- legacy_cdts/libibverbs-cos6-x86_64/meta.yaml | 6 + .../libibverbs-devel-cos6-x86_64/build.sh | 41 +- .../libibverbs-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libidl-cos6-x86_64/build.sh | 41 +- legacy_cdts/libidl-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libidl-cos7-aarch64/build.sh | 41 +- legacy_cdts/libidl-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libidl-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libidl-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libidl-devel-cos6-x86_64/build.sh | 41 +- .../libidl-devel-cos6-x86_64/meta.yaml | 6 + .../libidl-devel-cos7-aarch64/build.sh | 41 +- .../libidl-devel-cos7-aarch64/meta.yaml | 6 + .../libidl-devel-cos7-ppc64le/build.sh | 41 +- .../libidl-devel-cos7-ppc64le/meta.yaml | 6 + .../libjpeg-turbo-cos6-x86_64/build.sh | 41 +- .../libjpeg-turbo-cos6-x86_64/meta.yaml | 6 + .../libjpeg-turbo-cos7-aarch64/build.sh | 41 +- .../libjpeg-turbo-cos7-aarch64/meta.yaml | 6 + .../libjpeg-turbo-cos7-ppc64le/build.sh | 41 +- .../libjpeg-turbo-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libnl-cos6-x86_64/build.sh | 41 +- legacy_cdts/libnl-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libnl-cos7-aarch64/build.sh | 41 +- legacy_cdts/libnl-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libnl-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libnl-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libnl-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/libnl-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libnl-devel-cos7-aarch64/build.sh | 41 +- .../libnl-devel-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libnl-devel-cos7-ppc64le/build.sh | 41 +- .../libnl-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/librdmacm-cos6-x86_64/build.sh | 41 +- legacy_cdts/librdmacm-cos6-x86_64/meta.yaml | 6 + .../librdmacm-devel-cos6-x86_64/build.sh | 41 +- .../librdmacm-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libselinux-cos6-x86_64/build.sh | 41 +- legacy_cdts/libselinux-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libselinux-cos7-aarch64/build.sh | 41 +- legacy_cdts/libselinux-cos7-aarch64/meta.yaml | 12 + legacy_cdts/libselinux-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libselinux-cos7-ppc64le/meta.yaml | 12 + .../libselinux-devel-cos6-x86_64/build.sh | 41 +- .../libselinux-devel-cos6-x86_64/meta.yaml | 6 + .../libselinux-devel-cos7-aarch64/build.sh | 41 +- .../libselinux-devel-cos7-aarch64/meta.yaml | 15 + .../libselinux-devel-cos7-ppc64le/build.sh | 41 +- .../libselinux-devel-cos7-ppc64le/meta.yaml | 15 + legacy_cdts/libsepol-cos6-x86_64/build.sh | 41 +- legacy_cdts/libsepol-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libsepol-cos7-aarch64/build.sh | 41 +- legacy_cdts/libsepol-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libsepol-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libsepol-cos7-ppc64le/meta.yaml | 6 + .../libsepol-devel-cos6-x86_64/build.sh | 41 +- .../libsepol-devel-cos6-x86_64/meta.yaml | 6 + .../libsepol-devel-cos7-aarch64/build.sh | 41 +- .../libsepol-devel-cos7-aarch64/meta.yaml | 12 + .../libsepol-devel-cos7-ppc64le/build.sh | 41 +- .../libsepol-devel-cos7-ppc64le/meta.yaml | 12 + legacy_cdts/libthai-cos6-x86_64/build.sh | 41 +- legacy_cdts/libthai-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libthai-cos7-aarch64/build.sh | 59 ++ legacy_cdts/libthai-cos7-aarch64/meta.yaml | 44 ++ legacy_cdts/libthai-cos7-ppc64le/build.sh | 59 ++ legacy_cdts/libthai-cos7-ppc64le/meta.yaml | 44 ++ legacy_cdts/libtiff-cos7-aarch64/build.sh | 41 +- legacy_cdts/libtiff-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libtiff-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libtiff-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libudev-cos6-x86_64/build.sh | 41 +- legacy_cdts/libudev-cos6-x86_64/meta.yaml | 6 + .../libx11-common-cos6-x86_64/build.sh | 41 +- .../libx11-common-cos6-x86_64/meta.yaml | 6 + .../libx11-common-cos7-aarch64/build.sh | 14 + .../libx11-common-cos7-aarch64/meta.yaml | 2 + .../libx11-common-cos7-ppc64le/build.sh | 41 +- .../libx11-common-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libx11-cos6-x86_64/build.sh | 41 +- legacy_cdts/libx11-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libx11-cos7-aarch64/build.sh | 14 + legacy_cdts/libx11-cos7-aarch64/meta.yaml | 2 + legacy_cdts/libx11-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libx11-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libx11-devel-cos6-x86_64/build.sh | 41 +- .../libx11-devel-cos6-x86_64/meta.yaml | 6 + .../libx11-devel-cos7-aarch64/build.sh | 41 +- .../libx11-devel-cos7-aarch64/meta.yaml | 6 + .../libx11-devel-cos7-ppc64le/build.sh | 41 +- .../libx11-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxau-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxau-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxau-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxau-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxau-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxau-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxau-devel-cos6-x86_64/build.sh | 41 +- .../libxau-devel-cos6-x86_64/meta.yaml | 6 + .../libxau-devel-cos7-aarch64/build.sh | 41 +- .../libxau-devel-cos7-aarch64/meta.yaml | 6 + .../libxau-devel-cos7-ppc64le/build.sh | 41 +- .../libxau-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxcb-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxcb-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxcb-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxcb-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxcb-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxcb-cos7-ppc64le/meta.yaml | 6 + .../libxcomposite-cos6-x86_64/build.sh | 41 +- .../libxcomposite-cos6-x86_64/meta.yaml | 6 + .../libxcomposite-cos7-aarch64/build.sh | 41 +- .../libxcomposite-cos7-aarch64/meta.yaml | 6 + .../libxcomposite-cos7-ppc64le/build.sh | 41 +- .../libxcomposite-cos7-ppc64le/meta.yaml | 6 + .../libxcomposite-devel-cos6-x86_64/build.sh | 41 +- .../libxcomposite-devel-cos6-x86_64/meta.yaml | 6 + .../libxcomposite-devel-cos7-aarch64/build.sh | 41 +- .../meta.yaml | 6 + .../libxcomposite-devel-cos7-ppc64le/build.sh | 41 +- .../meta.yaml | 6 + legacy_cdts/libxcursor-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxcursor-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxcursor-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxcursor-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxcursor-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxcursor-cos7-ppc64le/meta.yaml | 6 + .../libxcursor-devel-cos6-x86_64/build.sh | 41 +- .../libxcursor-devel-cos6-x86_64/meta.yaml | 6 + .../libxcursor-devel-cos7-aarch64/build.sh | 41 +- .../libxcursor-devel-cos7-aarch64/meta.yaml | 6 + .../libxcursor-devel-cos7-ppc64le/build.sh | 41 +- .../libxcursor-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxdamage-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxdamage-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxdamage-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxdamage-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxdamage-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxdamage-cos7-ppc64le/meta.yaml | 6 + .../libxdamage-devel-cos6-x86_64/build.sh | 41 +- .../libxdamage-devel-cos6-x86_64/meta.yaml | 6 + .../libxdamage-devel-cos7-aarch64/build.sh | 41 +- .../libxdamage-devel-cos7-aarch64/meta.yaml | 6 + .../libxdamage-devel-cos7-ppc64le/build.sh | 41 +- .../libxdamage-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxext-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxext-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxext-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxext-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxext-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxext-cos7-ppc64le/meta.yaml | 6 + .../libxext-devel-cos6-x86_64/build.sh | 41 +- .../libxext-devel-cos6-x86_64/meta.yaml | 6 + .../libxext-devel-cos7-aarch64/build.sh | 41 +- .../libxext-devel-cos7-aarch64/meta.yaml | 6 + .../libxext-devel-cos7-ppc64le/build.sh | 41 +- .../libxext-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxfixes-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxfixes-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxfixes-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxfixes-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxfixes-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxfixes-cos7-ppc64le/meta.yaml | 6 + .../libxfixes-devel-cos6-x86_64/build.sh | 41 +- .../libxfixes-devel-cos6-x86_64/meta.yaml | 6 + .../libxfixes-devel-cos7-aarch64/build.sh | 41 +- .../libxfixes-devel-cos7-aarch64/meta.yaml | 6 + .../libxfixes-devel-cos7-ppc64le/build.sh | 41 +- .../libxfixes-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxft-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxft-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxft-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxft-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxft-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxft-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxi-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxi-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxi-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxi-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxi-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxi-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxi-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxi-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxi-devel-cos7-aarch64/build.sh | 41 +- .../libxi-devel-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxi-devel-cos7-ppc64le/build.sh | 41 +- .../libxi-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxinerama-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxinerama-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxinerama-cos7-aarch64/build.sh | 41 +- .../libxinerama-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxinerama-cos7-ppc64le/build.sh | 41 +- .../libxinerama-cos7-ppc64le/meta.yaml | 6 + .../libxinerama-devel-cos6-x86_64/build.sh | 41 +- .../libxinerama-devel-cos6-x86_64/meta.yaml | 6 + .../libxinerama-devel-cos7-aarch64/build.sh | 41 +- .../libxinerama-devel-cos7-aarch64/meta.yaml | 6 + .../libxinerama-devel-cos7-ppc64le/build.sh | 41 +- .../libxinerama-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxml2-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxml2-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxml2-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxml2-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxml2-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxml2-cos7-ppc64le/meta.yaml | 6 + .../libxml2-devel-cos6-x86_64/build.sh | 41 +- .../libxml2-devel-cos6-x86_64/meta.yaml | 6 + .../libxml2-devel-cos7-aarch64/build.sh | 41 +- .../libxml2-devel-cos7-aarch64/meta.yaml | 6 + .../libxml2-devel-cos7-ppc64le/build.sh | 41 +- .../libxml2-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxrandr-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxrandr-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxrandr-cos7-aarch64/build.sh | 14 + legacy_cdts/libxrandr-cos7-aarch64/meta.yaml | 2 + legacy_cdts/libxrandr-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxrandr-cos7-ppc64le/meta.yaml | 6 + .../libxrandr-devel-cos6-x86_64/build.sh | 41 +- .../libxrandr-devel-cos6-x86_64/meta.yaml | 6 + .../libxrandr-devel-cos7-aarch64/build.sh | 14 + .../libxrandr-devel-cos7-aarch64/meta.yaml | 2 + .../libxrandr-devel-cos7-ppc64le/build.sh | 41 +- .../libxrandr-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/libxrender-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxrender-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxrender-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxrender-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxrender-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxrender-cos7-ppc64le/meta.yaml | 6 + .../libxrender-devel-cos6-x86_64/build.sh | 41 +- .../libxrender-devel-cos6-x86_64/meta.yaml | 6 + .../libxrender-devel-cos7-aarch64/build.sh | 41 +- .../libxrender-devel-cos7-aarch64/meta.yaml | 6 + .../libxrender-devel-cos7-ppc64le/build.sh | 41 +- .../libxrender-devel-cos7-ppc64le/meta.yaml | 6 + .../libxscrnsaver-cos6-x86_64/build.sh | 41 +- .../libxscrnsaver-cos6-x86_64/meta.yaml | 6 + .../libxscrnsaver-cos7-aarch64/build.sh | 41 +- .../libxscrnsaver-cos7-aarch64/meta.yaml | 6 + .../libxscrnsaver-cos7-ppc64le/build.sh | 41 +- .../libxscrnsaver-cos7-ppc64le/meta.yaml | 6 + .../libxscrnsaver-devel-cos6-x86_64/build.sh | 41 +- .../libxscrnsaver-devel-cos6-x86_64/meta.yaml | 6 + .../libxscrnsaver-devel-cos7-aarch64/build.sh | 41 +- .../meta.yaml | 6 + .../libxscrnsaver-devel-cos7-ppc64le/build.sh | 41 +- .../meta.yaml | 6 + legacy_cdts/libxshmfence-cos6-x86_64/build.sh | 59 ++ .../libxshmfence-license | 19 + .../libxshmfence-cos6-x86_64/meta.yaml | 41 ++ .../libxshmfence-cos7-aarch64/build.sh | 59 ++ .../libxshmfence-license | 19 + .../libxshmfence-cos7-aarch64/meta.yaml | 41 ++ .../libxshmfence-cos7-ppc64le/build.sh | 59 ++ .../libxshmfence-license | 19 + .../libxshmfence-cos7-ppc64le/meta.yaml | 41 ++ .../libxshmfence-devel-cos6-x86_64/build.sh | 41 +- .../libxshmfence-devel-cos6-x86_64/meta.yaml | 12 + .../libxshmfence-devel-cos7-aarch64/build.sh | 41 +- .../libxshmfence-devel-cos7-aarch64/meta.yaml | 12 + .../libxshmfence-devel-cos7-ppc64le/build.sh | 41 +- .../libxshmfence-devel-cos7-ppc64le/meta.yaml | 12 + legacy_cdts/libxt-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxt-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxt-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxt-cos7-aarch64/meta.yaml | 12 + legacy_cdts/libxt-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxt-cos7-ppc64le/meta.yaml | 12 + legacy_cdts/libxt-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxt-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxt-devel-cos7-aarch64/build.sh | 41 +- .../libxt-devel-cos7-aarch64/meta.yaml | 12 + legacy_cdts/libxt-devel-cos7-ppc64le/build.sh | 41 +- .../libxt-devel-cos7-ppc64le/meta.yaml | 12 + legacy_cdts/libxtst-cos6-x86_64/build.sh | 59 ++ .../libxtst-cos6-x86_64/libxtst-license | 116 ++++ legacy_cdts/libxtst-cos6-x86_64/meta.yaml | 47 ++ legacy_cdts/libxtst-cos7-aarch64/build.sh | 59 ++ .../libxtst-cos7-aarch64/libxtst-license | 116 ++++ legacy_cdts/libxtst-cos7-aarch64/meta.yaml | 47 ++ legacy_cdts/libxtst-cos7-ppc64le/build.sh | 59 ++ .../libxtst-cos7-ppc64le/libxtst-license | 116 ++++ legacy_cdts/libxtst-cos7-ppc64le/meta.yaml | 47 ++ .../libxtst-devel-cos6-x86_64/build.sh | 41 +- .../libxtst-devel-cos6-x86_64/meta.yaml | 12 + .../libxtst-devel-cos7-aarch64/build.sh | 41 +- .../libxtst-devel-cos7-aarch64/meta.yaml | 12 + .../libxtst-devel-cos7-ppc64le/build.sh | 41 +- .../libxtst-devel-cos7-ppc64le/meta.yaml | 12 + legacy_cdts/libxxf86vm-cos6-x86_64/build.sh | 41 +- legacy_cdts/libxxf86vm-cos6-x86_64/meta.yaml | 6 + legacy_cdts/libxxf86vm-cos7-aarch64/build.sh | 41 +- legacy_cdts/libxxf86vm-cos7-aarch64/meta.yaml | 6 + legacy_cdts/libxxf86vm-cos7-ppc64le/build.sh | 41 +- legacy_cdts/libxxf86vm-cos7-ppc64le/meta.yaml | 6 + .../libxxf86vm-devel-cos6-x86_64/build.sh | 41 +- .../libxxf86vm-devel-cos6-x86_64/meta.yaml | 6 + .../libxxf86vm-devel-cos7-aarch64/build.sh | 41 +- .../libxxf86vm-devel-cos7-aarch64/meta.yaml | 6 + .../libxxf86vm-devel-cos7-ppc64le/build.sh | 41 +- .../libxxf86vm-devel-cos7-ppc64le/meta.yaml | 6 + .../mesa-dri-drivers-cos6-x86_64/build.sh | 41 +- .../mesa-dri-drivers-cos6-x86_64/meta.yaml | 6 + .../mesa-dri-drivers-cos7-aarch64/build.sh | 41 +- .../mesa-dri-drivers-cos7-aarch64/meta.yaml | 6 + .../mesa-dri-drivers-cos7-ppc64le/build.sh | 41 +- .../mesa-dri-drivers-cos7-ppc64le/meta.yaml | 6 + .../mesa-dri1-drivers-cos6-x86_64/build.sh | 41 +- .../mesa-dri1-drivers-cos6-x86_64/meta.yaml | 6 + .../mesa-khr-devel-cos7-aarch64/build.sh | 41 +- .../mesa-khr-devel-cos7-aarch64/meta.yaml | 6 + .../mesa-khr-devel-cos7-ppc64le/build.sh | 41 +- .../mesa-khr-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/mesa-libegl-cos6-x86_64/build.sh | 41 +- legacy_cdts/mesa-libegl-cos6-x86_64/meta.yaml | 6 + legacy_cdts/mesa-libegl-cos7-aarch64/build.sh | 41 +- .../mesa-libegl-cos7-aarch64/meta.yaml | 6 + legacy_cdts/mesa-libegl-cos7-ppc64le/build.sh | 41 +- .../mesa-libegl-cos7-ppc64le/meta.yaml | 6 + .../mesa-libegl-devel-cos6-x86_64/build.sh | 41 +- .../mesa-libegl-devel-cos6-x86_64/meta.yaml | 6 + .../mesa-libegl-devel-cos7-aarch64/build.sh | 41 +- .../mesa-libegl-devel-cos7-aarch64/meta.yaml | 9 + .../mesa-libegl-devel-cos7-ppc64le/build.sh | 41 +- .../mesa-libegl-devel-cos7-ppc64le/meta.yaml | 9 + legacy_cdts/mesa-libgbm-cos6-x86_64/build.sh | 41 +- legacy_cdts/mesa-libgbm-cos6-x86_64/meta.yaml | 6 + legacy_cdts/mesa-libgbm-cos7-aarch64/build.sh | 41 +- .../mesa-libgbm-cos7-aarch64/meta.yaml | 6 + legacy_cdts/mesa-libgbm-cos7-ppc64le/build.sh | 41 +- .../mesa-libgbm-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/mesa-libgl-cos6-x86_64/build.sh | 41 +- legacy_cdts/mesa-libgl-cos6-x86_64/meta.yaml | 9 + legacy_cdts/mesa-libgl-cos7-aarch64/build.sh | 49 +- legacy_cdts/mesa-libgl-cos7-aarch64/meta.yaml | 9 + legacy_cdts/mesa-libgl-cos7-ppc64le/build.sh | 49 +- legacy_cdts/mesa-libgl-cos7-ppc64le/meta.yaml | 9 + .../mesa-libgl-devel-cos6-x86_64/build.sh | 41 +- .../mesa-libgl-devel-cos6-x86_64/meta.yaml | 6 + .../mesa-libgl-devel-cos7-aarch64/build.sh | 41 +- .../mesa-libgl-devel-cos7-aarch64/meta.yaml | 9 + .../mesa-libgl-devel-cos7-ppc64le/build.sh | 41 +- .../mesa-libgl-devel-cos7-ppc64le/meta.yaml | 9 + .../mesa-libglapi-cos7-aarch64/build.sh | 41 +- .../mesa-libglapi-cos7-aarch64/meta.yaml | 6 + .../mesa-libglapi-cos7-ppc64le/build.sh | 41 +- .../mesa-libglapi-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/nspr-cos6-x86_64/build.sh | 59 ++ legacy_cdts/nspr-cos6-x86_64/meta.yaml | 44 ++ legacy_cdts/nspr-cos6-x86_64/nspr-license | 373 ++++++++++++ legacy_cdts/nspr-cos7-aarch64/build.sh | 41 +- legacy_cdts/nspr-cos7-aarch64/meta.yaml | 6 + legacy_cdts/nspr-cos7-ppc64le/build.sh | 41 +- legacy_cdts/nspr-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/nss-cos6-x86_64/build.sh | 59 ++ legacy_cdts/nss-cos6-x86_64/meta.yaml | 57 ++ legacy_cdts/nss-cos6-x86_64/nss-license | 403 +++++++++++++ legacy_cdts/nss-cos7-aarch64/build.sh | 41 +- legacy_cdts/nss-cos7-aarch64/meta.yaml | 9 + legacy_cdts/nss-cos7-ppc64le/build.sh | 41 +- legacy_cdts/nss-cos7-ppc64le/meta.yaml | 9 + legacy_cdts/nss-softokn-cos6-x86_64/build.sh | 59 ++ legacy_cdts/nss-softokn-cos6-x86_64/meta.yaml | 53 ++ .../nss-softokn-cos6-x86_64/nss-license | 403 +++++++++++++ legacy_cdts/nss-softokn-cos7-aarch64/build.sh | 41 +- .../nss-softokn-cos7-aarch64/meta.yaml | 9 + legacy_cdts/nss-softokn-cos7-ppc64le/build.sh | 41 +- .../nss-softokn-cos7-ppc64le/meta.yaml | 9 + .../nss-softokn-freebl-cos6-x86_64/build.sh | 59 ++ .../nss-softokn-freebl-cos6-x86_64/meta.yaml | 42 ++ .../nss-license | 403 +++++++++++++ .../nss-softokn-freebl-cos7-aarch64/build.sh | 41 +- .../nss-softokn-freebl-cos7-aarch64/meta.yaml | 6 + .../nss-softokn-freebl-cos7-ppc64le/build.sh | 41 +- .../nss-softokn-freebl-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/nss-util-cos6-x86_64/build.sh | 59 ++ legacy_cdts/nss-util-cos6-x86_64/meta.yaml | 47 ++ legacy_cdts/nss-util-cos6-x86_64/nss-license | 403 +++++++++++++ legacy_cdts/nss-util-cos7-aarch64/build.sh | 41 +- legacy_cdts/nss-util-cos7-aarch64/meta.yaml | 6 + legacy_cdts/nss-util-cos7-ppc64le/build.sh | 41 +- legacy_cdts/nss-util-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/numactl-cos6-x86_64/build.sh | 41 +- legacy_cdts/numactl-cos6-x86_64/meta.yaml | 6 + .../numactl-devel-cos6-x86_64/build.sh | 41 +- .../numactl-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/orbit2-cos6-x86_64/build.sh | 41 +- legacy_cdts/orbit2-cos6-x86_64/meta.yaml | 6 + legacy_cdts/orbit2-cos7-aarch64/build.sh | 41 +- legacy_cdts/orbit2-cos7-aarch64/meta.yaml | 6 + legacy_cdts/orbit2-cos7-ppc64le/build.sh | 41 +- legacy_cdts/orbit2-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/orbit2-devel-cos6-x86_64/build.sh | 41 +- .../orbit2-devel-cos6-x86_64/meta.yaml | 6 + .../orbit2-devel-cos7-aarch64/build.sh | 41 +- .../orbit2-devel-cos7-aarch64/meta.yaml | 6 + .../orbit2-devel-cos7-ppc64le/build.sh | 41 +- .../orbit2-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/p11-kit-cos6-x86_64/build.sh | 14 + legacy_cdts/p11-kit-cos6-x86_64/meta.yaml | 2 + legacy_cdts/p11-kit-cos7-aarch64/build.sh | 14 + legacy_cdts/p11-kit-cos7-aarch64/meta.yaml | 2 + legacy_cdts/p11-kit-cos7-ppc64le/build.sh | 14 + legacy_cdts/p11-kit-cos7-ppc64le/meta.yaml | 2 + .../p11-kit-trust-cos6-x86_64/build.sh | 14 + .../p11-kit-trust-cos6-x86_64/meta.yaml | 8 + .../p11-kit-trust-cos7-aarch64/build.sh | 14 + .../p11-kit-trust-cos7-aarch64/meta.yaml | 8 + .../p11-kit-trust-cos7-ppc64le/build.sh | 14 + .../p11-kit-trust-cos7-ppc64le/meta.yaml | 8 + legacy_cdts/pango-cos6-x86_64/build.sh | 41 +- legacy_cdts/pango-cos6-x86_64/meta.yaml | 6 + legacy_cdts/pango-cos7-aarch64/build.sh | 49 +- legacy_cdts/pango-cos7-aarch64/meta.yaml | 33 ++ legacy_cdts/pango-cos7-ppc64le/build.sh | 49 +- legacy_cdts/pango-cos7-ppc64le/meta.yaml | 33 ++ legacy_cdts/pango-devel-cos6-x86_64/build.sh | 41 +- legacy_cdts/pango-devel-cos6-x86_64/meta.yaml | 6 + legacy_cdts/pango-devel-cos7-aarch64/build.sh | 41 +- .../pango-devel-cos7-aarch64/meta.yaml | 24 + legacy_cdts/pango-devel-cos7-ppc64le/build.sh | 41 +- .../pango-devel-cos7-ppc64le/meta.yaml | 24 + legacy_cdts/pixman-cos6-x86_64/build.sh | 41 +- legacy_cdts/pixman-cos6-x86_64/meta.yaml | 6 + legacy_cdts/pixman-cos7-aarch64/build.sh | 41 +- legacy_cdts/pixman-cos7-aarch64/meta.yaml | 6 + legacy_cdts/pixman-cos7-ppc64le/build.sh | 41 +- legacy_cdts/pixman-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/pixman-devel-cos6-x86_64/build.sh | 41 +- .../pixman-devel-cos6-x86_64/meta.yaml | 6 + .../pixman-devel-cos7-aarch64/build.sh | 41 +- .../pixman-devel-cos7-aarch64/meta.yaml | 6 + .../pixman-devel-cos7-ppc64le/build.sh | 41 +- .../pixman-devel-cos7-ppc64le/meta.yaml | 6 + legacy_cdts/pkgconfig-cos6-x86_64/build.sh | 41 +- legacy_cdts/pkgconfig-cos6-x86_64/meta.yaml | 6 + legacy_cdts/pkgconfig-cos7-aarch64/build.sh | 41 +- legacy_cdts/pkgconfig-cos7-aarch64/meta.yaml | 6 + legacy_cdts/pkgconfig-cos7-ppc64le/build.sh | 41 +- legacy_cdts/pkgconfig-cos7-ppc64le/meta.yaml | 6 + .../python-javapackages-cos7-aarch64/build.sh | 41 +- .../meta.yaml | 6 + .../python-javapackages-cos7-ppc64le/build.sh | 41 +- .../meta.yaml | 6 + legacy_cdts/webkitgtk-cos6-x86_64/build.sh | 41 +- legacy_cdts/webkitgtk-cos6-x86_64/meta.yaml | 6 + .../webkitgtk-devel-cos6-x86_64/build.sh | 41 +- .../webkitgtk-devel-cos6-x86_64/meta.yaml | 6 + .../xorg-x11-proto-devel-cos6-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../xorg-x11-server-xvfb-cos6-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../xorg-x11-util-macros-cos6-x86_64/build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + .../build.sh | 41 +- .../meta.yaml | 6 + licenses/libglvnd-license | 540 ++++++++++++++++++ rpm.py | 66 ++- 1551 files changed, 51201 insertions(+), 805 deletions(-) create mode 100755 cdts/cairo-cos7-aarch64/build.sh create mode 100644 cdts/cairo-cos7-aarch64/meta.yaml create mode 100755 cdts/cairo-cos7-ppc64le/build.sh create mode 100644 cdts/cairo-cos7-ppc64le/meta.yaml create mode 100755 cdts/cairo-cos7-x86_64/build.sh create mode 100644 cdts/cairo-cos7-x86_64/meta.yaml create mode 100755 cdts/fribidi-cos7-aarch64/build.sh create mode 100644 cdts/fribidi-cos7-aarch64/meta.yaml create mode 100755 cdts/fribidi-cos7-ppc64le/build.sh create mode 100644 cdts/fribidi-cos7-ppc64le/meta.yaml create mode 100755 cdts/fribidi-cos7-x86_64/build.sh create mode 100644 cdts/fribidi-cos7-x86_64/meta.yaml create mode 100755 cdts/harfbuzz-cos7-aarch64/build.sh create mode 100644 cdts/harfbuzz-cos7-aarch64/meta.yaml create mode 100755 cdts/harfbuzz-cos7-ppc64le/build.sh create mode 100644 cdts/harfbuzz-cos7-ppc64le/meta.yaml create mode 100755 cdts/harfbuzz-cos7-x86_64/build.sh create mode 100644 cdts/harfbuzz-cos7-x86_64/meta.yaml create mode 100755 cdts/libglvnd-cos7-aarch64/build.sh create mode 100644 cdts/libglvnd-cos7-aarch64/libglvnd-license create mode 100644 cdts/libglvnd-cos7-aarch64/meta.yaml create mode 100755 cdts/libglvnd-cos7-ppc64le/build.sh create mode 100644 cdts/libglvnd-cos7-ppc64le/libglvnd-license create mode 100644 cdts/libglvnd-cos7-ppc64le/meta.yaml create mode 100755 cdts/libglvnd-cos7-x86_64/build.sh create mode 100644 cdts/libglvnd-cos7-x86_64/libglvnd-license create mode 100644 cdts/libglvnd-cos7-x86_64/meta.yaml create mode 100755 cdts/libglvnd-glx-cos7-aarch64/build.sh create mode 100644 cdts/libglvnd-glx-cos7-aarch64/libglvnd-license create mode 100644 cdts/libglvnd-glx-cos7-aarch64/meta.yaml create mode 100755 cdts/libglvnd-glx-cos7-ppc64le/build.sh create mode 100644 cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license create mode 100644 cdts/libglvnd-glx-cos7-ppc64le/meta.yaml create mode 100755 cdts/libglvnd-glx-cos7-x86_64/build.sh create mode 100644 cdts/libglvnd-glx-cos7-x86_64/libglvnd-license create mode 100644 cdts/libglvnd-glx-cos7-x86_64/meta.yaml create mode 100755 cdts/libthai-cos7-aarch64/build.sh create mode 100644 cdts/libthai-cos7-aarch64/meta.yaml create mode 100755 cdts/libthai-cos7-ppc64le/build.sh create mode 100644 cdts/libthai-cos7-ppc64le/meta.yaml create mode 100755 cdts/libthai-cos7-x86_64/build.sh create mode 100644 cdts/libthai-cos7-x86_64/meta.yaml create mode 100755 cdts/libxshmfence-cos6-x86_64/build.sh create mode 100644 cdts/libxshmfence-cos6-x86_64/libxshmfence-license create mode 100644 cdts/libxshmfence-cos6-x86_64/meta.yaml create mode 100755 cdts/libxshmfence-cos7-aarch64/build.sh create mode 100644 cdts/libxshmfence-cos7-aarch64/libxshmfence-license create mode 100644 cdts/libxshmfence-cos7-aarch64/meta.yaml create mode 100755 cdts/libxshmfence-cos7-ppc64le/build.sh create mode 100644 cdts/libxshmfence-cos7-ppc64le/libxshmfence-license create mode 100644 cdts/libxshmfence-cos7-ppc64le/meta.yaml create mode 100755 cdts/libxshmfence-cos7-x86_64/build.sh create mode 100644 cdts/libxshmfence-cos7-x86_64/libxshmfence-license create mode 100644 cdts/libxshmfence-cos7-x86_64/meta.yaml create mode 100755 cdts/libxtst-cos6-x86_64/build.sh create mode 100644 cdts/libxtst-cos6-x86_64/libxtst-license create mode 100644 cdts/libxtst-cos6-x86_64/meta.yaml create mode 100755 cdts/libxtst-cos7-aarch64/build.sh create mode 100644 cdts/libxtst-cos7-aarch64/libxtst-license create mode 100644 cdts/libxtst-cos7-aarch64/meta.yaml create mode 100755 cdts/libxtst-cos7-ppc64le/build.sh create mode 100644 cdts/libxtst-cos7-ppc64le/libxtst-license create mode 100644 cdts/libxtst-cos7-ppc64le/meta.yaml create mode 100755 cdts/libxtst-cos7-x86_64/build.sh create mode 100644 cdts/libxtst-cos7-x86_64/libxtst-license create mode 100644 cdts/libxtst-cos7-x86_64/meta.yaml create mode 100755 cdts/nspr-cos6-x86_64/build.sh create mode 100644 cdts/nspr-cos6-x86_64/meta.yaml create mode 100644 cdts/nspr-cos6-x86_64/nspr-license create mode 100755 cdts/nspr-cos7-x86_64/build.sh create mode 100644 cdts/nspr-cos7-x86_64/meta.yaml create mode 100644 cdts/nspr-cos7-x86_64/nspr-license create mode 100755 cdts/nss-cos6-x86_64/build.sh create mode 100644 cdts/nss-cos6-x86_64/meta.yaml create mode 100644 cdts/nss-cos6-x86_64/nss-license create mode 100755 cdts/nss-cos7-x86_64/build.sh create mode 100644 cdts/nss-cos7-x86_64/meta.yaml create mode 100644 cdts/nss-cos7-x86_64/nss-license create mode 100755 cdts/nss-softokn-cos6-x86_64/build.sh create mode 100644 cdts/nss-softokn-cos6-x86_64/meta.yaml create mode 100644 cdts/nss-softokn-cos6-x86_64/nss-license create mode 100755 cdts/nss-softokn-cos7-x86_64/build.sh create mode 100644 cdts/nss-softokn-cos7-x86_64/meta.yaml create mode 100644 cdts/nss-softokn-cos7-x86_64/nss-license create mode 100755 cdts/nss-softokn-freebl-cos6-x86_64/build.sh create mode 100644 cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml create mode 100644 cdts/nss-softokn-freebl-cos6-x86_64/nss-license create mode 100755 cdts/nss-softokn-freebl-cos7-x86_64/build.sh create mode 100644 cdts/nss-softokn-freebl-cos7-x86_64/meta.yaml create mode 100644 cdts/nss-softokn-freebl-cos7-x86_64/nss-license create mode 100755 cdts/nss-util-cos6-x86_64/build.sh create mode 100644 cdts/nss-util-cos6-x86_64/meta.yaml create mode 100644 cdts/nss-util-cos6-x86_64/nss-license create mode 100755 cdts/nss-util-cos7-x86_64/build.sh create mode 100644 cdts/nss-util-cos7-x86_64/meta.yaml create mode 100644 cdts/nss-util-cos7-x86_64/nss-license create mode 100755 legacy_cdts/cairo-cos7-aarch64/build.sh create mode 100644 legacy_cdts/cairo-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/cairo-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/cairo-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/fribidi-cos7-aarch64/build.sh create mode 100644 legacy_cdts/fribidi-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/fribidi-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/fribidi-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/harfbuzz-cos7-aarch64/build.sh create mode 100644 legacy_cdts/harfbuzz-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/harfbuzz-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/harfbuzz-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/libglvnd-cos7-aarch64/build.sh create mode 100644 legacy_cdts/libglvnd-cos7-aarch64/libglvnd-license create mode 100644 legacy_cdts/libglvnd-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/libglvnd-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/libglvnd-cos7-ppc64le/libglvnd-license create mode 100644 legacy_cdts/libglvnd-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/libglvnd-glx-cos7-aarch64/build.sh create mode 100644 legacy_cdts/libglvnd-glx-cos7-aarch64/libglvnd-license create mode 100644 legacy_cdts/libglvnd-glx-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/libglvnd-glx-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license create mode 100644 legacy_cdts/libglvnd-glx-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/libthai-cos7-aarch64/build.sh create mode 100644 legacy_cdts/libthai-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/libthai-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/libthai-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/libxshmfence-cos6-x86_64/build.sh create mode 100644 legacy_cdts/libxshmfence-cos6-x86_64/libxshmfence-license create mode 100644 legacy_cdts/libxshmfence-cos6-x86_64/meta.yaml create mode 100755 legacy_cdts/libxshmfence-cos7-aarch64/build.sh create mode 100644 legacy_cdts/libxshmfence-cos7-aarch64/libxshmfence-license create mode 100644 legacy_cdts/libxshmfence-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/libxshmfence-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/libxshmfence-cos7-ppc64le/libxshmfence-license create mode 100644 legacy_cdts/libxshmfence-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/libxtst-cos6-x86_64/build.sh create mode 100644 legacy_cdts/libxtst-cos6-x86_64/libxtst-license create mode 100644 legacy_cdts/libxtst-cos6-x86_64/meta.yaml create mode 100755 legacy_cdts/libxtst-cos7-aarch64/build.sh create mode 100644 legacy_cdts/libxtst-cos7-aarch64/libxtst-license create mode 100644 legacy_cdts/libxtst-cos7-aarch64/meta.yaml create mode 100755 legacy_cdts/libxtst-cos7-ppc64le/build.sh create mode 100644 legacy_cdts/libxtst-cos7-ppc64le/libxtst-license create mode 100644 legacy_cdts/libxtst-cos7-ppc64le/meta.yaml create mode 100755 legacy_cdts/nspr-cos6-x86_64/build.sh create mode 100644 legacy_cdts/nspr-cos6-x86_64/meta.yaml create mode 100644 legacy_cdts/nspr-cos6-x86_64/nspr-license create mode 100755 legacy_cdts/nss-cos6-x86_64/build.sh create mode 100644 legacy_cdts/nss-cos6-x86_64/meta.yaml create mode 100644 legacy_cdts/nss-cos6-x86_64/nss-license create mode 100755 legacy_cdts/nss-softokn-cos6-x86_64/build.sh create mode 100644 legacy_cdts/nss-softokn-cos6-x86_64/meta.yaml create mode 100644 legacy_cdts/nss-softokn-cos6-x86_64/nss-license create mode 100755 legacy_cdts/nss-softokn-freebl-cos6-x86_64/build.sh create mode 100644 legacy_cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml create mode 100644 legacy_cdts/nss-softokn-freebl-cos6-x86_64/nss-license create mode 100755 legacy_cdts/nss-util-cos6-x86_64/build.sh create mode 100644 legacy_cdts/nss-util-cos6-x86_64/meta.yaml create mode 100644 legacy_cdts/nss-util-cos6-x86_64/nss-license create mode 100644 licenses/libglvnd-license diff --git a/README.md b/README.md index a31799d0..5046a6ff 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,11 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-ca--certificates--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/ca-certificates-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/ca-certificates-cos7-x86_64.svg)](https://anaconda.org/conda-forge/ca-certificates-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/ca-certificates-cos7-x86_64.svg)](https://anaconda.org/conda-forge/ca-certificates-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/ca-certificates-cos7-x86_64.svg)](https://anaconda.org/conda-forge/ca-certificates-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/cairo-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/cairo-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-cos7-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-cos7-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-cos7-x86_64.svg)](https://anaconda.org/conda-forge/cairo-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-cairo--devel--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/cairo-devel-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cairo-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cairo-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cairo-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/cairo-devel-cos7-aarch64) | @@ -209,6 +214,11 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-freetype--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/freetype-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/freetype-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/freetype-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-freetype--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/freetype-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/freetype-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/freetype-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-freetype--devel--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/freetype-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/freetype-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/freetype-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/freetype-devel-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-fribidi--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/fribidi-cos7-aarch64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/fribidi-cos7-aarch64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/fribidi-cos7-aarch64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-fribidi--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/fribidi-cos7-aarch64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/fribidi-cos7-aarch64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/fribidi-cos7-aarch64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-fribidi--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/fribidi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/fribidi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/fribidi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-fribidi--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/fribidi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/fribidi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/fribidi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/fribidi-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-fribidi--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/fribidi-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/fribidi-cos7-x86_64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/fribidi-cos7-x86_64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/fribidi-cos7-x86_64.svg)](https://anaconda.org/conda-forge/fribidi-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-gdk--pixbuf2--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/gdk-pixbuf2-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/gdk-pixbuf2-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/gdk-pixbuf2-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-gdk--pixbuf2--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/gdk-pixbuf2-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/gdk-pixbuf2-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/gdk-pixbuf2-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-gdk--pixbuf2--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/gdk-pixbuf2-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/gdk-pixbuf2-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/gdk-pixbuf2-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/gdk-pixbuf2-devel-cos6-x86_64) | @@ -241,6 +251,11 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-gtk2--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/gtk2-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/gtk2-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/gtk2-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-gtk2--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/gtk2-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/gtk2-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/gtk2-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-gtk2--devel--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/gtk2-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/gtk2-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/gtk2-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/gtk2-devel-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-harfbuzz--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/harfbuzz-cos7-aarch64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/harfbuzz-cos7-aarch64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/harfbuzz-cos7-aarch64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-harfbuzz--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/harfbuzz-cos7-aarch64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/harfbuzz-cos7-aarch64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/harfbuzz-cos7-aarch64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-harfbuzz--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/harfbuzz-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/harfbuzz-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/harfbuzz-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-harfbuzz--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/harfbuzz-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/harfbuzz-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/harfbuzz-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-harfbuzz--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/harfbuzz-cos7-x86_64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/harfbuzz-cos7-x86_64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/harfbuzz-cos7-x86_64.svg)](https://anaconda.org/conda-forge/harfbuzz-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-java--1.7.0--openjdk--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/java-1.7.0-openjdk-cos6-x86_64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/java-1.7.0-openjdk-cos6-x86_64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/java-1.7.0-openjdk-cos6-x86_64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-java--1.7.0--openjdk--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/java-1.7.0-openjdk-cos6-x86_64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/java-1.7.0-openjdk-cos6-x86_64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/java-1.7.0-openjdk-cos6-x86_64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-java--1.7.0--openjdk--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/java-1.7.0-openjdk-cos7-aarch64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/java-1.7.0-openjdk-cos7-aarch64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/java-1.7.0-openjdk-cos7-aarch64.svg)](https://anaconda.org/conda-forge/java-1.7.0-openjdk-cos7-aarch64) | @@ -295,6 +310,16 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-libdrm--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libdrm-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libdrm-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libdrm-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libdrm--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libdrm-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libdrm-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libdrm-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libdrm--devel--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libdrm-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libdrm-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libdrm-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libdrm-devel-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libglvnd-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--glx--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-glx-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-glx-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-glx-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--glx--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-glx-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-glx-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-glx-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--glx--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-glx-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-glx-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-glx-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--glx--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-glx-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-glx-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-glx-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libglvnd--glx--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libglvnd-glx-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libglvnd-glx-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libglvnd-glx-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libglvnd-glx-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libibcm--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libibcm-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libibcm-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libibcm-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libibcm--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libibcm-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libibcm-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libibcm-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libibcm--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libibcm-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libibcm-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libibcm-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libibcm-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libibcm-devel-cos6-x86_64) | @@ -372,6 +397,11 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-libsepol--devel--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libsepol-devel-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libsepol-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libsepol-devel-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libsepol-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libsepol-devel-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libsepol-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libsepol-devel-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libthai--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libthai-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libthai-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libthai-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libthai--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libthai-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libthai-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libthai-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libthai--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libthai-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libthai-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libthai-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libthai--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libthai-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libthai-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libthai-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libthai-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libthai--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libthai-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libthai-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libthai-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libthai--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libthai-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libthai-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libthai-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libthai-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libthai--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libthai-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libthai-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libthai-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libthai-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libthai-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtiff--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtiff-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtiff-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtiff-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtiff--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtiff-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtiff-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtiff-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libtiff-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtiff--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libtiff-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtiff-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libtiff-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtiff-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libtiff-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtiff-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libtiff-cos7-ppc64le) | @@ -584,6 +614,13 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-libxscrnsaver--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxscrnsaver-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxscrnsaver-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxscrnsaver-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxscrnsaver--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxscrnsaver-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxscrnsaver-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxscrnsaver-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxscrnsaver--devel--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxscrnsaver-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxscrnsaver-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxscrnsaver-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxscrnsaver-devel-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxshmfence--devel--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxshmfence-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxshmfence-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxshmfence-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxshmfence-devel-cos7-aarch64) | @@ -605,6 +642,13 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-libxt--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxt-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxt-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxt-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxt--devel--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxt-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxt-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxt-devel-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxt--devel--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxt-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxt-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxt-devel-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxt-devel-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-aarch64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/libxtst-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/libxtst-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-cos7-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libxtst--devel--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libxtst-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libxtst-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libxtst-devel-cos7-aarch64.svg)](https://anaconda.org/conda-forge/libxtst-devel-cos7-aarch64) | @@ -680,26 +724,41 @@ register_repo("conda-forge", "cdt-builds", config=cfg) | [![Conda Recipe](https://img.shields.io/badge/recipe-mesa--libglapi--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/mesa-libglapi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/mesa-libglapi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/mesa-libglapi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-mesa--libglapi--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/mesa-libglapi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/mesa-libglapi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/mesa-libglapi-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-mesa--libglapi--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/mesa-libglapi-cos7-x86_64.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/mesa-libglapi-cos7-x86_64.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/mesa-libglapi-cos7-x86_64.svg)](https://anaconda.org/conda-forge/mesa-libglapi-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nspr--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nspr-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nspr-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nspr-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nspr--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nspr-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nspr-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nspr-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nspr--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nspr-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nspr-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nspr-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nspr--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nspr-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nspr-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nspr-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nspr-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nspr--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nspr-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nspr-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nspr-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nspr--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nspr-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nspr-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nspr-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nspr-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nspr--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/nspr-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nspr-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nspr-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nspr-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nspr-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--freebl--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-freebl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-freebl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-freebl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--freebl--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-freebl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-freebl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-freebl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--freebl--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-freebl-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-freebl-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-freebl-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--freebl--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-freebl-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-freebl-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-freebl-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--freebl--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-freebl-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-freebl-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-freebl-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--freebl--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-freebl-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-freebl-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-freebl-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--softokn--freebl--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-softokn-freebl-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-softokn-freebl-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-softokn-freebl-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-softokn-freebl-cos7-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--util--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-util-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-util-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-util-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--util--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-util-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-util-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-util-cos6-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--util--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-util-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-util-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-util-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--util--cos7--aarch64-green.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-util-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-util-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-util-cos7-aarch64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-aarch64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--util--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-util-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-util-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-util-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nss--util--cos7--ppc64le-green.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-util-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-util-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-util-cos7-ppc64le.svg)](https://anaconda.org/conda-forge/nss-util-cos7-ppc64le) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nss--util--cos7--x86_64-green.svg)](https://anaconda.org/conda-forge/nss-util-cos7-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nss-util-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nss-util-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nss-util-cos7-x86_64.svg)](https://anaconda.org/conda-forge/nss-util-cos7-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-numactl--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/numactl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/numactl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/numactl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-numactl--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/numactl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/numactl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/numactl-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-cos6-x86_64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-numactl--devel--cos6--x86_64-green.svg)](https://anaconda.org/conda-forge/numactl-devel-cos6-x86_64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/numactl-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-devel-cos6-x86_64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/numactl-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-devel-cos6-x86_64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/numactl-devel-cos6-x86_64.svg)](https://anaconda.org/conda-forge/numactl-devel-cos6-x86_64) | diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 72b2f4b9..13a3fc00 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -50,6 +50,8 @@ jobs: conda activate base cat .ci_scripts/condarc > $HOME/.condarc + mkdir -p build_logs + echo "cmd args: ${DISTARCH} ${LEGACYCDT}" python build_cdt_recipes.py ${DISTARCH} ${LEGACYCDT} displayName: build CDTs @@ -83,3 +85,6 @@ jobs: env: ANACONDA_TOKEN: $(anaconda.token) IS_FORK: $(System.PullRequest.IsFork) + + - publish: build_logs/ + artifact: build-logs-$(DISTARCH)$(LEGACYCDT) diff --git a/build_cdt_recipes.py b/build_cdt_recipes.py index 62338564..ffa9ed2a 100644 --- a/build_cdt_recipes.py +++ b/build_cdt_recipes.py @@ -235,7 +235,11 @@ def _build_all_cdts(cdt_path, custom_cdt_path, dist_arch_slug): sys.stderr.flush() raise RuntimeError("Could not build CDT %s!" % node) - print(build_logs, flush=True) + log_dir = "build_logs" + log_pth = os.path.join(log_dir, "build_logs_%s.txt" % dist_arch_slug) + os.makedirs(log_dir, exist_ok=True) + with open(log_pth, "w") as fp: + fp.write(build_logs) @click.command() diff --git a/cdt_slugs.yaml b/cdt_slugs.yaml index ae196cf0..34d86916 100644 --- a/cdt_slugs.yaml +++ b/cdt_slugs.yaml @@ -85,6 +85,14 @@ gtk2-devel: java-1.7.0-openjdk: custom: false license_file: licenses/openjdk-license + build_append: + cos6-x86_64: | + jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") + jvm_slug=$(basename ${jvm_slug}) + + pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 + mkdir -p ../../../../../../../etc/pki/java/cacerts + popd > /dev/null 2>&1 java-1.7.0-openjdk-headless: custom: false skipped_cdts: @@ -131,10 +139,26 @@ libdrm: libdrm-devel: custom: false license_file: null -# libglvnd: -# custom: false -# libglvnd-glx: -# custom: false +libglvnd: + custom: false + skipped_cdts: + - cos6-x86_64 + license_file: licenses/libglvnd-license +libglvnd-glx: + custom: false + skipped_cdts: + - cos6-x86_64 + license_file: licenses/libglvnd-license + build_append: + all: | + pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 + libgl_file=$(find . -maxdepth 1 -name "libGL.so.*.*.*") + libgl_file=$(basename ${libgl_file}) + ln -fs ${libgl_file} libGL.so + ls -lah . + popd > /dev/null 2>&1 + dep_remove: + - mesa-libgl libibcm: custom: false skipped_cdts: @@ -292,6 +316,9 @@ libXrender-devel: libXScrnSaver-devel: custom: false license_file: licenses/libxscrnsaver-license +libxshmfence: + custom: false + license_file: licenses/libxshmfence-license libxshmfence-devel: custom: false license_file: licenses/libxshmfence-license @@ -300,6 +327,8 @@ libXt: libXt-devel: custom: false license_file: licenses/libxt-license +libXtst: + custom: false libXtst-devel: custom: false license_file: licenses/libxtst-license @@ -356,33 +385,18 @@ mesa-libglapi: license_file: licenses/mesa-license nspr: custom: false - skipped_cdts: - - cos6-x86_64 - - cos7-x86_64 license_file: licenses/nspr-license nss: custom: false - skipped_cdts: - - cos6-x86_64 - - cos7-x86_64 license_file: licenses/nss-license nss-softokn: custom: false - skipped_cdts: - - cos6-x86_64 - - cos7-x86_64 license_file: licenses/nss-license nss-softokn-freebl: custom: false - skipped_cdts: - - cos6-x86_64 - - cos7-x86_64 license_file: licenses/nss-license nss-util: custom: false - skipped_cdts: - - cos6-x86_64 - - cos7-x86_64 license_file: licenses/nss-license numactl: custom: false diff --git a/cdts/at-spi-cos6-x86_64/build.sh b/cdts/at-spi-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/at-spi-cos6-x86_64/build.sh +++ b/cdts/at-spi-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-cos6-x86_64/meta.yaml b/cdts/at-spi-cos6-x86_64/meta.yaml index cdd7c9c7..e8f15b07 100644 --- a/cdts/at-spi-cos6-x86_64/meta.yaml +++ b/cdts/at-spi-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - libbonobo-cos6-x86_64 >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/at-spi-cos7-aarch64/build.sh b/cdts/at-spi-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/at-spi-cos7-aarch64/build.sh +++ b/cdts/at-spi-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-cos7-aarch64/meta.yaml b/cdts/at-spi-cos7-aarch64/meta.yaml index de2e2f4c..a46324b5 100644 --- a/cdts/at-spi-cos7-aarch64/meta.yaml +++ b/cdts/at-spi-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - libbonobo-cos7-aarch64 >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/at-spi-cos7-ppc64le/build.sh b/cdts/at-spi-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/at-spi-cos7-ppc64le/build.sh +++ b/cdts/at-spi-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-cos7-ppc64le/meta.yaml b/cdts/at-spi-cos7-ppc64le/meta.yaml index 51c3aa93..1bb61e7b 100644 --- a/cdts/at-spi-cos7-ppc64le/meta.yaml +++ b/cdts/at-spi-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - libbonobo-cos7-ppc64le >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/at-spi-cos7-x86_64/build.sh b/cdts/at-spi-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/at-spi-cos7-x86_64/build.sh +++ b/cdts/at-spi-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-cos7-x86_64/meta.yaml b/cdts/at-spi-cos7-x86_64/meta.yaml index 02bde4c7..74604170 100644 --- a/cdts/at-spi-cos7-x86_64/meta.yaml +++ b/cdts/at-spi-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - libbonobo-cos7-x86_64 >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/at-spi-devel-cos6-x86_64/build.sh b/cdts/at-spi-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/at-spi-devel-cos6-x86_64/build.sh +++ b/cdts/at-spi-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-devel-cos6-x86_64/meta.yaml b/cdts/at-spi-devel-cos6-x86_64/meta.yaml index 79ff161a..b2444c16 100644 --- a/cdts/at-spi-devel-cos6-x86_64/meta.yaml +++ b/cdts/at-spi-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: - libbonobo-devel-cos6-x86_64 >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/at-spi-devel-cos7-aarch64/build.sh b/cdts/at-spi-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/at-spi-devel-cos7-aarch64/build.sh +++ b/cdts/at-spi-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-devel-cos7-aarch64/meta.yaml b/cdts/at-spi-devel-cos7-aarch64/meta.yaml index 308bef36..badd74d4 100644 --- a/cdts/at-spi-devel-cos7-aarch64/meta.yaml +++ b/cdts/at-spi-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: - libbonobo-devel-cos7-aarch64 >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/at-spi-devel-cos7-ppc64le/build.sh b/cdts/at-spi-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/at-spi-devel-cos7-ppc64le/build.sh +++ b/cdts/at-spi-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-devel-cos7-ppc64le/meta.yaml b/cdts/at-spi-devel-cos7-ppc64le/meta.yaml index 931b8eda..375ca22a 100644 --- a/cdts/at-spi-devel-cos7-ppc64le/meta.yaml +++ b/cdts/at-spi-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: - libbonobo-devel-cos7-ppc64le >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/at-spi-devel-cos7-x86_64/build.sh b/cdts/at-spi-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/at-spi-devel-cos7-x86_64/build.sh +++ b/cdts/at-spi-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/at-spi-devel-cos7-x86_64/meta.yaml b/cdts/at-spi-devel-cos7-x86_64/meta.yaml index 7e706a35..e8557a7d 100644 --- a/cdts/at-spi-devel-cos7-x86_64/meta.yaml +++ b/cdts/at-spi-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: - libbonobo-devel-cos7-x86_64 >=2.4.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/atk-cos6-x86_64/build.sh b/cdts/atk-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/atk-cos6-x86_64/build.sh +++ b/cdts/atk-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-cos6-x86_64/meta.yaml b/cdts/atk-cos6-x86_64/meta.yaml index 2639bac1..c851e23f 100644 --- a/cdts/atk-cos6-x86_64/meta.yaml +++ b/cdts/atk-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/atk-cos7-aarch64/build.sh b/cdts/atk-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/atk-cos7-aarch64/build.sh +++ b/cdts/atk-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-cos7-aarch64/meta.yaml b/cdts/atk-cos7-aarch64/meta.yaml index d4b76f3c..333a649c 100644 --- a/cdts/atk-cos7-aarch64/meta.yaml +++ b/cdts/atk-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/cdts/atk-cos7-ppc64le/build.sh b/cdts/atk-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/atk-cos7-ppc64le/build.sh +++ b/cdts/atk-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-cos7-ppc64le/meta.yaml b/cdts/atk-cos7-ppc64le/meta.yaml index c01883df..3e593fa5 100644 --- a/cdts/atk-cos7-ppc64le/meta.yaml +++ b/cdts/atk-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/cdts/atk-cos7-x86_64/build.sh b/cdts/atk-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/atk-cos7-x86_64/build.sh +++ b/cdts/atk-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-cos7-x86_64/meta.yaml b/cdts/atk-cos7-x86_64/meta.yaml index 0335138e..8e081fed 100644 --- a/cdts/atk-cos7-x86_64/meta.yaml +++ b/cdts/atk-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/cdts/atk-devel-cos6-x86_64/build.sh b/cdts/atk-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/atk-devel-cos6-x86_64/build.sh +++ b/cdts/atk-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-devel-cos6-x86_64/meta.yaml b/cdts/atk-devel-cos6-x86_64/meta.yaml index d16c8702..d8e5026e 100644 --- a/cdts/atk-devel-cos6-x86_64/meta.yaml +++ b/cdts/atk-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - glib2-devel-cos6-x86_64 >=2.6.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/cdts/atk-devel-cos7-aarch64/build.sh b/cdts/atk-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/atk-devel-cos7-aarch64/build.sh +++ b/cdts/atk-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-devel-cos7-aarch64/meta.yaml b/cdts/atk-devel-cos7-aarch64/meta.yaml index 5c51b8c9..e47cc1bf 100644 --- a/cdts/atk-devel-cos7-aarch64/meta.yaml +++ b/cdts/atk-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - atk-cos7-aarch64 ==2.28.1 *_{{ cdt_build_number|int + 1000 }} host: + - atk-cos7-aarch64 ==2.28.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - atk-cos7-aarch64 ==2.28.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/cdts/atk-devel-cos7-ppc64le/build.sh b/cdts/atk-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/atk-devel-cos7-ppc64le/build.sh +++ b/cdts/atk-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-devel-cos7-ppc64le/meta.yaml b/cdts/atk-devel-cos7-ppc64le/meta.yaml index 21935822..f8af937a 100644 --- a/cdts/atk-devel-cos7-ppc64le/meta.yaml +++ b/cdts/atk-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - atk-cos7-ppc64le ==2.28.1 *_{{ cdt_build_number|int + 1000 }} host: + - atk-cos7-ppc64le ==2.28.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - atk-cos7-ppc64le ==2.28.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/cdts/atk-devel-cos7-x86_64/build.sh b/cdts/atk-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/atk-devel-cos7-x86_64/build.sh +++ b/cdts/atk-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/atk-devel-cos7-x86_64/meta.yaml b/cdts/atk-devel-cos7-x86_64/meta.yaml index 37099ef2..d61bae9c 100644 --- a/cdts/atk-devel-cos7-x86_64/meta.yaml +++ b/cdts/atk-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - atk-cos7-x86_64 ==2.28.1 *_{{ cdt_build_number|int + 1000 }} host: + - atk-cos7-x86_64 ==2.28.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - atk-cos7-x86_64 ==2.28.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/cdts/ca-certificates-cos6-x86_64/build.sh b/cdts/ca-certificates-cos6-x86_64/build.sh index 618b9b48..44dc3055 100755 --- a/cdts/ca-certificates-cos6-x86_64/build.sh +++ b/cdts/ca-certificates-cos6-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/ca-certificates-cos6-x86_64/meta.yaml b/cdts/ca-certificates-cos6-x86_64/meta.yaml index d2751c9d..093cef2b 100644 --- a/cdts/ca-certificates-cos6-x86_64/meta.yaml +++ b/cdts/ca-certificates-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/ca-certificates-cos7-aarch64/build.sh b/cdts/ca-certificates-cos7-aarch64/build.sh index f469fc60..84d07d87 100755 --- a/cdts/ca-certificates-cos7-aarch64/build.sh +++ b/cdts/ca-certificates-cos7-aarch64/build.sh @@ -51,9 +51,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -61,6 +72,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/ca-certificates-cos7-aarch64/meta.yaml b/cdts/ca-certificates-cos7-aarch64/meta.yaml index 2629df67..b35be061 100644 --- a/cdts/ca-certificates-cos7-aarch64/meta.yaml +++ b/cdts/ca-certificates-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/ca-certificates-cos7-ppc64le/build.sh b/cdts/ca-certificates-cos7-ppc64le/build.sh index 6ac34d39..dc81f736 100755 --- a/cdts/ca-certificates-cos7-ppc64le/build.sh +++ b/cdts/ca-certificates-cos7-ppc64le/build.sh @@ -51,9 +51,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -61,6 +72,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/ca-certificates-cos7-ppc64le/meta.yaml b/cdts/ca-certificates-cos7-ppc64le/meta.yaml index 47bead67..9edbf4da 100644 --- a/cdts/ca-certificates-cos7-ppc64le/meta.yaml +++ b/cdts/ca-certificates-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/ca-certificates-cos7-x86_64/build.sh b/cdts/ca-certificates-cos7-x86_64/build.sh index 696859cd..11706cc0 100755 --- a/cdts/ca-certificates-cos7-x86_64/build.sh +++ b/cdts/ca-certificates-cos7-x86_64/build.sh @@ -51,9 +51,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -61,6 +72,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/ca-certificates-cos7-x86_64/meta.yaml b/cdts/ca-certificates-cos7-x86_64/meta.yaml index 234ff504..7a197b95 100644 --- a/cdts/ca-certificates-cos7-x86_64/meta.yaml +++ b/cdts/ca-certificates-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/cairo-cos6-x86_64/build.sh b/cdts/cairo-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/cairo-cos6-x86_64/build.sh +++ b/cdts/cairo-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-cos6-x86_64/meta.yaml b/cdts/cairo-cos6-x86_64/meta.yaml index 74335838..67b73ed5 100644 --- a/cdts/cairo-cos6-x86_64/meta.yaml +++ b/cdts/cairo-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/cdts/cairo-cos7-aarch64/build.sh b/cdts/cairo-cos7-aarch64/build.sh new file mode 100755 index 00000000..ca6ebc1a --- /dev/null +++ b/cdts/cairo-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-cos7-aarch64/meta.yaml b/cdts/cairo-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..432741d1 --- /dev/null +++ b/cdts/cairo-cos7-aarch64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: cairo-cos7-aarch64 + version: 1.15.12 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/cairo-1.15.12-4.el7.aarch64.rpm + sha256: f76597b4a144bc615fd2fcf3f978adfb2a3b14c48564a315e2440e0e06807311 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/cairo-1.15.12-4.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-aarch64 2.17.* + run: + - sysroot_linux-aarch64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://cairographics.org + license: LGPLv2 or MPLv1.1 + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/cairo-1.15.12/COPYING-MPL-1.1 + summary: "(CDT) A 2D graphics library" + description: | + Cairo is a 2D graphics library designed to provide high-quality display and + print output. Currently supported output targets include the X Window System, + in-memory image buffers, and image files (PDF, PostScript, and SVG). Cairo is + designed to produce consistent output on all output media while taking + advantage of display hardware acceleration when available. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/cairo-cos7-ppc64le/build.sh b/cdts/cairo-cos7-ppc64le/build.sh new file mode 100755 index 00000000..b4d65ea7 --- /dev/null +++ b/cdts/cairo-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-cos7-ppc64le/meta.yaml b/cdts/cairo-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..7b297855 --- /dev/null +++ b/cdts/cairo-cos7-ppc64le/meta.yaml @@ -0,0 +1,47 @@ +package: + name: cairo-cos7-ppc64le + version: 1.15.12 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/cairo-1.15.12-4.el7.ppc64le.rpm + sha256: 51a9c48460f4dcd1e57a2554f40982a4deaa8e5ab9afec24044e355d0ad6df6a + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/cairo-1.15.12-4.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-ppc64le 2.17.* + run: + - sysroot_linux-ppc64le 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://cairographics.org + license: LGPLv2 or MPLv1.1 + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/cairo-1.15.12/COPYING-MPL-1.1 + summary: "(CDT) A 2D graphics library" + description: | + Cairo is a 2D graphics library designed to provide high-quality display and + print output. Currently supported output targets include the X Window System, + in-memory image buffers, and image files (PDF, PostScript, and SVG). Cairo is + designed to produce consistent output on all output media while taking + advantage of display hardware acceleration when available. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/cairo-cos7-x86_64/build.sh b/cdts/cairo-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/cairo-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-cos7-x86_64/meta.yaml b/cdts/cairo-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..72117f15 --- /dev/null +++ b/cdts/cairo-cos7-x86_64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: cairo-cos7-x86_64 + version: 1.15.12 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/cairo-1.15.12-4.el7.x86_64.rpm + sha256: 0e9c08353e29032ef9613dfa2cfd6e921dfc0d4847da7f957793850631646d79 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/cairo-1.15.12-4.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.17.* + run: + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://cairographics.org + license: LGPLv2 or MPLv1.1 + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/cairo-1.15.12/COPYING-MPL-1.1 + summary: "(CDT) A 2D graphics library" + description: | + Cairo is a 2D graphics library designed to provide high-quality display and + print output. Currently supported output targets include the X Window System, + in-memory image buffers, and image files (PDF, PostScript, and SVG). Cairo is + designed to produce consistent output on all output media while taking + advantage of display hardware acceleration when available. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/cairo-devel-cos6-x86_64/build.sh b/cdts/cairo-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/cairo-devel-cos6-x86_64/build.sh +++ b/cdts/cairo-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-devel-cos6-x86_64/meta.yaml b/cdts/cairo-devel-cos6-x86_64/meta.yaml index cd55d0f0..ba380525 100644 --- a/cdts/cairo-devel-cos6-x86_64/meta.yaml +++ b/cdts/cairo-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -36,6 +38,10 @@ requirements: - pixman-devel-cos6-x86_64 >=0.12.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/cdts/cairo-devel-cos7-aarch64/build.sh b/cdts/cairo-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/cairo-devel-cos7-aarch64/build.sh +++ b/cdts/cairo-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-devel-cos7-aarch64/meta.yaml b/cdts/cairo-devel-cos7-aarch64/meta.yaml index c2c1df90..bf060158 100644 --- a/cdts/cairo-devel-cos7-aarch64/meta.yaml +++ b/cdts/cairo-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-aarch64 ==1.15.12 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-cos7-aarch64 ==1.15.12 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - cairo-cos7-aarch64 ==1.15.12 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/cdts/cairo-devel-cos7-ppc64le/build.sh b/cdts/cairo-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/cairo-devel-cos7-ppc64le/build.sh +++ b/cdts/cairo-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-devel-cos7-ppc64le/meta.yaml b/cdts/cairo-devel-cos7-ppc64le/meta.yaml index ffec9bcb..67ff9ea2 100644 --- a/cdts/cairo-devel-cos7-ppc64le/meta.yaml +++ b/cdts/cairo-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-ppc64le ==1.15.12 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-cos7-ppc64le ==1.15.12 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - cairo-cos7-ppc64le ==1.15.12 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/cdts/cairo-devel-cos7-x86_64/build.sh b/cdts/cairo-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/cairo-devel-cos7-x86_64/build.sh +++ b/cdts/cairo-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/cairo-devel-cos7-x86_64/meta.yaml b/cdts/cairo-devel-cos7-x86_64/meta.yaml index 2ddf36eb..b7692aba 100644 --- a/cdts/cairo-devel-cos7-x86_64/meta.yaml +++ b/cdts/cairo-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-x86_64 ==1.15.12 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-cos7-x86_64 ==1.15.12 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - cairo-cos7-x86_64 ==1.15.12 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/cdts/chkconfig-cos6-x86_64/build.sh b/cdts/chkconfig-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/chkconfig-cos6-x86_64/build.sh +++ b/cdts/chkconfig-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/chkconfig-cos6-x86_64/meta.yaml b/cdts/chkconfig-cos6-x86_64/meta.yaml index 71cea318..67caabb4 100644 --- a/cdts/chkconfig-cos6-x86_64/meta.yaml +++ b/cdts/chkconfig-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: chkconfig-cos6-x86_64 license: GPL-2.0-only diff --git a/cdts/chkconfig-cos7-aarch64/build.sh b/cdts/chkconfig-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/chkconfig-cos7-aarch64/build.sh +++ b/cdts/chkconfig-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/chkconfig-cos7-aarch64/meta.yaml b/cdts/chkconfig-cos7-aarch64/meta.yaml index 4db1acb8..1bd496e7 100644 --- a/cdts/chkconfig-cos7-aarch64/meta.yaml +++ b/cdts/chkconfig-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/fedora-sysv/chkconfig license: GPL-2.0-only diff --git a/cdts/chkconfig-cos7-ppc64le/build.sh b/cdts/chkconfig-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/chkconfig-cos7-ppc64le/build.sh +++ b/cdts/chkconfig-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/chkconfig-cos7-ppc64le/meta.yaml b/cdts/chkconfig-cos7-ppc64le/meta.yaml index 8fc36eeb..62467314 100644 --- a/cdts/chkconfig-cos7-ppc64le/meta.yaml +++ b/cdts/chkconfig-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/fedora-sysv/chkconfig license: GPL-2.0-only diff --git a/cdts/chkconfig-cos7-x86_64/build.sh b/cdts/chkconfig-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/chkconfig-cos7-x86_64/build.sh +++ b/cdts/chkconfig-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/chkconfig-cos7-x86_64/meta.yaml b/cdts/chkconfig-cos7-x86_64/meta.yaml index 1a361d94..e4588787 100644 --- a/cdts/chkconfig-cos7-x86_64/meta.yaml +++ b/cdts/chkconfig-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/fedora-sysv/chkconfig license: GPL-2.0-only diff --git a/cdts/copy-jdk-configs-cos6-x86_64/build.sh b/cdts/copy-jdk-configs-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/copy-jdk-configs-cos6-x86_64/build.sh +++ b/cdts/copy-jdk-configs-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/copy-jdk-configs-cos6-x86_64/meta.yaml b/cdts/copy-jdk-configs-cos6-x86_64/meta.yaml index 3d2ee6e9..ba35ef72 100644 --- a/cdts/copy-jdk-configs-cos6-x86_64/meta.yaml +++ b/cdts/copy-jdk-configs-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: https://pagure.io/copy_jdk_configs license: BSD diff --git a/cdts/copy-jdk-configs-cos7-aarch64/build.sh b/cdts/copy-jdk-configs-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/copy-jdk-configs-cos7-aarch64/build.sh +++ b/cdts/copy-jdk-configs-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/copy-jdk-configs-cos7-aarch64/meta.yaml b/cdts/copy-jdk-configs-cos7-aarch64/meta.yaml index 8ac1d2ce..9d4c03ea 100644 --- a/cdts/copy-jdk-configs-cos7-aarch64/meta.yaml +++ b/cdts/copy-jdk-configs-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://pagure.io/copy_jdk_configs license: BSD diff --git a/cdts/copy-jdk-configs-cos7-ppc64le/build.sh b/cdts/copy-jdk-configs-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/copy-jdk-configs-cos7-ppc64le/build.sh +++ b/cdts/copy-jdk-configs-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml b/cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml index f0697802..3cd11915 100644 --- a/cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml +++ b/cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://pagure.io/copy_jdk_configs license: BSD diff --git a/cdts/copy-jdk-configs-cos7-x86_64/build.sh b/cdts/copy-jdk-configs-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/copy-jdk-configs-cos7-x86_64/build.sh +++ b/cdts/copy-jdk-configs-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/copy-jdk-configs-cos7-x86_64/meta.yaml b/cdts/copy-jdk-configs-cos7-x86_64/meta.yaml index 9019bdf5..1ca0659b 100644 --- a/cdts/copy-jdk-configs-cos7-x86_64/meta.yaml +++ b/cdts/copy-jdk-configs-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://pagure.io/copy_jdk_configs license: BSD diff --git a/cdts/expat-cos6-x86_64/build.sh b/cdts/expat-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/expat-cos6-x86_64/build.sh +++ b/cdts/expat-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-cos6-x86_64/meta.yaml b/cdts/expat-cos6-x86_64/meta.yaml index 5ba8d5a4..8da0b1a4 100644 --- a/cdts/expat-cos6-x86_64/meta.yaml +++ b/cdts/expat-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/expat-cos7-aarch64/build.sh b/cdts/expat-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/expat-cos7-aarch64/build.sh +++ b/cdts/expat-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-cos7-aarch64/meta.yaml b/cdts/expat-cos7-aarch64/meta.yaml index c5d57466..0cd2ee42 100644 --- a/cdts/expat-cos7-aarch64/meta.yaml +++ b/cdts/expat-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/expat-cos7-ppc64le/build.sh b/cdts/expat-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/expat-cos7-ppc64le/build.sh +++ b/cdts/expat-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-cos7-ppc64le/meta.yaml b/cdts/expat-cos7-ppc64le/meta.yaml index 83470ef3..0b8fdc2f 100644 --- a/cdts/expat-cos7-ppc64le/meta.yaml +++ b/cdts/expat-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/expat-cos7-x86_64/build.sh b/cdts/expat-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/expat-cos7-x86_64/build.sh +++ b/cdts/expat-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-cos7-x86_64/meta.yaml b/cdts/expat-cos7-x86_64/meta.yaml index f68b9e48..96a06e85 100644 --- a/cdts/expat-cos7-x86_64/meta.yaml +++ b/cdts/expat-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/expat-devel-cos6-x86_64/build.sh b/cdts/expat-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/expat-devel-cos6-x86_64/build.sh +++ b/cdts/expat-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-devel-cos6-x86_64/meta.yaml b/cdts/expat-devel-cos6-x86_64/meta.yaml index d85a705f..0c5fd4a9 100644 --- a/cdts/expat-devel-cos6-x86_64/meta.yaml +++ b/cdts/expat-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - expat-cos6-x86_64 ==2.0.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/expat-devel-cos7-aarch64/build.sh b/cdts/expat-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/expat-devel-cos7-aarch64/build.sh +++ b/cdts/expat-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-devel-cos7-aarch64/meta.yaml b/cdts/expat-devel-cos7-aarch64/meta.yaml index 7126314a..40fbb8c5 100644 --- a/cdts/expat-devel-cos7-aarch64/meta.yaml +++ b/cdts/expat-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - expat-cos7-aarch64 ==2.1.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/expat-devel-cos7-ppc64le/build.sh b/cdts/expat-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/expat-devel-cos7-ppc64le/build.sh +++ b/cdts/expat-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-devel-cos7-ppc64le/meta.yaml b/cdts/expat-devel-cos7-ppc64le/meta.yaml index c877b992..2c01765b 100644 --- a/cdts/expat-devel-cos7-ppc64le/meta.yaml +++ b/cdts/expat-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - expat-cos7-ppc64le ==2.1.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/expat-devel-cos7-x86_64/build.sh b/cdts/expat-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/expat-devel-cos7-x86_64/build.sh +++ b/cdts/expat-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/expat-devel-cos7-x86_64/meta.yaml b/cdts/expat-devel-cos7-x86_64/meta.yaml index 517b64bf..16a6cb78 100644 --- a/cdts/expat-devel-cos7-x86_64/meta.yaml +++ b/cdts/expat-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - expat-cos7-x86_64 ==2.1.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/cdts/fontconfig-cos6-x86_64/build.sh b/cdts/fontconfig-cos6-x86_64/build.sh index 3a13b6bd..21d4c632 100755 --- a/cdts/fontconfig-cos6-x86_64/build.sh +++ b/cdts/fontconfig-cos6-x86_64/build.sh @@ -17,9 +17,13 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/etc/fonts/conf.d +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/etc/fonts/conf.d > /dev/null 2>&1 for fulllnk in $(find . -maxdepth 1 -type l); do lnk=$(basename ${fulllnk}) lnk_dst=$(readlink ${lnk}) @@ -28,5 +32,42 @@ for fulllnk in $(find . -maxdepth 1 -type l); do ln -s ${SYSROOT_DIR}${lnk_dst} ${SYSROOT_DIR}/etc/fonts/conf.d/${lnk} fi done -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-cos6-x86_64/meta.yaml b/cdts/fontconfig-cos6-x86_64/meta.yaml index 0f0ff165..eee8d013 100644 --- a/cdts/fontconfig-cos6-x86_64/meta.yaml +++ b/cdts/fontconfig-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos6-x86_64 >=2.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT diff --git a/cdts/fontconfig-cos7-aarch64/build.sh b/cdts/fontconfig-cos7-aarch64/build.sh index 6a5b458e..7fba42c2 100755 --- a/cdts/fontconfig-cos7-aarch64/build.sh +++ b/cdts/fontconfig-cos7-aarch64/build.sh @@ -17,9 +17,13 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/etc/fonts/conf.d +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/etc/fonts/conf.d > /dev/null 2>&1 for fulllnk in $(find . -maxdepth 1 -type l); do lnk=$(basename ${fulllnk}) lnk_dst=$(readlink ${lnk}) @@ -28,5 +32,42 @@ for fulllnk in $(find . -maxdepth 1 -type l); do ln -s ${SYSROOT_DIR}${lnk_dst} ${SYSROOT_DIR}/etc/fonts/conf.d/${lnk} fi done -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-cos7-aarch64/meta.yaml b/cdts/fontconfig-cos7-aarch64/meta.yaml index 67272d7d..9b589244 100644 --- a/cdts/fontconfig-cos7-aarch64/meta.yaml +++ b/cdts/fontconfig-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos7-aarch64 >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/cdts/fontconfig-cos7-ppc64le/build.sh b/cdts/fontconfig-cos7-ppc64le/build.sh index cff79b30..e469538c 100755 --- a/cdts/fontconfig-cos7-ppc64le/build.sh +++ b/cdts/fontconfig-cos7-ppc64le/build.sh @@ -17,9 +17,13 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/etc/fonts/conf.d +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/etc/fonts/conf.d > /dev/null 2>&1 for fulllnk in $(find . -maxdepth 1 -type l); do lnk=$(basename ${fulllnk}) lnk_dst=$(readlink ${lnk}) @@ -28,5 +32,42 @@ for fulllnk in $(find . -maxdepth 1 -type l); do ln -s ${SYSROOT_DIR}${lnk_dst} ${SYSROOT_DIR}/etc/fonts/conf.d/${lnk} fi done -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-cos7-ppc64le/meta.yaml b/cdts/fontconfig-cos7-ppc64le/meta.yaml index 548968b7..067b89c5 100644 --- a/cdts/fontconfig-cos7-ppc64le/meta.yaml +++ b/cdts/fontconfig-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos7-ppc64le >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/cdts/fontconfig-cos7-x86_64/build.sh b/cdts/fontconfig-cos7-x86_64/build.sh index 3a13b6bd..21d4c632 100755 --- a/cdts/fontconfig-cos7-x86_64/build.sh +++ b/cdts/fontconfig-cos7-x86_64/build.sh @@ -17,9 +17,13 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/etc/fonts/conf.d +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/etc/fonts/conf.d > /dev/null 2>&1 for fulllnk in $(find . -maxdepth 1 -type l); do lnk=$(basename ${fulllnk}) lnk_dst=$(readlink ${lnk}) @@ -28,5 +32,42 @@ for fulllnk in $(find . -maxdepth 1 -type l); do ln -s ${SYSROOT_DIR}${lnk_dst} ${SYSROOT_DIR}/etc/fonts/conf.d/${lnk} fi done -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-cos7-x86_64/meta.yaml b/cdts/fontconfig-cos7-x86_64/meta.yaml index 6c9bee30..f0d0066c 100644 --- a/cdts/fontconfig-cos7-x86_64/meta.yaml +++ b/cdts/fontconfig-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos7-x86_64 >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/cdts/fontconfig-devel-cos6-x86_64/build.sh b/cdts/fontconfig-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/fontconfig-devel-cos6-x86_64/build.sh +++ b/cdts/fontconfig-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-devel-cos6-x86_64/meta.yaml b/cdts/fontconfig-devel-cos6-x86_64/meta.yaml index e0dc7280..01478520 100644 --- a/cdts/fontconfig-devel-cos6-x86_64/meta.yaml +++ b/cdts/fontconfig-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - freetype-devel-cos6-x86_64 >=2.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT diff --git a/cdts/fontconfig-devel-cos7-aarch64/build.sh b/cdts/fontconfig-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/fontconfig-devel-cos7-aarch64/build.sh +++ b/cdts/fontconfig-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-devel-cos7-aarch64/meta.yaml b/cdts/fontconfig-devel-cos7-aarch64/meta.yaml index 749e464d..4c37078c 100644 --- a/cdts/fontconfig-devel-cos7-aarch64/meta.yaml +++ b/cdts/fontconfig-devel-cos7-aarch64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - fontconfig-cos7-aarch64 ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-aarch64 >=2.8 *_{{ cdt_build_number|int + 1000 }} host: + - fontconfig-cos7-aarch64 ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-aarch64 >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - fontconfig-cos7-aarch64 ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-aarch64 >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/cdts/fontconfig-devel-cos7-ppc64le/build.sh b/cdts/fontconfig-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/fontconfig-devel-cos7-ppc64le/build.sh +++ b/cdts/fontconfig-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-devel-cos7-ppc64le/meta.yaml b/cdts/fontconfig-devel-cos7-ppc64le/meta.yaml index e73cd536..ec99e52c 100644 --- a/cdts/fontconfig-devel-cos7-ppc64le/meta.yaml +++ b/cdts/fontconfig-devel-cos7-ppc64le/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - fontconfig-cos7-ppc64le ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-ppc64le >=2.8 *_{{ cdt_build_number|int + 1000 }} host: + - fontconfig-cos7-ppc64le ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-ppc64le >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - fontconfig-cos7-ppc64le ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-ppc64le >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/cdts/fontconfig-devel-cos7-x86_64/build.sh b/cdts/fontconfig-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/fontconfig-devel-cos7-x86_64/build.sh +++ b/cdts/fontconfig-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fontconfig-devel-cos7-x86_64/meta.yaml b/cdts/fontconfig-devel-cos7-x86_64/meta.yaml index 912cd7ff..5bf8bceb 100644 --- a/cdts/fontconfig-devel-cos7-x86_64/meta.yaml +++ b/cdts/fontconfig-devel-cos7-x86_64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - fontconfig-cos7-x86_64 ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-x86_64 >=2.8 *_{{ cdt_build_number|int + 1000 }} host: + - fontconfig-cos7-x86_64 ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-x86_64 >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - fontconfig-cos7-x86_64 ==2.13.0 *_{{ cdt_build_number|int + 1000 }} - freetype-devel-cos7-x86_64 >=2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/cdts/freetype-cos6-x86_64/build.sh b/cdts/freetype-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/freetype-cos6-x86_64/build.sh +++ b/cdts/freetype-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-cos6-x86_64/meta.yaml b/cdts/freetype-cos6-x86_64/meta.yaml index 3f492bbc..76b7ecc2 100644 --- a/cdts/freetype-cos6-x86_64/meta.yaml +++ b/cdts/freetype-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: FTL or GPLv2+ diff --git a/cdts/freetype-cos7-aarch64/build.sh b/cdts/freetype-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/freetype-cos7-aarch64/build.sh +++ b/cdts/freetype-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-cos7-aarch64/meta.yaml b/cdts/freetype-cos7-aarch64/meta.yaml index 4247b583..8a16e74d 100644 --- a/cdts/freetype-cos7-aarch64/meta.yaml +++ b/cdts/freetype-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/cdts/freetype-cos7-ppc64le/build.sh b/cdts/freetype-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/freetype-cos7-ppc64le/build.sh +++ b/cdts/freetype-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-cos7-ppc64le/meta.yaml b/cdts/freetype-cos7-ppc64le/meta.yaml index 62b98171..65504a05 100644 --- a/cdts/freetype-cos7-ppc64le/meta.yaml +++ b/cdts/freetype-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/cdts/freetype-cos7-x86_64/build.sh b/cdts/freetype-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/freetype-cos7-x86_64/build.sh +++ b/cdts/freetype-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-cos7-x86_64/meta.yaml b/cdts/freetype-cos7-x86_64/meta.yaml index 8f4fee0c..5ff9e975 100644 --- a/cdts/freetype-cos7-x86_64/meta.yaml +++ b/cdts/freetype-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/cdts/freetype-devel-cos6-x86_64/build.sh b/cdts/freetype-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/freetype-devel-cos6-x86_64/build.sh +++ b/cdts/freetype-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-devel-cos6-x86_64/meta.yaml b/cdts/freetype-devel-cos6-x86_64/meta.yaml index 62b850bb..d2a61dc1 100644 --- a/cdts/freetype-devel-cos6-x86_64/meta.yaml +++ b/cdts/freetype-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos6-x86_64 ==2.3.11 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: FTL or GPLv2+ diff --git a/cdts/freetype-devel-cos7-aarch64/build.sh b/cdts/freetype-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/freetype-devel-cos7-aarch64/build.sh +++ b/cdts/freetype-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-devel-cos7-aarch64/meta.yaml b/cdts/freetype-devel-cos7-aarch64/meta.yaml index bab89658..8a2bbe30 100644 --- a/cdts/freetype-devel-cos7-aarch64/meta.yaml +++ b/cdts/freetype-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos7-aarch64 ==2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/cdts/freetype-devel-cos7-ppc64le/build.sh b/cdts/freetype-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/freetype-devel-cos7-ppc64le/build.sh +++ b/cdts/freetype-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-devel-cos7-ppc64le/meta.yaml b/cdts/freetype-devel-cos7-ppc64le/meta.yaml index 7f24423e..93d6bd31 100644 --- a/cdts/freetype-devel-cos7-ppc64le/meta.yaml +++ b/cdts/freetype-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos7-ppc64le ==2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/cdts/freetype-devel-cos7-x86_64/build.sh b/cdts/freetype-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/freetype-devel-cos7-x86_64/build.sh +++ b/cdts/freetype-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/freetype-devel-cos7-x86_64/meta.yaml b/cdts/freetype-devel-cos7-x86_64/meta.yaml index ff86f90b..86a4f2a9 100644 --- a/cdts/freetype-devel-cos7-x86_64/meta.yaml +++ b/cdts/freetype-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - freetype-cos7-x86_64 ==2.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/cdts/fribidi-cos7-aarch64/build.sh b/cdts/fribidi-cos7-aarch64/build.sh new file mode 100755 index 00000000..ca6ebc1a --- /dev/null +++ b/cdts/fribidi-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fribidi-cos7-aarch64/meta.yaml b/cdts/fribidi-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..23c6c005 --- /dev/null +++ b/cdts/fribidi-cos7-aarch64/meta.yaml @@ -0,0 +1,45 @@ +package: + name: fribidi-cos7-aarch64 + version: 1.0.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/fribidi-1.0.2-1.el7_7.1.aarch64.rpm + sha256: f4914b2c4fde823c5a8ad9bfcaf569a0eee037361f3925411ce1384972c6f252 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/fribidi-1.0.2-1.el7_7.1.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-aarch64 2.17.* + run: + - sysroot_linux-aarch64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/fribidi/fribidi/ + license: LGPLv2+ and UCD + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/fribidi-1.0.2/COPYING + summary: "(CDT) Library implementing the Unicode Bidirectional Algorithm" + description: | + A library to handle bidirectional scripts (for example Hebrew, Arabic), so + that the display is done in the proper way; while the text data itself is + always written in logical order. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/fribidi-cos7-ppc64le/build.sh b/cdts/fribidi-cos7-ppc64le/build.sh new file mode 100755 index 00000000..b4d65ea7 --- /dev/null +++ b/cdts/fribidi-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fribidi-cos7-ppc64le/meta.yaml b/cdts/fribidi-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..6451fc41 --- /dev/null +++ b/cdts/fribidi-cos7-ppc64le/meta.yaml @@ -0,0 +1,45 @@ +package: + name: fribidi-cos7-ppc64le + version: 1.0.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/fribidi-1.0.2-1.el7_7.1.ppc64le.rpm + sha256: 0ee910467ea7a92e5b5225757b8c6c0714c2057e5542c6b2104ce112bf04d2b8 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/fribidi-1.0.2-1.el7_7.1.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-ppc64le 2.17.* + run: + - sysroot_linux-ppc64le 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/fribidi/fribidi/ + license: LGPLv2+ and UCD + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/fribidi-1.0.2/COPYING + summary: "(CDT) Library implementing the Unicode Bidirectional Algorithm" + description: | + A library to handle bidirectional scripts (for example Hebrew, Arabic), so + that the display is done in the proper way; while the text data itself is + always written in logical order. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/fribidi-cos7-x86_64/build.sh b/cdts/fribidi-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/fribidi-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/fribidi-cos7-x86_64/meta.yaml b/cdts/fribidi-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..dcffbbf1 --- /dev/null +++ b/cdts/fribidi-cos7-x86_64/meta.yaml @@ -0,0 +1,45 @@ +package: + name: fribidi-cos7-x86_64 + version: 1.0.2 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/fribidi-1.0.2-1.el7_7.1.x86_64.rpm + sha256: 4f465f6e5d04990c70f786cb6e432bad2ef2094fd06f71213fedaa8bb51ac668 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/fribidi-1.0.2-1.el7_7.1.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.17.* + run: + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/fribidi/fribidi/ + license: LGPLv2+ and UCD + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/fribidi-1.0.2/COPYING + summary: "(CDT) Library implementing the Unicode Bidirectional Algorithm" + description: | + A library to handle bidirectional scripts (for example Hebrew, Arabic), so + that the display is done in the proper way; while the text data itself is + always written in logical order. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/gdk-pixbuf2-cos6-x86_64/build.sh b/cdts/gdk-pixbuf2-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/gdk-pixbuf2-cos6-x86_64/build.sh +++ b/cdts/gdk-pixbuf2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml b/cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml index 87e37995..41ed5c36 100644 --- a/cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml +++ b/cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gt.org license: LGPLv2+ and (LGPLv2+ or MPLv1.1) and Public Domain diff --git a/cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh b/cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh +++ b/cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml b/cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml index 84bbe58a..a37fa07a 100644 --- a/cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml +++ b/cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - gdk-pixbuf2-cos6-x86_64 ==2.24.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gt.org license: LGPLv2+ and (LGPLv2+ or MPLv1.1) and Public Domain diff --git a/cdts/glib2-cos6-x86_64/build.sh b/cdts/glib2-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/glib2-cos6-x86_64/build.sh +++ b/cdts/glib2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-cos6-x86_64/meta.yaml b/cdts/glib2-cos6-x86_64/meta.yaml index d1a44ca7..f9f89bd1 100644 --- a/cdts/glib2-cos6-x86_64/meta.yaml +++ b/cdts/glib2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/glib2-cos7-aarch64/build.sh b/cdts/glib2-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/glib2-cos7-aarch64/build.sh +++ b/cdts/glib2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-cos7-aarch64/meta.yaml b/cdts/glib2-cos7-aarch64/meta.yaml index dcde89d7..66e3828c 100644 --- a/cdts/glib2-cos7-aarch64/meta.yaml +++ b/cdts/glib2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/glib2-cos7-ppc64le/build.sh b/cdts/glib2-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/glib2-cos7-ppc64le/build.sh +++ b/cdts/glib2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-cos7-ppc64le/meta.yaml b/cdts/glib2-cos7-ppc64le/meta.yaml index 8cda1953..3e52c2e0 100644 --- a/cdts/glib2-cos7-ppc64le/meta.yaml +++ b/cdts/glib2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/glib2-cos7-x86_64/build.sh b/cdts/glib2-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/glib2-cos7-x86_64/build.sh +++ b/cdts/glib2-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-cos7-x86_64/meta.yaml b/cdts/glib2-cos7-x86_64/meta.yaml index 107a0f8f..9f6c9595 100644 --- a/cdts/glib2-cos7-x86_64/meta.yaml +++ b/cdts/glib2-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/glib2-devel-cos6-x86_64/build.sh b/cdts/glib2-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/glib2-devel-cos6-x86_64/build.sh +++ b/cdts/glib2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-devel-cos6-x86_64/meta.yaml b/cdts/glib2-devel-cos6-x86_64/meta.yaml index 74c6d92c..ae3cf536 100644 --- a/cdts/glib2-devel-cos6-x86_64/meta.yaml +++ b/cdts/glib2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - pkgconfig-cos6-x86_64 >=0.14 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/glib2-devel-cos7-aarch64/build.sh b/cdts/glib2-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/glib2-devel-cos7-aarch64/build.sh +++ b/cdts/glib2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-devel-cos7-aarch64/meta.yaml b/cdts/glib2-devel-cos7-aarch64/meta.yaml index a1615cb3..b4d71a36 100644 --- a/cdts/glib2-devel-cos7-aarch64/meta.yaml +++ b/cdts/glib2-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - glib2-cos7-aarch64 ==2.56.1 *_{{ cdt_build_number|int + 1000 }} host: + - glib2-cos7-aarch64 ==2.56.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - glib2-cos7-aarch64 ==2.56.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/glib2-devel-cos7-ppc64le/build.sh b/cdts/glib2-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/glib2-devel-cos7-ppc64le/build.sh +++ b/cdts/glib2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-devel-cos7-ppc64le/meta.yaml b/cdts/glib2-devel-cos7-ppc64le/meta.yaml index cd7200f0..6971fb1f 100644 --- a/cdts/glib2-devel-cos7-ppc64le/meta.yaml +++ b/cdts/glib2-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - glib2-cos7-ppc64le ==2.56.1 *_{{ cdt_build_number|int + 1000 }} host: + - glib2-cos7-ppc64le ==2.56.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - glib2-cos7-ppc64le ==2.56.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/glib2-devel-cos7-x86_64/build.sh b/cdts/glib2-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/glib2-devel-cos7-x86_64/build.sh +++ b/cdts/glib2-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/glib2-devel-cos7-x86_64/meta.yaml b/cdts/glib2-devel-cos7-x86_64/meta.yaml index 3e33e196..e0c4c370 100644 --- a/cdts/glib2-devel-cos7-x86_64/meta.yaml +++ b/cdts/glib2-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - glib2-cos7-x86_64 ==2.56.1 *_{{ cdt_build_number|int + 1000 }} host: + - glib2-cos7-x86_64 ==2.56.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - glib2-cos7-x86_64 ==2.56.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-cos6-x86_64/build.sh b/cdts/gtk2-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/gtk2-cos6-x86_64/build.sh +++ b/cdts/gtk2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-cos6-x86_64/meta.yaml b/cdts/gtk2-cos6-x86_64/meta.yaml index baf99a96..870f9aef 100644 --- a/cdts/gtk2-cos6-x86_64/meta.yaml +++ b/cdts/gtk2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-cos6-x86_64 >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-cos7-aarch64/build.sh b/cdts/gtk2-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/gtk2-cos7-aarch64/build.sh +++ b/cdts/gtk2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-cos7-aarch64/meta.yaml b/cdts/gtk2-cos7-aarch64/meta.yaml index 3d509444..939fbae8 100644 --- a/cdts/gtk2-cos7-aarch64/meta.yaml +++ b/cdts/gtk2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-cos7-aarch64 >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-cos7-ppc64le/build.sh b/cdts/gtk2-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/gtk2-cos7-ppc64le/build.sh +++ b/cdts/gtk2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-cos7-ppc64le/meta.yaml b/cdts/gtk2-cos7-ppc64le/meta.yaml index 8155d029..812cce35 100644 --- a/cdts/gtk2-cos7-ppc64le/meta.yaml +++ b/cdts/gtk2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-cos7-ppc64le >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-cos7-x86_64/build.sh b/cdts/gtk2-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/gtk2-cos7-x86_64/build.sh +++ b/cdts/gtk2-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-cos7-x86_64/meta.yaml b/cdts/gtk2-cos7-x86_64/meta.yaml index ca52a11c..7bdd12f3 100644 --- a/cdts/gtk2-cos7-x86_64/meta.yaml +++ b/cdts/gtk2-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-cos7-x86_64 >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-devel-cos6-x86_64/build.sh b/cdts/gtk2-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/gtk2-devel-cos6-x86_64/build.sh +++ b/cdts/gtk2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-devel-cos6-x86_64/meta.yaml b/cdts/gtk2-devel-cos6-x86_64/meta.yaml index 7f8c7edd..da7a00cd 100644 --- a/cdts/gtk2-devel-cos6-x86_64/meta.yaml +++ b/cdts/gtk2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: - pango-devel-cos6-x86_64 >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-devel-cos7-aarch64/build.sh b/cdts/gtk2-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/gtk2-devel-cos7-aarch64/build.sh +++ b/cdts/gtk2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-devel-cos7-aarch64/meta.yaml b/cdts/gtk2-devel-cos7-aarch64/meta.yaml index b9a57557..3650347f 100644 --- a/cdts/gtk2-devel-cos7-aarch64/meta.yaml +++ b/cdts/gtk2-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-devel-cos7-aarch64 >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-devel-cos7-ppc64le/build.sh b/cdts/gtk2-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/gtk2-devel-cos7-ppc64le/build.sh +++ b/cdts/gtk2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-devel-cos7-ppc64le/meta.yaml b/cdts/gtk2-devel-cos7-ppc64le/meta.yaml index 1a9dfce7..49259abf 100644 --- a/cdts/gtk2-devel-cos7-ppc64le/meta.yaml +++ b/cdts/gtk2-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-devel-cos7-ppc64le >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/gtk2-devel-cos7-x86_64/build.sh b/cdts/gtk2-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/gtk2-devel-cos7-x86_64/build.sh +++ b/cdts/gtk2-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/gtk2-devel-cos7-x86_64/meta.yaml b/cdts/gtk2-devel-cos7-x86_64/meta.yaml index ee00184f..7ae9accc 100644 --- a/cdts/gtk2-devel-cos7-x86_64/meta.yaml +++ b/cdts/gtk2-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-devel-cos7-x86_64 >=1.20.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/cdts/harfbuzz-cos7-aarch64/build.sh b/cdts/harfbuzz-cos7-aarch64/build.sh new file mode 100755 index 00000000..ca6ebc1a --- /dev/null +++ b/cdts/harfbuzz-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/harfbuzz-cos7-aarch64/meta.yaml b/cdts/harfbuzz-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..2bc7adf8 --- /dev/null +++ b/cdts/harfbuzz-cos7-aarch64/meta.yaml @@ -0,0 +1,43 @@ +package: + name: harfbuzz-cos7-aarch64 + version: 1.7.5 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/harfbuzz-1.7.5-2.el7.aarch64.rpm + sha256: 8229d1e457c709a2a54cfd05b2682011d253d9060ac53c14c297355540bd225b + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/harfbuzz-1.7.5-2.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-aarch64 2.17.* + run: + - sysroot_linux-aarch64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://freedesktop.org/wiki/Software/HarfBuzz + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/harfbuzz-1.7.5/COPYING + summary: "(CDT) Text shaping library" + description: | + HarfBuzz is an implementation of the OpenType Layout engine. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/harfbuzz-cos7-ppc64le/build.sh b/cdts/harfbuzz-cos7-ppc64le/build.sh new file mode 100755 index 00000000..b4d65ea7 --- /dev/null +++ b/cdts/harfbuzz-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/harfbuzz-cos7-ppc64le/meta.yaml b/cdts/harfbuzz-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..b7ffaef6 --- /dev/null +++ b/cdts/harfbuzz-cos7-ppc64le/meta.yaml @@ -0,0 +1,43 @@ +package: + name: harfbuzz-cos7-ppc64le + version: 1.7.5 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/harfbuzz-1.7.5-2.el7.ppc64le.rpm + sha256: c8adb94957c9310a524ec93c6ee04cd42630cfcb3b961d25095b87838dcbfd68 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/harfbuzz-1.7.5-2.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-ppc64le 2.17.* + run: + - sysroot_linux-ppc64le 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://freedesktop.org/wiki/Software/HarfBuzz + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/harfbuzz-1.7.5/COPYING + summary: "(CDT) Text shaping library" + description: | + HarfBuzz is an implementation of the OpenType Layout engine. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/harfbuzz-cos7-x86_64/build.sh b/cdts/harfbuzz-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/harfbuzz-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/harfbuzz-cos7-x86_64/meta.yaml b/cdts/harfbuzz-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..e786b4e4 --- /dev/null +++ b/cdts/harfbuzz-cos7-x86_64/meta.yaml @@ -0,0 +1,43 @@ +package: + name: harfbuzz-cos7-x86_64 + version: 1.7.5 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/harfbuzz-1.7.5-2.el7.x86_64.rpm + sha256: 3b99fde0c10155533b6e60202089d6e8ba99cf8aef0dea593164d9da90b08a21 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/harfbuzz-1.7.5-2.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.17.* + run: + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://freedesktop.org/wiki/Software/HarfBuzz + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/harfbuzz-1.7.5/COPYING + summary: "(CDT) Text shaping library" + description: | + HarfBuzz is an implementation of the OpenType Layout engine. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh b/cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh index bde95a4e..21fa1c53 100755 --- a/cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh +++ b/cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh @@ -17,4 +17,53 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") +jvm_slug=$(basename ${jvm_slug}) + +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 +mkdir -p ../../../../../../../etc/pki/java/cacerts +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml b/cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml index 840a97eb..fec67d57 100644 --- a/cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml +++ b/cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -22,17 +24,27 @@ requirements: - copy-jdk-configs-cos6-x86_64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - jpackage-utils-cos6-x86_64 >=1.7.3 *_{{ cdt_build_number|int + 1000 }} - libjpeg-turbo-cos6-x86_64 ==1.2.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos6-x86_64 >=3.28.4 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} host: - copy-jdk-configs-cos6-x86_64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - jpackage-utils-cos6-x86_64 >=1.7.3 *_{{ cdt_build_number|int + 1000 }} - libjpeg-turbo-cos6-x86_64 ==1.2.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos6-x86_64 >=3.28.4 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* run: - copy-jdk-configs-cos6-x86_64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - jpackage-utils-cos6-x86_64 >=1.7.3 *_{{ cdt_build_number|int + 1000 }} - libjpeg-turbo-cos6-x86_64 ==1.2.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos6-x86_64 >=3.28.4 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh b/cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh +++ b/cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml b/cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml index bce8747e..b44b7585 100644 --- a/cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml +++ b/cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - java-1.7.0-openjdk-headless-cos7-aarch64 ==1.7.0.251 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh b/cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh +++ b/cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml b/cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml index 66d58f9f..fa5503c0 100644 --- a/cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml +++ b/cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - java-1.7.0-openjdk-headless-cos7-ppc64le ==1.7.0.251 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/cdts/java-1.7.0-openjdk-cos7-x86_64/build.sh b/cdts/java-1.7.0-openjdk-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/java-1.7.0-openjdk-cos7-x86_64/build.sh +++ b/cdts/java-1.7.0-openjdk-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/java-1.7.0-openjdk-cos7-x86_64/meta.yaml b/cdts/java-1.7.0-openjdk-cos7-x86_64/meta.yaml index 72d2c810..8eea4c3b 100644 --- a/cdts/java-1.7.0-openjdk-cos7-x86_64/meta.yaml +++ b/cdts/java-1.7.0-openjdk-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - java-1.7.0-openjdk-headless-cos7-x86_64 ==1.7.0.251 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh b/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh index 36efcdac..63d46e92 100755 --- a/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh +++ b/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh @@ -17,21 +17,58 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED + +# CONDA-FORGE BUILD APPEND jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") jvm_slug=$(basename ${jvm_slug}) -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt > /dev/null 2>&1 rm -rf lib ln -s ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt/lib -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 mkdir -p ../../../../../../../etc/pki/java/cacerts -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml b/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml index 25204c41..75aeabd3 100644 --- a/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml +++ b/cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,19 +25,29 @@ requirements: - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-aarch64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-aarch64 >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} host: - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-aarch64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-aarch64 >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-aarch64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-aarch64 >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh b/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh index 68d37232..f15ceea8 100755 --- a/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh +++ b/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh @@ -17,21 +17,58 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED + +# CONDA-FORGE BUILD APPEND jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") jvm_slug=$(basename ${jvm_slug}) -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt > /dev/null 2>&1 rm -rf lib ln -s ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt/lib -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 mkdir -p ../../../../../../../etc/pki/java/cacerts -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml b/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml index 054aef60..a1500ee5 100644 --- a/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml +++ b/cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,19 +25,29 @@ requirements: - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-ppc64le >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-ppc64le >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} host: - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number|int + 1000 }} - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-ppc64le >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-ppc64le >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number|int + 1000 }} - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-ppc64le >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-ppc64le >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/build.sh b/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/build.sh index 749bb889..050396d8 100755 --- a/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/build.sh +++ b/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/build.sh @@ -17,21 +17,58 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED + +# CONDA-FORGE BUILD APPEND jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") jvm_slug=$(basename ${jvm_slug}) -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt > /dev/null 2>&1 rm -rf lib ln -s ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt/lib -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 mkdir -p ../../../../../../../etc/pki/java/cacerts -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/meta.yaml b/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/meta.yaml index e978ae12..5bf4bdae 100644 --- a/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/meta.yaml +++ b/cdts/java-1.7.0-openjdk-headless-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,19 +25,29 @@ requirements: - chkconfig-cos7-x86_64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-x86_64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-x86_64 >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} host: - chkconfig-cos7-x86_64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - chkconfig-cos7-x86_64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-x86_64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-x86_64 >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: - chkconfig-cos7-x86_64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - chkconfig-cos7-x86_64 >=1.7 *_{{ cdt_build_number|int + 1000 }} - copy-jdk-configs-cos7-x86_64 >=3.3 *_{{ cdt_build_number|int + 1000 }} - javapackages-tools-cos7-x86_64 >=3.4.1 *_{{ cdt_build_number|int + 1000 }} + - nss-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/cdts/javapackages-tools-cos7-aarch64/build.sh b/cdts/javapackages-tools-cos7-aarch64/build.sh index aa14bf12..050a769e 100755 --- a/cdts/javapackages-tools-cos7-aarch64/build.sh +++ b/cdts/javapackages-tools-cos7-aarch64/build.sh @@ -17,14 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED -pushd ${SYSROOT_DIR}/usr/share/java-utils + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/share/java-utils > /dev/null 2>&1 rm -f abs2rel.sh ln -s ${SYSROOT_DIR}/usr/bin/abs2rel ${SYSROOT_DIR}/usr/share/java-utils/abs2rel.sh -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/cdts/javapackages-tools-cos7-aarch64/meta.yaml b/cdts/javapackages-tools-cos7-aarch64/meta.yaml index a14f0c16..b80ebf69 100644 --- a/cdts/javapackages-tools-cos7-aarch64/meta.yaml +++ b/cdts/javapackages-tools-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - python-javapackages-cos7-aarch64 ==3.4.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/cdts/javapackages-tools-cos7-ppc64le/build.sh b/cdts/javapackages-tools-cos7-ppc64le/build.sh index 44b86091..18028bff 100755 --- a/cdts/javapackages-tools-cos7-ppc64le/build.sh +++ b/cdts/javapackages-tools-cos7-ppc64le/build.sh @@ -17,14 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED -pushd ${SYSROOT_DIR}/usr/share/java-utils + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/share/java-utils > /dev/null 2>&1 rm -f abs2rel.sh ln -s ${SYSROOT_DIR}/usr/bin/abs2rel ${SYSROOT_DIR}/usr/share/java-utils/abs2rel.sh -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/cdts/javapackages-tools-cos7-ppc64le/meta.yaml b/cdts/javapackages-tools-cos7-ppc64le/meta.yaml index 733bfddc..dcf08919 100644 --- a/cdts/javapackages-tools-cos7-ppc64le/meta.yaml +++ b/cdts/javapackages-tools-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - python-javapackages-cos7-ppc64le ==3.4.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/cdts/javapackages-tools-cos7-x86_64/build.sh b/cdts/javapackages-tools-cos7-x86_64/build.sh index 0241e1b1..6681e729 100755 --- a/cdts/javapackages-tools-cos7-x86_64/build.sh +++ b/cdts/javapackages-tools-cos7-x86_64/build.sh @@ -17,14 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED -pushd ${SYSROOT_DIR}/usr/share/java-utils + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/share/java-utils > /dev/null 2>&1 rm -f abs2rel.sh ln -s ${SYSROOT_DIR}/usr/bin/abs2rel ${SYSROOT_DIR}/usr/share/java-utils/abs2rel.sh -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/cdts/javapackages-tools-cos7-x86_64/meta.yaml b/cdts/javapackages-tools-cos7-x86_64/meta.yaml index 24b7fd56..89688ef4 100644 --- a/cdts/javapackages-tools-cos7-x86_64/meta.yaml +++ b/cdts/javapackages-tools-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - python-javapackages-cos7-x86_64 ==3.4.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/cdts/jpackage-utils-cos6-x86_64/build.sh b/cdts/jpackage-utils-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/jpackage-utils-cos6-x86_64/build.sh +++ b/cdts/jpackage-utils-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/jpackage-utils-cos6-x86_64/meta.yaml b/cdts/jpackage-utils-cos6-x86_64/meta.yaml index 2a2d3b23..e3610b2b 100644 --- a/cdts/jpackage-utils-cos6-x86_64/meta.yaml +++ b/cdts/jpackage-utils-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.jpackage.org/ license: BSD diff --git a/cdts/kernel-headers-cos6-x86_64/build.sh b/cdts/kernel-headers-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/kernel-headers-cos6-x86_64/build.sh +++ b/cdts/kernel-headers-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/kernel-headers-cos6-x86_64/meta.yaml b/cdts/kernel-headers-cos6-x86_64/meta.yaml index d1fbb470..f805b561 100644 --- a/cdts/kernel-headers-cos6-x86_64/meta.yaml +++ b/cdts/kernel-headers-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/ license: GPL-2.0-only diff --git a/cdts/kernel-headers-cos7-aarch64/build.sh b/cdts/kernel-headers-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/kernel-headers-cos7-aarch64/build.sh +++ b/cdts/kernel-headers-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/kernel-headers-cos7-aarch64/meta.yaml b/cdts/kernel-headers-cos7-aarch64/meta.yaml index c000bd2c..ca4114bd 100644 --- a/cdts/kernel-headers-cos7-aarch64/meta.yaml +++ b/cdts/kernel-headers-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/ license: GPLv2 and Redistributable, no modification permitted diff --git a/cdts/kernel-headers-cos7-ppc64le/build.sh b/cdts/kernel-headers-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/kernel-headers-cos7-ppc64le/build.sh +++ b/cdts/kernel-headers-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/kernel-headers-cos7-ppc64le/meta.yaml b/cdts/kernel-headers-cos7-ppc64le/meta.yaml index f776662e..483ed118 100644 --- a/cdts/kernel-headers-cos7-ppc64le/meta.yaml +++ b/cdts/kernel-headers-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/ license: GPL-2.0-only diff --git a/cdts/kernel-headers-cos7-x86_64/build.sh b/cdts/kernel-headers-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/kernel-headers-cos7-x86_64/build.sh +++ b/cdts/kernel-headers-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/kernel-headers-cos7-x86_64/meta.yaml b/cdts/kernel-headers-cos7-x86_64/meta.yaml index 335ddf66..605aec19 100644 --- a/cdts/kernel-headers-cos7-x86_64/meta.yaml +++ b/cdts/kernel-headers-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/ license: GPL-2.0-only diff --git a/cdts/libbonobo-cos6-x86_64/build.sh b/cdts/libbonobo-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libbonobo-cos6-x86_64/build.sh +++ b/cdts/libbonobo-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-cos6-x86_64/meta.yaml b/cdts/libbonobo-cos6-x86_64/meta.yaml index 27eeab48..be72df29 100644 --- a/cdts/libbonobo-cos6-x86_64/meta.yaml +++ b/cdts/libbonobo-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libbonobo-cos7-aarch64/build.sh b/cdts/libbonobo-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libbonobo-cos7-aarch64/build.sh +++ b/cdts/libbonobo-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-cos7-aarch64/meta.yaml b/cdts/libbonobo-cos7-aarch64/meta.yaml index 78630ace..75ef0c39 100644 --- a/cdts/libbonobo-cos7-aarch64/meta.yaml +++ b/cdts/libbonobo-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libbonobo-cos7-ppc64le/build.sh b/cdts/libbonobo-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libbonobo-cos7-ppc64le/build.sh +++ b/cdts/libbonobo-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-cos7-ppc64le/meta.yaml b/cdts/libbonobo-cos7-ppc64le/meta.yaml index 585a91b7..922f5afa 100644 --- a/cdts/libbonobo-cos7-ppc64le/meta.yaml +++ b/cdts/libbonobo-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libbonobo-cos7-x86_64/build.sh b/cdts/libbonobo-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libbonobo-cos7-x86_64/build.sh +++ b/cdts/libbonobo-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-cos7-x86_64/meta.yaml b/cdts/libbonobo-cos7-x86_64/meta.yaml index d275eae8..71580513 100644 --- a/cdts/libbonobo-cos7-x86_64/meta.yaml +++ b/cdts/libbonobo-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libbonobo-devel-cos6-x86_64/build.sh b/cdts/libbonobo-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libbonobo-devel-cos6-x86_64/build.sh +++ b/cdts/libbonobo-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-devel-cos6-x86_64/meta.yaml b/cdts/libbonobo-devel-cos6-x86_64/meta.yaml index 9840723f..f3cab3b4 100644 --- a/cdts/libbonobo-devel-cos6-x86_64/meta.yaml +++ b/cdts/libbonobo-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libxml2-devel-cos6-x86_64 >=2.4.21 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libbonobo-devel-cos7-aarch64/build.sh b/cdts/libbonobo-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libbonobo-devel-cos7-aarch64/build.sh +++ b/cdts/libbonobo-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-devel-cos7-aarch64/meta.yaml b/cdts/libbonobo-devel-cos7-aarch64/meta.yaml index b6b0e415..2927af31 100644 --- a/cdts/libbonobo-devel-cos7-aarch64/meta.yaml +++ b/cdts/libbonobo-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libxml2-devel-cos7-aarch64 >=2.4.21 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libbonobo-devel-cos7-ppc64le/build.sh b/cdts/libbonobo-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libbonobo-devel-cos7-ppc64le/build.sh +++ b/cdts/libbonobo-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-devel-cos7-ppc64le/meta.yaml b/cdts/libbonobo-devel-cos7-ppc64le/meta.yaml index 4d33bd0a..cedb8340 100644 --- a/cdts/libbonobo-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libbonobo-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libxml2-devel-cos7-ppc64le >=2.4.21 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libbonobo-devel-cos7-x86_64/build.sh b/cdts/libbonobo-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libbonobo-devel-cos7-x86_64/build.sh +++ b/cdts/libbonobo-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libbonobo-devel-cos7-x86_64/meta.yaml b/cdts/libbonobo-devel-cos7-x86_64/meta.yaml index 3624e5df..8dcfc0ea 100644 --- a/cdts/libbonobo-devel-cos7-x86_64/meta.yaml +++ b/cdts/libbonobo-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libxml2-devel-cos7-x86_64 >=2.4.21 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/cdts/libdrm-cos6-x86_64/build.sh b/cdts/libdrm-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libdrm-cos6-x86_64/build.sh +++ b/cdts/libdrm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-cos6-x86_64/meta.yaml b/cdts/libdrm-cos6-x86_64/meta.yaml index 94075453..8458fcfc 100644 --- a/cdts/libdrm-cos6-x86_64/meta.yaml +++ b/cdts/libdrm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libdrm-cos7-aarch64/build.sh b/cdts/libdrm-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libdrm-cos7-aarch64/build.sh +++ b/cdts/libdrm-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-cos7-aarch64/meta.yaml b/cdts/libdrm-cos7-aarch64/meta.yaml index b71c906a..2d47e787 100644 --- a/cdts/libdrm-cos7-aarch64/meta.yaml +++ b/cdts/libdrm-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libdrm-cos7-ppc64le/build.sh b/cdts/libdrm-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libdrm-cos7-ppc64le/build.sh +++ b/cdts/libdrm-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-cos7-ppc64le/meta.yaml b/cdts/libdrm-cos7-ppc64le/meta.yaml index e74c4878..617ee01b 100644 --- a/cdts/libdrm-cos7-ppc64le/meta.yaml +++ b/cdts/libdrm-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libdrm-cos7-x86_64/build.sh b/cdts/libdrm-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libdrm-cos7-x86_64/build.sh +++ b/cdts/libdrm-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-cos7-x86_64/meta.yaml b/cdts/libdrm-cos7-x86_64/meta.yaml index b97bd138..8161a2cc 100644 --- a/cdts/libdrm-cos7-x86_64/meta.yaml +++ b/cdts/libdrm-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libdrm-devel-cos6-x86_64/build.sh b/cdts/libdrm-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libdrm-devel-cos6-x86_64/build.sh +++ b/cdts/libdrm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-devel-cos6-x86_64/meta.yaml b/cdts/libdrm-devel-cos6-x86_64/meta.yaml index 01c47ef9..bf45959a 100644 --- a/cdts/libdrm-devel-cos6-x86_64/meta.yaml +++ b/cdts/libdrm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - libdrm-cos6-x86_64 ==2.4.65 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libdrm-devel-cos7-aarch64/build.sh b/cdts/libdrm-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libdrm-devel-cos7-aarch64/build.sh +++ b/cdts/libdrm-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-devel-cos7-aarch64/meta.yaml b/cdts/libdrm-devel-cos7-aarch64/meta.yaml index d622d345..83857994 100644 --- a/cdts/libdrm-devel-cos7-aarch64/meta.yaml +++ b/cdts/libdrm-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - libdrm-cos7-aarch64 ==2.4.97 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libdrm-devel-cos7-ppc64le/build.sh b/cdts/libdrm-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libdrm-devel-cos7-ppc64le/build.sh +++ b/cdts/libdrm-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-devel-cos7-ppc64le/meta.yaml b/cdts/libdrm-devel-cos7-ppc64le/meta.yaml index 7773765b..1335eae6 100644 --- a/cdts/libdrm-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libdrm-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - libdrm-cos7-ppc64le ==2.4.97 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libdrm-devel-cos7-x86_64/build.sh b/cdts/libdrm-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libdrm-devel-cos7-x86_64/build.sh +++ b/cdts/libdrm-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libdrm-devel-cos7-x86_64/meta.yaml b/cdts/libdrm-devel-cos7-x86_64/meta.yaml index 568f9f73..f2912a87 100644 --- a/cdts/libdrm-devel-cos7-x86_64/meta.yaml +++ b/cdts/libdrm-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - libdrm-cos7-x86_64 ==2.4.97 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/cdts/libglvnd-cos7-aarch64/build.sh b/cdts/libglvnd-cos7-aarch64/build.sh new file mode 100755 index 00000000..ca6ebc1a --- /dev/null +++ b/cdts/libglvnd-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libglvnd-cos7-aarch64/libglvnd-license b/cdts/libglvnd-cos7-aarch64/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/cdts/libglvnd-cos7-aarch64/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/cdts/libglvnd-cos7-aarch64/meta.yaml b/cdts/libglvnd-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..48240234 --- /dev/null +++ b/cdts/libglvnd-cos7-aarch64/meta.yaml @@ -0,0 +1,44 @@ +package: + name: libglvnd-cos7-aarch64 + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libglvnd-1.0.1-0.8.git5baa1e5.el7.aarch64.rpm + sha256: 58930bad0d7540669ffcd048b5010d04cb1db2b922b5289a92afe0caa15640f9 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-aarch64 2.17.* + run: + - sysroot_linux-aarch64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) The GL Vendor-Neutral Dispatch library + description: | + libglvnd is an implementation of the vendor-neutral dispatch layer for + arbitrating OpenGL API calls between multiple vendors on a per-screen basis. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libglvnd-cos7-ppc64le/build.sh b/cdts/libglvnd-cos7-ppc64le/build.sh new file mode 100755 index 00000000..b4d65ea7 --- /dev/null +++ b/cdts/libglvnd-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libglvnd-cos7-ppc64le/libglvnd-license b/cdts/libglvnd-cos7-ppc64le/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/cdts/libglvnd-cos7-ppc64le/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/cdts/libglvnd-cos7-ppc64le/meta.yaml b/cdts/libglvnd-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..ff22515e --- /dev/null +++ b/cdts/libglvnd-cos7-ppc64le/meta.yaml @@ -0,0 +1,44 @@ +package: + name: libglvnd-cos7-ppc64le + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libglvnd-1.0.1-0.8.git5baa1e5.el7.ppc64le.rpm + sha256: 77195e14251cc1505ba0101fd13d408b3e8f282614eadfd8936db62588e660fb + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-ppc64le 2.17.* + run: + - sysroot_linux-ppc64le 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) The GL Vendor-Neutral Dispatch library + description: | + libglvnd is an implementation of the vendor-neutral dispatch layer for + arbitrating OpenGL API calls between multiple vendors on a per-screen basis. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libglvnd-cos7-x86_64/build.sh b/cdts/libglvnd-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/libglvnd-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libglvnd-cos7-x86_64/libglvnd-license b/cdts/libglvnd-cos7-x86_64/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/cdts/libglvnd-cos7-x86_64/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/cdts/libglvnd-cos7-x86_64/meta.yaml b/cdts/libglvnd-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..cdbe68eb --- /dev/null +++ b/cdts/libglvnd-cos7-x86_64/meta.yaml @@ -0,0 +1,44 @@ +package: + name: libglvnd-cos7-x86_64 + version: 1.0.1 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm + sha256: 34efc9a21bb0d02d82a41c0e16e94839a30ebd10bc819c8af81ead82d1b43841 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.17.* + run: + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) The GL Vendor-Neutral Dispatch library + description: | + libglvnd is an implementation of the vendor-neutral dispatch layer for + arbitrating OpenGL API calls between multiple vendors on a per-screen basis. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libglvnd-glx-cos7-aarch64/build.sh b/cdts/libglvnd-glx-cos7-aarch64/build.sh new file mode 100755 index 00000000..c5438de4 --- /dev/null +++ b/cdts/libglvnd-glx-cos7-aarch64/build.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 +libgl_file=$(find . -maxdepth 1 -name "libGL.so.*.*.*") +libgl_file=$(basename ${libgl_file}) +ln -fs ${libgl_file} libGL.so +ls -lah . +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libglvnd-glx-cos7-aarch64/libglvnd-license b/cdts/libglvnd-glx-cos7-aarch64/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/cdts/libglvnd-glx-cos7-aarch64/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/cdts/libglvnd-glx-cos7-aarch64/meta.yaml b/cdts/libglvnd-glx-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..f45ba62f --- /dev/null +++ b/cdts/libglvnd-glx-cos7-aarch64/meta.yaml @@ -0,0 +1,46 @@ +package: + name: libglvnd-glx-cos7-aarch64 + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.aarch64.rpm + sha256: a9110f29a63515c817fc595fe0d5a14b15d2e52c6aa06d7ddfd9ca3bc6f50834 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - libglvnd-cos7-aarch64 ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + host: + - libglvnd-cos7-aarch64 ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-aarch64 2.17.* + run: + - libglvnd-cos7-aarch64 ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) GLX support for libglvnd + description: | + libGL and libGLX are the common dispatch interface for the GLX API. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libglvnd-glx-cos7-ppc64le/build.sh b/cdts/libglvnd-glx-cos7-ppc64le/build.sh new file mode 100755 index 00000000..f11bcc1c --- /dev/null +++ b/cdts/libglvnd-glx-cos7-ppc64le/build.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 +libgl_file=$(find . -maxdepth 1 -name "libGL.so.*.*.*") +libgl_file=$(basename ${libgl_file}) +ln -fs ${libgl_file} libGL.so +ls -lah . +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license b/cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/cdts/libglvnd-glx-cos7-ppc64le/meta.yaml b/cdts/libglvnd-glx-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..174d4130 --- /dev/null +++ b/cdts/libglvnd-glx-cos7-ppc64le/meta.yaml @@ -0,0 +1,46 @@ +package: + name: libglvnd-glx-cos7-ppc64le + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.ppc64le.rpm + sha256: 50a356aa8e5cd7743f6e13e8c0dddcb15be678a381ef06e5a63239972ef5e01c + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - libglvnd-cos7-ppc64le ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + host: + - libglvnd-cos7-ppc64le ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-ppc64le 2.17.* + run: + - libglvnd-cos7-ppc64le ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) GLX support for libglvnd + description: | + libGL and libGLX are the common dispatch interface for the GLX API. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libglvnd-glx-cos7-x86_64/build.sh b/cdts/libglvnd-glx-cos7-x86_64/build.sh new file mode 100755 index 00000000..36f9140a --- /dev/null +++ b/cdts/libglvnd-glx-cos7-x86_64/build.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 +libgl_file=$(find . -maxdepth 1 -name "libGL.so.*.*.*") +libgl_file=$(basename ${libgl_file}) +ln -fs ${libgl_file} libGL.so +ls -lah . +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libglvnd-glx-cos7-x86_64/libglvnd-license b/cdts/libglvnd-glx-cos7-x86_64/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/cdts/libglvnd-glx-cos7-x86_64/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/cdts/libglvnd-glx-cos7-x86_64/meta.yaml b/cdts/libglvnd-glx-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..c5af0725 --- /dev/null +++ b/cdts/libglvnd-glx-cos7-x86_64/meta.yaml @@ -0,0 +1,46 @@ +package: + name: libglvnd-glx-cos7-x86_64 + version: 1.0.1 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm + sha256: a4fe656061936e8446a62cb5383fbe5400a41ad741b9251bb426dbcbdb589c23 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - libglvnd-cos7-x86_64 ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + host: + - libglvnd-cos7-x86_64 ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + run: + - libglvnd-cos7-x86_64 ==1.0.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) GLX support for libglvnd + description: | + libGL and libGLX are the common dispatch interface for the GLX API. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libibcm-cos6-x86_64/build.sh b/cdts/libibcm-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libibcm-cos6-x86_64/build.sh +++ b/cdts/libibcm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libibcm-cos6-x86_64/meta.yaml b/cdts/libibcm-cos6-x86_64/meta.yaml index 718639f7..05aa6747 100644 --- a/cdts/libibcm-cos6-x86_64/meta.yaml +++ b/cdts/libibcm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/cdts/libibcm-devel-cos6-x86_64/build.sh b/cdts/libibcm-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libibcm-devel-cos6-x86_64/build.sh +++ b/cdts/libibcm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libibcm-devel-cos6-x86_64/meta.yaml b/cdts/libibcm-devel-cos6-x86_64/meta.yaml index b23c99ff..f44cdb66 100644 --- a/cdts/libibcm-devel-cos6-x86_64/meta.yaml +++ b/cdts/libibcm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - libibverbs-devel-cos6-x86_64 >=1.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/cdts/libibverbs-cos6-x86_64/build.sh b/cdts/libibverbs-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libibverbs-cos6-x86_64/build.sh +++ b/cdts/libibverbs-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libibverbs-cos6-x86_64/meta.yaml b/cdts/libibverbs-cos6-x86_64/meta.yaml index 2b05d4bf..8928d6c8 100644 --- a/cdts/libibverbs-cos6-x86_64/meta.yaml +++ b/cdts/libibverbs-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: https://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/cdts/libibverbs-devel-cos6-x86_64/build.sh b/cdts/libibverbs-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libibverbs-devel-cos6-x86_64/build.sh +++ b/cdts/libibverbs-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libibverbs-devel-cos6-x86_64/meta.yaml b/cdts/libibverbs-devel-cos6-x86_64/meta.yaml index 7ecacb31..731c8ff1 100644 --- a/cdts/libibverbs-devel-cos6-x86_64/meta.yaml +++ b/cdts/libibverbs-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libibverbs-cos6-x86_64 ==1.1.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: https://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/cdts/libidl-cos6-x86_64/build.sh b/cdts/libidl-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libidl-cos6-x86_64/build.sh +++ b/cdts/libidl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-cos6-x86_64/meta.yaml b/cdts/libidl-cos6-x86_64/meta.yaml index c85b83bd..bdf73b81 100644 --- a/cdts/libidl-cos6-x86_64/meta.yaml +++ b/cdts/libidl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: libidl-cos6-x86_64 license: LGPL-2.0-or-later diff --git a/cdts/libidl-cos7-aarch64/build.sh b/cdts/libidl-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libidl-cos7-aarch64/build.sh +++ b/cdts/libidl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-cos7-aarch64/meta.yaml b/cdts/libidl-cos7-aarch64/meta.yaml index 8928ce9b..0511db0c 100644 --- a/cdts/libidl-cos7-aarch64/meta.yaml +++ b/cdts/libidl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/cdts/libidl-cos7-ppc64le/build.sh b/cdts/libidl-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libidl-cos7-ppc64le/build.sh +++ b/cdts/libidl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-cos7-ppc64le/meta.yaml b/cdts/libidl-cos7-ppc64le/meta.yaml index 63338df1..4b3db457 100644 --- a/cdts/libidl-cos7-ppc64le/meta.yaml +++ b/cdts/libidl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/cdts/libidl-cos7-x86_64/build.sh b/cdts/libidl-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libidl-cos7-x86_64/build.sh +++ b/cdts/libidl-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-cos7-x86_64/meta.yaml b/cdts/libidl-cos7-x86_64/meta.yaml index 39f034f5..0e578fed 100644 --- a/cdts/libidl-cos7-x86_64/meta.yaml +++ b/cdts/libidl-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/cdts/libidl-devel-cos6-x86_64/build.sh b/cdts/libidl-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libidl-devel-cos6-x86_64/build.sh +++ b/cdts/libidl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-devel-cos6-x86_64/meta.yaml b/cdts/libidl-devel-cos6-x86_64/meta.yaml index afbb47e3..ffbf636f 100644 --- a/cdts/libidl-devel-cos6-x86_64/meta.yaml +++ b/cdts/libidl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - pkgconfig-cos6-x86_64 >=0.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: libidl-devel-cos6-x86_64 license: LGPL-2.0-or-later diff --git a/cdts/libidl-devel-cos7-aarch64/build.sh b/cdts/libidl-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libidl-devel-cos7-aarch64/build.sh +++ b/cdts/libidl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-devel-cos7-aarch64/meta.yaml b/cdts/libidl-devel-cos7-aarch64/meta.yaml index ce380a48..262b1f16 100644 --- a/cdts/libidl-devel-cos7-aarch64/meta.yaml +++ b/cdts/libidl-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - pkgconfig-cos7-aarch64 >=0.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/cdts/libidl-devel-cos7-ppc64le/build.sh b/cdts/libidl-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libidl-devel-cos7-ppc64le/build.sh +++ b/cdts/libidl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-devel-cos7-ppc64le/meta.yaml b/cdts/libidl-devel-cos7-ppc64le/meta.yaml index b61fe49b..9af687db 100644 --- a/cdts/libidl-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libidl-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - pkgconfig-cos7-ppc64le >=0.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/cdts/libidl-devel-cos7-x86_64/build.sh b/cdts/libidl-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libidl-devel-cos7-x86_64/build.sh +++ b/cdts/libidl-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libidl-devel-cos7-x86_64/meta.yaml b/cdts/libidl-devel-cos7-x86_64/meta.yaml index 5e536faa..70988338 100644 --- a/cdts/libidl-devel-cos7-x86_64/meta.yaml +++ b/cdts/libidl-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - pkgconfig-cos7-x86_64 >=0.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/cdts/libjpeg-turbo-cos6-x86_64/build.sh b/cdts/libjpeg-turbo-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libjpeg-turbo-cos6-x86_64/build.sh +++ b/cdts/libjpeg-turbo-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libjpeg-turbo-cos6-x86_64/meta.yaml b/cdts/libjpeg-turbo-cos6-x86_64/meta.yaml index f87fb8e5..af6ff10d 100644 --- a/cdts/libjpeg-turbo-cos6-x86_64/meta.yaml +++ b/cdts/libjpeg-turbo-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://sourceforge.net/projects/libjpeg-turbo license: wxWidgets diff --git a/cdts/libjpeg-turbo-cos7-aarch64/build.sh b/cdts/libjpeg-turbo-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libjpeg-turbo-cos7-aarch64/build.sh +++ b/cdts/libjpeg-turbo-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libjpeg-turbo-cos7-aarch64/meta.yaml b/cdts/libjpeg-turbo-cos7-aarch64/meta.yaml index 9542ee70..20d246d5 100644 --- a/cdts/libjpeg-turbo-cos7-aarch64/meta.yaml +++ b/cdts/libjpeg-turbo-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://sourceforge.net/projects/libjpeg-turbo license: IJG diff --git a/cdts/libjpeg-turbo-cos7-ppc64le/build.sh b/cdts/libjpeg-turbo-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libjpeg-turbo-cos7-ppc64le/build.sh +++ b/cdts/libjpeg-turbo-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml b/cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml index 3fb40b69..37b04254 100644 --- a/cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml +++ b/cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://sourceforge.net/projects/libjpeg-turbo license: IJG diff --git a/cdts/libjpeg-turbo-cos7-x86_64/build.sh b/cdts/libjpeg-turbo-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libjpeg-turbo-cos7-x86_64/build.sh +++ b/cdts/libjpeg-turbo-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libjpeg-turbo-cos7-x86_64/meta.yaml b/cdts/libjpeg-turbo-cos7-x86_64/meta.yaml index af382cab..b79e986b 100644 --- a/cdts/libjpeg-turbo-cos7-x86_64/meta.yaml +++ b/cdts/libjpeg-turbo-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://sourceforge.net/projects/libjpeg-turbo license: IJG diff --git a/cdts/libnl-cos6-x86_64/build.sh b/cdts/libnl-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libnl-cos6-x86_64/build.sh +++ b/cdts/libnl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-cos6-x86_64/meta.yaml b/cdts/libnl-cos6-x86_64/meta.yaml index a3a464c1..65317186 100644 --- a/cdts/libnl-cos6-x86_64/meta.yaml +++ b/cdts/libnl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/libnl-cos7-aarch64/build.sh b/cdts/libnl-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libnl-cos7-aarch64/build.sh +++ b/cdts/libnl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-cos7-aarch64/meta.yaml b/cdts/libnl-cos7-aarch64/meta.yaml index 6076cdbc..acefeb7e 100644 --- a/cdts/libnl-cos7-aarch64/meta.yaml +++ b/cdts/libnl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/libnl-cos7-ppc64le/build.sh b/cdts/libnl-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libnl-cos7-ppc64le/build.sh +++ b/cdts/libnl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-cos7-ppc64le/meta.yaml b/cdts/libnl-cos7-ppc64le/meta.yaml index 9d9183de..0453e68f 100644 --- a/cdts/libnl-cos7-ppc64le/meta.yaml +++ b/cdts/libnl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/libnl-cos7-x86_64/build.sh b/cdts/libnl-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libnl-cos7-x86_64/build.sh +++ b/cdts/libnl-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-cos7-x86_64/meta.yaml b/cdts/libnl-cos7-x86_64/meta.yaml index b039d226..de4f3c52 100644 --- a/cdts/libnl-cos7-x86_64/meta.yaml +++ b/cdts/libnl-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/libnl-devel-cos6-x86_64/build.sh b/cdts/libnl-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libnl-devel-cos6-x86_64/build.sh +++ b/cdts/libnl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-devel-cos6-x86_64/meta.yaml b/cdts/libnl-devel-cos6-x86_64/meta.yaml index 31d3bc69..3901d30f 100644 --- a/cdts/libnl-devel-cos6-x86_64/meta.yaml +++ b/cdts/libnl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libnl-cos6-x86_64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/libnl-devel-cos7-aarch64/build.sh b/cdts/libnl-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libnl-devel-cos7-aarch64/build.sh +++ b/cdts/libnl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-devel-cos7-aarch64/meta.yaml b/cdts/libnl-devel-cos7-aarch64/meta.yaml index 3de349cc..f88fc937 100644 --- a/cdts/libnl-devel-cos7-aarch64/meta.yaml +++ b/cdts/libnl-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libnl-cos7-aarch64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/libnl-devel-cos7-ppc64le/build.sh b/cdts/libnl-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libnl-devel-cos7-ppc64le/build.sh +++ b/cdts/libnl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-devel-cos7-ppc64le/meta.yaml b/cdts/libnl-devel-cos7-ppc64le/meta.yaml index e118fb24..7bc711e6 100644 --- a/cdts/libnl-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libnl-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libnl-cos7-ppc64le ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/libnl-devel-cos7-x86_64/build.sh b/cdts/libnl-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libnl-devel-cos7-x86_64/build.sh +++ b/cdts/libnl-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libnl-devel-cos7-x86_64/meta.yaml b/cdts/libnl-devel-cos7-x86_64/meta.yaml index 3e8ed839..ca608532 100644 --- a/cdts/libnl-devel-cos7-x86_64/meta.yaml +++ b/cdts/libnl-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libnl-cos7-x86_64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/cdts/librdmacm-cos6-x86_64/build.sh b/cdts/librdmacm-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/librdmacm-cos6-x86_64/build.sh +++ b/cdts/librdmacm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/librdmacm-cos6-x86_64/meta.yaml b/cdts/librdmacm-cos6-x86_64/meta.yaml index 39129b05..defe03ee 100644 --- a/cdts/librdmacm-cos6-x86_64/meta.yaml +++ b/cdts/librdmacm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/cdts/librdmacm-devel-cos6-x86_64/build.sh b/cdts/librdmacm-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/librdmacm-devel-cos6-x86_64/build.sh +++ b/cdts/librdmacm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/librdmacm-devel-cos6-x86_64/meta.yaml b/cdts/librdmacm-devel-cos6-x86_64/meta.yaml index 5f27b4e1..eeaf6c9a 100644 --- a/cdts/librdmacm-devel-cos6-x86_64/meta.yaml +++ b/cdts/librdmacm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - librdmacm-cos6-x86_64 ==1.0.21 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/cdts/libselinux-cos6-x86_64/build.sh b/cdts/libselinux-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libselinux-cos6-x86_64/build.sh +++ b/cdts/libselinux-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-cos6-x86_64/meta.yaml b/cdts/libselinux-cos6-x86_64/meta.yaml index 78c26d6b..fbb2cfd6 100644 --- a/cdts/libselinux-cos6-x86_64/meta.yaml +++ b/cdts/libselinux-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libsepol-cos6-x86_64 >=2.0.32 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: Public-Domain diff --git a/cdts/libselinux-cos7-aarch64/build.sh b/cdts/libselinux-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libselinux-cos7-aarch64/build.sh +++ b/cdts/libselinux-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-cos7-aarch64/meta.yaml b/cdts/libselinux-cos7-aarch64/meta.yaml index 11f5d338..a0dda00d 100644 --- a/cdts/libselinux-cos7-aarch64/meta.yaml +++ b/cdts/libselinux-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-aarch64 >=2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libsepol-cos7-aarch64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - libsepol-cos7-aarch64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/cdts/libselinux-cos7-ppc64le/build.sh b/cdts/libselinux-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libselinux-cos7-ppc64le/build.sh +++ b/cdts/libselinux-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-cos7-ppc64le/meta.yaml b/cdts/libselinux-cos7-ppc64le/meta.yaml index 5e188f6d..b12a72b4 100644 --- a/cdts/libselinux-cos7-ppc64le/meta.yaml +++ b/cdts/libselinux-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-ppc64le >=2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libsepol-cos7-ppc64le >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - libsepol-cos7-ppc64le >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/cdts/libselinux-cos7-x86_64/build.sh b/cdts/libselinux-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libselinux-cos7-x86_64/build.sh +++ b/cdts/libselinux-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-cos7-x86_64/meta.yaml b/cdts/libselinux-cos7-x86_64/meta.yaml index 55696639..bbf041b3 100644 --- a/cdts/libselinux-cos7-x86_64/meta.yaml +++ b/cdts/libselinux-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-x86_64 >=2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libsepol-cos7-x86_64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - libsepol-cos7-x86_64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/cdts/libselinux-devel-cos6-x86_64/build.sh b/cdts/libselinux-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libselinux-devel-cos6-x86_64/build.sh +++ b/cdts/libselinux-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-devel-cos6-x86_64/meta.yaml b/cdts/libselinux-devel-cos6-x86_64/meta.yaml index 9872d329..af8fc074 100644 --- a/cdts/libselinux-devel-cos6-x86_64/meta.yaml +++ b/cdts/libselinux-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - libsepol-devel-cos6-x86_64 >=2.0.32 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: Public-Domain diff --git a/cdts/libselinux-devel-cos7-aarch64/build.sh b/cdts/libselinux-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libselinux-devel-cos7-aarch64/build.sh +++ b/cdts/libselinux-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-devel-cos7-aarch64/meta.yaml b/cdts/libselinux-devel-cos7-aarch64/meta.yaml index aa672480..ef0c781c 100644 --- a/cdts/libselinux-devel-cos7-aarch64/meta.yaml +++ b/cdts/libselinux-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libselinux-cos7-aarch64 ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-aarch64 >=2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libselinux-cos7-aarch64 ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-aarch64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - libselinux-cos7-aarch64 ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-aarch64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/cdts/libselinux-devel-cos7-ppc64le/build.sh b/cdts/libselinux-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libselinux-devel-cos7-ppc64le/build.sh +++ b/cdts/libselinux-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-devel-cos7-ppc64le/meta.yaml b/cdts/libselinux-devel-cos7-ppc64le/meta.yaml index 77b63286..d83021c9 100644 --- a/cdts/libselinux-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libselinux-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libselinux-cos7-ppc64le ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-ppc64le >=2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libselinux-cos7-ppc64le ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-ppc64le >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - libselinux-cos7-ppc64le ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-ppc64le >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/cdts/libselinux-devel-cos7-x86_64/build.sh b/cdts/libselinux-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libselinux-devel-cos7-x86_64/build.sh +++ b/cdts/libselinux-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libselinux-devel-cos7-x86_64/meta.yaml b/cdts/libselinux-devel-cos7-x86_64/meta.yaml index 5d46aafe..63edab90 100644 --- a/cdts/libselinux-devel-cos7-x86_64/meta.yaml +++ b/cdts/libselinux-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libselinux-cos7-x86_64 ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-x86_64 >=2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libselinux-cos7-x86_64 ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-x86_64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - libselinux-cos7-x86_64 ==2.5 *_{{ cdt_build_number|int + 1000 }} + - libsepol-devel-cos7-x86_64 >=2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/cdts/libsepol-cos6-x86_64/build.sh b/cdts/libsepol-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libsepol-cos6-x86_64/build.sh +++ b/cdts/libsepol-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-cos6-x86_64/meta.yaml b/cdts/libsepol-cos6-x86_64/meta.yaml index b015d992..78abd379 100644 --- a/cdts/libsepol-cos6-x86_64/meta.yaml +++ b/cdts/libsepol-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: LGPL-2.0-or-later diff --git a/cdts/libsepol-cos7-aarch64/build.sh b/cdts/libsepol-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libsepol-cos7-aarch64/build.sh +++ b/cdts/libsepol-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-cos7-aarch64/meta.yaml b/cdts/libsepol-cos7-aarch64/meta.yaml index 647e3ef8..ccd7c924 100644 --- a/cdts/libsepol-cos7-aarch64/meta.yaml +++ b/cdts/libsepol-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/cdts/libsepol-cos7-ppc64le/build.sh b/cdts/libsepol-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libsepol-cos7-ppc64le/build.sh +++ b/cdts/libsepol-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-cos7-ppc64le/meta.yaml b/cdts/libsepol-cos7-ppc64le/meta.yaml index 5ff17edf..7c9c92ec 100644 --- a/cdts/libsepol-cos7-ppc64le/meta.yaml +++ b/cdts/libsepol-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/cdts/libsepol-cos7-x86_64/build.sh b/cdts/libsepol-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libsepol-cos7-x86_64/build.sh +++ b/cdts/libsepol-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-cos7-x86_64/meta.yaml b/cdts/libsepol-cos7-x86_64/meta.yaml index 7999be2d..39fb43f8 100644 --- a/cdts/libsepol-cos7-x86_64/meta.yaml +++ b/cdts/libsepol-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/cdts/libsepol-devel-cos6-x86_64/build.sh b/cdts/libsepol-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libsepol-devel-cos6-x86_64/build.sh +++ b/cdts/libsepol-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-devel-cos6-x86_64/meta.yaml b/cdts/libsepol-devel-cos6-x86_64/meta.yaml index 6f019cdc..300ac38f 100644 --- a/cdts/libsepol-devel-cos6-x86_64/meta.yaml +++ b/cdts/libsepol-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libsepol-cos6-x86_64 ==2.0.41 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: LGPL-2.0-or-later diff --git a/cdts/libsepol-devel-cos7-aarch64/build.sh b/cdts/libsepol-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libsepol-devel-cos7-aarch64/build.sh +++ b/cdts/libsepol-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-devel-cos7-aarch64/meta.yaml b/cdts/libsepol-devel-cos7-aarch64/meta.yaml index 92a7ece7..006225d0 100644 --- a/cdts/libsepol-devel-cos7-aarch64/meta.yaml +++ b/cdts/libsepol-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-aarch64 ==2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libsepol-cos7-aarch64 ==2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - libsepol-cos7-aarch64 ==2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/cdts/libsepol-devel-cos7-ppc64le/build.sh b/cdts/libsepol-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libsepol-devel-cos7-ppc64le/build.sh +++ b/cdts/libsepol-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-devel-cos7-ppc64le/meta.yaml b/cdts/libsepol-devel-cos7-ppc64le/meta.yaml index 513a895d..13017da8 100644 --- a/cdts/libsepol-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libsepol-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-ppc64le ==2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libsepol-cos7-ppc64le ==2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - libsepol-cos7-ppc64le ==2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/cdts/libsepol-devel-cos7-x86_64/build.sh b/cdts/libsepol-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libsepol-devel-cos7-x86_64/build.sh +++ b/cdts/libsepol-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libsepol-devel-cos7-x86_64/meta.yaml b/cdts/libsepol-devel-cos7-x86_64/meta.yaml index 642b620b..e002b64e 100644 --- a/cdts/libsepol-devel-cos7-x86_64/meta.yaml +++ b/cdts/libsepol-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-x86_64 ==2.5 *_{{ cdt_build_number|int + 1000 }} host: + - libsepol-cos7-x86_64 ==2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - libsepol-cos7-x86_64 ==2.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/cdts/libthai-cos6-x86_64/build.sh b/cdts/libthai-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libthai-cos6-x86_64/build.sh +++ b/cdts/libthai-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libthai-cos6-x86_64/meta.yaml b/cdts/libthai-cos6-x86_64/meta.yaml index 2466abf3..4ffbc6c2 100644 --- a/cdts/libthai-cos6-x86_64/meta.yaml +++ b/cdts/libthai-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://linux.thai.net license: LGPL-2.0-or-later diff --git a/cdts/libthai-cos7-aarch64/build.sh b/cdts/libthai-cos7-aarch64/build.sh new file mode 100755 index 00000000..ca6ebc1a --- /dev/null +++ b/cdts/libthai-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libthai-cos7-aarch64/meta.yaml b/cdts/libthai-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..f58641dc --- /dev/null +++ b/cdts/libthai-cos7-aarch64/meta.yaml @@ -0,0 +1,46 @@ +package: + name: libthai-cos7-aarch64 + version: 0.1.14 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libthai-0.1.14-9.el7.aarch64.rpm + sha256: 2f780065d78d69a68ee250c26287d5e9de025afbe34175b7dea8a2792bcf45c6 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libthai-0.1.14-9.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-aarch64 2.17.* + run: + - sysroot_linux-aarch64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://linux.thai.net + license: LGPL-2.0-or-later + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libthai-0.1.14/COPYING + summary: "(CDT) Thai language support routines" + description: | + LibThai is a set of Thai language support routines aimed to ease developers' + tasks to incorporate Thai language support in their applications. It includes + important Thai-specific functions e.g. word breaking, input and output methods + as well as basic character and string supports. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libthai-cos7-ppc64le/build.sh b/cdts/libthai-cos7-ppc64le/build.sh new file mode 100755 index 00000000..b4d65ea7 --- /dev/null +++ b/cdts/libthai-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libthai-cos7-ppc64le/meta.yaml b/cdts/libthai-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..64509498 --- /dev/null +++ b/cdts/libthai-cos7-ppc64le/meta.yaml @@ -0,0 +1,46 @@ +package: + name: libthai-cos7-ppc64le + version: 0.1.14 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libthai-0.1.14-9.el7.ppc64le.rpm + sha256: 5506f087b5fb256175ac377187341d08f712c55cc8e0bf68a989d78d05b4f4f4 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libthai-0.1.14-9.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-ppc64le 2.17.* + run: + - sysroot_linux-ppc64le 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://linux.thai.net + license: LGPL-2.0-or-later + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libthai-0.1.14/COPYING + summary: "(CDT) Thai language support routines" + description: | + LibThai is a set of Thai language support routines aimed to ease developers' + tasks to incorporate Thai language support in their applications. It includes + important Thai-specific functions e.g. word breaking, input and output methods + as well as basic character and string supports. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libthai-cos7-x86_64/build.sh b/cdts/libthai-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/libthai-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libthai-cos7-x86_64/meta.yaml b/cdts/libthai-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..439a9dc6 --- /dev/null +++ b/cdts/libthai-cos7-x86_64/meta.yaml @@ -0,0 +1,46 @@ +package: + name: libthai-cos7-x86_64 + version: 0.1.14 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/libthai-0.1.14-9.el7.x86_64.rpm + sha256: 2453d1e627c5e55924bbf902a9cf59720f5cac9fc0c765cac2d7634835f62f03 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libthai-0.1.14-9.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.17.* + run: + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://linux.thai.net + license: LGPL-2.0-or-later + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libthai-0.1.14/COPYING + summary: "(CDT) Thai language support routines" + description: | + LibThai is a set of Thai language support routines aimed to ease developers' + tasks to incorporate Thai language support in their applications. It includes + important Thai-specific functions e.g. word breaking, input and output methods + as well as basic character and string supports. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libtiff-cos7-aarch64/build.sh b/cdts/libtiff-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libtiff-cos7-aarch64/build.sh +++ b/cdts/libtiff-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libtiff-cos7-aarch64/meta.yaml b/cdts/libtiff-cos7-aarch64/meta.yaml index de15386d..6007e80f 100644 --- a/cdts/libtiff-cos7-aarch64/meta.yaml +++ b/cdts/libtiff-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.remotesensing.org/libtiff/ license: libtiff diff --git a/cdts/libtiff-cos7-ppc64le/build.sh b/cdts/libtiff-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libtiff-cos7-ppc64le/build.sh +++ b/cdts/libtiff-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libtiff-cos7-ppc64le/meta.yaml b/cdts/libtiff-cos7-ppc64le/meta.yaml index 8b6df494..69befd8f 100644 --- a/cdts/libtiff-cos7-ppc64le/meta.yaml +++ b/cdts/libtiff-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.remotesensing.org/libtiff/ license: libtiff diff --git a/cdts/libtiff-cos7-x86_64/build.sh b/cdts/libtiff-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libtiff-cos7-x86_64/build.sh +++ b/cdts/libtiff-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libtiff-cos7-x86_64/meta.yaml b/cdts/libtiff-cos7-x86_64/meta.yaml index a3308849..e189038a 100644 --- a/cdts/libtiff-cos7-x86_64/meta.yaml +++ b/cdts/libtiff-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.remotesensing.org/libtiff/ license: libtiff diff --git a/cdts/libudev-cos6-x86_64/build.sh b/cdts/libudev-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libudev-cos6-x86_64/build.sh +++ b/cdts/libudev-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libudev-cos6-x86_64/meta.yaml b/cdts/libudev-cos6-x86_64/meta.yaml index eb743cbf..42188418 100644 --- a/cdts/libudev-cos6-x86_64/meta.yaml +++ b/cdts/libudev-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html license: LGPL-2.0-or-later diff --git a/cdts/libx11-common-cos6-x86_64/build.sh b/cdts/libx11-common-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libx11-common-cos6-x86_64/build.sh +++ b/cdts/libx11-common-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-common-cos6-x86_64/meta.yaml b/cdts/libx11-common-cos6-x86_64/meta.yaml index 4a1604e6..5fcb59a3 100644 --- a/cdts/libx11-common-cos6-x86_64/meta.yaml +++ b/cdts/libx11-common-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-common-cos7-aarch64/build.sh b/cdts/libx11-common-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libx11-common-cos7-aarch64/build.sh +++ b/cdts/libx11-common-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-common-cos7-aarch64/meta.yaml b/cdts/libx11-common-cos7-aarch64/meta.yaml index 2aabd4b5..77296b3c 100644 --- a/cdts/libx11-common-cos7-aarch64/meta.yaml +++ b/cdts/libx11-common-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-common-cos7-ppc64le/build.sh b/cdts/libx11-common-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libx11-common-cos7-ppc64le/build.sh +++ b/cdts/libx11-common-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-common-cos7-ppc64le/meta.yaml b/cdts/libx11-common-cos7-ppc64le/meta.yaml index 7d81d7e2..c7fe5da6 100644 --- a/cdts/libx11-common-cos7-ppc64le/meta.yaml +++ b/cdts/libx11-common-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-common-cos7-x86_64/build.sh b/cdts/libx11-common-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libx11-common-cos7-x86_64/build.sh +++ b/cdts/libx11-common-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-common-cos7-x86_64/meta.yaml b/cdts/libx11-common-cos7-x86_64/meta.yaml index 8d6a61fb..7581adcb 100644 --- a/cdts/libx11-common-cos7-x86_64/meta.yaml +++ b/cdts/libx11-common-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-cos6-x86_64/build.sh b/cdts/libx11-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libx11-cos6-x86_64/build.sh +++ b/cdts/libx11-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-cos6-x86_64/meta.yaml b/cdts/libx11-cos6-x86_64/meta.yaml index 5a9827bf..03529d74 100644 --- a/cdts/libx11-cos6-x86_64/meta.yaml +++ b/cdts/libx11-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-common-cos6-x86_64 ==1.6.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-cos7-aarch64/build.sh b/cdts/libx11-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libx11-cos7-aarch64/build.sh +++ b/cdts/libx11-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-cos7-aarch64/meta.yaml b/cdts/libx11-cos7-aarch64/meta.yaml index 7e4d0078..bb1f04d8 100644 --- a/cdts/libx11-cos7-aarch64/meta.yaml +++ b/cdts/libx11-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-common-cos7-aarch64 >=1.6.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-cos7-ppc64le/build.sh b/cdts/libx11-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libx11-cos7-ppc64le/build.sh +++ b/cdts/libx11-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-cos7-ppc64le/meta.yaml b/cdts/libx11-cos7-ppc64le/meta.yaml index 4681326e..e0d48f71 100644 --- a/cdts/libx11-cos7-ppc64le/meta.yaml +++ b/cdts/libx11-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-common-cos7-ppc64le >=1.6.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-cos7-x86_64/build.sh b/cdts/libx11-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libx11-cos7-x86_64/build.sh +++ b/cdts/libx11-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-cos7-x86_64/meta.yaml b/cdts/libx11-cos7-x86_64/meta.yaml index 3ab40c56..72d995aa 100644 --- a/cdts/libx11-cos7-x86_64/meta.yaml +++ b/cdts/libx11-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-common-cos7-x86_64 >=1.6.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-devel-cos6-x86_64/build.sh b/cdts/libx11-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libx11-devel-cos6-x86_64/build.sh +++ b/cdts/libx11-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-devel-cos6-x86_64/meta.yaml b/cdts/libx11-devel-cos6-x86_64/meta.yaml index 9f3e5dee..42a03491 100644 --- a/cdts/libx11-devel-cos6-x86_64/meta.yaml +++ b/cdts/libx11-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 ==1.6.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-devel-cos7-aarch64/build.sh b/cdts/libx11-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libx11-devel-cos7-aarch64/build.sh +++ b/cdts/libx11-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-devel-cos7-aarch64/meta.yaml b/cdts/libx11-devel-cos7-aarch64/meta.yaml index 88d417d6..b926fbbe 100644 --- a/cdts/libx11-devel-cos7-aarch64/meta.yaml +++ b/cdts/libx11-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 ==1.6.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-devel-cos7-ppc64le/build.sh b/cdts/libx11-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libx11-devel-cos7-ppc64le/build.sh +++ b/cdts/libx11-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-devel-cos7-ppc64le/meta.yaml b/cdts/libx11-devel-cos7-ppc64le/meta.yaml index 7e0d29c1..6bcc857f 100644 --- a/cdts/libx11-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libx11-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le ==1.6.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libx11-devel-cos7-x86_64/build.sh b/cdts/libx11-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libx11-devel-cos7-x86_64/build.sh +++ b/cdts/libx11-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libx11-devel-cos7-x86_64/meta.yaml b/cdts/libx11-devel-cos7-x86_64/meta.yaml index aabc02ca..7909223e 100644 --- a/cdts/libx11-devel-cos7-x86_64/meta.yaml +++ b/cdts/libx11-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 ==1.6.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-cos6-x86_64/build.sh b/cdts/libxau-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxau-cos6-x86_64/build.sh +++ b/cdts/libxau-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-cos6-x86_64/meta.yaml b/cdts/libxau-cos6-x86_64/meta.yaml index d54414d9..1395f1b3 100644 --- a/cdts/libxau-cos6-x86_64/meta.yaml +++ b/cdts/libxau-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-cos7-aarch64/build.sh b/cdts/libxau-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxau-cos7-aarch64/build.sh +++ b/cdts/libxau-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-cos7-aarch64/meta.yaml b/cdts/libxau-cos7-aarch64/meta.yaml index cbb7ded0..eeac692b 100644 --- a/cdts/libxau-cos7-aarch64/meta.yaml +++ b/cdts/libxau-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-cos7-ppc64le/build.sh b/cdts/libxau-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxau-cos7-ppc64le/build.sh +++ b/cdts/libxau-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-cos7-ppc64le/meta.yaml b/cdts/libxau-cos7-ppc64le/meta.yaml index 6be755d7..84c6be31 100644 --- a/cdts/libxau-cos7-ppc64le/meta.yaml +++ b/cdts/libxau-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-cos7-x86_64/build.sh b/cdts/libxau-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxau-cos7-x86_64/build.sh +++ b/cdts/libxau-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-cos7-x86_64/meta.yaml b/cdts/libxau-cos7-x86_64/meta.yaml index 1bbd6aa9..52be049f 100644 --- a/cdts/libxau-cos7-x86_64/meta.yaml +++ b/cdts/libxau-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-devel-cos6-x86_64/build.sh b/cdts/libxau-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxau-devel-cos6-x86_64/build.sh +++ b/cdts/libxau-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-devel-cos6-x86_64/meta.yaml b/cdts/libxau-devel-cos6-x86_64/meta.yaml index 0ca2c874..cf1acb1b 100644 --- a/cdts/libxau-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxau-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxau-cos6-x86_64 ==1.0.6 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-devel-cos7-aarch64/build.sh b/cdts/libxau-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxau-devel-cos7-aarch64/build.sh +++ b/cdts/libxau-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-devel-cos7-aarch64/meta.yaml b/cdts/libxau-devel-cos7-aarch64/meta.yaml index 89438542..58f4f853 100644 --- a/cdts/libxau-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxau-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxau-cos7-aarch64 ==1.0.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-devel-cos7-ppc64le/build.sh b/cdts/libxau-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxau-devel-cos7-ppc64le/build.sh +++ b/cdts/libxau-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-devel-cos7-ppc64le/meta.yaml b/cdts/libxau-devel-cos7-ppc64le/meta.yaml index 0aa58473..42ed3e3a 100644 --- a/cdts/libxau-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxau-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxau-cos7-ppc64le ==1.0.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxau-devel-cos7-x86_64/build.sh b/cdts/libxau-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxau-devel-cos7-x86_64/build.sh +++ b/cdts/libxau-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxau-devel-cos7-x86_64/meta.yaml b/cdts/libxau-devel-cos7-x86_64/meta.yaml index abc48ea9..63489fb5 100644 --- a/cdts/libxau-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxau-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxau-cos7-x86_64 ==1.0.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcb-cos6-x86_64/build.sh b/cdts/libxcb-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcb-cos6-x86_64/build.sh +++ b/cdts/libxcb-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcb-cos6-x86_64/meta.yaml b/cdts/libxcb-cos6-x86_64/meta.yaml index 16b57e6a..385f116a 100644 --- a/cdts/libxcb-cos6-x86_64/meta.yaml +++ b/cdts/libxcb-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://xcb.freedesktop.org/ license: MIT diff --git a/cdts/libxcb-cos7-aarch64/build.sh b/cdts/libxcb-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxcb-cos7-aarch64/build.sh +++ b/cdts/libxcb-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcb-cos7-aarch64/meta.yaml b/cdts/libxcb-cos7-aarch64/meta.yaml index ffba6c15..518607e1 100644 --- a/cdts/libxcb-cos7-aarch64/meta.yaml +++ b/cdts/libxcb-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://xcb.freedesktop.org/ license: MIT diff --git a/cdts/libxcb-cos7-ppc64le/build.sh b/cdts/libxcb-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxcb-cos7-ppc64le/build.sh +++ b/cdts/libxcb-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcb-cos7-ppc64le/meta.yaml b/cdts/libxcb-cos7-ppc64le/meta.yaml index 64f703ef..fcd91643 100644 --- a/cdts/libxcb-cos7-ppc64le/meta.yaml +++ b/cdts/libxcb-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://xcb.freedesktop.org/ license: MIT diff --git a/cdts/libxcb-cos7-x86_64/build.sh b/cdts/libxcb-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcb-cos7-x86_64/build.sh +++ b/cdts/libxcb-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcb-cos7-x86_64/meta.yaml b/cdts/libxcb-cos7-x86_64/meta.yaml index 83459f37..3ee09228 100644 --- a/cdts/libxcb-cos7-x86_64/meta.yaml +++ b/cdts/libxcb-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://xcb.freedesktop.org/ license: MIT diff --git a/cdts/libxcomposite-cos6-x86_64/build.sh b/cdts/libxcomposite-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcomposite-cos6-x86_64/build.sh +++ b/cdts/libxcomposite-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-cos6-x86_64/meta.yaml b/cdts/libxcomposite-cos6-x86_64/meta.yaml index 7e06c3ff..1cc6ece3 100644 --- a/cdts/libxcomposite-cos6-x86_64/meta.yaml +++ b/cdts/libxcomposite-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcomposite-cos7-aarch64/build.sh b/cdts/libxcomposite-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxcomposite-cos7-aarch64/build.sh +++ b/cdts/libxcomposite-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-cos7-aarch64/meta.yaml b/cdts/libxcomposite-cos7-aarch64/meta.yaml index e97b9b9c..71e65fa2 100644 --- a/cdts/libxcomposite-cos7-aarch64/meta.yaml +++ b/cdts/libxcomposite-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcomposite-cos7-ppc64le/build.sh b/cdts/libxcomposite-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxcomposite-cos7-ppc64le/build.sh +++ b/cdts/libxcomposite-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-cos7-ppc64le/meta.yaml b/cdts/libxcomposite-cos7-ppc64le/meta.yaml index a4be21da..06541bae 100644 --- a/cdts/libxcomposite-cos7-ppc64le/meta.yaml +++ b/cdts/libxcomposite-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcomposite-cos7-x86_64/build.sh b/cdts/libxcomposite-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcomposite-cos7-x86_64/build.sh +++ b/cdts/libxcomposite-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-cos7-x86_64/meta.yaml b/cdts/libxcomposite-cos7-x86_64/meta.yaml index f1cc7d1e..5cdfaa1e 100644 --- a/cdts/libxcomposite-cos7-x86_64/meta.yaml +++ b/cdts/libxcomposite-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcomposite-devel-cos6-x86_64/build.sh b/cdts/libxcomposite-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcomposite-devel-cos6-x86_64/build.sh +++ b/cdts/libxcomposite-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-devel-cos6-x86_64/meta.yaml b/cdts/libxcomposite-devel-cos6-x86_64/meta.yaml index c8c84dec..70d24206 100644 --- a/cdts/libxcomposite-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxcomposite-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcomposite-cos6-x86_64 ==0.4.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcomposite-devel-cos7-aarch64/build.sh b/cdts/libxcomposite-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxcomposite-devel-cos7-aarch64/build.sh +++ b/cdts/libxcomposite-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-devel-cos7-aarch64/meta.yaml b/cdts/libxcomposite-devel-cos7-aarch64/meta.yaml index 1ac0beaa..1760a1ce 100644 --- a/cdts/libxcomposite-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxcomposite-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcomposite-cos7-aarch64 ==0.4.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcomposite-devel-cos7-ppc64le/build.sh b/cdts/libxcomposite-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxcomposite-devel-cos7-ppc64le/build.sh +++ b/cdts/libxcomposite-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml b/cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml index 2b6c864a..4dc124db 100644 --- a/cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcomposite-cos7-ppc64le ==0.4.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcomposite-devel-cos7-x86_64/build.sh b/cdts/libxcomposite-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcomposite-devel-cos7-x86_64/build.sh +++ b/cdts/libxcomposite-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcomposite-devel-cos7-x86_64/meta.yaml b/cdts/libxcomposite-devel-cos7-x86_64/meta.yaml index 8753e48f..9549842f 100644 --- a/cdts/libxcomposite-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxcomposite-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcomposite-cos7-x86_64 ==0.4.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcursor-cos6-x86_64/build.sh b/cdts/libxcursor-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcursor-cos6-x86_64/build.sh +++ b/cdts/libxcursor-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-cos6-x86_64/meta.yaml b/cdts/libxcursor-cos6-x86_64/meta.yaml index 18a6da81..82faaaef 100644 --- a/cdts/libxcursor-cos6-x86_64/meta.yaml +++ b/cdts/libxcursor-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcursor-cos7-aarch64/build.sh b/cdts/libxcursor-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxcursor-cos7-aarch64/build.sh +++ b/cdts/libxcursor-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-cos7-aarch64/meta.yaml b/cdts/libxcursor-cos7-aarch64/meta.yaml index bc1674fc..2207655c 100644 --- a/cdts/libxcursor-cos7-aarch64/meta.yaml +++ b/cdts/libxcursor-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/libxcursor-cos7-ppc64le/build.sh b/cdts/libxcursor-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxcursor-cos7-ppc64le/build.sh +++ b/cdts/libxcursor-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-cos7-ppc64le/meta.yaml b/cdts/libxcursor-cos7-ppc64le/meta.yaml index f5ec7730..5546ed69 100644 --- a/cdts/libxcursor-cos7-ppc64le/meta.yaml +++ b/cdts/libxcursor-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/libxcursor-cos7-x86_64/build.sh b/cdts/libxcursor-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcursor-cos7-x86_64/build.sh +++ b/cdts/libxcursor-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-cos7-x86_64/meta.yaml b/cdts/libxcursor-cos7-x86_64/meta.yaml index 0f1a374d..4919dbd1 100644 --- a/cdts/libxcursor-cos7-x86_64/meta.yaml +++ b/cdts/libxcursor-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/libxcursor-devel-cos6-x86_64/build.sh b/cdts/libxcursor-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcursor-devel-cos6-x86_64/build.sh +++ b/cdts/libxcursor-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-devel-cos6-x86_64/meta.yaml b/cdts/libxcursor-devel-cos6-x86_64/meta.yaml index 69bebd88..cc6cb678 100644 --- a/cdts/libxcursor-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxcursor-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcursor-cos6-x86_64 ==1.1.14 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxcursor-devel-cos7-aarch64/build.sh b/cdts/libxcursor-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxcursor-devel-cos7-aarch64/build.sh +++ b/cdts/libxcursor-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-devel-cos7-aarch64/meta.yaml b/cdts/libxcursor-devel-cos7-aarch64/meta.yaml index 94689d85..729ac9a6 100644 --- a/cdts/libxcursor-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxcursor-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcursor-cos7-aarch64 ==1.1.15 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/libxcursor-devel-cos7-ppc64le/build.sh b/cdts/libxcursor-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxcursor-devel-cos7-ppc64le/build.sh +++ b/cdts/libxcursor-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-devel-cos7-ppc64le/meta.yaml b/cdts/libxcursor-devel-cos7-ppc64le/meta.yaml index 506d9f9e..92e7aed1 100644 --- a/cdts/libxcursor-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxcursor-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcursor-cos7-ppc64le ==1.1.15 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/libxcursor-devel-cos7-x86_64/build.sh b/cdts/libxcursor-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxcursor-devel-cos7-x86_64/build.sh +++ b/cdts/libxcursor-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxcursor-devel-cos7-x86_64/meta.yaml b/cdts/libxcursor-devel-cos7-x86_64/meta.yaml index 82cd61a9..0f631ba1 100644 --- a/cdts/libxcursor-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxcursor-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxcursor-cos7-x86_64 ==1.1.15 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/libxdamage-cos6-x86_64/build.sh b/cdts/libxdamage-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxdamage-cos6-x86_64/build.sh +++ b/cdts/libxdamage-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-cos6-x86_64/meta.yaml b/cdts/libxdamage-cos6-x86_64/meta.yaml index b5bc1f92..b5841bb3 100644 --- a/cdts/libxdamage-cos6-x86_64/meta.yaml +++ b/cdts/libxdamage-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxdamage-cos7-aarch64/build.sh b/cdts/libxdamage-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxdamage-cos7-aarch64/build.sh +++ b/cdts/libxdamage-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-cos7-aarch64/meta.yaml b/cdts/libxdamage-cos7-aarch64/meta.yaml index a86fd389..08dabef4 100644 --- a/cdts/libxdamage-cos7-aarch64/meta.yaml +++ b/cdts/libxdamage-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxdamage-cos7-ppc64le/build.sh b/cdts/libxdamage-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxdamage-cos7-ppc64le/build.sh +++ b/cdts/libxdamage-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-cos7-ppc64le/meta.yaml b/cdts/libxdamage-cos7-ppc64le/meta.yaml index 67e1b28e..7f327926 100644 --- a/cdts/libxdamage-cos7-ppc64le/meta.yaml +++ b/cdts/libxdamage-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxdamage-cos7-x86_64/build.sh b/cdts/libxdamage-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxdamage-cos7-x86_64/build.sh +++ b/cdts/libxdamage-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-cos7-x86_64/meta.yaml b/cdts/libxdamage-cos7-x86_64/meta.yaml index 2d442d50..b20825f3 100644 --- a/cdts/libxdamage-cos7-x86_64/meta.yaml +++ b/cdts/libxdamage-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxdamage-devel-cos6-x86_64/build.sh b/cdts/libxdamage-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxdamage-devel-cos6-x86_64/build.sh +++ b/cdts/libxdamage-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-devel-cos6-x86_64/meta.yaml b/cdts/libxdamage-devel-cos6-x86_64/meta.yaml index edd254a6..9630021a 100644 --- a/cdts/libxdamage-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxdamage-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxdamage-cos6-x86_64 ==1.1.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxdamage-devel-cos7-aarch64/build.sh b/cdts/libxdamage-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxdamage-devel-cos7-aarch64/build.sh +++ b/cdts/libxdamage-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-devel-cos7-aarch64/meta.yaml b/cdts/libxdamage-devel-cos7-aarch64/meta.yaml index 1837aa14..b1c06197 100644 --- a/cdts/libxdamage-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxdamage-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxdamage-cos7-aarch64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxdamage-devel-cos7-ppc64le/build.sh b/cdts/libxdamage-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxdamage-devel-cos7-ppc64le/build.sh +++ b/cdts/libxdamage-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-devel-cos7-ppc64le/meta.yaml b/cdts/libxdamage-devel-cos7-ppc64le/meta.yaml index ec460b12..48471eda 100644 --- a/cdts/libxdamage-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxdamage-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxdamage-cos7-ppc64le ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxdamage-devel-cos7-x86_64/build.sh b/cdts/libxdamage-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxdamage-devel-cos7-x86_64/build.sh +++ b/cdts/libxdamage-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxdamage-devel-cos7-x86_64/meta.yaml b/cdts/libxdamage-devel-cos7-x86_64/meta.yaml index 79c0c10c..acd5cea4 100644 --- a/cdts/libxdamage-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxdamage-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxdamage-cos7-x86_64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-cos6-x86_64/build.sh b/cdts/libxext-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxext-cos6-x86_64/build.sh +++ b/cdts/libxext-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-cos6-x86_64/meta.yaml b/cdts/libxext-cos6-x86_64/meta.yaml index 3ff061a2..d2755330 100644 --- a/cdts/libxext-cos6-x86_64/meta.yaml +++ b/cdts/libxext-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-cos7-aarch64/build.sh b/cdts/libxext-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxext-cos7-aarch64/build.sh +++ b/cdts/libxext-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-cos7-aarch64/meta.yaml b/cdts/libxext-cos7-aarch64/meta.yaml index 105442f2..545266ec 100644 --- a/cdts/libxext-cos7-aarch64/meta.yaml +++ b/cdts/libxext-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-cos7-ppc64le/build.sh b/cdts/libxext-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxext-cos7-ppc64le/build.sh +++ b/cdts/libxext-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-cos7-ppc64le/meta.yaml b/cdts/libxext-cos7-ppc64le/meta.yaml index 3a364404..d2abb658 100644 --- a/cdts/libxext-cos7-ppc64le/meta.yaml +++ b/cdts/libxext-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-cos7-x86_64/build.sh b/cdts/libxext-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxext-cos7-x86_64/build.sh +++ b/cdts/libxext-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-cos7-x86_64/meta.yaml b/cdts/libxext-cos7-x86_64/meta.yaml index 81fc173e..02e7ee41 100644 --- a/cdts/libxext-cos7-x86_64/meta.yaml +++ b/cdts/libxext-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-devel-cos6-x86_64/build.sh b/cdts/libxext-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxext-devel-cos6-x86_64/build.sh +++ b/cdts/libxext-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-devel-cos6-x86_64/meta.yaml b/cdts/libxext-devel-cos6-x86_64/meta.yaml index 0121e84e..73754db8 100644 --- a/cdts/libxext-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxext-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxext-cos6-x86_64 ==1.3.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-devel-cos7-aarch64/build.sh b/cdts/libxext-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxext-devel-cos7-aarch64/build.sh +++ b/cdts/libxext-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-devel-cos7-aarch64/meta.yaml b/cdts/libxext-devel-cos7-aarch64/meta.yaml index 00e8fc29..3fc4d7e0 100644 --- a/cdts/libxext-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxext-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxext-cos7-aarch64 ==1.3.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-devel-cos7-ppc64le/build.sh b/cdts/libxext-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxext-devel-cos7-ppc64le/build.sh +++ b/cdts/libxext-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-devel-cos7-ppc64le/meta.yaml b/cdts/libxext-devel-cos7-ppc64le/meta.yaml index af459e23..d555b24d 100644 --- a/cdts/libxext-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxext-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxext-cos7-ppc64le ==1.3.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxext-devel-cos7-x86_64/build.sh b/cdts/libxext-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxext-devel-cos7-x86_64/build.sh +++ b/cdts/libxext-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxext-devel-cos7-x86_64/meta.yaml b/cdts/libxext-devel-cos7-x86_64/meta.yaml index c1f3a67d..9c8e74dd 100644 --- a/cdts/libxext-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxext-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxext-cos7-x86_64 ==1.3.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-cos6-x86_64/build.sh b/cdts/libxfixes-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxfixes-cos6-x86_64/build.sh +++ b/cdts/libxfixes-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-cos6-x86_64/meta.yaml b/cdts/libxfixes-cos6-x86_64/meta.yaml index e050bdfc..20785914 100644 --- a/cdts/libxfixes-cos6-x86_64/meta.yaml +++ b/cdts/libxfixes-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.6 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-cos7-aarch64/build.sh b/cdts/libxfixes-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxfixes-cos7-aarch64/build.sh +++ b/cdts/libxfixes-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-cos7-aarch64/meta.yaml b/cdts/libxfixes-cos7-aarch64/meta.yaml index eed946f6..ba46ff01 100644 --- a/cdts/libxfixes-cos7-aarch64/meta.yaml +++ b/cdts/libxfixes-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.6 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-cos7-ppc64le/build.sh b/cdts/libxfixes-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxfixes-cos7-ppc64le/build.sh +++ b/cdts/libxfixes-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-cos7-ppc64le/meta.yaml b/cdts/libxfixes-cos7-ppc64le/meta.yaml index dc8dad01..387b8985 100644 --- a/cdts/libxfixes-cos7-ppc64le/meta.yaml +++ b/cdts/libxfixes-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.6 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-cos7-x86_64/build.sh b/cdts/libxfixes-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxfixes-cos7-x86_64/build.sh +++ b/cdts/libxfixes-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-cos7-x86_64/meta.yaml b/cdts/libxfixes-cos7-x86_64/meta.yaml index d68b3497..e0ebe97c 100644 --- a/cdts/libxfixes-cos7-x86_64/meta.yaml +++ b/cdts/libxfixes-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.6 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-devel-cos6-x86_64/build.sh b/cdts/libxfixes-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxfixes-devel-cos6-x86_64/build.sh +++ b/cdts/libxfixes-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-devel-cos6-x86_64/meta.yaml b/cdts/libxfixes-devel-cos6-x86_64/meta.yaml index a06e6a0a..a92241bd 100644 --- a/cdts/libxfixes-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxfixes-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxfixes-cos6-x86_64 ==5.0.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-devel-cos7-aarch64/build.sh b/cdts/libxfixes-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxfixes-devel-cos7-aarch64/build.sh +++ b/cdts/libxfixes-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-devel-cos7-aarch64/meta.yaml b/cdts/libxfixes-devel-cos7-aarch64/meta.yaml index 4a62f2cd..fbdc2c50 100644 --- a/cdts/libxfixes-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxfixes-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxfixes-cos7-aarch64 ==5.0.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-devel-cos7-ppc64le/build.sh b/cdts/libxfixes-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxfixes-devel-cos7-ppc64le/build.sh +++ b/cdts/libxfixes-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-devel-cos7-ppc64le/meta.yaml b/cdts/libxfixes-devel-cos7-ppc64le/meta.yaml index f29fa40f..cb5efa47 100644 --- a/cdts/libxfixes-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxfixes-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxfixes-cos7-ppc64le ==5.0.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxfixes-devel-cos7-x86_64/build.sh b/cdts/libxfixes-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxfixes-devel-cos7-x86_64/build.sh +++ b/cdts/libxfixes-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxfixes-devel-cos7-x86_64/meta.yaml b/cdts/libxfixes-devel-cos7-x86_64/meta.yaml index da90ffa4..4b5c9b5f 100644 --- a/cdts/libxfixes-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxfixes-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxfixes-cos7-x86_64 ==5.0.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxft-cos6-x86_64/build.sh b/cdts/libxft-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxft-cos6-x86_64/build.sh +++ b/cdts/libxft-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxft-cos6-x86_64/meta.yaml b/cdts/libxft-cos6-x86_64/meta.yaml index 3b113268..10490a2b 100644 --- a/cdts/libxft-cos6-x86_64/meta.yaml +++ b/cdts/libxft-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - fontconfig-cos6-x86_64 >=2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxft-cos7-aarch64/build.sh b/cdts/libxft-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxft-cos7-aarch64/build.sh +++ b/cdts/libxft-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxft-cos7-aarch64/meta.yaml b/cdts/libxft-cos7-aarch64/meta.yaml index ade43e3e..62afd849 100644 --- a/cdts/libxft-cos7-aarch64/meta.yaml +++ b/cdts/libxft-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - fontconfig-cos7-aarch64 >=2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxft-cos7-ppc64le/build.sh b/cdts/libxft-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxft-cos7-ppc64le/build.sh +++ b/cdts/libxft-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxft-cos7-ppc64le/meta.yaml b/cdts/libxft-cos7-ppc64le/meta.yaml index 52e7205a..a8bc2d4a 100644 --- a/cdts/libxft-cos7-ppc64le/meta.yaml +++ b/cdts/libxft-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - fontconfig-cos7-ppc64le >=2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxft-cos7-x86_64/build.sh b/cdts/libxft-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxft-cos7-x86_64/build.sh +++ b/cdts/libxft-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxft-cos7-x86_64/meta.yaml b/cdts/libxft-cos7-x86_64/meta.yaml index b958ab00..a98ca440 100644 --- a/cdts/libxft-cos7-x86_64/meta.yaml +++ b/cdts/libxft-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - fontconfig-cos7-x86_64 >=2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-cos6-x86_64/build.sh b/cdts/libxi-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxi-cos6-x86_64/build.sh +++ b/cdts/libxi-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-cos6-x86_64/meta.yaml b/cdts/libxi-cos6-x86_64/meta.yaml index c11c1a89..1f742db1 100644 --- a/cdts/libxi-cos6-x86_64/meta.yaml +++ b/cdts/libxi-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-cos7-aarch64/build.sh b/cdts/libxi-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxi-cos7-aarch64/build.sh +++ b/cdts/libxi-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-cos7-aarch64/meta.yaml b/cdts/libxi-cos7-aarch64/meta.yaml index 254113bc..4d1a12c8 100644 --- a/cdts/libxi-cos7-aarch64/meta.yaml +++ b/cdts/libxi-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-cos7-ppc64le/build.sh b/cdts/libxi-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxi-cos7-ppc64le/build.sh +++ b/cdts/libxi-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-cos7-ppc64le/meta.yaml b/cdts/libxi-cos7-ppc64le/meta.yaml index dd2844d7..422585c9 100644 --- a/cdts/libxi-cos7-ppc64le/meta.yaml +++ b/cdts/libxi-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-cos7-x86_64/build.sh b/cdts/libxi-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxi-cos7-x86_64/build.sh +++ b/cdts/libxi-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-cos7-x86_64/meta.yaml b/cdts/libxi-cos7-x86_64/meta.yaml index 29eb0eaa..4d829d9b 100644 --- a/cdts/libxi-cos7-x86_64/meta.yaml +++ b/cdts/libxi-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-devel-cos6-x86_64/build.sh b/cdts/libxi-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxi-devel-cos6-x86_64/build.sh +++ b/cdts/libxi-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-devel-cos6-x86_64/meta.yaml b/cdts/libxi-devel-cos6-x86_64/meta.yaml index ab68845d..b42f6283 100644 --- a/cdts/libxi-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxi-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxi-cos6-x86_64 ==1.7.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-devel-cos7-aarch64/build.sh b/cdts/libxi-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxi-devel-cos7-aarch64/build.sh +++ b/cdts/libxi-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-devel-cos7-aarch64/meta.yaml b/cdts/libxi-devel-cos7-aarch64/meta.yaml index 870fa7b7..622e6ebf 100644 --- a/cdts/libxi-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxi-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxi-cos7-aarch64 ==1.7.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-devel-cos7-ppc64le/build.sh b/cdts/libxi-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxi-devel-cos7-ppc64le/build.sh +++ b/cdts/libxi-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-devel-cos7-ppc64le/meta.yaml b/cdts/libxi-devel-cos7-ppc64le/meta.yaml index 71385025..9543d0e9 100644 --- a/cdts/libxi-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxi-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxi-cos7-ppc64le ==1.7.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxi-devel-cos7-x86_64/build.sh b/cdts/libxi-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxi-devel-cos7-x86_64/build.sh +++ b/cdts/libxi-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxi-devel-cos7-x86_64/meta.yaml b/cdts/libxi-devel-cos7-x86_64/meta.yaml index 0a2e34a9..cf9aef3f 100644 --- a/cdts/libxi-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxi-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxi-cos7-x86_64 ==1.7.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-cos6-x86_64/build.sh b/cdts/libxinerama-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxinerama-cos6-x86_64/build.sh +++ b/cdts/libxinerama-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-cos6-x86_64/meta.yaml b/cdts/libxinerama-cos6-x86_64/meta.yaml index 479386da..8822d1b9 100644 --- a/cdts/libxinerama-cos6-x86_64/meta.yaml +++ b/cdts/libxinerama-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-cos7-aarch64/build.sh b/cdts/libxinerama-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxinerama-cos7-aarch64/build.sh +++ b/cdts/libxinerama-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-cos7-aarch64/meta.yaml b/cdts/libxinerama-cos7-aarch64/meta.yaml index ee840c97..af1a82a0 100644 --- a/cdts/libxinerama-cos7-aarch64/meta.yaml +++ b/cdts/libxinerama-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-cos7-ppc64le/build.sh b/cdts/libxinerama-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxinerama-cos7-ppc64le/build.sh +++ b/cdts/libxinerama-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-cos7-ppc64le/meta.yaml b/cdts/libxinerama-cos7-ppc64le/meta.yaml index 3bdc5990..b824c3a6 100644 --- a/cdts/libxinerama-cos7-ppc64le/meta.yaml +++ b/cdts/libxinerama-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-cos7-x86_64/build.sh b/cdts/libxinerama-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxinerama-cos7-x86_64/build.sh +++ b/cdts/libxinerama-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-cos7-x86_64/meta.yaml b/cdts/libxinerama-cos7-x86_64/meta.yaml index e6d2a1a3..fdabca9a 100644 --- a/cdts/libxinerama-cos7-x86_64/meta.yaml +++ b/cdts/libxinerama-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-devel-cos6-x86_64/build.sh b/cdts/libxinerama-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxinerama-devel-cos6-x86_64/build.sh +++ b/cdts/libxinerama-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-devel-cos6-x86_64/meta.yaml b/cdts/libxinerama-devel-cos6-x86_64/meta.yaml index 25f9800e..7b6d40b3 100644 --- a/cdts/libxinerama-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxinerama-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxinerama-cos6-x86_64 ==1.1.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-devel-cos7-aarch64/build.sh b/cdts/libxinerama-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxinerama-devel-cos7-aarch64/build.sh +++ b/cdts/libxinerama-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-devel-cos7-aarch64/meta.yaml b/cdts/libxinerama-devel-cos7-aarch64/meta.yaml index 03793215..3272a88d 100644 --- a/cdts/libxinerama-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxinerama-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxinerama-cos7-aarch64 ==1.1.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-devel-cos7-ppc64le/build.sh b/cdts/libxinerama-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxinerama-devel-cos7-ppc64le/build.sh +++ b/cdts/libxinerama-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-devel-cos7-ppc64le/meta.yaml b/cdts/libxinerama-devel-cos7-ppc64le/meta.yaml index 087ee6bb..6ae4352e 100644 --- a/cdts/libxinerama-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxinerama-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxinerama-cos7-ppc64le ==1.1.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxinerama-devel-cos7-x86_64/build.sh b/cdts/libxinerama-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxinerama-devel-cos7-x86_64/build.sh +++ b/cdts/libxinerama-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxinerama-devel-cos7-x86_64/meta.yaml b/cdts/libxinerama-devel-cos7-x86_64/meta.yaml index f3c22005..ed8c8872 100644 --- a/cdts/libxinerama-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxinerama-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxinerama-cos7-x86_64 ==1.1.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxml2-cos6-x86_64/build.sh b/cdts/libxml2-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxml2-cos6-x86_64/build.sh +++ b/cdts/libxml2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-cos6-x86_64/meta.yaml b/cdts/libxml2-cos6-x86_64/meta.yaml index 371a2786..11158dbe 100644 --- a/cdts/libxml2-cos6-x86_64/meta.yaml +++ b/cdts/libxml2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxml2-cos7-aarch64/build.sh b/cdts/libxml2-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxml2-cos7-aarch64/build.sh +++ b/cdts/libxml2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-cos7-aarch64/meta.yaml b/cdts/libxml2-cos7-aarch64/meta.yaml index 0cbfc730..6295d3ae 100644 --- a/cdts/libxml2-cos7-aarch64/meta.yaml +++ b/cdts/libxml2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxml2-cos7-ppc64le/build.sh b/cdts/libxml2-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxml2-cos7-ppc64le/build.sh +++ b/cdts/libxml2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-cos7-ppc64le/meta.yaml b/cdts/libxml2-cos7-ppc64le/meta.yaml index db274634..a04d4919 100644 --- a/cdts/libxml2-cos7-ppc64le/meta.yaml +++ b/cdts/libxml2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxml2-cos7-x86_64/build.sh b/cdts/libxml2-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxml2-cos7-x86_64/build.sh +++ b/cdts/libxml2-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-cos7-x86_64/meta.yaml b/cdts/libxml2-cos7-x86_64/meta.yaml index 0417971f..adc6de1a 100644 --- a/cdts/libxml2-cos7-x86_64/meta.yaml +++ b/cdts/libxml2-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxml2-devel-cos6-x86_64/build.sh b/cdts/libxml2-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxml2-devel-cos6-x86_64/build.sh +++ b/cdts/libxml2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-devel-cos6-x86_64/meta.yaml b/cdts/libxml2-devel-cos6-x86_64/meta.yaml index 2da5f71b..16601bb4 100644 --- a/cdts/libxml2-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxml2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxml2-cos6-x86_64 ==2.7.6 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxml2-devel-cos7-aarch64/build.sh b/cdts/libxml2-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxml2-devel-cos7-aarch64/build.sh +++ b/cdts/libxml2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-devel-cos7-aarch64/meta.yaml b/cdts/libxml2-devel-cos7-aarch64/meta.yaml index 87c00bbb..32abcf2b 100644 --- a/cdts/libxml2-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxml2-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxml2-cos7-aarch64 ==2.9.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxml2-devel-cos7-ppc64le/build.sh b/cdts/libxml2-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxml2-devel-cos7-ppc64le/build.sh +++ b/cdts/libxml2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-devel-cos7-ppc64le/meta.yaml b/cdts/libxml2-devel-cos7-ppc64le/meta.yaml index a52d889d..b051c4cc 100644 --- a/cdts/libxml2-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxml2-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxml2-cos7-ppc64le ==2.9.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxml2-devel-cos7-x86_64/build.sh b/cdts/libxml2-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxml2-devel-cos7-x86_64/build.sh +++ b/cdts/libxml2-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxml2-devel-cos7-x86_64/meta.yaml b/cdts/libxml2-devel-cos7-x86_64/meta.yaml index 7ccf19e8..a3bae740 100644 --- a/cdts/libxml2-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxml2-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxml2-cos7-x86_64 ==2.9.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/cdts/libxrandr-cos6-x86_64/build.sh b/cdts/libxrandr-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrandr-cos6-x86_64/build.sh +++ b/cdts/libxrandr-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-cos6-x86_64/meta.yaml b/cdts/libxrandr-cos6-x86_64/meta.yaml index 2da0601b..49823c71 100644 --- a/cdts/libxrandr-cos6-x86_64/meta.yaml +++ b/cdts/libxrandr-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.6.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrandr-cos7-aarch64/build.sh b/cdts/libxrandr-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxrandr-cos7-aarch64/build.sh +++ b/cdts/libxrandr-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-cos7-aarch64/meta.yaml b/cdts/libxrandr-cos7-aarch64/meta.yaml index f8a4e050..62fc1d5b 100644 --- a/cdts/libxrandr-cos7-aarch64/meta.yaml +++ b/cdts/libxrandr-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.6.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrandr-cos7-ppc64le/build.sh b/cdts/libxrandr-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxrandr-cos7-ppc64le/build.sh +++ b/cdts/libxrandr-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-cos7-ppc64le/meta.yaml b/cdts/libxrandr-cos7-ppc64le/meta.yaml index 2355a02f..7699be42 100644 --- a/cdts/libxrandr-cos7-ppc64le/meta.yaml +++ b/cdts/libxrandr-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.6.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrandr-cos7-x86_64/build.sh b/cdts/libxrandr-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrandr-cos7-x86_64/build.sh +++ b/cdts/libxrandr-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-cos7-x86_64/meta.yaml b/cdts/libxrandr-cos7-x86_64/meta.yaml index 8ca91711..577af3af 100644 --- a/cdts/libxrandr-cos7-x86_64/meta.yaml +++ b/cdts/libxrandr-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.6.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrandr-devel-cos6-x86_64/build.sh b/cdts/libxrandr-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrandr-devel-cos6-x86_64/build.sh +++ b/cdts/libxrandr-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-devel-cos6-x86_64/meta.yaml b/cdts/libxrandr-devel-cos6-x86_64/meta.yaml index 94596ba0..2e7c034f 100644 --- a/cdts/libxrandr-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxrandr-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrandr-cos6-x86_64 ==1.5.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrandr-devel-cos7-aarch64/build.sh b/cdts/libxrandr-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxrandr-devel-cos7-aarch64/build.sh +++ b/cdts/libxrandr-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-devel-cos7-aarch64/meta.yaml b/cdts/libxrandr-devel-cos7-aarch64/meta.yaml index 7be7fb73..8787deed 100644 --- a/cdts/libxrandr-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxrandr-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrandr-cos7-aarch64 ==1.5.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrandr-devel-cos7-ppc64le/build.sh b/cdts/libxrandr-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxrandr-devel-cos7-ppc64le/build.sh +++ b/cdts/libxrandr-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-devel-cos7-ppc64le/meta.yaml b/cdts/libxrandr-devel-cos7-ppc64le/meta.yaml index 391117c0..1aa1bf30 100644 --- a/cdts/libxrandr-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxrandr-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrandr-cos7-ppc64le ==1.5.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrandr-devel-cos7-x86_64/build.sh b/cdts/libxrandr-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrandr-devel-cos7-x86_64/build.sh +++ b/cdts/libxrandr-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrandr-devel-cos7-x86_64/meta.yaml b/cdts/libxrandr-devel-cos7-x86_64/meta.yaml index d66e7399..c53bb35d 100644 --- a/cdts/libxrandr-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxrandr-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrandr-cos7-x86_64 ==1.5.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-cos6-x86_64/build.sh b/cdts/libxrender-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrender-cos6-x86_64/build.sh +++ b/cdts/libxrender-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-cos6-x86_64/meta.yaml b/cdts/libxrender-cos6-x86_64/meta.yaml index e3d883ac..e75c3b4a 100644 --- a/cdts/libxrender-cos6-x86_64/meta.yaml +++ b/cdts/libxrender-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-cos7-aarch64/build.sh b/cdts/libxrender-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxrender-cos7-aarch64/build.sh +++ b/cdts/libxrender-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-cos7-aarch64/meta.yaml b/cdts/libxrender-cos7-aarch64/meta.yaml index 2e037640..a30815d9 100644 --- a/cdts/libxrender-cos7-aarch64/meta.yaml +++ b/cdts/libxrender-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-cos7-ppc64le/build.sh b/cdts/libxrender-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxrender-cos7-ppc64le/build.sh +++ b/cdts/libxrender-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-cos7-ppc64le/meta.yaml b/cdts/libxrender-cos7-ppc64le/meta.yaml index 56fe4f9e..54331876 100644 --- a/cdts/libxrender-cos7-ppc64le/meta.yaml +++ b/cdts/libxrender-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-cos7-x86_64/build.sh b/cdts/libxrender-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrender-cos7-x86_64/build.sh +++ b/cdts/libxrender-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-cos7-x86_64/meta.yaml b/cdts/libxrender-cos7-x86_64/meta.yaml index b61ca3e4..14c889e4 100644 --- a/cdts/libxrender-cos7-x86_64/meta.yaml +++ b/cdts/libxrender-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-devel-cos6-x86_64/build.sh b/cdts/libxrender-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrender-devel-cos6-x86_64/build.sh +++ b/cdts/libxrender-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-devel-cos6-x86_64/meta.yaml b/cdts/libxrender-devel-cos6-x86_64/meta.yaml index 5cef980e..005ac73f 100644 --- a/cdts/libxrender-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxrender-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrender-cos6-x86_64 ==0.9.10 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-devel-cos7-aarch64/build.sh b/cdts/libxrender-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxrender-devel-cos7-aarch64/build.sh +++ b/cdts/libxrender-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-devel-cos7-aarch64/meta.yaml b/cdts/libxrender-devel-cos7-aarch64/meta.yaml index e41e2aa9..5975bd20 100644 --- a/cdts/libxrender-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxrender-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrender-cos7-aarch64 ==0.9.10 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-devel-cos7-ppc64le/build.sh b/cdts/libxrender-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxrender-devel-cos7-ppc64le/build.sh +++ b/cdts/libxrender-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-devel-cos7-ppc64le/meta.yaml b/cdts/libxrender-devel-cos7-ppc64le/meta.yaml index 826e11d6..93e5ac0a 100644 --- a/cdts/libxrender-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxrender-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrender-cos7-ppc64le ==0.9.10 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxrender-devel-cos7-x86_64/build.sh b/cdts/libxrender-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxrender-devel-cos7-x86_64/build.sh +++ b/cdts/libxrender-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxrender-devel-cos7-x86_64/meta.yaml b/cdts/libxrender-devel-cos7-x86_64/meta.yaml index 4dd30b75..56d1ca2b 100644 --- a/cdts/libxrender-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxrender-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxrender-cos7-x86_64 ==0.9.10 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-cos6-x86_64/build.sh b/cdts/libxscrnsaver-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxscrnsaver-cos6-x86_64/build.sh +++ b/cdts/libxscrnsaver-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-cos6-x86_64/meta.yaml b/cdts/libxscrnsaver-cos6-x86_64/meta.yaml index 9d508531..07296057 100644 --- a/cdts/libxscrnsaver-cos6-x86_64/meta.yaml +++ b/cdts/libxscrnsaver-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-cos7-aarch64/build.sh b/cdts/libxscrnsaver-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxscrnsaver-cos7-aarch64/build.sh +++ b/cdts/libxscrnsaver-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-cos7-aarch64/meta.yaml b/cdts/libxscrnsaver-cos7-aarch64/meta.yaml index 64a3d396..ca17161e 100644 --- a/cdts/libxscrnsaver-cos7-aarch64/meta.yaml +++ b/cdts/libxscrnsaver-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-cos7-ppc64le/build.sh b/cdts/libxscrnsaver-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxscrnsaver-cos7-ppc64le/build.sh +++ b/cdts/libxscrnsaver-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-cos7-ppc64le/meta.yaml b/cdts/libxscrnsaver-cos7-ppc64le/meta.yaml index 1e360b60..91303f5c 100644 --- a/cdts/libxscrnsaver-cos7-ppc64le/meta.yaml +++ b/cdts/libxscrnsaver-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-cos7-x86_64/build.sh b/cdts/libxscrnsaver-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxscrnsaver-cos7-x86_64/build.sh +++ b/cdts/libxscrnsaver-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-cos7-x86_64/meta.yaml b/cdts/libxscrnsaver-cos7-x86_64/meta.yaml index f33a2c26..e4befc62 100644 --- a/cdts/libxscrnsaver-cos7-x86_64/meta.yaml +++ b/cdts/libxscrnsaver-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-devel-cos6-x86_64/build.sh b/cdts/libxscrnsaver-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxscrnsaver-devel-cos6-x86_64/build.sh +++ b/cdts/libxscrnsaver-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml b/cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml index a5beb76e..bf8147d0 100644 --- a/cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxscrnsaver-cos6-x86_64 ==1.2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-devel-cos7-aarch64/build.sh b/cdts/libxscrnsaver-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxscrnsaver-devel-cos7-aarch64/build.sh +++ b/cdts/libxscrnsaver-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml b/cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml index 2e2d3fe2..25bbcb76 100644 --- a/cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxscrnsaver-cos7-aarch64 ==1.2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh b/cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh +++ b/cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml b/cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml index 26099220..9d869f40 100644 --- a/cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxscrnsaver-cos7-ppc64le ==1.2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxscrnsaver-devel-cos7-x86_64/build.sh b/cdts/libxscrnsaver-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxscrnsaver-devel-cos7-x86_64/build.sh +++ b/cdts/libxscrnsaver-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxscrnsaver-devel-cos7-x86_64/meta.yaml b/cdts/libxscrnsaver-devel-cos7-x86_64/meta.yaml index 5f398d2f..3b331eeb 100644 --- a/cdts/libxscrnsaver-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxscrnsaver-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxscrnsaver-cos7-x86_64 ==1.2.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxshmfence-cos6-x86_64/build.sh b/cdts/libxshmfence-cos6-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/libxshmfence-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-cos6-x86_64/libxshmfence-license b/cdts/libxshmfence-cos6-x86_64/libxshmfence-license new file mode 100644 index 00000000..8dcf1d48 --- /dev/null +++ b/cdts/libxshmfence-cos6-x86_64/libxshmfence-license @@ -0,0 +1,19 @@ +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/cdts/libxshmfence-cos6-x86_64/meta.yaml b/cdts/libxshmfence-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..0844d6df --- /dev/null +++ b/cdts/libxshmfence-cos6-x86_64/meta.yaml @@ -0,0 +1,43 @@ +package: + name: libxshmfence-cos6-x86_64 + version: 1.2 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/libxshmfence-1.2-1.el6.x86_64.rpm + sha256: 8149be38414087a25f003b86688801974fe3916b7b5c6d4a7f09e1a0fc09c6e2 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/libxshmfence-1.2-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.12.* + run: + - sysroot_linux-64 2.12.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org/ + license: MIT + license_family: MIT + license_file: libxshmfence-license + summary: (CDT) X11 shared memory fences + description: | + Shared memory fences for X11, as used in DRI3. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxshmfence-cos7-aarch64/build.sh b/cdts/libxshmfence-cos7-aarch64/build.sh new file mode 100755 index 00000000..ca6ebc1a --- /dev/null +++ b/cdts/libxshmfence-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-cos7-aarch64/libxshmfence-license b/cdts/libxshmfence-cos7-aarch64/libxshmfence-license new file mode 100644 index 00000000..8dcf1d48 --- /dev/null +++ b/cdts/libxshmfence-cos7-aarch64/libxshmfence-license @@ -0,0 +1,19 @@ +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/cdts/libxshmfence-cos7-aarch64/meta.yaml b/cdts/libxshmfence-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..549a6dc0 --- /dev/null +++ b/cdts/libxshmfence-cos7-aarch64/meta.yaml @@ -0,0 +1,43 @@ +package: + name: libxshmfence-cos7-aarch64 + version: 1.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libxshmfence-1.2-1.el7.aarch64.rpm + sha256: 4b0b6292d05526a2d44bb3f5bb58607fc8dbb9024eb59f129ee3ed1181fff49e + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libxshmfence-1.2-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-aarch64 2.17.* + run: + - sysroot_linux-aarch64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org/ + license: MIT + license_family: MIT + license_file: libxshmfence-license + summary: (CDT) X11 shared memory fences + description: | + Shared memory fences for X11, as used in DRI3. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxshmfence-cos7-ppc64le/build.sh b/cdts/libxshmfence-cos7-ppc64le/build.sh new file mode 100755 index 00000000..b4d65ea7 --- /dev/null +++ b/cdts/libxshmfence-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-cos7-ppc64le/libxshmfence-license b/cdts/libxshmfence-cos7-ppc64le/libxshmfence-license new file mode 100644 index 00000000..8dcf1d48 --- /dev/null +++ b/cdts/libxshmfence-cos7-ppc64le/libxshmfence-license @@ -0,0 +1,19 @@ +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/cdts/libxshmfence-cos7-ppc64le/meta.yaml b/cdts/libxshmfence-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..59d3abf6 --- /dev/null +++ b/cdts/libxshmfence-cos7-ppc64le/meta.yaml @@ -0,0 +1,43 @@ +package: + name: libxshmfence-cos7-ppc64le + version: 1.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libxshmfence-1.2-1.el7.ppc64le.rpm + sha256: afa3dd3d84014ac2e61c64b0bfcbcf87786557a8ee6fafb906ecc845cc6e1010 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libxshmfence-1.2-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-ppc64le 2.17.* + run: + - sysroot_linux-ppc64le 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org/ + license: MIT + license_family: MIT + license_file: libxshmfence-license + summary: (CDT) X11 shared memory fences + description: | + Shared memory fences for X11, as used in DRI3. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxshmfence-cos7-x86_64/build.sh b/cdts/libxshmfence-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/libxshmfence-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-cos7-x86_64/libxshmfence-license b/cdts/libxshmfence-cos7-x86_64/libxshmfence-license new file mode 100644 index 00000000..8dcf1d48 --- /dev/null +++ b/cdts/libxshmfence-cos7-x86_64/libxshmfence-license @@ -0,0 +1,19 @@ +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/cdts/libxshmfence-cos7-x86_64/meta.yaml b/cdts/libxshmfence-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..793f685b --- /dev/null +++ b/cdts/libxshmfence-cos7-x86_64/meta.yaml @@ -0,0 +1,43 @@ +package: + name: libxshmfence-cos7-x86_64 + version: 1.2 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/libxshmfence-1.2-1.el7.x86_64.rpm + sha256: 08d9e87212fedd61b7f59618b086e501222cd7f79768e493475d3fcd1f439ecb + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libxshmfence-1.2-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.17.* + run: + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org/ + license: MIT + license_family: MIT + license_file: libxshmfence-license + summary: (CDT) X11 shared memory fences + description: | + Shared memory fences for X11, as used in DRI3. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxshmfence-devel-cos6-x86_64/build.sh b/cdts/libxshmfence-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxshmfence-devel-cos6-x86_64/build.sh +++ b/cdts/libxshmfence-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-devel-cos6-x86_64/meta.yaml b/cdts/libxshmfence-devel-cos6-x86_64/meta.yaml index 04eb7444..516b212e 100644 --- a/cdts/libxshmfence-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxshmfence-devel-cos6-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxshmfence-cos6-x86_64 ==1.2 *_{{ cdt_build_number|int + 1000 }} host: + - libxshmfence-cos6-x86_64 ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* run: + - libxshmfence-cos6-x86_64 ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org/ license: MIT diff --git a/cdts/libxshmfence-devel-cos7-aarch64/build.sh b/cdts/libxshmfence-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxshmfence-devel-cos7-aarch64/build.sh +++ b/cdts/libxshmfence-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-devel-cos7-aarch64/meta.yaml b/cdts/libxshmfence-devel-cos7-aarch64/meta.yaml index 0c161b9a..522e436c 100644 --- a/cdts/libxshmfence-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxshmfence-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxshmfence-cos7-aarch64 ==1.2 *_{{ cdt_build_number|int + 1000 }} host: + - libxshmfence-cos7-aarch64 ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - libxshmfence-cos7-aarch64 ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org/ license: MIT diff --git a/cdts/libxshmfence-devel-cos7-ppc64le/build.sh b/cdts/libxshmfence-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxshmfence-devel-cos7-ppc64le/build.sh +++ b/cdts/libxshmfence-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml b/cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml index 06a2cbc4..a6039b8d 100644 --- a/cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxshmfence-cos7-ppc64le ==1.2 *_{{ cdt_build_number|int + 1000 }} host: + - libxshmfence-cos7-ppc64le ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - libxshmfence-cos7-ppc64le ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org/ license: MIT diff --git a/cdts/libxshmfence-devel-cos7-x86_64/build.sh b/cdts/libxshmfence-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxshmfence-devel-cos7-x86_64/build.sh +++ b/cdts/libxshmfence-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxshmfence-devel-cos7-x86_64/meta.yaml b/cdts/libxshmfence-devel-cos7-x86_64/meta.yaml index 0b003afd..e5f21ff4 100644 --- a/cdts/libxshmfence-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxshmfence-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxshmfence-cos7-x86_64 ==1.2 *_{{ cdt_build_number|int + 1000 }} host: + - libxshmfence-cos7-x86_64 ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - libxshmfence-cos7-x86_64 ==1.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org/ license: MIT diff --git a/cdts/libxt-cos6-x86_64/build.sh b/cdts/libxt-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxt-cos6-x86_64/build.sh +++ b/cdts/libxt-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-cos6-x86_64/meta.yaml b/cdts/libxt-cos6-x86_64/meta.yaml index 48460cf6..3a1ecb5d 100644 --- a/cdts/libxt-cos6-x86_64/meta.yaml +++ b/cdts/libxt-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxt-cos7-aarch64/build.sh b/cdts/libxt-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxt-cos7-aarch64/build.sh +++ b/cdts/libxt-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-cos7-aarch64/meta.yaml b/cdts/libxt-cos7-aarch64/meta.yaml index 5cd2d697..3dd3f191 100644 --- a/cdts/libxt-cos7-aarch64/meta.yaml +++ b/cdts/libxt-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} host: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxt-cos7-ppc64le/build.sh b/cdts/libxt-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxt-cos7-ppc64le/build.sh +++ b/cdts/libxt-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-cos7-ppc64le/meta.yaml b/cdts/libxt-cos7-ppc64le/meta.yaml index 5b8dded3..fdb4dc04 100644 --- a/cdts/libxt-cos7-ppc64le/meta.yaml +++ b/cdts/libxt-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} host: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxt-cos7-x86_64/build.sh b/cdts/libxt-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxt-cos7-x86_64/build.sh +++ b/cdts/libxt-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-cos7-x86_64/meta.yaml b/cdts/libxt-cos7-x86_64/meta.yaml index b95aba08..afd4b2ad 100644 --- a/cdts/libxt-cos7-x86_64/meta.yaml +++ b/cdts/libxt-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} host: + - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxt-devel-cos6-x86_64/build.sh b/cdts/libxt-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxt-devel-cos6-x86_64/build.sh +++ b/cdts/libxt-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-devel-cos6-x86_64/meta.yaml b/cdts/libxt-devel-cos6-x86_64/meta.yaml index 8142f4ef..1473fea7 100644 --- a/cdts/libxt-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxt-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxt-cos6-x86_64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxt-devel-cos7-aarch64/build.sh b/cdts/libxt-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxt-devel-cos7-aarch64/build.sh +++ b/cdts/libxt-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-devel-cos7-aarch64/meta.yaml b/cdts/libxt-devel-cos7-aarch64/meta.yaml index d896eea9..2f6df16a 100644 --- a/cdts/libxt-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxt-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxt-cos7-aarch64 ==1.1.5 *_{{ cdt_build_number|int + 1000 }} host: + - libxt-cos7-aarch64 ==1.1.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - libxt-cos7-aarch64 ==1.1.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxt-devel-cos7-ppc64le/build.sh b/cdts/libxt-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxt-devel-cos7-ppc64le/build.sh +++ b/cdts/libxt-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-devel-cos7-ppc64le/meta.yaml b/cdts/libxt-devel-cos7-ppc64le/meta.yaml index c905fbc5..c4fa8bb6 100644 --- a/cdts/libxt-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxt-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxt-cos7-ppc64le ==1.1.5 *_{{ cdt_build_number|int + 1000 }} host: + - libxt-cos7-ppc64le ==1.1.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - libxt-cos7-ppc64le ==1.1.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxt-devel-cos7-x86_64/build.sh b/cdts/libxt-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxt-devel-cos7-x86_64/build.sh +++ b/cdts/libxt-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxt-devel-cos7-x86_64/meta.yaml b/cdts/libxt-devel-cos7-x86_64/meta.yaml index 48eb7ceb..2db1d722 100644 --- a/cdts/libxt-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxt-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxt-cos7-x86_64 ==1.1.5 *_{{ cdt_build_number|int + 1000 }} host: + - libxt-cos7-x86_64 ==1.1.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - libxt-cos7-x86_64 ==1.1.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxtst-cos6-x86_64/build.sh b/cdts/libxtst-cos6-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/libxtst-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-cos6-x86_64/libxtst-license b/cdts/libxtst-cos6-x86_64/libxtst-license new file mode 100644 index 00000000..010b2709 --- /dev/null +++ b/cdts/libxtst-cos6-x86_64/libxtst-license @@ -0,0 +1,116 @@ +Copyright 1990, 1991 by UniSoft Group Limited +Copyright 1992, 1993, 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*************************************************************************** + +Copyright 1995 Network Computing Devices + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright © 1992 by UniSoft Group Ltd. + +Permission to use, copy, modify, and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +UniSoft makes no representations about the suitability for any purpose of +the information in this document. This documentation is provided "as is" +without express or implied warranty. + +*************************************************************************** + +Copyright © 1992, 1994, 1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +X Consortium. + +*************************************************************************** + +Copyright 1994 Network Computing Devices, Inc. + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. diff --git a/cdts/libxtst-cos6-x86_64/meta.yaml b/cdts/libxtst-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..9ba71e93 --- /dev/null +++ b/cdts/libxtst-cos6-x86_64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libxtst-cos6-x86_64 + version: 1.2.3 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/libXtst-1.2.3-1.el6.x86_64.rpm + sha256: 6b4b8f77bac8c59617f67510690ca21d9b0ab245d81e9df1406fc827aac9ef1a + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/libXtst-1.2.3-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + build: + - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + host: + - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + run: + - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libXtst-1.2.3/COPYING + summary: "(CDT) X.Org X11 libXtst runtime library" + description: | + X.Org X11 libXtst runtime library + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxtst-cos7-aarch64/build.sh b/cdts/libxtst-cos7-aarch64/build.sh new file mode 100755 index 00000000..ca6ebc1a --- /dev/null +++ b/cdts/libxtst-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-cos7-aarch64/libxtst-license b/cdts/libxtst-cos7-aarch64/libxtst-license new file mode 100644 index 00000000..010b2709 --- /dev/null +++ b/cdts/libxtst-cos7-aarch64/libxtst-license @@ -0,0 +1,116 @@ +Copyright 1990, 1991 by UniSoft Group Limited +Copyright 1992, 1993, 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*************************************************************************** + +Copyright 1995 Network Computing Devices + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright © 1992 by UniSoft Group Ltd. + +Permission to use, copy, modify, and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +UniSoft makes no representations about the suitability for any purpose of +the information in this document. This documentation is provided "as is" +without express or implied warranty. + +*************************************************************************** + +Copyright © 1992, 1994, 1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +X Consortium. + +*************************************************************************** + +Copyright 1994 Network Computing Devices, Inc. + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. diff --git a/cdts/libxtst-cos7-aarch64/meta.yaml b/cdts/libxtst-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..75ebf640 --- /dev/null +++ b/cdts/libxtst-cos7-aarch64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libxtst-cos7-aarch64 + version: 1.2.3 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libXtst-1.2.3-1.el7.aarch64.rpm + sha256: f40854c398ab8243ab3f21ec55507d4b8e03093203022c93bcc27260c14022cc + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libXtst-1.2.3-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + build: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + host: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-aarch64 2.17.* + run: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-aarch64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libXtst-1.2.3/COPYING + summary: "(CDT) X.Org X11 libXtst runtime library" + description: | + X.Org X11 libXtst runtime library + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxtst-cos7-ppc64le/build.sh b/cdts/libxtst-cos7-ppc64le/build.sh new file mode 100755 index 00000000..b4d65ea7 --- /dev/null +++ b/cdts/libxtst-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-cos7-ppc64le/libxtst-license b/cdts/libxtst-cos7-ppc64le/libxtst-license new file mode 100644 index 00000000..010b2709 --- /dev/null +++ b/cdts/libxtst-cos7-ppc64le/libxtst-license @@ -0,0 +1,116 @@ +Copyright 1990, 1991 by UniSoft Group Limited +Copyright 1992, 1993, 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*************************************************************************** + +Copyright 1995 Network Computing Devices + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright © 1992 by UniSoft Group Ltd. + +Permission to use, copy, modify, and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +UniSoft makes no representations about the suitability for any purpose of +the information in this document. This documentation is provided "as is" +without express or implied warranty. + +*************************************************************************** + +Copyright © 1992, 1994, 1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +X Consortium. + +*************************************************************************** + +Copyright 1994 Network Computing Devices, Inc. + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. diff --git a/cdts/libxtst-cos7-ppc64le/meta.yaml b/cdts/libxtst-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..5e43e121 --- /dev/null +++ b/cdts/libxtst-cos7-ppc64le/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libxtst-cos7-ppc64le + version: 1.2.3 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libXtst-1.2.3-1.el7.ppc64le.rpm + sha256: cd4efbe84315bd572fd111fc96b24519639d28abc114e3c32b4f214c43591586 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libXtst-1.2.3-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + build: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + host: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-ppc64le 2.17.* + run: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-ppc64le 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libXtst-1.2.3/COPYING + summary: "(CDT) X.Org X11 libXtst runtime library" + description: | + X.Org X11 libXtst runtime library + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxtst-cos7-x86_64/build.sh b/cdts/libxtst-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/libxtst-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-cos7-x86_64/libxtst-license b/cdts/libxtst-cos7-x86_64/libxtst-license new file mode 100644 index 00000000..010b2709 --- /dev/null +++ b/cdts/libxtst-cos7-x86_64/libxtst-license @@ -0,0 +1,116 @@ +Copyright 1990, 1991 by UniSoft Group Limited +Copyright 1992, 1993, 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*************************************************************************** + +Copyright 1995 Network Computing Devices + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright © 1992 by UniSoft Group Ltd. + +Permission to use, copy, modify, and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +UniSoft makes no representations about the suitability for any purpose of +the information in this document. This documentation is provided "as is" +without express or implied warranty. + +*************************************************************************** + +Copyright © 1992, 1994, 1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +X Consortium. + +*************************************************************************** + +Copyright 1994 Network Computing Devices, Inc. + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. diff --git a/cdts/libxtst-cos7-x86_64/meta.yaml b/cdts/libxtst-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..50e52d94 --- /dev/null +++ b/cdts/libxtst-cos7-x86_64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libxtst-cos7-x86_64 + version: 1.2.3 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/libXtst-1.2.3-1.el7.x86_64.rpm + sha256: fb26618b371e304889912c79aa009388aaa17f3b08fdce9512d70f3957fe18e2 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libXtst-1.2.3-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + build: + - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + host: + - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + run: + - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libXtst-1.2.3/COPYING + summary: "(CDT) X.Org X11 libXtst runtime library" + description: | + X.Org X11 libXtst runtime library + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/libxtst-devel-cos6-x86_64/build.sh b/cdts/libxtst-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxtst-devel-cos6-x86_64/build.sh +++ b/cdts/libxtst-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-devel-cos6-x86_64/meta.yaml b/cdts/libxtst-devel-cos6-x86_64/meta.yaml index 7d3a52d0..a55a1983 100644 --- a/cdts/libxtst-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxtst-devel-cos6-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxtst-cos6-x86_64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} host: + - libxtst-cos6-x86_64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* run: + - libxtst-cos6-x86_64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxtst-devel-cos7-aarch64/build.sh b/cdts/libxtst-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxtst-devel-cos7-aarch64/build.sh +++ b/cdts/libxtst-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-devel-cos7-aarch64/meta.yaml b/cdts/libxtst-devel-cos7-aarch64/meta.yaml index 61f9a223..beeaf02f 100644 --- a/cdts/libxtst-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxtst-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxtst-cos7-aarch64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} host: + - libxtst-cos7-aarch64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - libxtst-cos7-aarch64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxtst-devel-cos7-ppc64le/build.sh b/cdts/libxtst-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxtst-devel-cos7-ppc64le/build.sh +++ b/cdts/libxtst-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-devel-cos7-ppc64le/meta.yaml b/cdts/libxtst-devel-cos7-ppc64le/meta.yaml index 72499b39..6056006d 100644 --- a/cdts/libxtst-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxtst-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxtst-cos7-ppc64le ==1.2.3 *_{{ cdt_build_number|int + 1000 }} host: + - libxtst-cos7-ppc64le ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - libxtst-cos7-ppc64le ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxtst-devel-cos7-x86_64/build.sh b/cdts/libxtst-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxtst-devel-cos7-x86_64/build.sh +++ b/cdts/libxtst-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxtst-devel-cos7-x86_64/meta.yaml b/cdts/libxtst-devel-cos7-x86_64/meta.yaml index a03aa19d..07b759e8 100644 --- a/cdts/libxtst-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxtst-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,25 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxtst-cos7-x86_64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} host: + - libxtst-cos7-x86_64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - libxtst-cos7-x86_64 ==1.2.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-cos6-x86_64/build.sh b/cdts/libxxf86vm-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxxf86vm-cos6-x86_64/build.sh +++ b/cdts/libxxf86vm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-cos6-x86_64/meta.yaml b/cdts/libxxf86vm-cos6-x86_64/meta.yaml index 4c7b99e2..95815523 100644 --- a/cdts/libxxf86vm-cos6-x86_64/meta.yaml +++ b/cdts/libxxf86vm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-cos7-aarch64/build.sh b/cdts/libxxf86vm-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxxf86vm-cos7-aarch64/build.sh +++ b/cdts/libxxf86vm-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-cos7-aarch64/meta.yaml b/cdts/libxxf86vm-cos7-aarch64/meta.yaml index 4e70e94e..909c9640 100644 --- a/cdts/libxxf86vm-cos7-aarch64/meta.yaml +++ b/cdts/libxxf86vm-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-cos7-ppc64le/build.sh b/cdts/libxxf86vm-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxxf86vm-cos7-ppc64le/build.sh +++ b/cdts/libxxf86vm-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-cos7-ppc64le/meta.yaml b/cdts/libxxf86vm-cos7-ppc64le/meta.yaml index 7a1b8063..5c16ced6 100644 --- a/cdts/libxxf86vm-cos7-ppc64le/meta.yaml +++ b/cdts/libxxf86vm-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-cos7-x86_64/build.sh b/cdts/libxxf86vm-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxxf86vm-cos7-x86_64/build.sh +++ b/cdts/libxxf86vm-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-cos7-x86_64/meta.yaml b/cdts/libxxf86vm-cos7-x86_64/meta.yaml index 8a868a06..3608818a 100644 --- a/cdts/libxxf86vm-cos7-x86_64/meta.yaml +++ b/cdts/libxxf86vm-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libx11-cos7-x86_64 >=1.5.99.902 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-devel-cos6-x86_64/build.sh b/cdts/libxxf86vm-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxxf86vm-devel-cos6-x86_64/build.sh +++ b/cdts/libxxf86vm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml b/cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml index 49f61b3e..a39bb052 100644 --- a/cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml +++ b/cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxxf86vm-cos6-x86_64 ==1.1.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-devel-cos7-aarch64/build.sh b/cdts/libxxf86vm-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/libxxf86vm-devel-cos7-aarch64/build.sh +++ b/cdts/libxxf86vm-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml b/cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml index 07b4c3e4..615f4f7e 100644 --- a/cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml +++ b/cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxxf86vm-cos7-aarch64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-devel-cos7-ppc64le/build.sh b/cdts/libxxf86vm-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/libxxf86vm-devel-cos7-ppc64le/build.sh +++ b/cdts/libxxf86vm-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml b/cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml index 7b40e821..bf78a76d 100644 --- a/cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml +++ b/cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxxf86vm-cos7-ppc64le ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/libxxf86vm-devel-cos7-x86_64/build.sh b/cdts/libxxf86vm-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/libxxf86vm-devel-cos7-x86_64/build.sh +++ b/cdts/libxxf86vm-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/libxxf86vm-devel-cos7-x86_64/meta.yaml b/cdts/libxxf86vm-devel-cos7-x86_64/meta.yaml index 4328e113..7cf51f8b 100644 --- a/cdts/libxxf86vm-devel-cos7-x86_64/meta.yaml +++ b/cdts/libxxf86vm-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libxxf86vm-cos7-x86_64 ==1.1.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/mesa-dri-drivers-cos6-x86_64/build.sh b/cdts/mesa-dri-drivers-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-dri-drivers-cos6-x86_64/build.sh +++ b/cdts/mesa-dri-drivers-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml b/cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml index f4ddb9d4..0eaccfa5 100644 --- a/cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml +++ b/cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - mesa-dri1-drivers-cos6-x86_64 >=7.11 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-dri-drivers-cos7-aarch64/build.sh b/cdts/mesa-dri-drivers-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/mesa-dri-drivers-cos7-aarch64/build.sh +++ b/cdts/mesa-dri-drivers-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml b/cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml index 647d4f2f..41a29aa6 100644 --- a/cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml +++ b/cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libdrm-cos7-aarch64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-dri-drivers-cos7-ppc64le/build.sh b/cdts/mesa-dri-drivers-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/mesa-dri-drivers-cos7-ppc64le/build.sh +++ b/cdts/mesa-dri-drivers-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml b/cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml index 7534721f..e66e9649 100644 --- a/cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libdrm-cos7-ppc64le >=2.4.83 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-dri-drivers-cos7-x86_64/build.sh b/cdts/mesa-dri-drivers-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-dri-drivers-cos7-x86_64/build.sh +++ b/cdts/mesa-dri-drivers-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-dri-drivers-cos7-x86_64/meta.yaml b/cdts/mesa-dri-drivers-cos7-x86_64/meta.yaml index e6f56e1d..d5d9b61f 100644 --- a/cdts/mesa-dri-drivers-cos7-x86_64/meta.yaml +++ b/cdts/mesa-dri-drivers-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - libdrm-cos7-x86_64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-dri1-drivers-cos6-x86_64/build.sh b/cdts/mesa-dri1-drivers-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-dri1-drivers-cos6-x86_64/build.sh +++ b/cdts/mesa-dri1-drivers-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml b/cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml index ea21053c..8b271c0a 100644 --- a/cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml +++ b/cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-khr-devel-cos7-aarch64/build.sh b/cdts/mesa-khr-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/mesa-khr-devel-cos7-aarch64/build.sh +++ b/cdts/mesa-khr-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-khr-devel-cos7-aarch64/meta.yaml b/cdts/mesa-khr-devel-cos7-aarch64/meta.yaml index b46e2c86..76ea333c 100644 --- a/cdts/mesa-khr-devel-cos7-aarch64/meta.yaml +++ b/cdts/mesa-khr-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-khr-devel-cos7-ppc64le/build.sh b/cdts/mesa-khr-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/mesa-khr-devel-cos7-ppc64le/build.sh +++ b/cdts/mesa-khr-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml b/cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml index b00fc955..bb1fd71b 100644 --- a/cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-khr-devel-cos7-x86_64/build.sh b/cdts/mesa-khr-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-khr-devel-cos7-x86_64/build.sh +++ b/cdts/mesa-khr-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-khr-devel-cos7-x86_64/meta.yaml b/cdts/mesa-khr-devel-cos7-x86_64/meta.yaml index 0d4f5c5f..f652d452 100644 --- a/cdts/mesa-khr-devel-cos7-x86_64/meta.yaml +++ b/cdts/mesa-khr-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-cos6-x86_64/build.sh b/cdts/mesa-libegl-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libegl-cos6-x86_64/build.sh +++ b/cdts/mesa-libegl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-cos6-x86_64/meta.yaml b/cdts/mesa-libegl-cos6-x86_64/meta.yaml index af6798e2..b7e671f0 100644 --- a/cdts/mesa-libegl-cos6-x86_64/meta.yaml +++ b/cdts/mesa-libegl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-cos7-aarch64/build.sh b/cdts/mesa-libegl-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/mesa-libegl-cos7-aarch64/build.sh +++ b/cdts/mesa-libegl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-cos7-aarch64/meta.yaml b/cdts/mesa-libegl-cos7-aarch64/meta.yaml index bd425052..5d5bff4a 100644 --- a/cdts/mesa-libegl-cos7-aarch64/meta.yaml +++ b/cdts/mesa-libegl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - mesa-libgbm-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-cos7-ppc64le/build.sh b/cdts/mesa-libegl-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/mesa-libegl-cos7-ppc64le/build.sh +++ b/cdts/mesa-libegl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-cos7-ppc64le/meta.yaml b/cdts/mesa-libegl-cos7-ppc64le/meta.yaml index f4a2d607..002eba2c 100644 --- a/cdts/mesa-libegl-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-libegl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - mesa-libgbm-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-cos7-x86_64/build.sh b/cdts/mesa-libegl-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libegl-cos7-x86_64/build.sh +++ b/cdts/mesa-libegl-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-cos7-x86_64/meta.yaml b/cdts/mesa-libegl-cos7-x86_64/meta.yaml index 4e443002..64d9289c 100644 --- a/cdts/mesa-libegl-cos7-x86_64/meta.yaml +++ b/cdts/mesa-libegl-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - mesa-libgbm-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-devel-cos6-x86_64/build.sh b/cdts/mesa-libegl-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libegl-devel-cos6-x86_64/build.sh +++ b/cdts/mesa-libegl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml b/cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml index db732317..439d8b2a 100644 --- a/cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml +++ b/cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - mesa-libegl-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-devel-cos7-aarch64/build.sh b/cdts/mesa-libegl-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/mesa-libegl-devel-cos7-aarch64/build.sh +++ b/cdts/mesa-libegl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml b/cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml index c23e342d..3aabdb18 100644 --- a/cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml +++ b/cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-devel-cos7-ppc64le/build.sh b/cdts/mesa-libegl-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/mesa-libegl-devel-cos7-ppc64le/build.sh +++ b/cdts/mesa-libegl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml b/cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml index 304f7542..ad06f6ba 100644 --- a/cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libegl-devel-cos7-x86_64/build.sh b/cdts/mesa-libegl-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libegl-devel-cos7-x86_64/build.sh +++ b/cdts/mesa-libegl-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libegl-devel-cos7-x86_64/meta.yaml b/cdts/mesa-libegl-devel-cos7-x86_64/meta.yaml index 31af9ecb..f4249752 100644 --- a/cdts/mesa-libegl-devel-cos7-x86_64/meta.yaml +++ b/cdts/mesa-libegl-devel-cos7-x86_64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: + - mesa-khr-devel-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - mesa-khr-devel-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libegl-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgbm-cos6-x86_64/build.sh b/cdts/mesa-libgbm-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libgbm-cos6-x86_64/build.sh +++ b/cdts/mesa-libgbm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgbm-cos6-x86_64/meta.yaml b/cdts/mesa-libgbm-cos6-x86_64/meta.yaml index 352de9ac..e7d17a20 100644 --- a/cdts/mesa-libgbm-cos6-x86_64/meta.yaml +++ b/cdts/mesa-libgbm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgbm-cos7-aarch64/build.sh b/cdts/mesa-libgbm-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/mesa-libgbm-cos7-aarch64/build.sh +++ b/cdts/mesa-libgbm-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgbm-cos7-aarch64/meta.yaml b/cdts/mesa-libgbm-cos7-aarch64/meta.yaml index 0ea36d8c..a4826593 100644 --- a/cdts/mesa-libgbm-cos7-aarch64/meta.yaml +++ b/cdts/mesa-libgbm-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - mesa-libglapi-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgbm-cos7-ppc64le/build.sh b/cdts/mesa-libgbm-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/mesa-libgbm-cos7-ppc64le/build.sh +++ b/cdts/mesa-libgbm-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgbm-cos7-ppc64le/meta.yaml b/cdts/mesa-libgbm-cos7-ppc64le/meta.yaml index 616f29cf..12b4e576 100644 --- a/cdts/mesa-libgbm-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-libgbm-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - mesa-libglapi-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgbm-cos7-x86_64/build.sh b/cdts/mesa-libgbm-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libgbm-cos7-x86_64/build.sh +++ b/cdts/mesa-libgbm-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgbm-cos7-x86_64/meta.yaml b/cdts/mesa-libgbm-cos7-x86_64/meta.yaml index 95fed52d..ebe58e36 100644 --- a/cdts/mesa-libgbm-cos7-x86_64/meta.yaml +++ b/cdts/mesa-libgbm-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - mesa-libglapi-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-cos6-x86_64/build.sh b/cdts/mesa-libgl-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libgl-cos6-x86_64/build.sh +++ b/cdts/mesa-libgl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-cos6-x86_64/meta.yaml b/cdts/mesa-libgl-cos6-x86_64/meta.yaml index 7493f950..cdd9ed5f 100644 --- a/cdts/mesa-libgl-cos6-x86_64/meta.yaml +++ b/cdts/mesa-libgl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,15 +23,22 @@ requirements: build: - libx11-cos6-x86_64 >1.6 *_{{ cdt_build_number|int + 1000 }} - libdrm-cos6-x86_64 >=2.4.24 *_{{ cdt_build_number|int + 1000 }} + - mesa-dri-drivers-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number|int + 1000 }} host: - libx11-cos6-x86_64 >1.6 *_{{ cdt_build_number|int + 1000 }} - libdrm-cos6-x86_64 >=2.4.24 *_{{ cdt_build_number|int + 1000 }} + - mesa-dri-drivers-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* run: - libx11-cos6-x86_64 >1.6 *_{{ cdt_build_number|int + 1000 }} - libdrm-cos6-x86_64 >=2.4.24 *_{{ cdt_build_number|int + 1000 }} + - mesa-dri-drivers-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-cos7-aarch64/build.sh b/cdts/mesa-libgl-cos7-aarch64/build.sh index ce00c164..9b041f06 100755 --- a/cdts/mesa-libgl-cos7-aarch64/build.sh +++ b/cdts/mesa-libgl-cos7-aarch64/build.sh @@ -17,10 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib64 +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 rm libGLX_system.so.0 ln -s libGLX_mesa.so.0 libGLX_system.so.0 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-cos7-aarch64/meta.yaml b/cdts/mesa-libgl-cos7-aarch64/meta.yaml index 01bb5576..8b37bb3c 100644 --- a/cdts/mesa-libgl-cos7-aarch64/meta.yaml +++ b/cdts/mesa-libgl-cos7-aarch64/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - libdrm-cos7-aarch64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-aarch64 >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: - libdrm-cos7-aarch64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-aarch64 >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: - libdrm-cos7-aarch64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-aarch64 >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-cos7-ppc64le/build.sh b/cdts/mesa-libgl-cos7-ppc64le/build.sh index 07412ea3..40c1a3e6 100755 --- a/cdts/mesa-libgl-cos7-ppc64le/build.sh +++ b/cdts/mesa-libgl-cos7-ppc64le/build.sh @@ -17,10 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib64 +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 rm libGLX_system.so.0 ln -s libGLX_mesa.so.0 libGLX_system.so.0 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-cos7-ppc64le/meta.yaml b/cdts/mesa-libgl-cos7-ppc64le/meta.yaml index e3927b0d..aec9ae53 100644 --- a/cdts/mesa-libgl-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-libgl-cos7-ppc64le/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - libdrm-cos7-ppc64le >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-ppc64le >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: - libdrm-cos7-ppc64le >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-ppc64le >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: - libdrm-cos7-ppc64le >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-ppc64le >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-cos7-x86_64/build.sh b/cdts/mesa-libgl-cos7-x86_64/build.sh index c491c845..e27ae05a 100755 --- a/cdts/mesa-libgl-cos7-x86_64/build.sh +++ b/cdts/mesa-libgl-cos7-x86_64/build.sh @@ -17,10 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib64 +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 rm libGLX_system.so.0 ln -s libGLX_mesa.so.0 libGLX_system.so.0 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-cos7-x86_64/meta.yaml b/cdts/mesa-libgl-cos7-x86_64/meta.yaml index 5cdf2e74..78b4f6dd 100644 --- a/cdts/mesa-libgl-cos7-x86_64/meta.yaml +++ b/cdts/mesa-libgl-cos7-x86_64/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - libdrm-cos7-x86_64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-x86_64 >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: - libdrm-cos7-x86_64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-x86_64 >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: - libdrm-cos7-x86_64 >=2.4.83 *_{{ cdt_build_number|int + 1000 }} + - libglvnd-glx-cos7-x86_64 >=1.0.1 *_{{ cdt_build_number|int + 1000 }} - mesa-libglapi-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-devel-cos6-x86_64/build.sh b/cdts/mesa-libgl-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libgl-devel-cos6-x86_64/build.sh +++ b/cdts/mesa-libgl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml b/cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml index 48f205f1..21830f01 100644 --- a/cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml +++ b/cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - mesa-libgl-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-devel-cos7-aarch64/build.sh b/cdts/mesa-libgl-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/mesa-libgl-devel-cos7-aarch64/build.sh +++ b/cdts/mesa-libgl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml b/cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml index 21980769..6c305bd7 100644 --- a/cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml +++ b/cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-devel-cos7-ppc64le/build.sh b/cdts/mesa-libgl-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/mesa-libgl-devel-cos7-ppc64le/build.sh +++ b/cdts/mesa-libgl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml b/cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml index 11662fc4..514fa91a 100644 --- a/cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libgl-devel-cos7-x86_64/build.sh b/cdts/mesa-libgl-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libgl-devel-cos7-x86_64/build.sh +++ b/cdts/mesa-libgl-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libgl-devel-cos7-x86_64/meta.yaml b/cdts/mesa-libgl-devel-cos7-x86_64/meta.yaml index 23c23fa9..7100db68 100644 --- a/cdts/mesa-libgl-devel-cos7-x86_64/meta.yaml +++ b/cdts/mesa-libgl-devel-cos7-x86_64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} host: + - mesa-khr-devel-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - mesa-khr-devel-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - mesa-libgl-cos7-x86_64 ==18.3.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libglapi-cos7-aarch64/build.sh b/cdts/mesa-libglapi-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/mesa-libglapi-cos7-aarch64/build.sh +++ b/cdts/mesa-libglapi-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libglapi-cos7-aarch64/meta.yaml b/cdts/mesa-libglapi-cos7-aarch64/meta.yaml index a4a35360..5f0016ad 100644 --- a/cdts/mesa-libglapi-cos7-aarch64/meta.yaml +++ b/cdts/mesa-libglapi-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libglapi-cos7-ppc64le/build.sh b/cdts/mesa-libglapi-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/mesa-libglapi-cos7-ppc64le/build.sh +++ b/cdts/mesa-libglapi-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libglapi-cos7-ppc64le/meta.yaml b/cdts/mesa-libglapi-cos7-ppc64le/meta.yaml index 88f72720..aa0ece4e 100644 --- a/cdts/mesa-libglapi-cos7-ppc64le/meta.yaml +++ b/cdts/mesa-libglapi-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/mesa-libglapi-cos7-x86_64/build.sh b/cdts/mesa-libglapi-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/mesa-libglapi-cos7-x86_64/build.sh +++ b/cdts/mesa-libglapi-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/mesa-libglapi-cos7-x86_64/meta.yaml b/cdts/mesa-libglapi-cos7-x86_64/meta.yaml index 0d57077d..5ad69033 100644 --- a/cdts/mesa-libglapi-cos7-x86_64/meta.yaml +++ b/cdts/mesa-libglapi-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/cdts/nspr-cos6-x86_64/build.sh b/cdts/nspr-cos6-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nspr-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nspr-cos6-x86_64/meta.yaml b/cdts/nspr-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..2124f56c --- /dev/null +++ b/cdts/nspr-cos6-x86_64/meta.yaml @@ -0,0 +1,46 @@ +package: + name: nspr-cos6-x86_64 + version: 4.19.0 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nspr-4.19.0-1.el6.x86_64.rpm + sha256: f7dc13dea884b7d3bd374059629be73e9e74e6a5939e0fd5dd4285a1e889d031 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nspr-4.19.0-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.12.* + run: + - sysroot_linux-64 2.12.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/nspr/ + license: MPL-2.0 + license_family: Other + license_file: nspr-license + summary: (CDT) Netscape Portable Runtime + description: | + NSPR provides platform independence for non-GUI operating system facilities. + These facilities include threads, thread synchronization, normal file and + network I/O, interval timing and calendar time, basic memory management + (malloc and free) and shared library linking. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nspr-cos6-x86_64/nspr-license b/cdts/nspr-cos6-x86_64/nspr-license new file mode 100644 index 00000000..a612ad98 --- /dev/null +++ b/cdts/nspr-cos6-x86_64/nspr-license @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nspr-cos7-aarch64/build.sh b/cdts/nspr-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/nspr-cos7-aarch64/build.sh +++ b/cdts/nspr-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nspr-cos7-aarch64/meta.yaml b/cdts/nspr-cos7-aarch64/meta.yaml index e1700efc..e7e41394 100644 --- a/cdts/nspr-cos7-aarch64/meta.yaml +++ b/cdts/nspr-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/nspr/ license: MPL-2.0 diff --git a/cdts/nspr-cos7-ppc64le/build.sh b/cdts/nspr-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/nspr-cos7-ppc64le/build.sh +++ b/cdts/nspr-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nspr-cos7-ppc64le/meta.yaml b/cdts/nspr-cos7-ppc64le/meta.yaml index 67f89ca7..c38fab8c 100644 --- a/cdts/nspr-cos7-ppc64le/meta.yaml +++ b/cdts/nspr-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/nspr/ license: MPL-2.0 diff --git a/cdts/nspr-cos7-x86_64/build.sh b/cdts/nspr-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nspr-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nspr-cos7-x86_64/meta.yaml b/cdts/nspr-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..22fed40d --- /dev/null +++ b/cdts/nspr-cos7-x86_64/meta.yaml @@ -0,0 +1,46 @@ +package: + name: nspr-cos7-x86_64 + version: 4.21.0 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/nspr-4.21.0-1.el7.x86_64.rpm + sha256: 87b51e45cfb1fb7e13f3c9ee00ca4326812c3daa69820634c8eff3c60890c928 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/nspr-4.21.0-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.17.* + run: + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/nspr/ + license: MPL-2.0 + license_family: Other + license_file: nspr-license + summary: (CDT) Netscape Portable Runtime + description: | + NSPR provides platform independence for non-GUI operating system facilities. + These facilities include threads, thread synchronization, normal file and + network I/O, interval timing and calendar time, basic memory management + (malloc and free) and shared library linking. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nspr-cos7-x86_64/nspr-license b/cdts/nspr-cos7-x86_64/nspr-license new file mode 100644 index 00000000..a612ad98 --- /dev/null +++ b/cdts/nspr-cos7-x86_64/nspr-license @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-cos6-x86_64/build.sh b/cdts/nss-cos6-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-cos6-x86_64/meta.yaml b/cdts/nss-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..5bc652d3 --- /dev/null +++ b/cdts/nss-cos6-x86_64/meta.yaml @@ -0,0 +1,57 @@ +package: + name: nss-cos6-x86_64 + version: 3.36.0 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-3.36.0-8.el6.x86_64.rpm + sha256: 7e2ada2dbb795a56a2961d0ea681d47f481c42faf3cd0886d991bf07f8d3c39a + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-3.36.0-8.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos6-x86_64 >=3.36.0 *_{{ cdt_build_number|int + 1000 }} + host: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos6-x86_64 >=3.36.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + run: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos6-x86_64 >=3.36.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services + description: | + Network Security Services (NSS) is a set of libraries designed to support + cross-platform development of security-enabled client and server applications. + Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, + PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security + standards. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-cos6-x86_64/nss-license b/cdts/nss-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-cos7-aarch64/build.sh b/cdts/nss-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/nss-cos7-aarch64/build.sh +++ b/cdts/nss-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-cos7-aarch64/meta.yaml b/cdts/nss-cos7-aarch64/meta.yaml index f3466c02..6dce22dd 100644 --- a/cdts/nss-cos7-aarch64/meta.yaml +++ b/cdts/nss-cos7-aarch64/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} host: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-cos7-ppc64le/build.sh b/cdts/nss-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/nss-cos7-ppc64le/build.sh +++ b/cdts/nss-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-cos7-ppc64le/meta.yaml b/cdts/nss-cos7-ppc64le/meta.yaml index 5fdbd707..8d72a736 100644 --- a/cdts/nss-cos7-ppc64le/meta.yaml +++ b/cdts/nss-cos7-ppc64le/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} host: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-cos7-x86_64/build.sh b/cdts/nss-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-cos7-x86_64/meta.yaml b/cdts/nss-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..7dc8c992 --- /dev/null +++ b/cdts/nss-cos7-x86_64/meta.yaml @@ -0,0 +1,57 @@ +package: + name: nss-cos7-x86_64 + version: 3.44.0 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/nss-3.44.0-7.el7_7.x86_64.rpm + sha256: 76e4a0944647a345ea932e8d79058f9856e05895528f8b0596eb9099a7772f22 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/nss-3.44.0-7.el7_7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + host: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + run: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services + description: | + Network Security Services (NSS) is a set of libraries designed to support + cross-platform development of security-enabled client and server applications. + Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, + PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security + standards. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-cos7-x86_64/nss-license b/cdts/nss-cos7-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-cos7-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-softokn-cos6-x86_64/build.sh b/cdts/nss-softokn-cos6-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-softokn-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-cos6-x86_64/meta.yaml b/cdts/nss-softokn-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..17f8b086 --- /dev/null +++ b/cdts/nss-softokn-cos6-x86_64/meta.yaml @@ -0,0 +1,53 @@ +package: + name: nss-softokn-cos6-x86_64 + version: 3.14.3 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-softokn-3.14.3-23.3.el6_8.x86_64.rpm + sha256: 7e4298904daec41067f01c8943055560cd153d1f39c668c6d2fa978a3d66dd81 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-softokn-3.14.3-23.3.el6_8.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos6-x86_64 >=4.10.6 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos6-x86_64 >=3.15.1 *_{{ cdt_build_number|int + 1000 }} + host: + - nspr-cos6-x86_64 >=4.10.6 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos6-x86_64 >=3.15.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + run: + - nspr-cos6-x86_64 >=4.10.6 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos6-x86_64 >=3.15.1 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services Softoken Module + description: | + Network Security Services Softoken Cryptographic Module + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-softokn-cos6-x86_64/nss-license b/cdts/nss-softokn-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-softokn-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-softokn-cos7-aarch64/build.sh b/cdts/nss-softokn-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/nss-softokn-cos7-aarch64/build.sh +++ b/cdts/nss-softokn-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-cos7-aarch64/meta.yaml b/cdts/nss-softokn-cos7-aarch64/meta.yaml index 1326db68..cec5b560 100644 --- a/cdts/nss-softokn-cos7-aarch64/meta.yaml +++ b/cdts/nss-softokn-cos7-aarch64/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} host: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-softokn-cos7-ppc64le/build.sh b/cdts/nss-softokn-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/nss-softokn-cos7-ppc64le/build.sh +++ b/cdts/nss-softokn-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-cos7-ppc64le/meta.yaml b/cdts/nss-softokn-cos7-ppc64le/meta.yaml index 1455f649..ba15a42f 100644 --- a/cdts/nss-softokn-cos7-ppc64le/meta.yaml +++ b/cdts/nss-softokn-cos7-ppc64le/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} host: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-softokn-cos7-x86_64/build.sh b/cdts/nss-softokn-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-softokn-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-cos7-x86_64/meta.yaml b/cdts/nss-softokn-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..4ae7bb7f --- /dev/null +++ b/cdts/nss-softokn-cos7-x86_64/meta.yaml @@ -0,0 +1,53 @@ +package: + name: nss-softokn-cos7-x86_64 + version: 3.44.0 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/nss-softokn-3.44.0-8.el7_7.x86_64.rpm + sha256: f8d10e879c3bc46ad909f632da2cbb59407afaf1374af36dd268c5d213771905 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/nss-softokn-3.44.0-8.el7_7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + host: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + run: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-softokn-freebl-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services Softoken Module + description: | + Network Security Services Softoken Cryptographic Module + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-softokn-cos7-x86_64/nss-license b/cdts/nss-softokn-cos7-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-softokn-cos7-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-softokn-freebl-cos6-x86_64/build.sh b/cdts/nss-softokn-freebl-cos6-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-softokn-freebl-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml b/cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..65e55e3d --- /dev/null +++ b/cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml @@ -0,0 +1,44 @@ +package: + name: nss-softokn-freebl-cos6-x86_64 + version: 3.14.3 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64.rpm + sha256: bccc1e55c5cf90d7ee5ef2d25253fc8dd2c3854121a65711f5f5618b097ffb70 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-softokn-3.14.3-23.3.el6_8.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + host: + - sysroot_linux-64 2.12.* + run: + - sysroot_linux-64 2.12.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Freebl library for the Network Security Services + description: | + NSS Softoken Cryptographic Module Freelb Library Install the nss-softokn- + freebl package if you need the freebl library. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-softokn-freebl-cos6-x86_64/nss-license b/cdts/nss-softokn-freebl-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-softokn-freebl-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-softokn-freebl-cos7-aarch64/build.sh b/cdts/nss-softokn-freebl-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/nss-softokn-freebl-cos7-aarch64/build.sh +++ b/cdts/nss-softokn-freebl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml b/cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml index e614f77a..c05326f2 100644 --- a/cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml +++ b/cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-softokn-freebl-cos7-ppc64le/build.sh b/cdts/nss-softokn-freebl-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/nss-softokn-freebl-cos7-ppc64le/build.sh +++ b/cdts/nss-softokn-freebl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml b/cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml index 772669fb..f0202e0a 100644 --- a/cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml +++ b/cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-softokn-freebl-cos7-x86_64/build.sh b/cdts/nss-softokn-freebl-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-softokn-freebl-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-softokn-freebl-cos7-x86_64/meta.yaml b/cdts/nss-softokn-freebl-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..706956e8 --- /dev/null +++ b/cdts/nss-softokn-freebl-cos7-x86_64/meta.yaml @@ -0,0 +1,51 @@ +package: + name: nss-softokn-freebl-cos7-x86_64 + version: 3.44.0 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/nss-softokn-freebl-3.44.0-8.el7_7.x86_64.rpm + sha256: 9949831b67f6eb68dc9df6df3e4570bd5f9301de3c7d67c41512fcaaadb40da5 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/nss-softokn-3.44.0-8.el7_7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + host: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + run: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - nss-util-cos7-x86_64 >=3.44.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Freebl library for the Network Security Services + description: | + NSS Softoken Cryptographic Module Freebl Library Install the nss-softokn- + freebl package if you need the freebl library. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-softokn-freebl-cos7-x86_64/nss-license b/cdts/nss-softokn-freebl-cos7-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-softokn-freebl-cos7-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-util-cos6-x86_64/build.sh b/cdts/nss-util-cos6-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-util-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-util-cos6-x86_64/meta.yaml b/cdts/nss-util-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..481d4227 --- /dev/null +++ b/cdts/nss-util-cos6-x86_64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: nss-util-cos6-x86_64 + version: 3.36.0 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-util-3.36.0-1.el6.x86_64.rpm + sha256: 928a4ae279634a99963b4525a665c882431a50b9c5f28548572e8f00254f2d88 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-util-3.36.0-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number|int + 1000 }} + host: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + run: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.12.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services Utilities Library + description: | + Utilities for Network Security Services and the Softoken module + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-util-cos6-x86_64/nss-license b/cdts/nss-util-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-util-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/nss-util-cos7-aarch64/build.sh b/cdts/nss-util-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/nss-util-cos7-aarch64/build.sh +++ b/cdts/nss-util-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-util-cos7-aarch64/meta.yaml b/cdts/nss-util-cos7-aarch64/meta.yaml index a8bf305a..7e46586e 100644 --- a/cdts/nss-util-cos7-aarch64/meta.yaml +++ b/cdts/nss-util-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-util-cos7-ppc64le/build.sh b/cdts/nss-util-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/nss-util-cos7-ppc64le/build.sh +++ b/cdts/nss-util-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-util-cos7-ppc64le/meta.yaml b/cdts/nss-util-cos7-ppc64le/meta.yaml index 108aaf43..9a58f121 100644 --- a/cdts/nss-util-cos7-ppc64le/meta.yaml +++ b/cdts/nss-util-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/cdts/nss-util-cos7-x86_64/build.sh b/cdts/nss-util-cos7-x86_64/build.sh new file mode 100755 index 00000000..44dc3055 --- /dev/null +++ b/cdts/nss-util-cos7-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/nss-util-cos7-x86_64/meta.yaml b/cdts/nss-util-cos7-x86_64/meta.yaml new file mode 100644 index 00000000..28a3b84a --- /dev/null +++ b/cdts/nss-util-cos7-x86_64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: nss-util-cos7-x86_64 + version: 3.44.0 + +source: + - url: http://mirror.centos.org/centos/7/os/x86_64/Packages/nss-util-3.44.0-4.el7_7.x86_64.rpm + sha256: 401b5322ea4d54d259a1947a92417671831bc17adbcbf487e7b52eda793ff457 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/nss-util-3.44.0-4.el7_7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number|int + 1000 }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + host: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + run: + - nspr-cos7-x86_64 >=4.21.0 *_{{ cdt_build_number|int + 1000 }} + - sysroot_linux-64 2.17.* + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services Utilities Library + description: | + Utilities for Network Security Services and the Softoken module + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/cdts/nss-util-cos7-x86_64/nss-license b/cdts/nss-util-cos7-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/cdts/nss-util-cos7-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/cdts/numactl-cos6-x86_64/build.sh b/cdts/numactl-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/numactl-cos6-x86_64/build.sh +++ b/cdts/numactl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/numactl-cos6-x86_64/meta.yaml b/cdts/numactl-cos6-x86_64/meta.yaml index 3a73669d..603fe303 100644 --- a/cdts/numactl-cos6-x86_64/meta.yaml +++ b/cdts/numactl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: ftp://oss.sgi.com/www/projects/libnuma/download license: LGPLv2/GPLv2 diff --git a/cdts/numactl-devel-cos6-x86_64/build.sh b/cdts/numactl-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/numactl-devel-cos6-x86_64/build.sh +++ b/cdts/numactl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/numactl-devel-cos6-x86_64/meta.yaml b/cdts/numactl-devel-cos6-x86_64/meta.yaml index 4f33fa0c..c0eda295 100644 --- a/cdts/numactl-devel-cos6-x86_64/meta.yaml +++ b/cdts/numactl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - numactl-cos6-x86_64 ==2.0.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: ftp://oss.sgi.com/www/projects/libnuma/download license: LGPLv2/GPLv2 diff --git a/cdts/orbit2-cos6-x86_64/build.sh b/cdts/orbit2-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/orbit2-cos6-x86_64/build.sh +++ b/cdts/orbit2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-cos6-x86_64/meta.yaml b/cdts/orbit2-cos6-x86_64/meta.yaml index e54041ee..eb7e9f39 100644 --- a/cdts/orbit2-cos6-x86_64/meta.yaml +++ b/cdts/orbit2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/orbit2-cos7-aarch64/build.sh b/cdts/orbit2-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/orbit2-cos7-aarch64/build.sh +++ b/cdts/orbit2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-cos7-aarch64/meta.yaml b/cdts/orbit2-cos7-aarch64/meta.yaml index 2744f4de..a98de03e 100644 --- a/cdts/orbit2-cos7-aarch64/meta.yaml +++ b/cdts/orbit2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/orbit2-cos7-ppc64le/build.sh b/cdts/orbit2-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/orbit2-cos7-ppc64le/build.sh +++ b/cdts/orbit2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-cos7-ppc64le/meta.yaml b/cdts/orbit2-cos7-ppc64le/meta.yaml index 9fa05245..b9b5f1bc 100644 --- a/cdts/orbit2-cos7-ppc64le/meta.yaml +++ b/cdts/orbit2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/orbit2-cos7-x86_64/build.sh b/cdts/orbit2-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/orbit2-cos7-x86_64/build.sh +++ b/cdts/orbit2-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-cos7-x86_64/meta.yaml b/cdts/orbit2-cos7-x86_64/meta.yaml index a8324f23..2fbc5237 100644 --- a/cdts/orbit2-cos7-x86_64/meta.yaml +++ b/cdts/orbit2-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/orbit2-devel-cos6-x86_64/build.sh b/cdts/orbit2-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/orbit2-devel-cos6-x86_64/build.sh +++ b/cdts/orbit2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-devel-cos6-x86_64/meta.yaml b/cdts/orbit2-devel-cos6-x86_64/meta.yaml index 58ca5e4a..00d3072d 100644 --- a/cdts/orbit2-devel-cos6-x86_64/meta.yaml +++ b/cdts/orbit2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libidl-devel-cos6-x86_64 >=0.8.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/orbit2-devel-cos7-aarch64/build.sh b/cdts/orbit2-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/orbit2-devel-cos7-aarch64/build.sh +++ b/cdts/orbit2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-devel-cos7-aarch64/meta.yaml b/cdts/orbit2-devel-cos7-aarch64/meta.yaml index 03115287..a1ca6064 100644 --- a/cdts/orbit2-devel-cos7-aarch64/meta.yaml +++ b/cdts/orbit2-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libidl-devel-cos7-aarch64 >=0.8.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/orbit2-devel-cos7-ppc64le/build.sh b/cdts/orbit2-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/orbit2-devel-cos7-ppc64le/build.sh +++ b/cdts/orbit2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-devel-cos7-ppc64le/meta.yaml b/cdts/orbit2-devel-cos7-ppc64le/meta.yaml index 5d49f3b0..51399459 100644 --- a/cdts/orbit2-devel-cos7-ppc64le/meta.yaml +++ b/cdts/orbit2-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libidl-devel-cos7-ppc64le >=0.8.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/orbit2-devel-cos7-x86_64/build.sh b/cdts/orbit2-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/orbit2-devel-cos7-x86_64/build.sh +++ b/cdts/orbit2-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/orbit2-devel-cos7-x86_64/meta.yaml b/cdts/orbit2-devel-cos7-x86_64/meta.yaml index 05ddfead..43f51208 100644 --- a/cdts/orbit2-devel-cos7-x86_64/meta.yaml +++ b/cdts/orbit2-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: - libidl-devel-cos7-x86_64 >=0.8.2 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/cdts/p11-kit-cos6-x86_64/build.sh b/cdts/p11-kit-cos6-x86_64/build.sh index 618b9b48..44dc3055 100755 --- a/cdts/p11-kit-cos6-x86_64/build.sh +++ b/cdts/p11-kit-cos6-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-cos6-x86_64/meta.yaml b/cdts/p11-kit-cos6-x86_64/meta.yaml index 2acf90ab..087d9079 100644 --- a/cdts/p11-kit-cos6-x86_64/meta.yaml +++ b/cdts/p11-kit-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/p11-kit-cos7-aarch64/build.sh b/cdts/p11-kit-cos7-aarch64/build.sh index 9685d043..ca6ebc1a 100755 --- a/cdts/p11-kit-cos7-aarch64/build.sh +++ b/cdts/p11-kit-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-cos7-aarch64/meta.yaml b/cdts/p11-kit-cos7-aarch64/meta.yaml index d4ca0070..13baefac 100644 --- a/cdts/p11-kit-cos7-aarch64/meta.yaml +++ b/cdts/p11-kit-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/p11-kit-cos7-ppc64le/build.sh b/cdts/p11-kit-cos7-ppc64le/build.sh index 0722271f..b4d65ea7 100755 --- a/cdts/p11-kit-cos7-ppc64le/build.sh +++ b/cdts/p11-kit-cos7-ppc64le/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-cos7-ppc64le/meta.yaml b/cdts/p11-kit-cos7-ppc64le/meta.yaml index 970c44cf..67049d0d 100644 --- a/cdts/p11-kit-cos7-ppc64le/meta.yaml +++ b/cdts/p11-kit-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/p11-kit-cos7-x86_64/build.sh b/cdts/p11-kit-cos7-x86_64/build.sh index 618b9b48..44dc3055 100755 --- a/cdts/p11-kit-cos7-x86_64/build.sh +++ b/cdts/p11-kit-cos7-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-cos7-x86_64/meta.yaml b/cdts/p11-kit-cos7-x86_64/meta.yaml index ebc22056..71a5a4c2 100644 --- a/cdts/p11-kit-cos7-x86_64/meta.yaml +++ b/cdts/p11-kit-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/cdts/p11-kit-trust-cos6-x86_64/build.sh b/cdts/p11-kit-trust-cos6-x86_64/build.sh index 618b9b48..44dc3055 100755 --- a/cdts/p11-kit-trust-cos6-x86_64/build.sh +++ b/cdts/p11-kit-trust-cos6-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-trust-cos6-x86_64/meta.yaml b/cdts/p11-kit-trust-cos6-x86_64/meta.yaml index eb19b871..dc2f5b8d 100644 --- a/cdts/p11-kit-trust-cos6-x86_64/meta.yaml +++ b/cdts/p11-kit-trust-cos6-x86_64/meta.yaml @@ -14,13 +14,19 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - p11-kit-cos6-x86_64 ==0.18.5 *_{{ cdt_build_number|int + 1000 }} host: + - p11-kit-cos6-x86_64 ==0.18.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* run: + - p11-kit-cos6-x86_64 ==0.18.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* test: diff --git a/cdts/p11-kit-trust-cos7-aarch64/build.sh b/cdts/p11-kit-trust-cos7-aarch64/build.sh index 9685d043..ca6ebc1a 100755 --- a/cdts/p11-kit-trust-cos7-aarch64/build.sh +++ b/cdts/p11-kit-trust-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-trust-cos7-aarch64/meta.yaml b/cdts/p11-kit-trust-cos7-aarch64/meta.yaml index cbd87f6a..029ed9de 100644 --- a/cdts/p11-kit-trust-cos7-aarch64/meta.yaml +++ b/cdts/p11-kit-trust-cos7-aarch64/meta.yaml @@ -14,13 +14,19 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - p11-kit-cos7-aarch64 ==0.23.5 *_{{ cdt_build_number|int + 1000 }} host: + - p11-kit-cos7-aarch64 ==0.23.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - p11-kit-cos7-aarch64 ==0.23.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* test: diff --git a/cdts/p11-kit-trust-cos7-ppc64le/build.sh b/cdts/p11-kit-trust-cos7-ppc64le/build.sh index 0722271f..b4d65ea7 100755 --- a/cdts/p11-kit-trust-cos7-ppc64le/build.sh +++ b/cdts/p11-kit-trust-cos7-ppc64le/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-trust-cos7-ppc64le/meta.yaml b/cdts/p11-kit-trust-cos7-ppc64le/meta.yaml index c22f8783..6d6ee782 100644 --- a/cdts/p11-kit-trust-cos7-ppc64le/meta.yaml +++ b/cdts/p11-kit-trust-cos7-ppc64le/meta.yaml @@ -14,13 +14,19 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - p11-kit-cos7-ppc64le ==0.23.5 *_{{ cdt_build_number|int + 1000 }} host: + - p11-kit-cos7-ppc64le ==0.23.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - p11-kit-cos7-ppc64le ==0.23.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* test: diff --git a/cdts/p11-kit-trust-cos7-x86_64/build.sh b/cdts/p11-kit-trust-cos7-x86_64/build.sh index 618b9b48..44dc3055 100755 --- a/cdts/p11-kit-trust-cos7-x86_64/build.sh +++ b/cdts/p11-kit-trust-cos7-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/cdts/p11-kit-trust-cos7-x86_64/meta.yaml b/cdts/p11-kit-trust-cos7-x86_64/meta.yaml index 332b2cc8..fbf654ba 100644 --- a/cdts/p11-kit-trust-cos7-x86_64/meta.yaml +++ b/cdts/p11-kit-trust-cos7-x86_64/meta.yaml @@ -14,13 +14,19 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - p11-kit-cos7-x86_64 ==0.23.5 *_{{ cdt_build_number|int + 1000 }} host: + - p11-kit-cos7-x86_64 ==0.23.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - p11-kit-cos7-x86_64 ==0.23.5 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* test: diff --git a/cdts/pango-cos6-x86_64/build.sh b/cdts/pango-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pango-cos6-x86_64/build.sh +++ b/cdts/pango-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-cos6-x86_64/meta.yaml b/cdts/pango-cos6-x86_64/meta.yaml index bd014b3f..e3fbc37f 100644 --- a/cdts/pango-cos6-x86_64/meta.yaml +++ b/cdts/pango-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - libthai-cos6-x86_64 >=0.1.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pango-cos7-aarch64/build.sh b/cdts/pango-cos7-aarch64/build.sh index 8d3c87f9..d63ea530 100755 --- a/cdts/pango-cos7-aarch64/build.sh +++ b/cdts/pango-cos7-aarch64/build.sh @@ -17,11 +17,52 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/bin +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/bin > /dev/null 2>&1 rm -f pango-querymodules-64 echo -e '#!/usr/bin/env bash\n exit 0' > pango-querymodules-64 chmod u+x pango-querymodules-64 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-cos7-aarch64/meta.yaml b/cdts/pango-cos7-aarch64/meta.yaml index 3f56c14b..25a3d587 100644 --- a/cdts/pango-cos7-aarch64/meta.yaml +++ b/cdts/pango-cos7-aarch64/meta.yaml @@ -14,15 +14,46 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-aarch64 >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-aarch64 >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-aarch64 >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-aarch64 >=0.1.9 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-aarch64 >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-aarch64 >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-aarch64 >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-aarch64 >=0.1.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - cairo-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-aarch64 >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-aarch64 >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-aarch64 >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-aarch64 >=0.1.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pango-cos7-ppc64le/build.sh b/cdts/pango-cos7-ppc64le/build.sh index 3daa6667..12013893 100755 --- a/cdts/pango-cos7-ppc64le/build.sh +++ b/cdts/pango-cos7-ppc64le/build.sh @@ -17,11 +17,52 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/bin +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/bin > /dev/null 2>&1 rm -f pango-querymodules-64 echo -e '#!/usr/bin/env bash\n exit 0' > pango-querymodules-64 chmod u+x pango-querymodules-64 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-cos7-ppc64le/meta.yaml b/cdts/pango-cos7-ppc64le/meta.yaml index d081dae6..e05f6a0a 100644 --- a/cdts/pango-cos7-ppc64le/meta.yaml +++ b/cdts/pango-cos7-ppc64le/meta.yaml @@ -14,15 +14,46 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-ppc64le >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-ppc64le >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-ppc64le >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-ppc64le >=0.1.9 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-ppc64le >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-ppc64le >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-ppc64le >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-ppc64le >=0.1.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - cairo-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-ppc64le >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-ppc64le >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-ppc64le >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-ppc64le >=0.1.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pango-cos7-x86_64/build.sh b/cdts/pango-cos7-x86_64/build.sh index 22ff8181..74d69a9e 100755 --- a/cdts/pango-cos7-x86_64/build.sh +++ b/cdts/pango-cos7-x86_64/build.sh @@ -17,11 +17,52 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/bin +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/bin > /dev/null 2>&1 rm -f pango-querymodules-64 echo -e '#!/usr/bin/env bash\n exit 0' > pango-querymodules-64 chmod u+x pango-querymodules-64 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-cos7-x86_64/meta.yaml b/cdts/pango-cos7-x86_64/meta.yaml index 359eae22..85d1ff9f 100644 --- a/cdts/pango-cos7-x86_64/meta.yaml +++ b/cdts/pango-cos7-x86_64/meta.yaml @@ -14,15 +14,46 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-x86_64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-x86_64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-x86_64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-x86_64 >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-x86_64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-x86_64 >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-x86_64 >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-x86_64 >=0.1.9 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-cos7-x86_64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-x86_64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-x86_64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-x86_64 >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-x86_64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-x86_64 >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-x86_64 >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-x86_64 >=0.1.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - cairo-cos7-x86_64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-cos7-x86_64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-cos7-x86_64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - fribidi-cos7-x86_64 >=1.0 *_{{ cdt_build_number|int + 1000 }} + - glib2-cos7-x86_64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - harfbuzz-cos7-x86_64 >=1.4.2 *_{{ cdt_build_number|int + 1000 }} + - libxft-cos7-x86_64 >=2.0.0 *_{{ cdt_build_number|int + 1000 }} + - libthai-cos7-x86_64 >=0.1.9 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pango-devel-cos6-x86_64/build.sh b/cdts/pango-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pango-devel-cos6-x86_64/build.sh +++ b/cdts/pango-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-devel-cos6-x86_64/meta.yaml b/cdts/pango-devel-cos6-x86_64/meta.yaml index 1d8eab4f..7ae0da16 100644 --- a/cdts/pango-devel-cos6-x86_64/meta.yaml +++ b/cdts/pango-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: - pango-cos6-x86_64 ==1.28.1 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pango-devel-cos7-aarch64/build.sh b/cdts/pango-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/pango-devel-cos7-aarch64/build.sh +++ b/cdts/pango-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-devel-cos7-aarch64/meta.yaml b/cdts/pango-devel-cos7-aarch64/meta.yaml index 08f84602..cc0d29e2 100644 --- a/cdts/pango-devel-cos7-aarch64/meta.yaml +++ b/cdts/pango-devel-cos7-aarch64/meta.yaml @@ -14,15 +14,37 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-devel-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-aarch64 ==1.42.4 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-devel-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-aarch64 ==1.42.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* run: + - cairo-devel-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-aarch64 ==1.42.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pango-devel-cos7-ppc64le/build.sh b/cdts/pango-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/pango-devel-cos7-ppc64le/build.sh +++ b/cdts/pango-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-devel-cos7-ppc64le/meta.yaml b/cdts/pango-devel-cos7-ppc64le/meta.yaml index 93008569..38a3fa27 100644 --- a/cdts/pango-devel-cos7-ppc64le/meta.yaml +++ b/cdts/pango-devel-cos7-ppc64le/meta.yaml @@ -14,15 +14,37 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-devel-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-ppc64le ==1.42.4 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-devel-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-ppc64le ==1.42.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* run: + - cairo-devel-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-ppc64le ==1.42.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pango-devel-cos7-x86_64/build.sh b/cdts/pango-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pango-devel-cos7-x86_64/build.sh +++ b/cdts/pango-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pango-devel-cos7-x86_64/meta.yaml b/cdts/pango-devel-cos7-x86_64/meta.yaml index fb7f509a..61e111ff 100644 --- a/cdts/pango-devel-cos7-x86_64/meta.yaml +++ b/cdts/pango-devel-cos7-x86_64/meta.yaml @@ -14,15 +14,37 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-devel-cos7-x86_64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-x86_64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-x86_64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-x86_64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-x86_64 ==1.42.4 *_{{ cdt_build_number|int + 1000 }} host: + - cairo-devel-cos7-x86_64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-x86_64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-x86_64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-x86_64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-x86_64 ==1.42.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* run: + - cairo-devel-cos7-x86_64 >=1.12.10 *_{{ cdt_build_number|int + 1000 }} + - fontconfig-devel-cos7-x86_64 >=2.11.91 *_{{ cdt_build_number|int + 1000 }} + - freetype-devel-cos7-x86_64 >=2.1.5 *_{{ cdt_build_number|int + 1000 }} + - glib2-devel-cos7-x86_64 >=2.56.1 *_{{ cdt_build_number|int + 1000 }} + - pango-cos7-x86_64 ==1.42.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/cdts/pixman-cos6-x86_64/build.sh b/cdts/pixman-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pixman-cos6-x86_64/build.sh +++ b/cdts/pixman-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-cos6-x86_64/meta.yaml b/cdts/pixman-cos6-x86_64/meta.yaml index 2c435d02..0dcc9cf2 100644 --- a/cdts/pixman-cos6-x86_64/meta.yaml +++ b/cdts/pixman-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pixman-cos7-aarch64/build.sh b/cdts/pixman-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/pixman-cos7-aarch64/build.sh +++ b/cdts/pixman-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-cos7-aarch64/meta.yaml b/cdts/pixman-cos7-aarch64/meta.yaml index 663fea21..bddfd84a 100644 --- a/cdts/pixman-cos7-aarch64/meta.yaml +++ b/cdts/pixman-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pixman-cos7-ppc64le/build.sh b/cdts/pixman-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/pixman-cos7-ppc64le/build.sh +++ b/cdts/pixman-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-cos7-ppc64le/meta.yaml b/cdts/pixman-cos7-ppc64le/meta.yaml index 72343332..6e03544b 100644 --- a/cdts/pixman-cos7-ppc64le/meta.yaml +++ b/cdts/pixman-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pixman-cos7-x86_64/build.sh b/cdts/pixman-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pixman-cos7-x86_64/build.sh +++ b/cdts/pixman-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-cos7-x86_64/meta.yaml b/cdts/pixman-cos7-x86_64/meta.yaml index 8d8ffaf8..066f43a2 100644 --- a/cdts/pixman-cos7-x86_64/meta.yaml +++ b/cdts/pixman-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pixman-devel-cos6-x86_64/build.sh b/cdts/pixman-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pixman-devel-cos6-x86_64/build.sh +++ b/cdts/pixman-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-devel-cos6-x86_64/meta.yaml b/cdts/pixman-devel-cos6-x86_64/meta.yaml index f51811eb..a8511e87 100644 --- a/cdts/pixman-devel-cos6-x86_64/meta.yaml +++ b/cdts/pixman-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos6-x86_64 ==0.32.8 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pixman-devel-cos7-aarch64/build.sh b/cdts/pixman-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/pixman-devel-cos7-aarch64/build.sh +++ b/cdts/pixman-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-devel-cos7-aarch64/meta.yaml b/cdts/pixman-devel-cos7-aarch64/meta.yaml index 52006f79..9164d205 100644 --- a/cdts/pixman-devel-cos7-aarch64/meta.yaml +++ b/cdts/pixman-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos7-aarch64 ==0.34.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pixman-devel-cos7-ppc64le/build.sh b/cdts/pixman-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/pixman-devel-cos7-ppc64le/build.sh +++ b/cdts/pixman-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-devel-cos7-ppc64le/meta.yaml b/cdts/pixman-devel-cos7-ppc64le/meta.yaml index 4c4ec1c3..28d27741 100644 --- a/cdts/pixman-devel-cos7-ppc64le/meta.yaml +++ b/cdts/pixman-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos7-ppc64le ==0.34.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pixman-devel-cos7-x86_64/build.sh b/cdts/pixman-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pixman-devel-cos7-x86_64/build.sh +++ b/cdts/pixman-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pixman-devel-cos7-x86_64/meta.yaml b/cdts/pixman-devel-cos7-x86_64/meta.yaml index 774f0c01..f1bf8be3 100644 --- a/cdts/pixman-devel-cos7-x86_64/meta.yaml +++ b/cdts/pixman-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos7-x86_64 ==0.34.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/cdts/pkgconfig-cos6-x86_64/build.sh b/cdts/pkgconfig-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pkgconfig-cos6-x86_64/build.sh +++ b/cdts/pkgconfig-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pkgconfig-cos6-x86_64/meta.yaml b/cdts/pkgconfig-cos6-x86_64/meta.yaml index 34350b7c..2c6422f8 100644 --- a/cdts/pkgconfig-cos6-x86_64/meta.yaml +++ b/cdts/pkgconfig-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://pkgconfig.freedesktop.org license: GPL-2.0-or-later diff --git a/cdts/pkgconfig-cos7-aarch64/build.sh b/cdts/pkgconfig-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/pkgconfig-cos7-aarch64/build.sh +++ b/cdts/pkgconfig-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pkgconfig-cos7-aarch64/meta.yaml b/cdts/pkgconfig-cos7-aarch64/meta.yaml index a5291bc9..e6ff3390 100644 --- a/cdts/pkgconfig-cos7-aarch64/meta.yaml +++ b/cdts/pkgconfig-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://pkgconfig.freedesktop.org license: GPL-2.0-or-later diff --git a/cdts/pkgconfig-cos7-ppc64le/build.sh b/cdts/pkgconfig-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/pkgconfig-cos7-ppc64le/build.sh +++ b/cdts/pkgconfig-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pkgconfig-cos7-ppc64le/meta.yaml b/cdts/pkgconfig-cos7-ppc64le/meta.yaml index 0293ce47..475c6ac3 100644 --- a/cdts/pkgconfig-cos7-ppc64le/meta.yaml +++ b/cdts/pkgconfig-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://pkgconfig.freedesktop.org license: GPL-2.0-or-later diff --git a/cdts/pkgconfig-cos7-x86_64/build.sh b/cdts/pkgconfig-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/pkgconfig-cos7-x86_64/build.sh +++ b/cdts/pkgconfig-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/pkgconfig-cos7-x86_64/meta.yaml b/cdts/pkgconfig-cos7-x86_64/meta.yaml index a30b2008..18e5895c 100644 --- a/cdts/pkgconfig-cos7-x86_64/meta.yaml +++ b/cdts/pkgconfig-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://pkgconfig.freedesktop.org license: GPL-2.0-or-later diff --git a/cdts/python-javapackages-cos7-aarch64/build.sh b/cdts/python-javapackages-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/python-javapackages-cos7-aarch64/build.sh +++ b/cdts/python-javapackages-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/python-javapackages-cos7-aarch64/meta.yaml b/cdts/python-javapackages-cos7-aarch64/meta.yaml index 754b8534..225bd2f7 100644 --- a/cdts/python-javapackages-cos7-aarch64/meta.yaml +++ b/cdts/python-javapackages-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/cdts/python-javapackages-cos7-ppc64le/build.sh b/cdts/python-javapackages-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/python-javapackages-cos7-ppc64le/build.sh +++ b/cdts/python-javapackages-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/python-javapackages-cos7-ppc64le/meta.yaml b/cdts/python-javapackages-cos7-ppc64le/meta.yaml index 49d5e04b..f512b5ff 100644 --- a/cdts/python-javapackages-cos7-ppc64le/meta.yaml +++ b/cdts/python-javapackages-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/cdts/python-javapackages-cos7-x86_64/build.sh b/cdts/python-javapackages-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/python-javapackages-cos7-x86_64/build.sh +++ b/cdts/python-javapackages-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/python-javapackages-cos7-x86_64/meta.yaml b/cdts/python-javapackages-cos7-x86_64/meta.yaml index 361c0860..f0f9bdce 100644 --- a/cdts/python-javapackages-cos7-x86_64/meta.yaml +++ b/cdts/python-javapackages-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/cdts/webkitgtk-cos6-x86_64/build.sh b/cdts/webkitgtk-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/webkitgtk-cos6-x86_64/build.sh +++ b/cdts/webkitgtk-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/webkitgtk-cos6-x86_64/meta.yaml b/cdts/webkitgtk-cos6-x86_64/meta.yaml index 2f9ce1d4..543305ea 100644 --- a/cdts/webkitgtk-cos6-x86_64/meta.yaml +++ b/cdts/webkitgtk-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.webkitgtk.org/ license: LGPLv2+ and BSD diff --git a/cdts/webkitgtk-devel-cos6-x86_64/build.sh b/cdts/webkitgtk-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/webkitgtk-devel-cos6-x86_64/build.sh +++ b/cdts/webkitgtk-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/webkitgtk-devel-cos6-x86_64/meta.yaml b/cdts/webkitgtk-devel-cos6-x86_64/meta.yaml index 4c5fa502..9cd004af 100644 --- a/cdts/webkitgtk-devel-cos6-x86_64/meta.yaml +++ b/cdts/webkitgtk-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - webkitgtk-cos6-x86_64 ==1.4.3 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.webkitgtk.org/ license: LGPLv2+ and BSD diff --git a/cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh b/cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh +++ b/cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml b/cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml index 346db69d..63549aea 100644 --- a/cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml +++ b/cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh b/cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh +++ b/cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml b/cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml index e47e4aca..cb2821b2 100644 --- a/cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml +++ b/cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh b/cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh +++ b/cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml b/cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml index 6f035fc8..c08080de 100644 --- a/cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml +++ b/cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/xorg-x11-proto-devel-cos7-x86_64/build.sh b/cdts/xorg-x11-proto-devel-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-proto-devel-cos7-x86_64/build.sh +++ b/cdts/xorg-x11-proto-devel-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-proto-devel-cos7-x86_64/meta.yaml b/cdts/xorg-x11-proto-devel-cos7-x86_64/meta.yaml index e02d76a0..9d5b8ad1 100644 --- a/cdts/xorg-x11-proto-devel-cos7-x86_64/meta.yaml +++ b/cdts/xorg-x11-proto-devel-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/cdts/xorg-x11-server-common-cos6-x86_64/build.sh b/cdts/xorg-x11-server-common-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-server-common-cos6-x86_64/build.sh +++ b/cdts/xorg-x11-server-common-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml b/cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml index f4450cfb..24b562a3 100644 --- a/cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml +++ b/cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos6-x86_64 >=0.30.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-server-common-cos7-aarch64/build.sh b/cdts/xorg-x11-server-common-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/xorg-x11-server-common-cos7-aarch64/build.sh +++ b/cdts/xorg-x11-server-common-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml b/cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml index c5da12cb..78d1707c 100644 --- a/cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml +++ b/cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos7-aarch64 >=0.30.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-server-common-cos7-ppc64le/build.sh b/cdts/xorg-x11-server-common-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/xorg-x11-server-common-cos7-ppc64le/build.sh +++ b/cdts/xorg-x11-server-common-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml b/cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml index 7d2a2625..3dfa3728 100644 --- a/cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml +++ b/cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos7-ppc64le >=0.30.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-server-common-cos7-x86_64/build.sh b/cdts/xorg-x11-server-common-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-server-common-cos7-x86_64/build.sh +++ b/cdts/xorg-x11-server-common-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-common-cos7-x86_64/meta.yaml b/cdts/xorg-x11-server-common-cos7-x86_64/meta.yaml index b6c20c3d..062f51f2 100644 --- a/cdts/xorg-x11-server-common-cos7-x86_64/meta.yaml +++ b/cdts/xorg-x11-server-common-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - pixman-cos7-x86_64 >=0.30.0 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh b/cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh +++ b/cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml b/cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml index 42a7fb42..c8adf69b 100644 --- a/cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml +++ b/cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - xorg-x11-server-common-cos6-x86_64 >=1.17.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT and GPLv2 diff --git a/cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh b/cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh +++ b/cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml b/cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml index 0ca07676..ec21d197 100644 --- a/cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml +++ b/cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - xorg-x11-server-common-cos7-aarch64 >=1.20.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT and GPLv2 diff --git a/cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh b/cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh +++ b/cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml b/cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml index dee5ac88..39d7e4bb 100644 --- a/cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml +++ b/cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - xorg-x11-server-common-cos7-ppc64le >=1.20.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT and GPLv2 diff --git a/cdts/xorg-x11-server-xvfb-cos7-x86_64/build.sh b/cdts/xorg-x11-server-xvfb-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-server-xvfb-cos7-x86_64/build.sh +++ b/cdts/xorg-x11-server-xvfb-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-server-xvfb-cos7-x86_64/meta.yaml b/cdts/xorg-x11-server-xvfb-cos7-x86_64/meta.yaml index c69092ae..1420e692 100644 --- a/cdts/xorg-x11-server-xvfb-cos7-x86_64/meta.yaml +++ b/cdts/xorg-x11-server-xvfb-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: - xorg-x11-server-common-cos7-x86_64 >=1.20.4 *_{{ cdt_build_number|int + 1000 }} - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT and GPLv2 diff --git a/cdts/xorg-x11-util-macros-cos6-x86_64/build.sh b/cdts/xorg-x11-util-macros-cos6-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-util-macros-cos6-x86_64/build.sh +++ b/cdts/xorg-x11-util-macros-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml b/cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml index 55e85036..a4719045 100644 --- a/cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml +++ b/cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.12.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-util-macros-cos7-aarch64/build.sh b/cdts/xorg-x11-util-macros-cos7-aarch64/build.sh index 6ca2f1d8..ca6ebc1a 100755 --- a/cdts/xorg-x11-util-macros-cos7-aarch64/build.sh +++ b/cdts/xorg-x11-util-macros-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml b/cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml index b28c8ecd..fa586a3a 100644 --- a/cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml +++ b/cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-aarch64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh b/cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh index ea485154..b4d65ea7 100755 --- a/cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh +++ b/cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml b/cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml index 197139fa..c4d07ad6 100644 --- a/cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml +++ b/cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-ppc64le 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/cdts/xorg-x11-util-macros-cos7-x86_64/build.sh b/cdts/xorg-x11-util-macros-cos7-x86_64/build.sh index bde95a4e..44dc3055 100755 --- a/cdts/xorg-x11-util-macros-cos7-x86_64/build.sh +++ b/cdts/xorg-x11-util-macros-cos7-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/cdts/xorg-x11-util-macros-cos7-x86_64/meta.yaml b/cdts/xorg-x11-util-macros-cos7-x86_64/meta.yaml index ef48dc08..e093f91b 100644 --- a/cdts/xorg-x11-util-macros-cos7-x86_64/meta.yaml +++ b/cdts/xorg-x11-util-macros-cos7-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number|int + 1000 }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,6 +25,10 @@ requirements: run: - sysroot_linux-64 2.17.* +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/conda_build_config.yaml b/conda_build_config.yaml index 44f87c19..531f6d4b 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -1,2 +1,2 @@ cdt_build_number: - - "102" + - "103" diff --git a/gen_cdt_recipes.py b/gen_cdt_recipes.py index 5dfaa2ab..51232bce 100644 --- a/gen_cdt_recipes.py +++ b/gen_cdt_recipes.py @@ -174,6 +174,40 @@ def _fix_cdt_licenses(*, cdts, arch_dist_tuples, cdt_path): meta = yaml.dump(meta, fp) +def _fix_cdt_deps(*, cdts, arch_dist_tuples, cdt_path): + for arch, dist in arch_dist_tuples: + for cdt, cfg in cdts.items(): + pth = os.path.join( + cdt_path, + cdt.lower() + "-" + dist.replace("ent", "") + "-" + arch, + ) + if 'dep_remove' in cfg and os.path.exists(pth): + try: + yaml = YAML(typ="jinja2") + yaml.indent(mapping=2, sequence=4, offset=2) + yaml.width = 320 + with open(os.path.join(pth, "meta.yaml"), "r") as fp: + meta = yaml.load(fp) + except Exception: + print("ERROR: could not adjust license for %s" % pth) + continue + + if "requirements" in meta: + for sec in ["build", "host", "run"]: + if sec in meta["requirements"]: + new_deps = [] + for dep in meta["requirements"][sec]: + if not any( + dep.startswith(d + "-cos") + for d in cfg["dep_remove"] + ): + new_deps.append(dep) + meta["requirements"][sec] = new_deps + + with open(os.path.join(pth, "meta.yaml"), "w") as fp: + meta = yaml.dump(meta, fp) + + def _fix_cdt_builds(*, cdts, arch_dist_tuples, cdt_path): for arch, dist in arch_dist_tuples: shortdist = dist.replace("ent", "") @@ -254,8 +288,8 @@ def _main(force, no_legacy, fast): if not no_legacy: # legacy CDTs for the old compiler sysroots - if force: - _clear_gen_cdts(LEGACY_CDT_PATH) + # if force: + # _clear_gen_cdts(LEGACY_CDT_PATH) extra = "--conda-forge-style" if fast: @@ -277,8 +311,8 @@ def _main(force, no_legacy, fast): ) # new CDTs for the new compilers with a single sysroot - if force: - _clear_gen_cdts(CDT_PATH) + # if force: + # _clear_gen_cdts(CDT_PATH) extra = "--conda-forge-style --single-sysroot" if fast: @@ -347,6 +381,12 @@ def _main(force, no_legacy, fast): cdt_path=LEGACY_CDT_PATH ) + _fix_cdt_deps( + cdts=cdts, + arch_dist_tuples=arch_dist_tuples, + cdt_path=LEGACY_CDT_PATH + ) + _fix_cdt_builds( cdts=cdts, arch_dist_tuples=arch_dist_tuples, @@ -369,6 +409,12 @@ def _main(force, no_legacy, fast): cdt_path=CDT_PATH ) + _fix_cdt_deps( + cdts=cdts, + arch_dist_tuples=arch_dist_tuples, + cdt_path=CDT_PATH + ) + _fix_cdt_builds( cdts=cdts, arch_dist_tuples=arch_dist_tuples, diff --git a/legacy_cdts/at-spi-cos6-x86_64/build.sh b/legacy_cdts/at-spi-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/at-spi-cos6-x86_64/build.sh +++ b/legacy_cdts/at-spi-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/at-spi-cos6-x86_64/meta.yaml b/legacy_cdts/at-spi-cos6-x86_64/meta.yaml index a2b128de..29ac5a5e 100644 --- a/legacy_cdts/at-spi-cos6-x86_64/meta.yaml +++ b/legacy_cdts/at-spi-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/at-spi-cos7-aarch64/build.sh b/legacy_cdts/at-spi-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/at-spi-cos7-aarch64/build.sh +++ b/legacy_cdts/at-spi-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/at-spi-cos7-aarch64/meta.yaml b/legacy_cdts/at-spi-cos7-aarch64/meta.yaml index b32f35f1..b4f04df4 100644 --- a/legacy_cdts/at-spi-cos7-aarch64/meta.yaml +++ b/legacy_cdts/at-spi-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/at-spi-cos7-ppc64le/build.sh b/legacy_cdts/at-spi-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/at-spi-cos7-ppc64le/build.sh +++ b/legacy_cdts/at-spi-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/at-spi-cos7-ppc64le/meta.yaml b/legacy_cdts/at-spi-cos7-ppc64le/meta.yaml index 5ffd9ffb..306febd3 100644 --- a/legacy_cdts/at-spi-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/at-spi-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/at-spi-devel-cos6-x86_64/build.sh b/legacy_cdts/at-spi-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/at-spi-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/at-spi-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/at-spi-devel-cos6-x86_64/meta.yaml b/legacy_cdts/at-spi-devel-cos6-x86_64/meta.yaml index 7bb126ed..3b34ab37 100644 --- a/legacy_cdts/at-spi-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/at-spi-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/at-spi-devel-cos7-aarch64/build.sh b/legacy_cdts/at-spi-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/at-spi-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/at-spi-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/at-spi-devel-cos7-aarch64/meta.yaml b/legacy_cdts/at-spi-devel-cos7-aarch64/meta.yaml index c2aefae6..00e69c7f 100644 --- a/legacy_cdts/at-spi-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/at-spi-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/at-spi-devel-cos7-ppc64le/build.sh b/legacy_cdts/at-spi-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/at-spi-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/at-spi-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/at-spi-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/at-spi-devel-cos7-ppc64le/meta.yaml index ba59b10a..0ba6cedf 100644 --- a/legacy_cdts/at-spi-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/at-spi-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/atk-cos6-x86_64/build.sh b/legacy_cdts/atk-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/atk-cos6-x86_64/build.sh +++ b/legacy_cdts/atk-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/atk-cos6-x86_64/meta.yaml b/legacy_cdts/atk-cos6-x86_64/meta.yaml index 07b21c37..9b28f204 100644 --- a/legacy_cdts/atk-cos6-x86_64/meta.yaml +++ b/legacy_cdts/atk-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/atk-cos7-aarch64/build.sh b/legacy_cdts/atk-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/atk-cos7-aarch64/build.sh +++ b/legacy_cdts/atk-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/atk-cos7-aarch64/meta.yaml b/legacy_cdts/atk-cos7-aarch64/meta.yaml index 2cd7f53b..d24eab99 100644 --- a/legacy_cdts/atk-cos7-aarch64/meta.yaml +++ b/legacy_cdts/atk-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/legacy_cdts/atk-cos7-ppc64le/build.sh b/legacy_cdts/atk-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/atk-cos7-ppc64le/build.sh +++ b/legacy_cdts/atk-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/atk-cos7-ppc64le/meta.yaml b/legacy_cdts/atk-cos7-ppc64le/meta.yaml index e9a3799f..d817a7b3 100644 --- a/legacy_cdts/atk-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/atk-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/legacy_cdts/atk-devel-cos6-x86_64/build.sh b/legacy_cdts/atk-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/atk-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/atk-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/atk-devel-cos6-x86_64/meta.yaml b/legacy_cdts/atk-devel-cos6-x86_64/meta.yaml index 9a49b44a..59bf8a37 100644 --- a/legacy_cdts/atk-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/atk-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/projects/gap/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/atk-devel-cos7-aarch64/build.sh b/legacy_cdts/atk-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/atk-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/atk-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/atk-devel-cos7-aarch64/meta.yaml b/legacy_cdts/atk-devel-cos7-aarch64/meta.yaml index 2ea919bc..f36d3b79 100644 --- a/legacy_cdts/atk-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/atk-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - atk-cos7-aarch64 ==2.28.1 *_{{ cdt_build_number }} + host: + - atk-cos7-aarch64 ==2.28.1 *_{{ cdt_build_number }} + run: + - atk-cos7-aarch64 ==2.28.1 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/legacy_cdts/atk-devel-cos7-ppc64le/build.sh b/legacy_cdts/atk-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/atk-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/atk-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/atk-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/atk-devel-cos7-ppc64le/meta.yaml index 6ead4c84..2eb38fdb 100644 --- a/legacy_cdts/atk-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/atk-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - atk-cos7-ppc64le ==2.28.1 *_{{ cdt_build_number }} + host: + - atk-cos7-ppc64le ==2.28.1 *_{{ cdt_build_number }} + run: + - atk-cos7-ppc64le ==2.28.1 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://developer.gnome.org/platform-overview/stable/atk license: LGPL-2.0-or-later diff --git a/legacy_cdts/ca-certificates-cos6-x86_64/build.sh b/legacy_cdts/ca-certificates-cos6-x86_64/build.sh index 3fc72f6d..4ee7fe6a 100755 --- a/legacy_cdts/ca-certificates-cos6-x86_64/build.sh +++ b/legacy_cdts/ca-certificates-cos6-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/ca-certificates-cos6-x86_64/meta.yaml b/legacy_cdts/ca-certificates-cos6-x86_64/meta.yaml index bdd442fc..654401c0 100644 --- a/legacy_cdts/ca-certificates-cos6-x86_64/meta.yaml +++ b/legacy_cdts/ca-certificates-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/ca-certificates-cos7-aarch64/build.sh b/legacy_cdts/ca-certificates-cos7-aarch64/build.sh index 72196b85..7ed088d2 100755 --- a/legacy_cdts/ca-certificates-cos7-aarch64/build.sh +++ b/legacy_cdts/ca-certificates-cos7-aarch64/build.sh @@ -51,9 +51,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -61,6 +72,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/ca-certificates-cos7-aarch64/meta.yaml b/legacy_cdts/ca-certificates-cos7-aarch64/meta.yaml index 904caf33..6c50833e 100644 --- a/legacy_cdts/ca-certificates-cos7-aarch64/meta.yaml +++ b/legacy_cdts/ca-certificates-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/ca-certificates-cos7-ppc64le/build.sh b/legacy_cdts/ca-certificates-cos7-ppc64le/build.sh index fbe41cd7..74b12af1 100755 --- a/legacy_cdts/ca-certificates-cos7-ppc64le/build.sh +++ b/legacy_cdts/ca-certificates-cos7-ppc64le/build.sh @@ -51,9 +51,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -61,6 +72,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/ca-certificates-cos7-ppc64le/meta.yaml b/legacy_cdts/ca-certificates-cos7-ppc64le/meta.yaml index 119b91b2..0573d7fb 100644 --- a/legacy_cdts/ca-certificates-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/ca-certificates-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/cairo-cos6-x86_64/build.sh b/legacy_cdts/cairo-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/cairo-cos6-x86_64/build.sh +++ b/legacy_cdts/cairo-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/cairo-cos6-x86_64/meta.yaml b/legacy_cdts/cairo-cos6-x86_64/meta.yaml index 9d2c3c62..82ba7ea1 100644 --- a/legacy_cdts/cairo-cos6-x86_64/meta.yaml +++ b/legacy_cdts/cairo-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/legacy_cdts/cairo-cos7-aarch64/build.sh b/legacy_cdts/cairo-cos7-aarch64/build.sh new file mode 100755 index 00000000..97499cee --- /dev/null +++ b/legacy_cdts/cairo-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/cairo-cos7-aarch64/meta.yaml b/legacy_cdts/cairo-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..8939a56e --- /dev/null +++ b/legacy_cdts/cairo-cos7-aarch64/meta.yaml @@ -0,0 +1,45 @@ +package: + name: cairo-cos7-aarch64 + version: 1.15.12 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/cairo-1.15.12-4.el7.aarch64.rpm + sha256: f76597b4a144bc615fd2fcf3f978adfb2a3b14c48564a315e2440e0e06807311 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/cairo-1.15.12-4.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://cairographics.org + license: LGPLv2 or MPLv1.1 + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/cairo-1.15.12/COPYING-MPL-1.1 + summary: "(CDT) A 2D graphics library" + description: | + Cairo is a 2D graphics library designed to provide high-quality display and + print output. Currently supported output targets include the X Window System, + in-memory image buffers, and image files (PDF, PostScript, and SVG). Cairo is + designed to produce consistent output on all output media while taking + advantage of display hardware acceleration when available. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/cairo-cos7-ppc64le/build.sh b/legacy_cdts/cairo-cos7-ppc64le/build.sh new file mode 100755 index 00000000..0f6cb1aa --- /dev/null +++ b/legacy_cdts/cairo-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/cairo-cos7-ppc64le/meta.yaml b/legacy_cdts/cairo-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..b41ad22f --- /dev/null +++ b/legacy_cdts/cairo-cos7-ppc64le/meta.yaml @@ -0,0 +1,45 @@ +package: + name: cairo-cos7-ppc64le + version: 1.15.12 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/cairo-1.15.12-4.el7.ppc64le.rpm + sha256: 51a9c48460f4dcd1e57a2554f40982a4deaa8e5ab9afec24044e355d0ad6df6a + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/cairo-1.15.12-4.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://cairographics.org + license: LGPLv2 or MPLv1.1 + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/cairo-1.15.12/COPYING-MPL-1.1 + summary: "(CDT) A 2D graphics library" + description: | + Cairo is a 2D graphics library designed to provide high-quality display and + print output. Currently supported output targets include the X Window System, + in-memory image buffers, and image files (PDF, PostScript, and SVG). Cairo is + designed to produce consistent output on all output media while taking + advantage of display hardware acceleration when available. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/cairo-devel-cos6-x86_64/build.sh b/legacy_cdts/cairo-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/cairo-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/cairo-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/cairo-devel-cos6-x86_64/meta.yaml b/legacy_cdts/cairo-devel-cos6-x86_64/meta.yaml index b2a5ffe8..8234eee4 100644 --- a/legacy_cdts/cairo-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/cairo-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -36,6 +38,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/legacy_cdts/cairo-devel-cos7-aarch64/build.sh b/legacy_cdts/cairo-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/cairo-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/cairo-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/cairo-devel-cos7-aarch64/meta.yaml b/legacy_cdts/cairo-devel-cos7-aarch64/meta.yaml index 48fed4ea..82586a74 100644 --- a/legacy_cdts/cairo-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/cairo-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-aarch64 ==1.15.12 *_{{ cdt_build_number }} + host: + - cairo-cos7-aarch64 ==1.15.12 *_{{ cdt_build_number }} + run: + - cairo-cos7-aarch64 ==1.15.12 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/legacy_cdts/cairo-devel-cos7-ppc64le/build.sh b/legacy_cdts/cairo-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/cairo-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/cairo-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/cairo-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/cairo-devel-cos7-ppc64le/meta.yaml index 41f8e365..cd452dfe 100644 --- a/legacy_cdts/cairo-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/cairo-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-ppc64le ==1.15.12 *_{{ cdt_build_number }} + host: + - cairo-cos7-ppc64le ==1.15.12 *_{{ cdt_build_number }} + run: + - cairo-cos7-ppc64le ==1.15.12 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cairographics.org license: LGPLv2 or MPLv1.1 diff --git a/legacy_cdts/chkconfig-cos6-x86_64/build.sh b/legacy_cdts/chkconfig-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/chkconfig-cos6-x86_64/build.sh +++ b/legacy_cdts/chkconfig-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/chkconfig-cos6-x86_64/meta.yaml b/legacy_cdts/chkconfig-cos6-x86_64/meta.yaml index 3a72958e..5e6c3f45 100644 --- a/legacy_cdts/chkconfig-cos6-x86_64/meta.yaml +++ b/legacy_cdts/chkconfig-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: chkconfig-cos6-x86_64 license: GPL-2.0-only diff --git a/legacy_cdts/chkconfig-cos7-aarch64/build.sh b/legacy_cdts/chkconfig-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/chkconfig-cos7-aarch64/build.sh +++ b/legacy_cdts/chkconfig-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/chkconfig-cos7-aarch64/meta.yaml b/legacy_cdts/chkconfig-cos7-aarch64/meta.yaml index f1e1084b..edce75cf 100644 --- a/legacy_cdts/chkconfig-cos7-aarch64/meta.yaml +++ b/legacy_cdts/chkconfig-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/fedora-sysv/chkconfig license: GPL-2.0-only diff --git a/legacy_cdts/chkconfig-cos7-ppc64le/build.sh b/legacy_cdts/chkconfig-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/chkconfig-cos7-ppc64le/build.sh +++ b/legacy_cdts/chkconfig-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/chkconfig-cos7-ppc64le/meta.yaml b/legacy_cdts/chkconfig-cos7-ppc64le/meta.yaml index 926b6316..8befd8d3 100644 --- a/legacy_cdts/chkconfig-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/chkconfig-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/fedora-sysv/chkconfig license: GPL-2.0-only diff --git a/legacy_cdts/copy-jdk-configs-cos6-x86_64/build.sh b/legacy_cdts/copy-jdk-configs-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/copy-jdk-configs-cos6-x86_64/build.sh +++ b/legacy_cdts/copy-jdk-configs-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/copy-jdk-configs-cos6-x86_64/meta.yaml b/legacy_cdts/copy-jdk-configs-cos6-x86_64/meta.yaml index e5238807..43494f27 100644 --- a/legacy_cdts/copy-jdk-configs-cos6-x86_64/meta.yaml +++ b/legacy_cdts/copy-jdk-configs-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://pagure.io/copy_jdk_configs license: BSD diff --git a/legacy_cdts/copy-jdk-configs-cos7-aarch64/build.sh b/legacy_cdts/copy-jdk-configs-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/copy-jdk-configs-cos7-aarch64/build.sh +++ b/legacy_cdts/copy-jdk-configs-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/copy-jdk-configs-cos7-aarch64/meta.yaml b/legacy_cdts/copy-jdk-configs-cos7-aarch64/meta.yaml index 91c58f96..20bf7cca 100644 --- a/legacy_cdts/copy-jdk-configs-cos7-aarch64/meta.yaml +++ b/legacy_cdts/copy-jdk-configs-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://pagure.io/copy_jdk_configs license: BSD diff --git a/legacy_cdts/copy-jdk-configs-cos7-ppc64le/build.sh b/legacy_cdts/copy-jdk-configs-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/copy-jdk-configs-cos7-ppc64le/build.sh +++ b/legacy_cdts/copy-jdk-configs-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml b/legacy_cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml index 8644a18b..a573823f 100644 --- a/legacy_cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/copy-jdk-configs-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://pagure.io/copy_jdk_configs license: BSD diff --git a/legacy_cdts/expat-cos6-x86_64/build.sh b/legacy_cdts/expat-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/expat-cos6-x86_64/build.sh +++ b/legacy_cdts/expat-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/expat-cos6-x86_64/meta.yaml b/legacy_cdts/expat-cos6-x86_64/meta.yaml index 28ed7a82..bb094b50 100644 --- a/legacy_cdts/expat-cos6-x86_64/meta.yaml +++ b/legacy_cdts/expat-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/legacy_cdts/expat-cos7-aarch64/build.sh b/legacy_cdts/expat-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/expat-cos7-aarch64/build.sh +++ b/legacy_cdts/expat-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/expat-cos7-aarch64/meta.yaml b/legacy_cdts/expat-cos7-aarch64/meta.yaml index bfbe00f4..e7a84d08 100644 --- a/legacy_cdts/expat-cos7-aarch64/meta.yaml +++ b/legacy_cdts/expat-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/legacy_cdts/expat-cos7-ppc64le/build.sh b/legacy_cdts/expat-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/expat-cos7-ppc64le/build.sh +++ b/legacy_cdts/expat-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/expat-cos7-ppc64le/meta.yaml b/legacy_cdts/expat-cos7-ppc64le/meta.yaml index 9aab23b9..f6dff9de 100644 --- a/legacy_cdts/expat-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/expat-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/legacy_cdts/expat-devel-cos6-x86_64/build.sh b/legacy_cdts/expat-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/expat-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/expat-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/expat-devel-cos6-x86_64/meta.yaml b/legacy_cdts/expat-devel-cos6-x86_64/meta.yaml index e4d63cf0..326eebb2 100644 --- a/legacy_cdts/expat-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/expat-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/legacy_cdts/expat-devel-cos7-aarch64/build.sh b/legacy_cdts/expat-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/expat-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/expat-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/expat-devel-cos7-aarch64/meta.yaml b/legacy_cdts/expat-devel-cos7-aarch64/meta.yaml index 0c3a6798..d835c072 100644 --- a/legacy_cdts/expat-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/expat-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/legacy_cdts/expat-devel-cos7-ppc64le/build.sh b/legacy_cdts/expat-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/expat-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/expat-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/expat-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/expat-devel-cos7-ppc64le/meta.yaml index 68c0e5d6..2c28f457 100644 --- a/legacy_cdts/expat-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/expat-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.libexpat.org/ license: MIT diff --git a/legacy_cdts/fontconfig-cos6-x86_64/build.sh b/legacy_cdts/fontconfig-cos6-x86_64/build.sh index f10d1cfb..9fab8123 100755 --- a/legacy_cdts/fontconfig-cos6-x86_64/build.sh +++ b/legacy_cdts/fontconfig-cos6-x86_64/build.sh @@ -17,9 +17,13 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/etc/fonts/conf.d +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/etc/fonts/conf.d > /dev/null 2>&1 for fulllnk in $(find . -maxdepth 1 -type l); do lnk=$(basename ${fulllnk}) lnk_dst=$(readlink ${lnk}) @@ -28,5 +32,42 @@ for fulllnk in $(find . -maxdepth 1 -type l); do ln -s ${SYSROOT_DIR}${lnk_dst} ${SYSROOT_DIR}/etc/fonts/conf.d/${lnk} fi done -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fontconfig-cos6-x86_64/meta.yaml b/legacy_cdts/fontconfig-cos6-x86_64/meta.yaml index ebddebea..e7c47267 100644 --- a/legacy_cdts/fontconfig-cos6-x86_64/meta.yaml +++ b/legacy_cdts/fontconfig-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT diff --git a/legacy_cdts/fontconfig-cos7-aarch64/build.sh b/legacy_cdts/fontconfig-cos7-aarch64/build.sh index ad181a1b..a703840b 100755 --- a/legacy_cdts/fontconfig-cos7-aarch64/build.sh +++ b/legacy_cdts/fontconfig-cos7-aarch64/build.sh @@ -17,9 +17,13 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/etc/fonts/conf.d +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/etc/fonts/conf.d > /dev/null 2>&1 for fulllnk in $(find . -maxdepth 1 -type l); do lnk=$(basename ${fulllnk}) lnk_dst=$(readlink ${lnk}) @@ -28,5 +32,42 @@ for fulllnk in $(find . -maxdepth 1 -type l); do ln -s ${SYSROOT_DIR}${lnk_dst} ${SYSROOT_DIR}/etc/fonts/conf.d/${lnk} fi done -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fontconfig-cos7-aarch64/meta.yaml b/legacy_cdts/fontconfig-cos7-aarch64/meta.yaml index e16a7fde..f8eca384 100644 --- a/legacy_cdts/fontconfig-cos7-aarch64/meta.yaml +++ b/legacy_cdts/fontconfig-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/legacy_cdts/fontconfig-cos7-ppc64le/build.sh b/legacy_cdts/fontconfig-cos7-ppc64le/build.sh index 1dc205ad..aef119c6 100755 --- a/legacy_cdts/fontconfig-cos7-ppc64le/build.sh +++ b/legacy_cdts/fontconfig-cos7-ppc64le/build.sh @@ -17,9 +17,13 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/etc/fonts/conf.d +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/etc/fonts/conf.d > /dev/null 2>&1 for fulllnk in $(find . -maxdepth 1 -type l); do lnk=$(basename ${fulllnk}) lnk_dst=$(readlink ${lnk}) @@ -28,5 +32,42 @@ for fulllnk in $(find . -maxdepth 1 -type l); do ln -s ${SYSROOT_DIR}${lnk_dst} ${SYSROOT_DIR}/etc/fonts/conf.d/${lnk} fi done -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fontconfig-cos7-ppc64le/meta.yaml b/legacy_cdts/fontconfig-cos7-ppc64le/meta.yaml index 68136223..6edc7922 100644 --- a/legacy_cdts/fontconfig-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/fontconfig-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/legacy_cdts/fontconfig-devel-cos6-x86_64/build.sh b/legacy_cdts/fontconfig-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/fontconfig-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/fontconfig-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fontconfig-devel-cos6-x86_64/meta.yaml b/legacy_cdts/fontconfig-devel-cos6-x86_64/meta.yaml index ff8a94a7..173cdd16 100644 --- a/legacy_cdts/fontconfig-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/fontconfig-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT diff --git a/legacy_cdts/fontconfig-devel-cos7-aarch64/build.sh b/legacy_cdts/fontconfig-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/fontconfig-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/fontconfig-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fontconfig-devel-cos7-aarch64/meta.yaml b/legacy_cdts/fontconfig-devel-cos7-aarch64/meta.yaml index 135ad117..91125693 100644 --- a/legacy_cdts/fontconfig-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/fontconfig-devel-cos7-aarch64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - fontconfig-cos7-aarch64 ==2.13.0 *_{{ cdt_build_number }} - freetype-devel-cos7-aarch64 >=2.8 *_{{ cdt_build_number }} host: + - fontconfig-cos7-aarch64 ==2.13.0 *_{{ cdt_build_number }} - freetype-devel-cos7-aarch64 >=2.8 *_{{ cdt_build_number }} run: + - fontconfig-cos7-aarch64 ==2.13.0 *_{{ cdt_build_number }} - freetype-devel-cos7-aarch64 >=2.8 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/legacy_cdts/fontconfig-devel-cos7-ppc64le/build.sh b/legacy_cdts/fontconfig-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/fontconfig-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/fontconfig-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fontconfig-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/fontconfig-devel-cos7-ppc64le/meta.yaml index 3703aa9f..64e02335 100644 --- a/legacy_cdts/fontconfig-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/fontconfig-devel-cos7-ppc64le/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - fontconfig-cos7-ppc64le ==2.13.0 *_{{ cdt_build_number }} - freetype-devel-cos7-ppc64le >=2.8 *_{{ cdt_build_number }} host: + - fontconfig-cos7-ppc64le ==2.13.0 *_{{ cdt_build_number }} - freetype-devel-cos7-ppc64le >=2.8 *_{{ cdt_build_number }} run: + - fontconfig-cos7-ppc64le ==2.13.0 *_{{ cdt_build_number }} - freetype-devel-cos7-ppc64le >=2.8 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://fontconfig.org license: MIT and Public Domain and UCD diff --git a/legacy_cdts/freetype-cos6-x86_64/build.sh b/legacy_cdts/freetype-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/freetype-cos6-x86_64/build.sh +++ b/legacy_cdts/freetype-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/freetype-cos6-x86_64/meta.yaml b/legacy_cdts/freetype-cos6-x86_64/meta.yaml index e9d63312..017ad329 100644 --- a/legacy_cdts/freetype-cos6-x86_64/meta.yaml +++ b/legacy_cdts/freetype-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: FTL or GPLv2+ diff --git a/legacy_cdts/freetype-cos7-aarch64/build.sh b/legacy_cdts/freetype-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/freetype-cos7-aarch64/build.sh +++ b/legacy_cdts/freetype-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/freetype-cos7-aarch64/meta.yaml b/legacy_cdts/freetype-cos7-aarch64/meta.yaml index 7a78ba1a..a24f4a08 100644 --- a/legacy_cdts/freetype-cos7-aarch64/meta.yaml +++ b/legacy_cdts/freetype-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/legacy_cdts/freetype-cos7-ppc64le/build.sh b/legacy_cdts/freetype-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/freetype-cos7-ppc64le/build.sh +++ b/legacy_cdts/freetype-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/freetype-cos7-ppc64le/meta.yaml b/legacy_cdts/freetype-cos7-ppc64le/meta.yaml index a67055b1..f432df9a 100644 --- a/legacy_cdts/freetype-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/freetype-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/legacy_cdts/freetype-devel-cos6-x86_64/build.sh b/legacy_cdts/freetype-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/freetype-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/freetype-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/freetype-devel-cos6-x86_64/meta.yaml b/legacy_cdts/freetype-devel-cos6-x86_64/meta.yaml index 0e2da235..d1ddc363 100644 --- a/legacy_cdts/freetype-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/freetype-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: FTL or GPLv2+ diff --git a/legacy_cdts/freetype-devel-cos7-aarch64/build.sh b/legacy_cdts/freetype-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/freetype-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/freetype-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/freetype-devel-cos7-aarch64/meta.yaml b/legacy_cdts/freetype-devel-cos7-aarch64/meta.yaml index 65d76439..8b66ee5b 100644 --- a/legacy_cdts/freetype-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/freetype-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/legacy_cdts/freetype-devel-cos7-ppc64le/build.sh b/legacy_cdts/freetype-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/freetype-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/freetype-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/freetype-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/freetype-devel-cos7-ppc64le/meta.yaml index 3650d03d..0ed16b8f 100644 --- a/legacy_cdts/freetype-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/freetype-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.freetype.org license: (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with acknowledgement diff --git a/legacy_cdts/fribidi-cos7-aarch64/build.sh b/legacy_cdts/fribidi-cos7-aarch64/build.sh new file mode 100755 index 00000000..97499cee --- /dev/null +++ b/legacy_cdts/fribidi-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fribidi-cos7-aarch64/meta.yaml b/legacy_cdts/fribidi-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..d75ef38c --- /dev/null +++ b/legacy_cdts/fribidi-cos7-aarch64/meta.yaml @@ -0,0 +1,43 @@ +package: + name: fribidi-cos7-aarch64 + version: 1.0.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/fribidi-1.0.2-1.el7_7.1.aarch64.rpm + sha256: f4914b2c4fde823c5a8ad9bfcaf569a0eee037361f3925411ce1384972c6f252 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/fribidi-1.0.2-1.el7_7.1.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/fribidi/fribidi/ + license: LGPLv2+ and UCD + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/fribidi-1.0.2/COPYING + summary: "(CDT) Library implementing the Unicode Bidirectional Algorithm" + description: | + A library to handle bidirectional scripts (for example Hebrew, Arabic), so + that the display is done in the proper way; while the text data itself is + always written in logical order. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/fribidi-cos7-ppc64le/build.sh b/legacy_cdts/fribidi-cos7-ppc64le/build.sh new file mode 100755 index 00000000..0f6cb1aa --- /dev/null +++ b/legacy_cdts/fribidi-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/fribidi-cos7-ppc64le/meta.yaml b/legacy_cdts/fribidi-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..01613ac1 --- /dev/null +++ b/legacy_cdts/fribidi-cos7-ppc64le/meta.yaml @@ -0,0 +1,43 @@ +package: + name: fribidi-cos7-ppc64le + version: 1.0.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/fribidi-1.0.2-1.el7_7.1.ppc64le.rpm + sha256: 0ee910467ea7a92e5b5225757b8c6c0714c2057e5542c6b2104ce112bf04d2b8 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/fribidi-1.0.2-1.el7_7.1.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/fribidi/fribidi/ + license: LGPLv2+ and UCD + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/fribidi-1.0.2/COPYING + summary: "(CDT) Library implementing the Unicode Bidirectional Algorithm" + description: | + A library to handle bidirectional scripts (for example Hebrew, Arabic), so + that the display is done in the proper way; while the text data itself is + always written in logical order. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/gdk-pixbuf2-cos6-x86_64/build.sh b/legacy_cdts/gdk-pixbuf2-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/gdk-pixbuf2-cos6-x86_64/build.sh +++ b/legacy_cdts/gdk-pixbuf2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml b/legacy_cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml index 575e0f0a..93217c0d 100644 --- a/legacy_cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml +++ b/legacy_cdts/gdk-pixbuf2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gt.org license: LGPLv2+ and (LGPLv2+ or MPLv1.1) and Public Domain diff --git a/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh b/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml b/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml index 76c6a4e2..05d09881 100644 --- a/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/gdk-pixbuf2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gt.org license: LGPLv2+ and (LGPLv2+ or MPLv1.1) and Public Domain diff --git a/legacy_cdts/glib2-cos6-x86_64/build.sh b/legacy_cdts/glib2-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/glib2-cos6-x86_64/build.sh +++ b/legacy_cdts/glib2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/glib2-cos6-x86_64/meta.yaml b/legacy_cdts/glib2-cos6-x86_64/meta.yaml index 2e04e93c..8ec596bf 100644 --- a/legacy_cdts/glib2-cos6-x86_64/meta.yaml +++ b/legacy_cdts/glib2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/glib2-cos7-aarch64/build.sh b/legacy_cdts/glib2-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/glib2-cos7-aarch64/build.sh +++ b/legacy_cdts/glib2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/glib2-cos7-aarch64/meta.yaml b/legacy_cdts/glib2-cos7-aarch64/meta.yaml index 1af29381..d2233a17 100644 --- a/legacy_cdts/glib2-cos7-aarch64/meta.yaml +++ b/legacy_cdts/glib2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/glib2-cos7-ppc64le/build.sh b/legacy_cdts/glib2-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/glib2-cos7-ppc64le/build.sh +++ b/legacy_cdts/glib2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/glib2-cos7-ppc64le/meta.yaml b/legacy_cdts/glib2-cos7-ppc64le/meta.yaml index 3affd556..ef01b060 100644 --- a/legacy_cdts/glib2-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/glib2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/glib2-devel-cos6-x86_64/build.sh b/legacy_cdts/glib2-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/glib2-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/glib2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/glib2-devel-cos6-x86_64/meta.yaml b/legacy_cdts/glib2-devel-cos6-x86_64/meta.yaml index da1f03bb..33a0d649 100644 --- a/legacy_cdts/glib2-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/glib2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/glib2-devel-cos7-aarch64/build.sh b/legacy_cdts/glib2-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/glib2-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/glib2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/glib2-devel-cos7-aarch64/meta.yaml b/legacy_cdts/glib2-devel-cos7-aarch64/meta.yaml index 0d9ebc70..86d5ab52 100644 --- a/legacy_cdts/glib2-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/glib2-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - glib2-cos7-aarch64 ==2.56.1 *_{{ cdt_build_number }} + host: + - glib2-cos7-aarch64 ==2.56.1 *_{{ cdt_build_number }} + run: + - glib2-cos7-aarch64 ==2.56.1 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/glib2-devel-cos7-ppc64le/build.sh b/legacy_cdts/glib2-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/glib2-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/glib2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/glib2-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/glib2-devel-cos7-ppc64le/meta.yaml index 28cabff1..81cba37d 100644 --- a/legacy_cdts/glib2-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/glib2-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - glib2-cos7-ppc64le ==2.56.1 *_{{ cdt_build_number }} + host: + - glib2-cos7-ppc64le ==2.56.1 *_{{ cdt_build_number }} + run: + - glib2-cos7-ppc64le ==2.56.1 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/gtk2-cos6-x86_64/build.sh b/legacy_cdts/gtk2-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/gtk2-cos6-x86_64/build.sh +++ b/legacy_cdts/gtk2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gtk2-cos6-x86_64/meta.yaml b/legacy_cdts/gtk2-cos6-x86_64/meta.yaml index c15114bf..c823edca 100644 --- a/legacy_cdts/gtk2-cos6-x86_64/meta.yaml +++ b/legacy_cdts/gtk2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/gtk2-cos7-aarch64/build.sh b/legacy_cdts/gtk2-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/gtk2-cos7-aarch64/build.sh +++ b/legacy_cdts/gtk2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gtk2-cos7-aarch64/meta.yaml b/legacy_cdts/gtk2-cos7-aarch64/meta.yaml index 31bada6a..7fe2082e 100644 --- a/legacy_cdts/gtk2-cos7-aarch64/meta.yaml +++ b/legacy_cdts/gtk2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/gtk2-cos7-ppc64le/build.sh b/legacy_cdts/gtk2-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/gtk2-cos7-ppc64le/build.sh +++ b/legacy_cdts/gtk2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gtk2-cos7-ppc64le/meta.yaml b/legacy_cdts/gtk2-cos7-ppc64le/meta.yaml index 66e49caa..682a8fd4 100644 --- a/legacy_cdts/gtk2-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/gtk2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/gtk2-devel-cos6-x86_64/build.sh b/legacy_cdts/gtk2-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/gtk2-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/gtk2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gtk2-devel-cos6-x86_64/meta.yaml b/legacy_cdts/gtk2-devel-cos6-x86_64/meta.yaml index dfde87bc..c4488271 100644 --- a/legacy_cdts/gtk2-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/gtk2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -42,6 +44,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/gtk2-devel-cos7-aarch64/build.sh b/legacy_cdts/gtk2-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/gtk2-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/gtk2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gtk2-devel-cos7-aarch64/meta.yaml b/legacy_cdts/gtk2-devel-cos7-aarch64/meta.yaml index b5d5192f..bd0e8819 100644 --- a/legacy_cdts/gtk2-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/gtk2-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/gtk2-devel-cos7-ppc64le/build.sh b/legacy_cdts/gtk2-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/gtk2-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/gtk2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/gtk2-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/gtk2-devel-cos7-ppc64le/meta.yaml index 40e220ea..e8c38dad 100644 --- a/legacy_cdts/gtk2-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/gtk2-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gtk.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/harfbuzz-cos7-aarch64/build.sh b/legacy_cdts/harfbuzz-cos7-aarch64/build.sh new file mode 100755 index 00000000..97499cee --- /dev/null +++ b/legacy_cdts/harfbuzz-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/harfbuzz-cos7-aarch64/meta.yaml b/legacy_cdts/harfbuzz-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..23fd734e --- /dev/null +++ b/legacy_cdts/harfbuzz-cos7-aarch64/meta.yaml @@ -0,0 +1,41 @@ +package: + name: harfbuzz-cos7-aarch64 + version: 1.7.5 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/harfbuzz-1.7.5-2.el7.aarch64.rpm + sha256: 8229d1e457c709a2a54cfd05b2682011d253d9060ac53c14c297355540bd225b + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/harfbuzz-1.7.5-2.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://freedesktop.org/wiki/Software/HarfBuzz + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/harfbuzz-1.7.5/COPYING + summary: "(CDT) Text shaping library" + description: | + HarfBuzz is an implementation of the OpenType Layout engine. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/harfbuzz-cos7-ppc64le/build.sh b/legacy_cdts/harfbuzz-cos7-ppc64le/build.sh new file mode 100755 index 00000000..0f6cb1aa --- /dev/null +++ b/legacy_cdts/harfbuzz-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/harfbuzz-cos7-ppc64le/meta.yaml b/legacy_cdts/harfbuzz-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..ec5a7e4d --- /dev/null +++ b/legacy_cdts/harfbuzz-cos7-ppc64le/meta.yaml @@ -0,0 +1,41 @@ +package: + name: harfbuzz-cos7-ppc64le + version: 1.7.5 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/harfbuzz-1.7.5-2.el7.ppc64le.rpm + sha256: c8adb94957c9310a524ec93c6ee04cd42630cfcb3b961d25095b87838dcbfd68 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/harfbuzz-1.7.5-2.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://freedesktop.org/wiki/Software/HarfBuzz + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/licenses/harfbuzz-1.7.5/COPYING + summary: "(CDT) Text shaping library" + description: | + HarfBuzz is an implementation of the OpenType Layout engine. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh b/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh index 49aeb7df..e7ded4f5 100755 --- a/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh +++ b/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/build.sh @@ -17,4 +17,53 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") +jvm_slug=$(basename ${jvm_slug}) + +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 +mkdir -p ../../../../../../../etc/pki/java/cacerts +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml b/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml index e4ec047a..6cff0811 100644 --- a/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml +++ b/legacy_cdts/java-1.7.0-openjdk-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -22,17 +24,27 @@ requirements: - copy-jdk-configs-cos6-x86_64 >=3.3 *_{{ cdt_build_number }} - jpackage-utils-cos6-x86_64 >=1.7.3 *_{{ cdt_build_number }} - libjpeg-turbo-cos6-x86_64 ==1.2.1 *_{{ cdt_build_number }} + - nss-cos6-x86_64 >=3.28.4 *_{{ cdt_build_number }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} host: - copy-jdk-configs-cos6-x86_64 >=3.3 *_{{ cdt_build_number }} - jpackage-utils-cos6-x86_64 >=1.7.3 *_{{ cdt_build_number }} - libjpeg-turbo-cos6-x86_64 ==1.2.1 *_{{ cdt_build_number }} + - nss-cos6-x86_64 >=3.28.4 *_{{ cdt_build_number }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} run: - copy-jdk-configs-cos6-x86_64 >=3.3 *_{{ cdt_build_number }} - jpackage-utils-cos6-x86_64 >=1.7.3 *_{{ cdt_build_number }} - libjpeg-turbo-cos6-x86_64 ==1.2.1 *_{{ cdt_build_number }} + - nss-cos6-x86_64 >=3.28.4 *_{{ cdt_build_number }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh b/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh +++ b/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml b/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml index 220d15e8..0d43e98f 100644 --- a/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml +++ b/legacy_cdts/java-1.7.0-openjdk-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh b/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh +++ b/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml b/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml index a84d3959..abb6cb44 100644 --- a/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/java-1.7.0-openjdk-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh index f4ab18b8..2bf9a7ab 100755 --- a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh +++ b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/build.sh @@ -17,21 +17,58 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED + +# CONDA-FORGE BUILD APPEND jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") jvm_slug=$(basename ${jvm_slug}) -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt > /dev/null 2>&1 rm -rf lib ln -s ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt/lib -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 mkdir -p ../../../../../../../etc/pki/java/cacerts -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml index 58790c6f..cc39b737 100644 --- a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml +++ b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,19 +25,29 @@ requirements: - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number }} - copy-jdk-configs-cos7-aarch64 >=3.3 *_{{ cdt_build_number }} - javapackages-tools-cos7-aarch64 >=3.4.1 *_{{ cdt_build_number }} + - nss-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} host: - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number }} - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number }} - copy-jdk-configs-cos7-aarch64 >=3.3 *_{{ cdt_build_number }} - javapackages-tools-cos7-aarch64 >=3.4.1 *_{{ cdt_build_number }} + - nss-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} run: - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number }} - chkconfig-cos7-aarch64 >=1.7 *_{{ cdt_build_number }} - copy-jdk-configs-cos7-aarch64 >=3.3 *_{{ cdt_build_number }} - javapackages-tools-cos7-aarch64 >=3.4.1 *_{{ cdt_build_number }} + - nss-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh index 034d266f..14b4dd8a 100755 --- a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh +++ b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/build.sh @@ -17,21 +17,58 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED + +# CONDA-FORGE BUILD APPEND jvm_slug=$(compgen -G "${SYSROOT_DIR}/usr/lib/jvm/java-1.7.0-openjdk-*") jvm_slug=$(basename ${jvm_slug}) -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt > /dev/null 2>&1 rm -rf lib ln -s ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre-abrt/lib -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security +pushd ${SYSROOT_DIR}/usr/lib/jvm/${jvm_slug}/jre/lib/security > /dev/null 2>&1 mkdir -p ../../../../../../../etc/pki/java/cacerts -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml index d8a7219f..a81d2246 100644 --- a/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/java-1.7.0-openjdk-headless-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -23,19 +25,29 @@ requirements: - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number }} - copy-jdk-configs-cos7-ppc64le >=3.3 *_{{ cdt_build_number }} - javapackages-tools-cos7-ppc64le >=3.4.1 *_{{ cdt_build_number }} + - nss-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} host: - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number }} - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number }} - copy-jdk-configs-cos7-ppc64le >=3.3 *_{{ cdt_build_number }} - javapackages-tools-cos7-ppc64le >=3.4.1 *_{{ cdt_build_number }} + - nss-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} run: - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number }} - chkconfig-cos7-ppc64le >=1.7 *_{{ cdt_build_number }} - copy-jdk-configs-cos7-ppc64le >=3.3 *_{{ cdt_build_number }} - javapackages-tools-cos7-ppc64le >=3.4.1 *_{{ cdt_build_number }} + - nss-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://openjdk.java.net/ license: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib diff --git a/legacy_cdts/javapackages-tools-cos7-aarch64/build.sh b/legacy_cdts/javapackages-tools-cos7-aarch64/build.sh index 58ea5c38..4099c5ae 100755 --- a/legacy_cdts/javapackages-tools-cos7-aarch64/build.sh +++ b/legacy_cdts/javapackages-tools-cos7-aarch64/build.sh @@ -17,14 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED -pushd ${SYSROOT_DIR}/usr/share/java-utils + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/share/java-utils > /dev/null 2>&1 rm -f abs2rel.sh ln -s ${SYSROOT_DIR}/usr/bin/abs2rel ${SYSROOT_DIR}/usr/share/java-utils/abs2rel.sh -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/legacy_cdts/javapackages-tools-cos7-aarch64/meta.yaml b/legacy_cdts/javapackages-tools-cos7-aarch64/meta.yaml index 92281ae6..7fbfdaee 100644 --- a/legacy_cdts/javapackages-tools-cos7-aarch64/meta.yaml +++ b/legacy_cdts/javapackages-tools-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/legacy_cdts/javapackages-tools-cos7-ppc64le/build.sh b/legacy_cdts/javapackages-tools-cos7-ppc64le/build.sh index 2d727da1..401f9ce5 100755 --- a/legacy_cdts/javapackages-tools-cos7-ppc64le/build.sh +++ b/legacy_cdts/javapackages-tools-cos7-ppc64le/build.sh @@ -17,14 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 +# START OF INSERTED BUILD APPENDS -# CDT BUILD APPENDED -pushd ${SYSROOT_DIR}/usr/share/java-utils + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/share/java-utils > /dev/null 2>&1 rm -f abs2rel.sh ln -s ${SYSROOT_DIR}/usr/bin/abs2rel ${SYSROOT_DIR}/usr/share/java-utils/abs2rel.sh -popd +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done -# CDT BUILD APPENDED +exit ${error_code} diff --git a/legacy_cdts/javapackages-tools-cos7-ppc64le/meta.yaml b/legacy_cdts/javapackages-tools-cos7-ppc64le/meta.yaml index 4f46b634..e102ec4b 100644 --- a/legacy_cdts/javapackages-tools-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/javapackages-tools-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/legacy_cdts/jpackage-utils-cos6-x86_64/build.sh b/legacy_cdts/jpackage-utils-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/jpackage-utils-cos6-x86_64/build.sh +++ b/legacy_cdts/jpackage-utils-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/jpackage-utils-cos6-x86_64/meta.yaml b/legacy_cdts/jpackage-utils-cos6-x86_64/meta.yaml index fa5225d6..69f93bc1 100644 --- a/legacy_cdts/jpackage-utils-cos6-x86_64/meta.yaml +++ b/legacy_cdts/jpackage-utils-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.jpackage.org/ license: BSD diff --git a/legacy_cdts/kernel-headers-cos6-x86_64/build.sh b/legacy_cdts/kernel-headers-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/kernel-headers-cos6-x86_64/build.sh +++ b/legacy_cdts/kernel-headers-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/kernel-headers-cos6-x86_64/meta.yaml b/legacy_cdts/kernel-headers-cos6-x86_64/meta.yaml index 94d1cff4..9106ebb0 100644 --- a/legacy_cdts/kernel-headers-cos6-x86_64/meta.yaml +++ b/legacy_cdts/kernel-headers-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/ license: GPL-2.0-only diff --git a/legacy_cdts/kernel-headers-cos7-aarch64/build.sh b/legacy_cdts/kernel-headers-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/kernel-headers-cos7-aarch64/build.sh +++ b/legacy_cdts/kernel-headers-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/kernel-headers-cos7-aarch64/meta.yaml b/legacy_cdts/kernel-headers-cos7-aarch64/meta.yaml index b90d6bd4..7d74bbb5 100644 --- a/legacy_cdts/kernel-headers-cos7-aarch64/meta.yaml +++ b/legacy_cdts/kernel-headers-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/ license: GPLv2 and Redistributable, no modification permitted diff --git a/legacy_cdts/kernel-headers-cos7-ppc64le/build.sh b/legacy_cdts/kernel-headers-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/kernel-headers-cos7-ppc64le/build.sh +++ b/legacy_cdts/kernel-headers-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/kernel-headers-cos7-ppc64le/meta.yaml b/legacy_cdts/kernel-headers-cos7-ppc64le/meta.yaml index 5769f04e..590040eb 100644 --- a/legacy_cdts/kernel-headers-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/kernel-headers-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/ license: GPL-2.0-only diff --git a/legacy_cdts/libbonobo-cos6-x86_64/build.sh b/legacy_cdts/libbonobo-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libbonobo-cos6-x86_64/build.sh +++ b/legacy_cdts/libbonobo-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libbonobo-cos6-x86_64/meta.yaml b/legacy_cdts/libbonobo-cos6-x86_64/meta.yaml index a3441f93..d0161183 100644 --- a/legacy_cdts/libbonobo-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libbonobo-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/legacy_cdts/libbonobo-cos7-aarch64/build.sh b/legacy_cdts/libbonobo-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libbonobo-cos7-aarch64/build.sh +++ b/legacy_cdts/libbonobo-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libbonobo-cos7-aarch64/meta.yaml b/legacy_cdts/libbonobo-cos7-aarch64/meta.yaml index 6786bc82..29404099 100644 --- a/legacy_cdts/libbonobo-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libbonobo-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/legacy_cdts/libbonobo-cos7-ppc64le/build.sh b/legacy_cdts/libbonobo-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libbonobo-cos7-ppc64le/build.sh +++ b/legacy_cdts/libbonobo-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libbonobo-cos7-ppc64le/meta.yaml b/legacy_cdts/libbonobo-cos7-ppc64le/meta.yaml index bf71816c..09ae96d3 100644 --- a/legacy_cdts/libbonobo-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libbonobo-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/legacy_cdts/libbonobo-devel-cos6-x86_64/build.sh b/legacy_cdts/libbonobo-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libbonobo-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libbonobo-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libbonobo-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libbonobo-devel-cos6-x86_64/meta.yaml index 788f4874..8f6a7f3b 100644 --- a/legacy_cdts/libbonobo-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libbonobo-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/legacy_cdts/libbonobo-devel-cos7-aarch64/build.sh b/legacy_cdts/libbonobo-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libbonobo-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libbonobo-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libbonobo-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libbonobo-devel-cos7-aarch64/meta.yaml index 7849eadd..6351d3bc 100644 --- a/legacy_cdts/libbonobo-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libbonobo-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/legacy_cdts/libbonobo-devel-cos7-ppc64le/build.sh b/legacy_cdts/libbonobo-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libbonobo-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libbonobo-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libbonobo-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libbonobo-devel-cos7-ppc64le/meta.yaml index 435c40bf..35b6fe3e 100644 --- a/legacy_cdts/libbonobo-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libbonobo-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org license: GPLv2+ and LGPLv2+ diff --git a/legacy_cdts/libdrm-cos6-x86_64/build.sh b/legacy_cdts/libdrm-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libdrm-cos6-x86_64/build.sh +++ b/legacy_cdts/libdrm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libdrm-cos6-x86_64/meta.yaml b/legacy_cdts/libdrm-cos6-x86_64/meta.yaml index 27caff10..faeea810 100644 --- a/legacy_cdts/libdrm-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libdrm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/legacy_cdts/libdrm-cos7-aarch64/build.sh b/legacy_cdts/libdrm-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libdrm-cos7-aarch64/build.sh +++ b/legacy_cdts/libdrm-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libdrm-cos7-aarch64/meta.yaml b/legacy_cdts/libdrm-cos7-aarch64/meta.yaml index edb7378c..53df8203 100644 --- a/legacy_cdts/libdrm-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libdrm-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/legacy_cdts/libdrm-cos7-ppc64le/build.sh b/legacy_cdts/libdrm-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libdrm-cos7-ppc64le/build.sh +++ b/legacy_cdts/libdrm-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libdrm-cos7-ppc64le/meta.yaml b/legacy_cdts/libdrm-cos7-ppc64le/meta.yaml index f3d6edec..9f0367ba 100644 --- a/legacy_cdts/libdrm-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libdrm-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/legacy_cdts/libdrm-devel-cos6-x86_64/build.sh b/legacy_cdts/libdrm-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libdrm-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libdrm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libdrm-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libdrm-devel-cos6-x86_64/meta.yaml index 65606534..0d92b811 100644 --- a/legacy_cdts/libdrm-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libdrm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/legacy_cdts/libdrm-devel-cos7-aarch64/build.sh b/legacy_cdts/libdrm-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libdrm-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libdrm-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libdrm-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libdrm-devel-cos7-aarch64/meta.yaml index 061494f9..e37fddc8 100644 --- a/legacy_cdts/libdrm-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libdrm-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/legacy_cdts/libdrm-devel-cos7-ppc64le/build.sh b/legacy_cdts/libdrm-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libdrm-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libdrm-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libdrm-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libdrm-devel-cos7-ppc64le/meta.yaml index 8bfa56a7..4073bf0c 100644 --- a/legacy_cdts/libdrm-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libdrm-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://dri.sourceforge.net license: MIT diff --git a/legacy_cdts/libglvnd-cos7-aarch64/build.sh b/legacy_cdts/libglvnd-cos7-aarch64/build.sh new file mode 100755 index 00000000..97499cee --- /dev/null +++ b/legacy_cdts/libglvnd-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libglvnd-cos7-aarch64/libglvnd-license b/legacy_cdts/libglvnd-cos7-aarch64/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/legacy_cdts/libglvnd-cos7-aarch64/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/legacy_cdts/libglvnd-cos7-aarch64/meta.yaml b/legacy_cdts/libglvnd-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..7cd02b6b --- /dev/null +++ b/legacy_cdts/libglvnd-cos7-aarch64/meta.yaml @@ -0,0 +1,42 @@ +package: + name: libglvnd-cos7-aarch64 + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libglvnd-1.0.1-0.8.git5baa1e5.el7.aarch64.rpm + sha256: 58930bad0d7540669ffcd048b5010d04cb1db2b922b5289a92afe0caa15640f9 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) The GL Vendor-Neutral Dispatch library + description: | + libglvnd is an implementation of the vendor-neutral dispatch layer for + arbitrating OpenGL API calls between multiple vendors on a per-screen basis. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libglvnd-cos7-ppc64le/build.sh b/legacy_cdts/libglvnd-cos7-ppc64le/build.sh new file mode 100755 index 00000000..0f6cb1aa --- /dev/null +++ b/legacy_cdts/libglvnd-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libglvnd-cos7-ppc64le/libglvnd-license b/legacy_cdts/libglvnd-cos7-ppc64le/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/legacy_cdts/libglvnd-cos7-ppc64le/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/legacy_cdts/libglvnd-cos7-ppc64le/meta.yaml b/legacy_cdts/libglvnd-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..30c36062 --- /dev/null +++ b/legacy_cdts/libglvnd-cos7-ppc64le/meta.yaml @@ -0,0 +1,42 @@ +package: + name: libglvnd-cos7-ppc64le + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libglvnd-1.0.1-0.8.git5baa1e5.el7.ppc64le.rpm + sha256: 77195e14251cc1505ba0101fd13d408b3e8f282614eadfd8936db62588e660fb + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) The GL Vendor-Neutral Dispatch library + description: | + libglvnd is an implementation of the vendor-neutral dispatch layer for + arbitrating OpenGL API calls between multiple vendors on a per-screen basis. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libglvnd-glx-cos7-aarch64/build.sh b/legacy_cdts/libglvnd-glx-cos7-aarch64/build.sh new file mode 100755 index 00000000..f9cee591 --- /dev/null +++ b/legacy_cdts/libglvnd-glx-cos7-aarch64/build.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 +libgl_file=$(find . -maxdepth 1 -name "libGL.so.*.*.*") +libgl_file=$(basename ${libgl_file}) +ln -fs ${libgl_file} libGL.so +ls -lah . +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libglvnd-glx-cos7-aarch64/libglvnd-license b/legacy_cdts/libglvnd-glx-cos7-aarch64/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/legacy_cdts/libglvnd-glx-cos7-aarch64/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/legacy_cdts/libglvnd-glx-cos7-aarch64/meta.yaml b/legacy_cdts/libglvnd-glx-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..b8f88bc5 --- /dev/null +++ b/legacy_cdts/libglvnd-glx-cos7-aarch64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libglvnd-glx-cos7-aarch64 + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.aarch64.rpm + sha256: a9110f29a63515c817fc595fe0d5a14b15d2e52c6aa06d7ddfd9ca3bc6f50834 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - libglvnd-cos7-aarch64 ==1.0.1 *_{{ cdt_build_number }} + host: + - libglvnd-cos7-aarch64 ==1.0.1 *_{{ cdt_build_number }} + run: + - libglvnd-cos7-aarch64 ==1.0.1 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) GLX support for libglvnd + description: | + libGL and libGLX are the common dispatch interface for the GLX API. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libglvnd-glx-cos7-ppc64le/build.sh b/legacy_cdts/libglvnd-glx-cos7-ppc64le/build.sh new file mode 100755 index 00000000..9c5af992 --- /dev/null +++ b/legacy_cdts/libglvnd-glx-cos7-ppc64le/build.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 +libgl_file=$(find . -maxdepth 1 -name "libGL.so.*.*.*") +libgl_file=$(basename ${libgl_file}) +ln -fs ${libgl_file} libGL.so +ls -lah . +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license b/legacy_cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/legacy_cdts/libglvnd-glx-cos7-ppc64le/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/legacy_cdts/libglvnd-glx-cos7-ppc64le/meta.yaml b/legacy_cdts/libglvnd-glx-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..d8d1f5fa --- /dev/null +++ b/legacy_cdts/libglvnd-glx-cos7-ppc64le/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libglvnd-glx-cos7-ppc64le + version: 1.0.1 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.ppc64le.rpm + sha256: 50a356aa8e5cd7743f6e13e8c0dddcb15be678a381ef06e5a63239972ef5e01c + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - libglvnd-cos7-ppc64le ==1.0.1 *_{{ cdt_build_number }} + host: + - libglvnd-cos7-ppc64le ==1.0.1 *_{{ cdt_build_number }} + run: + - libglvnd-cos7-ppc64le ==1.0.1 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: https://github.com/NVIDIA/libglvnd + license: MIT + license_family: MIT + license_file: libglvnd-license + summary: (CDT) GLX support for libglvnd + description: | + libGL and libGLX are the common dispatch interface for the GLX API. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libibcm-cos6-x86_64/build.sh b/legacy_cdts/libibcm-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libibcm-cos6-x86_64/build.sh +++ b/legacy_cdts/libibcm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libibcm-cos6-x86_64/meta.yaml b/legacy_cdts/libibcm-cos6-x86_64/meta.yaml index 66017323..a5d0fb34 100644 --- a/legacy_cdts/libibcm-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libibcm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/legacy_cdts/libibcm-devel-cos6-x86_64/build.sh b/legacy_cdts/libibcm-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libibcm-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libibcm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libibcm-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libibcm-devel-cos6-x86_64/meta.yaml index c1c7ffd2..67be520e 100644 --- a/legacy_cdts/libibcm-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libibcm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/legacy_cdts/libibverbs-cos6-x86_64/build.sh b/legacy_cdts/libibverbs-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libibverbs-cos6-x86_64/build.sh +++ b/legacy_cdts/libibverbs-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libibverbs-cos6-x86_64/meta.yaml b/legacy_cdts/libibverbs-cos6-x86_64/meta.yaml index 49672fa9..19267e1e 100644 --- a/legacy_cdts/libibverbs-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libibverbs-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/legacy_cdts/libibverbs-devel-cos6-x86_64/build.sh b/legacy_cdts/libibverbs-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libibverbs-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libibverbs-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libibverbs-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libibverbs-devel-cos6-x86_64/meta.yaml index 602be6de..18c6fb0b 100644 --- a/legacy_cdts/libibverbs-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libibverbs-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/legacy_cdts/libidl-cos6-x86_64/build.sh b/legacy_cdts/libidl-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libidl-cos6-x86_64/build.sh +++ b/legacy_cdts/libidl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libidl-cos6-x86_64/meta.yaml b/legacy_cdts/libidl-cos6-x86_64/meta.yaml index 65f8ada1..8ef30acd 100644 --- a/legacy_cdts/libidl-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libidl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: libidl-cos6-x86_64 license: LGPL-2.0-or-later diff --git a/legacy_cdts/libidl-cos7-aarch64/build.sh b/legacy_cdts/libidl-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libidl-cos7-aarch64/build.sh +++ b/legacy_cdts/libidl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libidl-cos7-aarch64/meta.yaml b/legacy_cdts/libidl-cos7-aarch64/meta.yaml index 3750c650..36124f30 100644 --- a/legacy_cdts/libidl-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libidl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/libidl-cos7-ppc64le/build.sh b/legacy_cdts/libidl-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libidl-cos7-ppc64le/build.sh +++ b/legacy_cdts/libidl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libidl-cos7-ppc64le/meta.yaml b/legacy_cdts/libidl-cos7-ppc64le/meta.yaml index 13cd729c..a70884b1 100644 --- a/legacy_cdts/libidl-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libidl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/libidl-devel-cos6-x86_64/build.sh b/legacy_cdts/libidl-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libidl-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libidl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libidl-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libidl-devel-cos6-x86_64/meta.yaml index ed265ea0..ffb24c0c 100644 --- a/legacy_cdts/libidl-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libidl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: libidl-devel-cos6-x86_64 license: LGPL-2.0-or-later diff --git a/legacy_cdts/libidl-devel-cos7-aarch64/build.sh b/legacy_cdts/libidl-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libidl-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libidl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libidl-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libidl-devel-cos7-aarch64/meta.yaml index bd7edace..0971a7f0 100644 --- a/legacy_cdts/libidl-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libidl-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/libidl-devel-cos7-ppc64le/build.sh b/legacy_cdts/libidl-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libidl-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libidl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libidl-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libidl-devel-cos7-ppc64le/meta.yaml index 27a9d628..fae05794 100644 --- a/legacy_cdts/libidl-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libidl-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/ license: LGPL-2.0-or-later diff --git a/legacy_cdts/libjpeg-turbo-cos6-x86_64/build.sh b/legacy_cdts/libjpeg-turbo-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libjpeg-turbo-cos6-x86_64/build.sh +++ b/legacy_cdts/libjpeg-turbo-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libjpeg-turbo-cos6-x86_64/meta.yaml b/legacy_cdts/libjpeg-turbo-cos6-x86_64/meta.yaml index c40d1326..b8a08349 100644 --- a/legacy_cdts/libjpeg-turbo-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libjpeg-turbo-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://sourceforge.net/projects/libjpeg-turbo license: wxWidgets diff --git a/legacy_cdts/libjpeg-turbo-cos7-aarch64/build.sh b/legacy_cdts/libjpeg-turbo-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libjpeg-turbo-cos7-aarch64/build.sh +++ b/legacy_cdts/libjpeg-turbo-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libjpeg-turbo-cos7-aarch64/meta.yaml b/legacy_cdts/libjpeg-turbo-cos7-aarch64/meta.yaml index 2774a948..ffb907aa 100644 --- a/legacy_cdts/libjpeg-turbo-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libjpeg-turbo-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://sourceforge.net/projects/libjpeg-turbo license: IJG diff --git a/legacy_cdts/libjpeg-turbo-cos7-ppc64le/build.sh b/legacy_cdts/libjpeg-turbo-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libjpeg-turbo-cos7-ppc64le/build.sh +++ b/legacy_cdts/libjpeg-turbo-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml b/legacy_cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml index 7cf32f61..fce48151 100644 --- a/legacy_cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libjpeg-turbo-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://sourceforge.net/projects/libjpeg-turbo license: IJG diff --git a/legacy_cdts/libnl-cos6-x86_64/build.sh b/legacy_cdts/libnl-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libnl-cos6-x86_64/build.sh +++ b/legacy_cdts/libnl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libnl-cos6-x86_64/meta.yaml b/legacy_cdts/libnl-cos6-x86_64/meta.yaml index 8557b8eb..9a256d2e 100644 --- a/legacy_cdts/libnl-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libnl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/legacy_cdts/libnl-cos7-aarch64/build.sh b/legacy_cdts/libnl-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libnl-cos7-aarch64/build.sh +++ b/legacy_cdts/libnl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libnl-cos7-aarch64/meta.yaml b/legacy_cdts/libnl-cos7-aarch64/meta.yaml index 925a629a..7ac5d047 100644 --- a/legacy_cdts/libnl-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libnl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/legacy_cdts/libnl-cos7-ppc64le/build.sh b/legacy_cdts/libnl-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libnl-cos7-ppc64le/build.sh +++ b/legacy_cdts/libnl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libnl-cos7-ppc64le/meta.yaml b/legacy_cdts/libnl-cos7-ppc64le/meta.yaml index 1dd0b18a..2028c2df 100644 --- a/legacy_cdts/libnl-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libnl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/legacy_cdts/libnl-devel-cos6-x86_64/build.sh b/legacy_cdts/libnl-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libnl-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libnl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libnl-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libnl-devel-cos6-x86_64/meta.yaml index ecc6bd0a..d78c1e64 100644 --- a/legacy_cdts/libnl-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libnl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/legacy_cdts/libnl-devel-cos7-aarch64/build.sh b/legacy_cdts/libnl-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libnl-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libnl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libnl-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libnl-devel-cos7-aarch64/meta.yaml index 70d4d66f..df0fa2ec 100644 --- a/legacy_cdts/libnl-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libnl-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/legacy_cdts/libnl-devel-cos7-ppc64le/build.sh b/legacy_cdts/libnl-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libnl-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libnl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libnl-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libnl-devel-cos7-ppc64le/meta.yaml index e653c5ec..8fb983c3 100644 --- a/legacy_cdts/libnl-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libnl-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.infradead.org/~tgr/libnl/ license: LGPLv2 diff --git a/legacy_cdts/librdmacm-cos6-x86_64/build.sh b/legacy_cdts/librdmacm-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/librdmacm-cos6-x86_64/build.sh +++ b/legacy_cdts/librdmacm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/librdmacm-cos6-x86_64/meta.yaml b/legacy_cdts/librdmacm-cos6-x86_64/meta.yaml index 281efd21..fc66063e 100644 --- a/legacy_cdts/librdmacm-cos6-x86_64/meta.yaml +++ b/legacy_cdts/librdmacm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/legacy_cdts/librdmacm-devel-cos6-x86_64/build.sh b/legacy_cdts/librdmacm-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/librdmacm-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/librdmacm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/librdmacm-devel-cos6-x86_64/meta.yaml b/legacy_cdts/librdmacm-devel-cos6-x86_64/meta.yaml index 283a1b6e..2347ef80 100644 --- a/legacy_cdts/librdmacm-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/librdmacm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.openfabrics.org/ license: GPLv2 or BSD diff --git a/legacy_cdts/libselinux-cos6-x86_64/build.sh b/legacy_cdts/libselinux-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libselinux-cos6-x86_64/build.sh +++ b/legacy_cdts/libselinux-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libselinux-cos6-x86_64/meta.yaml b/legacy_cdts/libselinux-cos6-x86_64/meta.yaml index 59237e27..521a3982 100644 --- a/legacy_cdts/libselinux-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libselinux-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: Public-Domain diff --git a/legacy_cdts/libselinux-cos7-aarch64/build.sh b/legacy_cdts/libselinux-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libselinux-cos7-aarch64/build.sh +++ b/legacy_cdts/libselinux-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libselinux-cos7-aarch64/meta.yaml b/legacy_cdts/libselinux-cos7-aarch64/meta.yaml index 81f864bd..ea86aa1c 100644 --- a/legacy_cdts/libselinux-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libselinux-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-aarch64 >=2.5 *_{{ cdt_build_number }} + host: + - libsepol-cos7-aarch64 >=2.5 *_{{ cdt_build_number }} + run: + - libsepol-cos7-aarch64 >=2.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/legacy_cdts/libselinux-cos7-ppc64le/build.sh b/legacy_cdts/libselinux-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libselinux-cos7-ppc64le/build.sh +++ b/legacy_cdts/libselinux-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libselinux-cos7-ppc64le/meta.yaml b/legacy_cdts/libselinux-cos7-ppc64le/meta.yaml index 01345543..2cd0fc1c 100644 --- a/legacy_cdts/libselinux-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libselinux-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-ppc64le >=2.5 *_{{ cdt_build_number }} + host: + - libsepol-cos7-ppc64le >=2.5 *_{{ cdt_build_number }} + run: + - libsepol-cos7-ppc64le >=2.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/legacy_cdts/libselinux-devel-cos6-x86_64/build.sh b/legacy_cdts/libselinux-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libselinux-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libselinux-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libselinux-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libselinux-devel-cos6-x86_64/meta.yaml index 9c4a5ece..0df97d17 100644 --- a/legacy_cdts/libselinux-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libselinux-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: Public-Domain diff --git a/legacy_cdts/libselinux-devel-cos7-aarch64/build.sh b/legacy_cdts/libselinux-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libselinux-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libselinux-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libselinux-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libselinux-devel-cos7-aarch64/meta.yaml index cb8b6d32..45afac90 100644 --- a/legacy_cdts/libselinux-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libselinux-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libselinux-cos7-aarch64 ==2.5 *_{{ cdt_build_number }} + - libsepol-devel-cos7-aarch64 >=2.5 *_{{ cdt_build_number }} + host: + - libselinux-cos7-aarch64 ==2.5 *_{{ cdt_build_number }} + - libsepol-devel-cos7-aarch64 >=2.5 *_{{ cdt_build_number }} + run: + - libselinux-cos7-aarch64 ==2.5 *_{{ cdt_build_number }} + - libsepol-devel-cos7-aarch64 >=2.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/legacy_cdts/libselinux-devel-cos7-ppc64le/build.sh b/legacy_cdts/libselinux-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libselinux-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libselinux-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libselinux-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libselinux-devel-cos7-ppc64le/meta.yaml index 65851b0b..446e41f8 100644 --- a/legacy_cdts/libselinux-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libselinux-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libselinux-cos7-ppc64le ==2.5 *_{{ cdt_build_number }} + - libsepol-devel-cos7-ppc64le >=2.5 *_{{ cdt_build_number }} + host: + - libselinux-cos7-ppc64le ==2.5 *_{{ cdt_build_number }} + - libsepol-devel-cos7-ppc64le >=2.5 *_{{ cdt_build_number }} + run: + - libselinux-cos7-ppc64le ==2.5 *_{{ cdt_build_number }} + - libsepol-devel-cos7-ppc64le >=2.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: Public-Domain diff --git a/legacy_cdts/libsepol-cos6-x86_64/build.sh b/legacy_cdts/libsepol-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libsepol-cos6-x86_64/build.sh +++ b/legacy_cdts/libsepol-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libsepol-cos6-x86_64/meta.yaml b/legacy_cdts/libsepol-cos6-x86_64/meta.yaml index 8f7de454..5274c807 100644 --- a/legacy_cdts/libsepol-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libsepol-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/libsepol-cos7-aarch64/build.sh b/legacy_cdts/libsepol-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libsepol-cos7-aarch64/build.sh +++ b/legacy_cdts/libsepol-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libsepol-cos7-aarch64/meta.yaml b/legacy_cdts/libsepol-cos7-aarch64/meta.yaml index e083a2e5..bd6ec6fe 100644 --- a/legacy_cdts/libsepol-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libsepol-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/legacy_cdts/libsepol-cos7-ppc64le/build.sh b/legacy_cdts/libsepol-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libsepol-cos7-ppc64le/build.sh +++ b/legacy_cdts/libsepol-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libsepol-cos7-ppc64le/meta.yaml b/legacy_cdts/libsepol-cos7-ppc64le/meta.yaml index 9745dfb3..f7882f96 100644 --- a/legacy_cdts/libsepol-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libsepol-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/legacy_cdts/libsepol-devel-cos6-x86_64/build.sh b/legacy_cdts/libsepol-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libsepol-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libsepol-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libsepol-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libsepol-devel-cos6-x86_64/meta.yaml index c0b6c440..24721cfb 100644 --- a/legacy_cdts/libsepol-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libsepol-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.selinuxproject.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/libsepol-devel-cos7-aarch64/build.sh b/legacy_cdts/libsepol-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libsepol-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libsepol-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libsepol-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libsepol-devel-cos7-aarch64/meta.yaml index 0312c5de..74233aa4 100644 --- a/legacy_cdts/libsepol-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libsepol-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-aarch64 ==2.5 *_{{ cdt_build_number }} + host: + - libsepol-cos7-aarch64 ==2.5 *_{{ cdt_build_number }} + run: + - libsepol-cos7-aarch64 ==2.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/legacy_cdts/libsepol-devel-cos7-ppc64le/build.sh b/legacy_cdts/libsepol-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libsepol-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libsepol-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libsepol-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libsepol-devel-cos7-ppc64le/meta.yaml index b56f598a..d0ae472c 100644 --- a/legacy_cdts/libsepol-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libsepol-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libsepol-cos7-ppc64le ==2.5 *_{{ cdt_build_number }} + host: + - libsepol-cos7-ppc64le ==2.5 *_{{ cdt_build_number }} + run: + - libsepol-cos7-ppc64le ==2.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://github.com/SELinuxProject/selinux/wiki license: LGPL-2.0-or-later diff --git a/legacy_cdts/libthai-cos6-x86_64/build.sh b/legacy_cdts/libthai-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libthai-cos6-x86_64/build.sh +++ b/legacy_cdts/libthai-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libthai-cos6-x86_64/meta.yaml b/legacy_cdts/libthai-cos6-x86_64/meta.yaml index 935b9848..b1031e76 100644 --- a/legacy_cdts/libthai-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libthai-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://linux.thai.net license: LGPL-2.0-or-later diff --git a/legacy_cdts/libthai-cos7-aarch64/build.sh b/legacy_cdts/libthai-cos7-aarch64/build.sh new file mode 100755 index 00000000..97499cee --- /dev/null +++ b/legacy_cdts/libthai-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libthai-cos7-aarch64/meta.yaml b/legacy_cdts/libthai-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..574cb688 --- /dev/null +++ b/legacy_cdts/libthai-cos7-aarch64/meta.yaml @@ -0,0 +1,44 @@ +package: + name: libthai-cos7-aarch64 + version: 0.1.14 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libthai-0.1.14-9.el7.aarch64.rpm + sha256: 2f780065d78d69a68ee250c26287d5e9de025afbe34175b7dea8a2792bcf45c6 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libthai-0.1.14-9.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://linux.thai.net + license: LGPL-2.0-or-later + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libthai-0.1.14/COPYING + summary: "(CDT) Thai language support routines" + description: | + LibThai is a set of Thai language support routines aimed to ease developers' + tasks to incorporate Thai language support in their applications. It includes + important Thai-specific functions e.g. word breaking, input and output methods + as well as basic character and string supports. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libthai-cos7-ppc64le/build.sh b/legacy_cdts/libthai-cos7-ppc64le/build.sh new file mode 100755 index 00000000..0f6cb1aa --- /dev/null +++ b/legacy_cdts/libthai-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libthai-cos7-ppc64le/meta.yaml b/legacy_cdts/libthai-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..b99dfbea --- /dev/null +++ b/legacy_cdts/libthai-cos7-ppc64le/meta.yaml @@ -0,0 +1,44 @@ +package: + name: libthai-cos7-ppc64le + version: 0.1.14 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libthai-0.1.14-9.el7.ppc64le.rpm + sha256: 5506f087b5fb256175ac377187341d08f712c55cc8e0bf68a989d78d05b4f4f4 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libthai-0.1.14-9.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://linux.thai.net + license: LGPL-2.0-or-later + license_family: LGPL + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libthai-0.1.14/COPYING + summary: "(CDT) Thai language support routines" + description: | + LibThai is a set of Thai language support routines aimed to ease developers' + tasks to incorporate Thai language support in their applications. It includes + important Thai-specific functions e.g. word breaking, input and output methods + as well as basic character and string supports. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libtiff-cos7-aarch64/build.sh b/legacy_cdts/libtiff-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libtiff-cos7-aarch64/build.sh +++ b/legacy_cdts/libtiff-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libtiff-cos7-aarch64/meta.yaml b/legacy_cdts/libtiff-cos7-aarch64/meta.yaml index e78d1754..db76d53a 100644 --- a/legacy_cdts/libtiff-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libtiff-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.remotesensing.org/libtiff/ license: libtiff diff --git a/legacy_cdts/libtiff-cos7-ppc64le/build.sh b/legacy_cdts/libtiff-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libtiff-cos7-ppc64le/build.sh +++ b/legacy_cdts/libtiff-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libtiff-cos7-ppc64le/meta.yaml b/legacy_cdts/libtiff-cos7-ppc64le/meta.yaml index 39222035..ae9805f9 100644 --- a/legacy_cdts/libtiff-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libtiff-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.remotesensing.org/libtiff/ license: libtiff diff --git a/legacy_cdts/libudev-cos6-x86_64/build.sh b/legacy_cdts/libudev-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libudev-cos6-x86_64/build.sh +++ b/legacy_cdts/libudev-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libudev-cos6-x86_64/meta.yaml b/legacy_cdts/libudev-cos6-x86_64/meta.yaml index db970027..02e677ee 100644 --- a/legacy_cdts/libudev-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libudev-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html license: LGPL-2.0-or-later diff --git a/legacy_cdts/libx11-common-cos6-x86_64/build.sh b/legacy_cdts/libx11-common-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libx11-common-cos6-x86_64/build.sh +++ b/legacy_cdts/libx11-common-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libx11-common-cos6-x86_64/meta.yaml b/legacy_cdts/libx11-common-cos6-x86_64/meta.yaml index d669f6c1..296ce9cd 100644 --- a/legacy_cdts/libx11-common-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libx11-common-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libx11-common-cos7-aarch64/build.sh b/legacy_cdts/libx11-common-cos7-aarch64/build.sh index 232b4b2b..97499cee 100755 --- a/legacy_cdts/libx11-common-cos7-aarch64/build.sh +++ b/legacy_cdts/libx11-common-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/libx11-common-cos7-aarch64/meta.yaml b/legacy_cdts/libx11-common-cos7-aarch64/meta.yaml index 6ea7d623..13ee61bc 100644 --- a/legacy_cdts/libx11-common-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libx11-common-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' diff --git a/legacy_cdts/libx11-common-cos7-ppc64le/build.sh b/legacy_cdts/libx11-common-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libx11-common-cos7-ppc64le/build.sh +++ b/legacy_cdts/libx11-common-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libx11-common-cos7-ppc64le/meta.yaml b/legacy_cdts/libx11-common-cos7-ppc64le/meta.yaml index 0b1b1420..59c81c70 100644 --- a/legacy_cdts/libx11-common-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libx11-common-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libx11-cos6-x86_64/build.sh b/legacy_cdts/libx11-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libx11-cos6-x86_64/build.sh +++ b/legacy_cdts/libx11-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libx11-cos6-x86_64/meta.yaml b/legacy_cdts/libx11-cos6-x86_64/meta.yaml index cee91a75..c8cd163d 100644 --- a/legacy_cdts/libx11-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libx11-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libx11-cos7-aarch64/build.sh b/legacy_cdts/libx11-cos7-aarch64/build.sh index 232b4b2b..97499cee 100755 --- a/legacy_cdts/libx11-cos7-aarch64/build.sh +++ b/legacy_cdts/libx11-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/libx11-cos7-aarch64/meta.yaml b/legacy_cdts/libx11-cos7-aarch64/meta.yaml index 2dee30e6..6c062dd5 100644 --- a/legacy_cdts/libx11-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libx11-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/libx11-cos7-ppc64le/build.sh b/legacy_cdts/libx11-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libx11-cos7-ppc64le/build.sh +++ b/legacy_cdts/libx11-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libx11-cos7-ppc64le/meta.yaml b/legacy_cdts/libx11-cos7-ppc64le/meta.yaml index 0ef829b2..b9138e7a 100644 --- a/legacy_cdts/libx11-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libx11-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libx11-devel-cos6-x86_64/build.sh b/legacy_cdts/libx11-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libx11-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libx11-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libx11-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libx11-devel-cos6-x86_64/meta.yaml index 45d7b2a1..109ae27f 100644 --- a/legacy_cdts/libx11-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libx11-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libx11-devel-cos7-aarch64/build.sh b/legacy_cdts/libx11-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libx11-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libx11-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libx11-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libx11-devel-cos7-aarch64/meta.yaml index 92398b6b..cda7b74d 100644 --- a/legacy_cdts/libx11-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libx11-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libx11-devel-cos7-ppc64le/build.sh b/legacy_cdts/libx11-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libx11-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libx11-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libx11-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libx11-devel-cos7-ppc64le/meta.yaml index c8847485..95767059 100644 --- a/legacy_cdts/libx11-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libx11-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxau-cos6-x86_64/build.sh b/legacy_cdts/libxau-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxau-cos6-x86_64/build.sh +++ b/legacy_cdts/libxau-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxau-cos6-x86_64/meta.yaml b/legacy_cdts/libxau-cos6-x86_64/meta.yaml index 796c1c5f..4910c94f 100644 --- a/legacy_cdts/libxau-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxau-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxau-cos7-aarch64/build.sh b/legacy_cdts/libxau-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxau-cos7-aarch64/build.sh +++ b/legacy_cdts/libxau-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxau-cos7-aarch64/meta.yaml b/legacy_cdts/libxau-cos7-aarch64/meta.yaml index fc124d49..2130fb16 100644 --- a/legacy_cdts/libxau-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxau-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxau-cos7-ppc64le/build.sh b/legacy_cdts/libxau-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxau-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxau-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxau-cos7-ppc64le/meta.yaml b/legacy_cdts/libxau-cos7-ppc64le/meta.yaml index 948b4ec7..37052dd8 100644 --- a/legacy_cdts/libxau-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxau-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxau-devel-cos6-x86_64/build.sh b/legacy_cdts/libxau-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxau-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxau-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxau-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxau-devel-cos6-x86_64/meta.yaml index 0055ff3b..80123342 100644 --- a/legacy_cdts/libxau-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxau-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxau-devel-cos7-aarch64/build.sh b/legacy_cdts/libxau-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxau-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxau-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxau-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxau-devel-cos7-aarch64/meta.yaml index 9894b402..3a73509b 100644 --- a/legacy_cdts/libxau-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxau-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxau-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxau-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxau-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxau-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxau-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxau-devel-cos7-ppc64le/meta.yaml index 4c35ded4..9d191be8 100644 --- a/legacy_cdts/libxau-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxau-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcb-cos6-x86_64/build.sh b/legacy_cdts/libxcb-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxcb-cos6-x86_64/build.sh +++ b/legacy_cdts/libxcb-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcb-cos6-x86_64/meta.yaml b/legacy_cdts/libxcb-cos6-x86_64/meta.yaml index 8a96e9f9..b6e7fdcd 100644 --- a/legacy_cdts/libxcb-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxcb-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://xcb.freedesktop.org/ license: MIT diff --git a/legacy_cdts/libxcb-cos7-aarch64/build.sh b/legacy_cdts/libxcb-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxcb-cos7-aarch64/build.sh +++ b/legacy_cdts/libxcb-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcb-cos7-aarch64/meta.yaml b/legacy_cdts/libxcb-cos7-aarch64/meta.yaml index f0e378d6..2d962035 100644 --- a/legacy_cdts/libxcb-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxcb-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://xcb.freedesktop.org/ license: MIT diff --git a/legacy_cdts/libxcb-cos7-ppc64le/build.sh b/legacy_cdts/libxcb-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxcb-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxcb-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcb-cos7-ppc64le/meta.yaml b/legacy_cdts/libxcb-cos7-ppc64le/meta.yaml index d67a01c0..2725e626 100644 --- a/legacy_cdts/libxcb-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxcb-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://xcb.freedesktop.org/ license: MIT diff --git a/legacy_cdts/libxcomposite-cos6-x86_64/build.sh b/legacy_cdts/libxcomposite-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxcomposite-cos6-x86_64/build.sh +++ b/legacy_cdts/libxcomposite-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcomposite-cos6-x86_64/meta.yaml b/legacy_cdts/libxcomposite-cos6-x86_64/meta.yaml index 86b25572..d7c7954b 100644 --- a/legacy_cdts/libxcomposite-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxcomposite-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcomposite-cos7-aarch64/build.sh b/legacy_cdts/libxcomposite-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxcomposite-cos7-aarch64/build.sh +++ b/legacy_cdts/libxcomposite-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcomposite-cos7-aarch64/meta.yaml b/legacy_cdts/libxcomposite-cos7-aarch64/meta.yaml index 2478671c..3609d3a5 100644 --- a/legacy_cdts/libxcomposite-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxcomposite-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcomposite-cos7-ppc64le/build.sh b/legacy_cdts/libxcomposite-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxcomposite-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxcomposite-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcomposite-cos7-ppc64le/meta.yaml b/legacy_cdts/libxcomposite-cos7-ppc64le/meta.yaml index ce821c58..17922285 100644 --- a/legacy_cdts/libxcomposite-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxcomposite-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcomposite-devel-cos6-x86_64/build.sh b/legacy_cdts/libxcomposite-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxcomposite-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxcomposite-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcomposite-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxcomposite-devel-cos6-x86_64/meta.yaml index 201bc979..294dda41 100644 --- a/legacy_cdts/libxcomposite-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxcomposite-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcomposite-devel-cos7-aarch64/build.sh b/legacy_cdts/libxcomposite-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxcomposite-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxcomposite-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcomposite-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxcomposite-devel-cos7-aarch64/meta.yaml index 633d309a..658c0220 100644 --- a/legacy_cdts/libxcomposite-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxcomposite-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcomposite-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxcomposite-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxcomposite-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxcomposite-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml index 931d91f2..1bfdfc6d 100644 --- a/legacy_cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxcomposite-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcursor-cos6-x86_64/build.sh b/legacy_cdts/libxcursor-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxcursor-cos6-x86_64/build.sh +++ b/legacy_cdts/libxcursor-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcursor-cos6-x86_64/meta.yaml b/legacy_cdts/libxcursor-cos6-x86_64/meta.yaml index 7c8766db..10741dfc 100644 --- a/legacy_cdts/libxcursor-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxcursor-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcursor-cos7-aarch64/build.sh b/legacy_cdts/libxcursor-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxcursor-cos7-aarch64/build.sh +++ b/legacy_cdts/libxcursor-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcursor-cos7-aarch64/meta.yaml b/legacy_cdts/libxcursor-cos7-aarch64/meta.yaml index cac1a526..06fbbcfc 100644 --- a/legacy_cdts/libxcursor-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxcursor-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/legacy_cdts/libxcursor-cos7-ppc64le/build.sh b/legacy_cdts/libxcursor-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxcursor-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxcursor-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcursor-cos7-ppc64le/meta.yaml b/legacy_cdts/libxcursor-cos7-ppc64le/meta.yaml index e6c539d3..7e07c7a6 100644 --- a/legacy_cdts/libxcursor-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxcursor-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/legacy_cdts/libxcursor-devel-cos6-x86_64/build.sh b/legacy_cdts/libxcursor-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxcursor-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxcursor-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcursor-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxcursor-devel-cos6-x86_64/meta.yaml index c909b362..8a42b2b4 100644 --- a/legacy_cdts/libxcursor-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxcursor-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxcursor-devel-cos7-aarch64/build.sh b/legacy_cdts/libxcursor-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxcursor-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxcursor-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcursor-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxcursor-devel-cos7-aarch64/meta.yaml index 927587d5..7165ab66 100644 --- a/legacy_cdts/libxcursor-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxcursor-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/legacy_cdts/libxcursor-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxcursor-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxcursor-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxcursor-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxcursor-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxcursor-devel-cos7-ppc64le/meta.yaml index 473a6cf7..cf9e31cb 100644 --- a/legacy_cdts/libxcursor-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxcursor-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/legacy_cdts/libxdamage-cos6-x86_64/build.sh b/legacy_cdts/libxdamage-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxdamage-cos6-x86_64/build.sh +++ b/legacy_cdts/libxdamage-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxdamage-cos6-x86_64/meta.yaml b/legacy_cdts/libxdamage-cos6-x86_64/meta.yaml index 73c8b095..125cd2e1 100644 --- a/legacy_cdts/libxdamage-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxdamage-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxdamage-cos7-aarch64/build.sh b/legacy_cdts/libxdamage-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxdamage-cos7-aarch64/build.sh +++ b/legacy_cdts/libxdamage-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxdamage-cos7-aarch64/meta.yaml b/legacy_cdts/libxdamage-cos7-aarch64/meta.yaml index ea9f927d..68faf90c 100644 --- a/legacy_cdts/libxdamage-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxdamage-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxdamage-cos7-ppc64le/build.sh b/legacy_cdts/libxdamage-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxdamage-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxdamage-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxdamage-cos7-ppc64le/meta.yaml b/legacy_cdts/libxdamage-cos7-ppc64le/meta.yaml index d8315882..2b0bf927 100644 --- a/legacy_cdts/libxdamage-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxdamage-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxdamage-devel-cos6-x86_64/build.sh b/legacy_cdts/libxdamage-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxdamage-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxdamage-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxdamage-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxdamage-devel-cos6-x86_64/meta.yaml index 00be7267..a3dfc736 100644 --- a/legacy_cdts/libxdamage-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxdamage-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxdamage-devel-cos7-aarch64/build.sh b/legacy_cdts/libxdamage-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxdamage-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxdamage-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxdamage-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxdamage-devel-cos7-aarch64/meta.yaml index c1a67f7a..ccd460fc 100644 --- a/legacy_cdts/libxdamage-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxdamage-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxdamage-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxdamage-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxdamage-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxdamage-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxdamage-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxdamage-devel-cos7-ppc64le/meta.yaml index 835832ff..1e81588b 100644 --- a/legacy_cdts/libxdamage-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxdamage-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxext-cos6-x86_64/build.sh b/legacy_cdts/libxext-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxext-cos6-x86_64/build.sh +++ b/legacy_cdts/libxext-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxext-cos6-x86_64/meta.yaml b/legacy_cdts/libxext-cos6-x86_64/meta.yaml index e81306d2..c2c2882f 100644 --- a/legacy_cdts/libxext-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxext-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxext-cos7-aarch64/build.sh b/legacy_cdts/libxext-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxext-cos7-aarch64/build.sh +++ b/legacy_cdts/libxext-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxext-cos7-aarch64/meta.yaml b/legacy_cdts/libxext-cos7-aarch64/meta.yaml index 26ec9e3e..117f693f 100644 --- a/legacy_cdts/libxext-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxext-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxext-cos7-ppc64le/build.sh b/legacy_cdts/libxext-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxext-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxext-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxext-cos7-ppc64le/meta.yaml b/legacy_cdts/libxext-cos7-ppc64le/meta.yaml index a03fa3e8..853bd018 100644 --- a/legacy_cdts/libxext-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxext-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxext-devel-cos6-x86_64/build.sh b/legacy_cdts/libxext-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxext-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxext-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxext-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxext-devel-cos6-x86_64/meta.yaml index 9b7bf969..e5ddde24 100644 --- a/legacy_cdts/libxext-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxext-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxext-devel-cos7-aarch64/build.sh b/legacy_cdts/libxext-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxext-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxext-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxext-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxext-devel-cos7-aarch64/meta.yaml index 3e84c21a..b2ebe808 100644 --- a/legacy_cdts/libxext-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxext-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxext-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxext-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxext-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxext-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxext-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxext-devel-cos7-ppc64le/meta.yaml index 2a0e5c12..31d7d374 100644 --- a/legacy_cdts/libxext-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxext-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxfixes-cos6-x86_64/build.sh b/legacy_cdts/libxfixes-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxfixes-cos6-x86_64/build.sh +++ b/legacy_cdts/libxfixes-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxfixes-cos6-x86_64/meta.yaml b/legacy_cdts/libxfixes-cos6-x86_64/meta.yaml index 0d1e89dc..42875561 100644 --- a/legacy_cdts/libxfixes-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxfixes-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxfixes-cos7-aarch64/build.sh b/legacy_cdts/libxfixes-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxfixes-cos7-aarch64/build.sh +++ b/legacy_cdts/libxfixes-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxfixes-cos7-aarch64/meta.yaml b/legacy_cdts/libxfixes-cos7-aarch64/meta.yaml index 568eb113..feb35f19 100644 --- a/legacy_cdts/libxfixes-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxfixes-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxfixes-cos7-ppc64le/build.sh b/legacy_cdts/libxfixes-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxfixes-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxfixes-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxfixes-cos7-ppc64le/meta.yaml b/legacy_cdts/libxfixes-cos7-ppc64le/meta.yaml index 74b687a3..c60ced01 100644 --- a/legacy_cdts/libxfixes-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxfixes-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxfixes-devel-cos6-x86_64/build.sh b/legacy_cdts/libxfixes-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxfixes-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxfixes-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxfixes-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxfixes-devel-cos6-x86_64/meta.yaml index cf3fc180..fe76f320 100644 --- a/legacy_cdts/libxfixes-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxfixes-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxfixes-devel-cos7-aarch64/build.sh b/legacy_cdts/libxfixes-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxfixes-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxfixes-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxfixes-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxfixes-devel-cos7-aarch64/meta.yaml index 102cc2fa..3ba1cafd 100644 --- a/legacy_cdts/libxfixes-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxfixes-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxfixes-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxfixes-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxfixes-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxfixes-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxfixes-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxfixes-devel-cos7-ppc64le/meta.yaml index 63af7691..930606ff 100644 --- a/legacy_cdts/libxfixes-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxfixes-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxft-cos6-x86_64/build.sh b/legacy_cdts/libxft-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxft-cos6-x86_64/build.sh +++ b/legacy_cdts/libxft-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxft-cos6-x86_64/meta.yaml b/legacy_cdts/libxft-cos6-x86_64/meta.yaml index 92f09cd8..c90f46e7 100644 --- a/legacy_cdts/libxft-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxft-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxft-cos7-aarch64/build.sh b/legacy_cdts/libxft-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxft-cos7-aarch64/build.sh +++ b/legacy_cdts/libxft-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxft-cos7-aarch64/meta.yaml b/legacy_cdts/libxft-cos7-aarch64/meta.yaml index 6f907ba9..f77fe3cc 100644 --- a/legacy_cdts/libxft-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxft-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxft-cos7-ppc64le/build.sh b/legacy_cdts/libxft-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxft-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxft-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxft-cos7-ppc64le/meta.yaml b/legacy_cdts/libxft-cos7-ppc64le/meta.yaml index f2c2890b..73b6c421 100644 --- a/legacy_cdts/libxft-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxft-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxi-cos6-x86_64/build.sh b/legacy_cdts/libxi-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxi-cos6-x86_64/build.sh +++ b/legacy_cdts/libxi-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxi-cos6-x86_64/meta.yaml b/legacy_cdts/libxi-cos6-x86_64/meta.yaml index e646fc48..64371d0e 100644 --- a/legacy_cdts/libxi-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxi-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxi-cos7-aarch64/build.sh b/legacy_cdts/libxi-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxi-cos7-aarch64/build.sh +++ b/legacy_cdts/libxi-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxi-cos7-aarch64/meta.yaml b/legacy_cdts/libxi-cos7-aarch64/meta.yaml index 985b01a9..8390a279 100644 --- a/legacy_cdts/libxi-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxi-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxi-cos7-ppc64le/build.sh b/legacy_cdts/libxi-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxi-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxi-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxi-cos7-ppc64le/meta.yaml b/legacy_cdts/libxi-cos7-ppc64le/meta.yaml index a3eae794..6e494ea6 100644 --- a/legacy_cdts/libxi-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxi-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxi-devel-cos6-x86_64/build.sh b/legacy_cdts/libxi-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxi-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxi-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxi-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxi-devel-cos6-x86_64/meta.yaml index e7efdd6c..c7be465a 100644 --- a/legacy_cdts/libxi-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxi-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxi-devel-cos7-aarch64/build.sh b/legacy_cdts/libxi-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxi-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxi-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxi-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxi-devel-cos7-aarch64/meta.yaml index de88740a..102d2811 100644 --- a/legacy_cdts/libxi-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxi-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxi-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxi-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxi-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxi-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxi-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxi-devel-cos7-ppc64le/meta.yaml index 232a89f1..4c96a3d1 100644 --- a/legacy_cdts/libxi-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxi-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxinerama-cos6-x86_64/build.sh b/legacy_cdts/libxinerama-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxinerama-cos6-x86_64/build.sh +++ b/legacy_cdts/libxinerama-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxinerama-cos6-x86_64/meta.yaml b/legacy_cdts/libxinerama-cos6-x86_64/meta.yaml index 839b9142..dd5868d7 100644 --- a/legacy_cdts/libxinerama-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxinerama-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxinerama-cos7-aarch64/build.sh b/legacy_cdts/libxinerama-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxinerama-cos7-aarch64/build.sh +++ b/legacy_cdts/libxinerama-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxinerama-cos7-aarch64/meta.yaml b/legacy_cdts/libxinerama-cos7-aarch64/meta.yaml index ba538727..5660f5ea 100644 --- a/legacy_cdts/libxinerama-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxinerama-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxinerama-cos7-ppc64le/build.sh b/legacy_cdts/libxinerama-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxinerama-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxinerama-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxinerama-cos7-ppc64le/meta.yaml b/legacy_cdts/libxinerama-cos7-ppc64le/meta.yaml index de9b6b0c..4931440b 100644 --- a/legacy_cdts/libxinerama-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxinerama-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxinerama-devel-cos6-x86_64/build.sh b/legacy_cdts/libxinerama-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxinerama-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxinerama-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxinerama-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxinerama-devel-cos6-x86_64/meta.yaml index 47adfbc9..2ec6bd35 100644 --- a/legacy_cdts/libxinerama-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxinerama-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxinerama-devel-cos7-aarch64/build.sh b/legacy_cdts/libxinerama-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxinerama-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxinerama-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxinerama-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxinerama-devel-cos7-aarch64/meta.yaml index 8629a7e1..ef150804 100644 --- a/legacy_cdts/libxinerama-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxinerama-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxinerama-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxinerama-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxinerama-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxinerama-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxinerama-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxinerama-devel-cos7-ppc64le/meta.yaml index 09639ff7..1c82c034 100644 --- a/legacy_cdts/libxinerama-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxinerama-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxml2-cos6-x86_64/build.sh b/legacy_cdts/libxml2-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxml2-cos6-x86_64/build.sh +++ b/legacy_cdts/libxml2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxml2-cos6-x86_64/meta.yaml b/legacy_cdts/libxml2-cos6-x86_64/meta.yaml index 5742cb99..fad3713f 100644 --- a/legacy_cdts/libxml2-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxml2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/legacy_cdts/libxml2-cos7-aarch64/build.sh b/legacy_cdts/libxml2-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxml2-cos7-aarch64/build.sh +++ b/legacy_cdts/libxml2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxml2-cos7-aarch64/meta.yaml b/legacy_cdts/libxml2-cos7-aarch64/meta.yaml index e6d4a55e..4bd0baa4 100644 --- a/legacy_cdts/libxml2-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxml2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/legacy_cdts/libxml2-cos7-ppc64le/build.sh b/legacy_cdts/libxml2-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxml2-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxml2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxml2-cos7-ppc64le/meta.yaml b/legacy_cdts/libxml2-cos7-ppc64le/meta.yaml index d2a2ad76..eabfbc74 100644 --- a/legacy_cdts/libxml2-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxml2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/legacy_cdts/libxml2-devel-cos6-x86_64/build.sh b/legacy_cdts/libxml2-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxml2-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxml2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxml2-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxml2-devel-cos6-x86_64/meta.yaml index 43b81bf8..bc5850a7 100644 --- a/legacy_cdts/libxml2-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxml2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/legacy_cdts/libxml2-devel-cos7-aarch64/build.sh b/legacy_cdts/libxml2-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxml2-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxml2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxml2-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxml2-devel-cos7-aarch64/meta.yaml index 35f1e455..cbd932a6 100644 --- a/legacy_cdts/libxml2-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxml2-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/legacy_cdts/libxml2-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxml2-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxml2-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxml2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxml2-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxml2-devel-cos7-ppc64le/meta.yaml index d82d076f..116df9a1 100644 --- a/legacy_cdts/libxml2-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxml2-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://xmlsoft.org/ license: MIT diff --git a/legacy_cdts/libxrandr-cos6-x86_64/build.sh b/legacy_cdts/libxrandr-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxrandr-cos6-x86_64/build.sh +++ b/legacy_cdts/libxrandr-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrandr-cos6-x86_64/meta.yaml b/legacy_cdts/libxrandr-cos6-x86_64/meta.yaml index 1e045f0d..c934496d 100644 --- a/legacy_cdts/libxrandr-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxrandr-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrandr-cos7-aarch64/build.sh b/legacy_cdts/libxrandr-cos7-aarch64/build.sh index 232b4b2b..97499cee 100755 --- a/legacy_cdts/libxrandr-cos7-aarch64/build.sh +++ b/legacy_cdts/libxrandr-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/libxrandr-cos7-aarch64/meta.yaml b/legacy_cdts/libxrandr-cos7-aarch64/meta.yaml index 0186d280..e50f1daf 100644 --- a/legacy_cdts/libxrandr-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxrandr-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' diff --git a/legacy_cdts/libxrandr-cos7-ppc64le/build.sh b/legacy_cdts/libxrandr-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxrandr-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxrandr-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrandr-cos7-ppc64le/meta.yaml b/legacy_cdts/libxrandr-cos7-ppc64le/meta.yaml index 8aa454c3..ef3c89a7 100644 --- a/legacy_cdts/libxrandr-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxrandr-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrandr-devel-cos6-x86_64/build.sh b/legacy_cdts/libxrandr-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxrandr-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxrandr-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrandr-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxrandr-devel-cos6-x86_64/meta.yaml index 7faae1ef..17369964 100644 --- a/legacy_cdts/libxrandr-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxrandr-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrandr-devel-cos7-aarch64/build.sh b/legacy_cdts/libxrandr-devel-cos7-aarch64/build.sh index 232b4b2b..97499cee 100755 --- a/legacy_cdts/libxrandr-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxrandr-devel-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/libxrandr-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxrandr-devel-cos7-aarch64/meta.yaml index ebed7cbc..e8cc4435 100644 --- a/legacy_cdts/libxrandr-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxrandr-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/libxrandr-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxrandr-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxrandr-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxrandr-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrandr-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxrandr-devel-cos7-ppc64le/meta.yaml index 8cab979c..2e3a7efd 100644 --- a/legacy_cdts/libxrandr-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxrandr-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrender-cos6-x86_64/build.sh b/legacy_cdts/libxrender-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxrender-cos6-x86_64/build.sh +++ b/legacy_cdts/libxrender-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrender-cos6-x86_64/meta.yaml b/legacy_cdts/libxrender-cos6-x86_64/meta.yaml index eaa590bd..be2a0399 100644 --- a/legacy_cdts/libxrender-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxrender-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrender-cos7-aarch64/build.sh b/legacy_cdts/libxrender-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxrender-cos7-aarch64/build.sh +++ b/legacy_cdts/libxrender-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrender-cos7-aarch64/meta.yaml b/legacy_cdts/libxrender-cos7-aarch64/meta.yaml index ea74a7d6..d67eee69 100644 --- a/legacy_cdts/libxrender-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxrender-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrender-cos7-ppc64le/build.sh b/legacy_cdts/libxrender-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxrender-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxrender-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrender-cos7-ppc64le/meta.yaml b/legacy_cdts/libxrender-cos7-ppc64le/meta.yaml index af4fedbb..9f44ce75 100644 --- a/legacy_cdts/libxrender-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxrender-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrender-devel-cos6-x86_64/build.sh b/legacy_cdts/libxrender-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxrender-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxrender-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrender-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxrender-devel-cos6-x86_64/meta.yaml index 6c7be530..411bfdfd 100644 --- a/legacy_cdts/libxrender-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxrender-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrender-devel-cos7-aarch64/build.sh b/legacy_cdts/libxrender-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxrender-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxrender-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrender-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxrender-devel-cos7-aarch64/meta.yaml index b980ace7..901d0397 100644 --- a/legacy_cdts/libxrender-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxrender-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxrender-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxrender-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxrender-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxrender-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxrender-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxrender-devel-cos7-ppc64le/meta.yaml index 3a11a1a5..800a5ad9 100644 --- a/legacy_cdts/libxrender-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxrender-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxscrnsaver-cos6-x86_64/build.sh b/legacy_cdts/libxscrnsaver-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxscrnsaver-cos6-x86_64/build.sh +++ b/legacy_cdts/libxscrnsaver-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxscrnsaver-cos6-x86_64/meta.yaml b/legacy_cdts/libxscrnsaver-cos6-x86_64/meta.yaml index 0d6d46fc..0b86c2a5 100644 --- a/legacy_cdts/libxscrnsaver-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxscrnsaver-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxscrnsaver-cos7-aarch64/build.sh b/legacy_cdts/libxscrnsaver-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxscrnsaver-cos7-aarch64/build.sh +++ b/legacy_cdts/libxscrnsaver-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxscrnsaver-cos7-aarch64/meta.yaml b/legacy_cdts/libxscrnsaver-cos7-aarch64/meta.yaml index 7025c4af..99d9cd30 100644 --- a/legacy_cdts/libxscrnsaver-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxscrnsaver-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxscrnsaver-cos7-ppc64le/build.sh b/legacy_cdts/libxscrnsaver-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxscrnsaver-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxscrnsaver-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxscrnsaver-cos7-ppc64le/meta.yaml b/legacy_cdts/libxscrnsaver-cos7-ppc64le/meta.yaml index 1f4ec776..bb55fe5f 100644 --- a/legacy_cdts/libxscrnsaver-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxscrnsaver-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/build.sh b/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml index 022fc5b9..f6c549ae 100644 --- a/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxscrnsaver-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/build.sh b/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml index 0a54e3de..001759a0 100644 --- a/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxscrnsaver-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml index 46f64b2d..1b984f63 100644 --- a/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxscrnsaver-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxshmfence-cos6-x86_64/build.sh b/legacy_cdts/libxshmfence-cos6-x86_64/build.sh new file mode 100755 index 00000000..4ee7fe6a --- /dev/null +++ b/legacy_cdts/libxshmfence-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda_cos6-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxshmfence-cos6-x86_64/libxshmfence-license b/legacy_cdts/libxshmfence-cos6-x86_64/libxshmfence-license new file mode 100644 index 00000000..8dcf1d48 --- /dev/null +++ b/legacy_cdts/libxshmfence-cos6-x86_64/libxshmfence-license @@ -0,0 +1,19 @@ +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/legacy_cdts/libxshmfence-cos6-x86_64/meta.yaml b/legacy_cdts/libxshmfence-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..77d7c0c9 --- /dev/null +++ b/legacy_cdts/libxshmfence-cos6-x86_64/meta.yaml @@ -0,0 +1,41 @@ +package: + name: libxshmfence-cos6-x86_64 + version: 1.2 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/libxshmfence-1.2-1.el6.x86_64.rpm + sha256: 8149be38414087a25f003b86688801974fe3916b7b5c6d4a7f09e1a0fc09c6e2 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/libxshmfence-1.2-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org/ + license: MIT + license_family: MIT + license_file: libxshmfence-license + summary: (CDT) X11 shared memory fences + description: | + Shared memory fences for X11, as used in DRI3. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libxshmfence-cos7-aarch64/build.sh b/legacy_cdts/libxshmfence-cos7-aarch64/build.sh new file mode 100755 index 00000000..97499cee --- /dev/null +++ b/legacy_cdts/libxshmfence-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxshmfence-cos7-aarch64/libxshmfence-license b/legacy_cdts/libxshmfence-cos7-aarch64/libxshmfence-license new file mode 100644 index 00000000..8dcf1d48 --- /dev/null +++ b/legacy_cdts/libxshmfence-cos7-aarch64/libxshmfence-license @@ -0,0 +1,19 @@ +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/legacy_cdts/libxshmfence-cos7-aarch64/meta.yaml b/legacy_cdts/libxshmfence-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..c889bf56 --- /dev/null +++ b/legacy_cdts/libxshmfence-cos7-aarch64/meta.yaml @@ -0,0 +1,41 @@ +package: + name: libxshmfence-cos7-aarch64 + version: 1.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libxshmfence-1.2-1.el7.aarch64.rpm + sha256: 4b0b6292d05526a2d44bb3f5bb58607fc8dbb9024eb59f129ee3ed1181fff49e + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libxshmfence-1.2-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org/ + license: MIT + license_family: MIT + license_file: libxshmfence-license + summary: (CDT) X11 shared memory fences + description: | + Shared memory fences for X11, as used in DRI3. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libxshmfence-cos7-ppc64le/build.sh b/legacy_cdts/libxshmfence-cos7-ppc64le/build.sh new file mode 100755 index 00000000..0f6cb1aa --- /dev/null +++ b/legacy_cdts/libxshmfence-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxshmfence-cos7-ppc64le/libxshmfence-license b/legacy_cdts/libxshmfence-cos7-ppc64le/libxshmfence-license new file mode 100644 index 00000000..8dcf1d48 --- /dev/null +++ b/legacy_cdts/libxshmfence-cos7-ppc64le/libxshmfence-license @@ -0,0 +1,19 @@ +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/legacy_cdts/libxshmfence-cos7-ppc64le/meta.yaml b/legacy_cdts/libxshmfence-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..6cff84be --- /dev/null +++ b/legacy_cdts/libxshmfence-cos7-ppc64le/meta.yaml @@ -0,0 +1,41 @@ +package: + name: libxshmfence-cos7-ppc64le + version: 1.2 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libxshmfence-1.2-1.el7.ppc64le.rpm + sha256: afa3dd3d84014ac2e61c64b0bfcbcf87786557a8ee6fafb906ecc845cc6e1010 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libxshmfence-1.2-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org/ + license: MIT + license_family: MIT + license_file: libxshmfence-license + summary: (CDT) X11 shared memory fences + description: | + Shared memory fences for X11, as used in DRI3. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libxshmfence-devel-cos6-x86_64/build.sh b/legacy_cdts/libxshmfence-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxshmfence-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxshmfence-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxshmfence-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxshmfence-devel-cos6-x86_64/meta.yaml index d6ae0569..37a07be7 100644 --- a/legacy_cdts/libxshmfence-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxshmfence-devel-cos6-x86_64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxshmfence-cos6-x86_64 ==1.2 *_{{ cdt_build_number }} + host: + - libxshmfence-cos6-x86_64 ==1.2 *_{{ cdt_build_number }} + run: + - libxshmfence-cos6-x86_64 ==1.2 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org/ license: MIT diff --git a/legacy_cdts/libxshmfence-devel-cos7-aarch64/build.sh b/legacy_cdts/libxshmfence-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxshmfence-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxshmfence-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxshmfence-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxshmfence-devel-cos7-aarch64/meta.yaml index 73fc4258..b2d0a01a 100644 --- a/legacy_cdts/libxshmfence-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxshmfence-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxshmfence-cos7-aarch64 ==1.2 *_{{ cdt_build_number }} + host: + - libxshmfence-cos7-aarch64 ==1.2 *_{{ cdt_build_number }} + run: + - libxshmfence-cos7-aarch64 ==1.2 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org/ license: MIT diff --git a/legacy_cdts/libxshmfence-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxshmfence-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxshmfence-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxshmfence-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml index dc7bdb92..fb6a48ae 100644 --- a/legacy_cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxshmfence-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxshmfence-cos7-ppc64le ==1.2 *_{{ cdt_build_number }} + host: + - libxshmfence-cos7-ppc64le ==1.2 *_{{ cdt_build_number }} + run: + - libxshmfence-cos7-ppc64le ==1.2 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org/ license: MIT diff --git a/legacy_cdts/libxt-cos6-x86_64/build.sh b/legacy_cdts/libxt-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxt-cos6-x86_64/build.sh +++ b/legacy_cdts/libxt-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxt-cos6-x86_64/meta.yaml b/legacy_cdts/libxt-cos6-x86_64/meta.yaml index e7e6a743..59daa57c 100644 --- a/legacy_cdts/libxt-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxt-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxt-cos7-aarch64/build.sh b/legacy_cdts/libxt-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxt-cos7-aarch64/build.sh +++ b/legacy_cdts/libxt-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxt-cos7-aarch64/meta.yaml b/legacy_cdts/libxt-cos7-aarch64/meta.yaml index 03d1bc9e..5ca617b7 100644 --- a/legacy_cdts/libxt-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxt-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number }} + host: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number }} + run: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxt-cos7-ppc64le/build.sh b/legacy_cdts/libxt-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxt-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxt-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxt-cos7-ppc64le/meta.yaml b/legacy_cdts/libxt-cos7-ppc64le/meta.yaml index 363e1ff5..8f07ec12 100644 --- a/legacy_cdts/libxt-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxt-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number }} + host: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number }} + run: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxt-devel-cos6-x86_64/build.sh b/legacy_cdts/libxt-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxt-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxt-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxt-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxt-devel-cos6-x86_64/meta.yaml index 26280f18..876344f2 100644 --- a/legacy_cdts/libxt-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxt-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxt-devel-cos7-aarch64/build.sh b/legacy_cdts/libxt-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxt-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxt-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxt-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxt-devel-cos7-aarch64/meta.yaml index 7d8a8b05..c152da46 100644 --- a/legacy_cdts/libxt-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxt-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxt-cos7-aarch64 ==1.1.5 *_{{ cdt_build_number }} + host: + - libxt-cos7-aarch64 ==1.1.5 *_{{ cdt_build_number }} + run: + - libxt-cos7-aarch64 ==1.1.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxt-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxt-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxt-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxt-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxt-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxt-devel-cos7-ppc64le/meta.yaml index c43bb9c6..e0a57d7e 100644 --- a/legacy_cdts/libxt-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxt-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxt-cos7-ppc64le ==1.1.5 *_{{ cdt_build_number }} + host: + - libxt-cos7-ppc64le ==1.1.5 *_{{ cdt_build_number }} + run: + - libxt-cos7-ppc64le ==1.1.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxtst-cos6-x86_64/build.sh b/legacy_cdts/libxtst-cos6-x86_64/build.sh new file mode 100755 index 00000000..4ee7fe6a --- /dev/null +++ b/legacy_cdts/libxtst-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda_cos6-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxtst-cos6-x86_64/libxtst-license b/legacy_cdts/libxtst-cos6-x86_64/libxtst-license new file mode 100644 index 00000000..010b2709 --- /dev/null +++ b/legacy_cdts/libxtst-cos6-x86_64/libxtst-license @@ -0,0 +1,116 @@ +Copyright 1990, 1991 by UniSoft Group Limited +Copyright 1992, 1993, 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*************************************************************************** + +Copyright 1995 Network Computing Devices + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright © 1992 by UniSoft Group Ltd. + +Permission to use, copy, modify, and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +UniSoft makes no representations about the suitability for any purpose of +the information in this document. This documentation is provided "as is" +without express or implied warranty. + +*************************************************************************** + +Copyright © 1992, 1994, 1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +X Consortium. + +*************************************************************************** + +Copyright 1994 Network Computing Devices, Inc. + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. diff --git a/legacy_cdts/libxtst-cos6-x86_64/meta.yaml b/legacy_cdts/libxtst-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..5be454b0 --- /dev/null +++ b/legacy_cdts/libxtst-cos6-x86_64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libxtst-cos6-x86_64 + version: 1.2.3 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/libXtst-1.2.3-1.el6.x86_64.rpm + sha256: 6b4b8f77bac8c59617f67510690ca21d9b0ab245d81e9df1406fc827aac9ef1a + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/libXtst-1.2.3-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + build: + - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number }} + host: + - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number }} + run: + - libx11-cos6-x86_64 >=1.5.99.902 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libXtst-1.2.3/COPYING + summary: "(CDT) X.Org X11 libXtst runtime library" + description: | + X.Org X11 libXtst runtime library + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libxtst-cos7-aarch64/build.sh b/legacy_cdts/libxtst-cos7-aarch64/build.sh new file mode 100755 index 00000000..97499cee --- /dev/null +++ b/legacy_cdts/libxtst-cos7-aarch64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/aarch64-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxtst-cos7-aarch64/libxtst-license b/legacy_cdts/libxtst-cos7-aarch64/libxtst-license new file mode 100644 index 00000000..010b2709 --- /dev/null +++ b/legacy_cdts/libxtst-cos7-aarch64/libxtst-license @@ -0,0 +1,116 @@ +Copyright 1990, 1991 by UniSoft Group Limited +Copyright 1992, 1993, 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*************************************************************************** + +Copyright 1995 Network Computing Devices + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright © 1992 by UniSoft Group Ltd. + +Permission to use, copy, modify, and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +UniSoft makes no representations about the suitability for any purpose of +the information in this document. This documentation is provided "as is" +without express or implied warranty. + +*************************************************************************** + +Copyright © 1992, 1994, 1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +X Consortium. + +*************************************************************************** + +Copyright 1994 Network Computing Devices, Inc. + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. diff --git a/legacy_cdts/libxtst-cos7-aarch64/meta.yaml b/legacy_cdts/libxtst-cos7-aarch64/meta.yaml new file mode 100644 index 00000000..e3c3a268 --- /dev/null +++ b/legacy_cdts/libxtst-cos7-aarch64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libxtst-cos7-aarch64 + version: 1.2.3 + +source: + - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/libXtst-1.2.3-1.el7.aarch64.rpm + sha256: f40854c398ab8243ab3f21ec55507d4b8e03093203022c93bcc27260c14022cc + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libXtst-1.2.3-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + build: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number }} + host: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number }} + run: + - libx11-cos7-aarch64 >=1.5.99.902 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-aarch64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libXtst-1.2.3/COPYING + summary: "(CDT) X.Org X11 libXtst runtime library" + description: | + X.Org X11 libXtst runtime library + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libxtst-cos7-ppc64le/build.sh b/legacy_cdts/libxtst-cos7-ppc64le/build.sh new file mode 100755 index 00000000..0f6cb1aa --- /dev/null +++ b/legacy_cdts/libxtst-cos7-ppc64le/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/powerpc64le-conda_cos7-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxtst-cos7-ppc64le/libxtst-license b/legacy_cdts/libxtst-cos7-ppc64le/libxtst-license new file mode 100644 index 00000000..010b2709 --- /dev/null +++ b/legacy_cdts/libxtst-cos7-ppc64le/libxtst-license @@ -0,0 +1,116 @@ +Copyright 1990, 1991 by UniSoft Group Limited +Copyright 1992, 1993, 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*************************************************************************** + +Copyright 1995 Network Computing Devices + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Red Hat makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +*************************************************************************** + +Copyright © 1992 by UniSoft Group Ltd. + +Permission to use, copy, modify, and distribute this documentation for +any purpose and without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +UniSoft makes no representations about the suitability for any purpose of +the information in this document. This documentation is provided "as is" +without express or implied warranty. + +*************************************************************************** + +Copyright © 1992, 1994, 1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +X Consortium. + +*************************************************************************** + +Copyright 1994 Network Computing Devices, Inc. + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. diff --git a/legacy_cdts/libxtst-cos7-ppc64le/meta.yaml b/legacy_cdts/libxtst-cos7-ppc64le/meta.yaml new file mode 100644 index 00000000..fd09ef8a --- /dev/null +++ b/legacy_cdts/libxtst-cos7-ppc64le/meta.yaml @@ -0,0 +1,47 @@ +package: + name: libxtst-cos7-ppc64le + version: 1.2.3 + +source: + - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/libXtst-1.2.3-1.el7.ppc64le.rpm + sha256: cd4efbe84315bd572fd111fc96b24519639d28abc114e3c32b4f214c43591586 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/libXtst-1.2.3-1.el7.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False + missing_dso_whitelist: + - '*' + +requirements: + build: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number }} + host: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number }} + run: + - libx11-cos7-ppc64le >=1.5.99.902 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-ppc64le ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.x.org + license: MIT + license_family: MIT + license_file: {{ SRC_DIR }}/binary/usr/share/doc/libXtst-1.2.3/COPYING + summary: "(CDT) X.Org X11 libXtst runtime library" + description: | + X.Org X11 libXtst runtime library + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/libxtst-devel-cos6-x86_64/build.sh b/legacy_cdts/libxtst-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxtst-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxtst-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxtst-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxtst-devel-cos6-x86_64/meta.yaml index 861c1bb4..fc8642e4 100644 --- a/legacy_cdts/libxtst-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxtst-devel-cos6-x86_64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxtst-cos6-x86_64 ==1.2.3 *_{{ cdt_build_number }} + host: + - libxtst-cos6-x86_64 ==1.2.3 *_{{ cdt_build_number }} + run: + - libxtst-cos6-x86_64 ==1.2.3 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxtst-devel-cos7-aarch64/build.sh b/legacy_cdts/libxtst-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxtst-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxtst-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxtst-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxtst-devel-cos7-aarch64/meta.yaml index a785d49a..fa8f9109 100644 --- a/legacy_cdts/libxtst-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxtst-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxtst-cos7-aarch64 ==1.2.3 *_{{ cdt_build_number }} + host: + - libxtst-cos7-aarch64 ==1.2.3 *_{{ cdt_build_number }} + run: + - libxtst-cos7-aarch64 ==1.2.3 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxtst-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxtst-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxtst-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxtst-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxtst-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxtst-devel-cos7-ppc64le/meta.yaml index 6fd69386..3f33f958 100644 --- a/legacy_cdts/libxtst-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxtst-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,25 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - libxtst-cos7-ppc64le ==1.2.3 *_{{ cdt_build_number }} + host: + - libxtst-cos7-ppc64le ==1.2.3 *_{{ cdt_build_number }} + run: + - libxtst-cos7-ppc64le ==1.2.3 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxxf86vm-cos6-x86_64/build.sh b/legacy_cdts/libxxf86vm-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxxf86vm-cos6-x86_64/build.sh +++ b/legacy_cdts/libxxf86vm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxxf86vm-cos6-x86_64/meta.yaml b/legacy_cdts/libxxf86vm-cos6-x86_64/meta.yaml index 10dd98a2..e6411327 100644 --- a/legacy_cdts/libxxf86vm-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxxf86vm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxxf86vm-cos7-aarch64/build.sh b/legacy_cdts/libxxf86vm-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxxf86vm-cos7-aarch64/build.sh +++ b/legacy_cdts/libxxf86vm-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxxf86vm-cos7-aarch64/meta.yaml b/legacy_cdts/libxxf86vm-cos7-aarch64/meta.yaml index ea636d67..f3d7cc32 100644 --- a/legacy_cdts/libxxf86vm-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxxf86vm-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxxf86vm-cos7-ppc64le/build.sh b/legacy_cdts/libxxf86vm-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxxf86vm-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxxf86vm-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxxf86vm-cos7-ppc64le/meta.yaml b/legacy_cdts/libxxf86vm-cos7-ppc64le/meta.yaml index c031a728..5837f16c 100644 --- a/legacy_cdts/libxxf86vm-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxxf86vm-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxxf86vm-devel-cos6-x86_64/build.sh b/legacy_cdts/libxxf86vm-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/libxxf86vm-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/libxxf86vm-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml b/legacy_cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml index 01e4d829..b5ccdca2 100644 --- a/legacy_cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/libxxf86vm-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxxf86vm-devel-cos7-aarch64/build.sh b/legacy_cdts/libxxf86vm-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/libxxf86vm-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/libxxf86vm-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml b/legacy_cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml index 9116d4bf..e31ac7f1 100644 --- a/legacy_cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/libxxf86vm-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/build.sh b/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml index 606ee43d..60f691a1 100644 --- a/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/libxxf86vm-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/mesa-dri-drivers-cos6-x86_64/build.sh b/legacy_cdts/mesa-dri-drivers-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/mesa-dri-drivers-cos6-x86_64/build.sh +++ b/legacy_cdts/mesa-dri-drivers-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml b/legacy_cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml index e5a76285..212fe844 100644 --- a/legacy_cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml +++ b/legacy_cdts/mesa-dri-drivers-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-dri-drivers-cos7-aarch64/build.sh b/legacy_cdts/mesa-dri-drivers-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/mesa-dri-drivers-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-dri-drivers-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml index 5d920143..669c6516 100644 --- a/legacy_cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-dri-drivers-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/build.sh b/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml index 8f73b122..c51510cd 100644 --- a/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-dri-drivers-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/build.sh b/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/build.sh +++ b/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml b/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml index e16f4ee2..4b49c046 100644 --- a/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml +++ b/legacy_cdts/mesa-dri1-drivers-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-khr-devel-cos7-aarch64/build.sh b/legacy_cdts/mesa-khr-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/mesa-khr-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-khr-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-khr-devel-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-khr-devel-cos7-aarch64/meta.yaml index eb6bdb61..17bbcd16 100644 --- a/legacy_cdts/mesa-khr-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-khr-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-khr-devel-cos7-ppc64le/build.sh b/legacy_cdts/mesa-khr-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/mesa-khr-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-khr-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml index 048471a0..1466d0d8 100644 --- a/legacy_cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-khr-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libegl-cos6-x86_64/build.sh b/legacy_cdts/mesa-libegl-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/mesa-libegl-cos6-x86_64/build.sh +++ b/legacy_cdts/mesa-libegl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libegl-cos6-x86_64/meta.yaml b/legacy_cdts/mesa-libegl-cos6-x86_64/meta.yaml index ff0a95f1..76ef786b 100644 --- a/legacy_cdts/mesa-libegl-cos6-x86_64/meta.yaml +++ b/legacy_cdts/mesa-libegl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libegl-cos7-aarch64/build.sh b/legacy_cdts/mesa-libegl-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/mesa-libegl-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-libegl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libegl-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-libegl-cos7-aarch64/meta.yaml index 5f3382db..02c2b5d0 100644 --- a/legacy_cdts/mesa-libegl-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-libegl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libegl-cos7-ppc64le/build.sh b/legacy_cdts/mesa-libegl-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/mesa-libegl-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-libegl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libegl-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-libegl-cos7-ppc64le/meta.yaml index a8863617..2f3df959 100644 --- a/legacy_cdts/mesa-libegl-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-libegl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libegl-devel-cos6-x86_64/build.sh b/legacy_cdts/mesa-libegl-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/mesa-libegl-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/mesa-libegl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml b/legacy_cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml index 28c14d34..12d90c20 100644 --- a/legacy_cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/mesa-libegl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libegl-devel-cos7-aarch64/build.sh b/legacy_cdts/mesa-libegl-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/mesa-libegl-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-libegl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml index bc2eb67a..2e156b49 100644 --- a/legacy_cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-libegl-devel-cos7-aarch64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} - mesa-libegl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} host: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} - mesa-libegl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} run: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} - mesa-libegl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/build.sh b/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml index 450c3bfa..0b97322f 100644 --- a/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-libegl-devel-cos7-ppc64le/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} - mesa-libegl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} host: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} - mesa-libegl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} run: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} - mesa-libegl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgbm-cos6-x86_64/build.sh b/legacy_cdts/mesa-libgbm-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/mesa-libgbm-cos6-x86_64/build.sh +++ b/legacy_cdts/mesa-libgbm-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgbm-cos6-x86_64/meta.yaml b/legacy_cdts/mesa-libgbm-cos6-x86_64/meta.yaml index 3b5ab887..ee5680e2 100644 --- a/legacy_cdts/mesa-libgbm-cos6-x86_64/meta.yaml +++ b/legacy_cdts/mesa-libgbm-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgbm-cos7-aarch64/build.sh b/legacy_cdts/mesa-libgbm-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/mesa-libgbm-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-libgbm-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgbm-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-libgbm-cos7-aarch64/meta.yaml index b5241829..fb2400b2 100644 --- a/legacy_cdts/mesa-libgbm-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-libgbm-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgbm-cos7-ppc64le/build.sh b/legacy_cdts/mesa-libgbm-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/mesa-libgbm-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-libgbm-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgbm-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-libgbm-cos7-ppc64le/meta.yaml index 75acb711..2ba0a991 100644 --- a/legacy_cdts/mesa-libgbm-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-libgbm-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgl-cos6-x86_64/build.sh b/legacy_cdts/mesa-libgl-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/mesa-libgl-cos6-x86_64/build.sh +++ b/legacy_cdts/mesa-libgl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgl-cos6-x86_64/meta.yaml b/legacy_cdts/mesa-libgl-cos6-x86_64/meta.yaml index 6ba8fa95..3a08072d 100644 --- a/legacy_cdts/mesa-libgl-cos6-x86_64/meta.yaml +++ b/legacy_cdts/mesa-libgl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,15 +23,22 @@ requirements: build: - libx11-cos6-x86_64 >1.6 *_{{ cdt_build_number }} - libdrm-cos6-x86_64 >=2.4.24 *_{{ cdt_build_number }} + - mesa-dri-drivers-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number }} host: - libx11-cos6-x86_64 >1.6 *_{{ cdt_build_number }} - libdrm-cos6-x86_64 >=2.4.24 *_{{ cdt_build_number }} + - mesa-dri-drivers-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number }} run: - libx11-cos6-x86_64 >1.6 *_{{ cdt_build_number }} - libdrm-cos6-x86_64 >=2.4.24 *_{{ cdt_build_number }} + - mesa-dri-drivers-cos6-x86_64 ==11.0.7 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgl-cos7-aarch64/build.sh b/legacy_cdts/mesa-libgl-cos7-aarch64/build.sh index fc7f9cda..b49be1a9 100755 --- a/legacy_cdts/mesa-libgl-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-libgl-cos7-aarch64/build.sh @@ -17,10 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib64 +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 rm libGLX_system.so.0 ln -s libGLX_mesa.so.0 libGLX_system.so.0 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgl-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-libgl-cos7-aarch64/meta.yaml index ca2a286e..37240a19 100644 --- a/legacy_cdts/mesa-libgl-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-libgl-cos7-aarch64/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - libdrm-cos7-aarch64 >=2.4.83 *_{{ cdt_build_number }} + - libglvnd-glx-cos7-aarch64 >=1.0.1 *_{{ cdt_build_number }} - mesa-libglapi-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} host: - libdrm-cos7-aarch64 >=2.4.83 *_{{ cdt_build_number }} + - libglvnd-glx-cos7-aarch64 >=1.0.1 *_{{ cdt_build_number }} - mesa-libglapi-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} run: - libdrm-cos7-aarch64 >=2.4.83 *_{{ cdt_build_number }} + - libglvnd-glx-cos7-aarch64 >=1.0.1 *_{{ cdt_build_number }} - mesa-libglapi-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgl-cos7-ppc64le/build.sh b/legacy_cdts/mesa-libgl-cos7-ppc64le/build.sh index fdd27385..6c78bc11 100755 --- a/legacy_cdts/mesa-libgl-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-libgl-cos7-ppc64le/build.sh @@ -17,10 +17,51 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/lib64 +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/lib64 > /dev/null 2>&1 rm libGLX_system.so.0 ln -s libGLX_mesa.so.0 libGLX_system.so.0 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgl-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-libgl-cos7-ppc64le/meta.yaml index 9958357f..9f9c7fad 100644 --- a/legacy_cdts/mesa-libgl-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-libgl-cos7-ppc64le/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - libdrm-cos7-ppc64le >=2.4.83 *_{{ cdt_build_number }} + - libglvnd-glx-cos7-ppc64le >=1.0.1 *_{{ cdt_build_number }} - mesa-libglapi-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} host: - libdrm-cos7-ppc64le >=2.4.83 *_{{ cdt_build_number }} + - libglvnd-glx-cos7-ppc64le >=1.0.1 *_{{ cdt_build_number }} - mesa-libglapi-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} run: - libdrm-cos7-ppc64le >=2.4.83 *_{{ cdt_build_number }} + - libglvnd-glx-cos7-ppc64le >=1.0.1 *_{{ cdt_build_number }} - mesa-libglapi-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgl-devel-cos6-x86_64/build.sh b/legacy_cdts/mesa-libgl-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/mesa-libgl-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/mesa-libgl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml b/legacy_cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml index 650459de..7b87295c 100644 --- a/legacy_cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/mesa-libgl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgl-devel-cos7-aarch64/build.sh b/legacy_cdts/mesa-libgl-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/mesa-libgl-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-libgl-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml index c0d71a61..d8a2121b 100644 --- a/legacy_cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-libgl-devel-cos7-aarch64/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} - mesa-libgl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} host: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} - mesa-libgl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} run: + - mesa-khr-devel-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} - mesa-libgl-cos7-aarch64 ==18.3.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/build.sh b/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml index 429dfebe..c081a6dd 100644 --- a/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-libgl-devel-cos7-ppc64le/meta.yaml @@ -14,19 +14,28 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} - mesa-libgl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} host: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} - mesa-libgl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} run: + - mesa-khr-devel-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} - mesa-libgl-cos7-ppc64le ==18.3.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libglapi-cos7-aarch64/build.sh b/legacy_cdts/mesa-libglapi-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/mesa-libglapi-cos7-aarch64/build.sh +++ b/legacy_cdts/mesa-libglapi-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libglapi-cos7-aarch64/meta.yaml b/legacy_cdts/mesa-libglapi-cos7-aarch64/meta.yaml index 3f0100b1..aa23d636 100644 --- a/legacy_cdts/mesa-libglapi-cos7-aarch64/meta.yaml +++ b/legacy_cdts/mesa-libglapi-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/mesa-libglapi-cos7-ppc64le/build.sh b/legacy_cdts/mesa-libglapi-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/mesa-libglapi-cos7-ppc64le/build.sh +++ b/legacy_cdts/mesa-libglapi-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/mesa-libglapi-cos7-ppc64le/meta.yaml b/legacy_cdts/mesa-libglapi-cos7-ppc64le/meta.yaml index 1e7dfe88..090ecbec 100644 --- a/legacy_cdts/mesa-libglapi-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/mesa-libglapi-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mesa3d.org license: MIT diff --git a/legacy_cdts/nspr-cos6-x86_64/build.sh b/legacy_cdts/nspr-cos6-x86_64/build.sh new file mode 100755 index 00000000..4ee7fe6a --- /dev/null +++ b/legacy_cdts/nspr-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda_cos6-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nspr-cos6-x86_64/meta.yaml b/legacy_cdts/nspr-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..a3ed5154 --- /dev/null +++ b/legacy_cdts/nspr-cos6-x86_64/meta.yaml @@ -0,0 +1,44 @@ +package: + name: nspr-cos6-x86_64 + version: 4.19.0 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nspr-4.19.0-1.el6.x86_64.rpm + sha256: f7dc13dea884b7d3bd374059629be73e9e74e6a5939e0fd5dd4285a1e889d031 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nspr-4.19.0-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/nspr/ + license: MPL-2.0 + license_family: Other + license_file: nspr-license + summary: (CDT) Netscape Portable Runtime + description: | + NSPR provides platform independence for non-GUI operating system facilities. + These facilities include threads, thread synchronization, normal file and + network I/O, interval timing and calendar time, basic memory management + (malloc and free) and shared library linking. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/nspr-cos6-x86_64/nspr-license b/legacy_cdts/nspr-cos6-x86_64/nspr-license new file mode 100644 index 00000000..a612ad98 --- /dev/null +++ b/legacy_cdts/nspr-cos6-x86_64/nspr-license @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/legacy_cdts/nspr-cos7-aarch64/build.sh b/legacy_cdts/nspr-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/nspr-cos7-aarch64/build.sh +++ b/legacy_cdts/nspr-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nspr-cos7-aarch64/meta.yaml b/legacy_cdts/nspr-cos7-aarch64/meta.yaml index 1f2513dd..73507f26 100644 --- a/legacy_cdts/nspr-cos7-aarch64/meta.yaml +++ b/legacy_cdts/nspr-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/nspr/ license: MPL-2.0 diff --git a/legacy_cdts/nspr-cos7-ppc64le/build.sh b/legacy_cdts/nspr-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/nspr-cos7-ppc64le/build.sh +++ b/legacy_cdts/nspr-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nspr-cos7-ppc64le/meta.yaml b/legacy_cdts/nspr-cos7-ppc64le/meta.yaml index 1c93327b..020d35d9 100644 --- a/legacy_cdts/nspr-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/nspr-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/nspr/ license: MPL-2.0 diff --git a/legacy_cdts/nss-cos6-x86_64/build.sh b/legacy_cdts/nss-cos6-x86_64/build.sh new file mode 100755 index 00000000..4ee7fe6a --- /dev/null +++ b/legacy_cdts/nss-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda_cos6-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-cos6-x86_64/meta.yaml b/legacy_cdts/nss-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..afc62758 --- /dev/null +++ b/legacy_cdts/nss-cos6-x86_64/meta.yaml @@ -0,0 +1,57 @@ +package: + name: nss-cos6-x86_64 + version: 3.36.0 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-3.36.0-8.el6.x86_64.rpm + sha256: 7e2ada2dbb795a56a2961d0ea681d47f481c42faf3cd0886d991bf07f8d3c39a + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-3.36.0-8.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} + - nss-util-cos6-x86_64 >=3.36.0 *_{{ cdt_build_number }} + host: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} + - nss-util-cos6-x86_64 >=3.36.0 *_{{ cdt_build_number }} + run: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number }} + - nss-softokn-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} + - nss-util-cos6-x86_64 >=3.36.0 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services + description: | + Network Security Services (NSS) is a set of libraries designed to support + cross-platform development of security-enabled client and server applications. + Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, + PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security + standards. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/nss-cos6-x86_64/nss-license b/legacy_cdts/nss-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/legacy_cdts/nss-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/legacy_cdts/nss-cos7-aarch64/build.sh b/legacy_cdts/nss-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/nss-cos7-aarch64/build.sh +++ b/legacy_cdts/nss-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-cos7-aarch64/meta.yaml b/legacy_cdts/nss-cos7-aarch64/meta.yaml index 09aeff5e..ca7f9f8c 100644 --- a/legacy_cdts/nss-cos7-aarch64/meta.yaml +++ b/legacy_cdts/nss-cos7-aarch64/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} host: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} run: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/nss-cos7-ppc64le/build.sh b/legacy_cdts/nss-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/nss-cos7-ppc64le/build.sh +++ b/legacy_cdts/nss-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-cos7-ppc64le/meta.yaml b/legacy_cdts/nss-cos7-ppc64le/meta.yaml index e43d0156..e86061c8 100644 --- a/legacy_cdts/nss-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/nss-cos7-ppc64le/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} host: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} run: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/nss-softokn-cos6-x86_64/build.sh b/legacy_cdts/nss-softokn-cos6-x86_64/build.sh new file mode 100755 index 00000000..4ee7fe6a --- /dev/null +++ b/legacy_cdts/nss-softokn-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda_cos6-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-softokn-cos6-x86_64/meta.yaml b/legacy_cdts/nss-softokn-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..2c4ef764 --- /dev/null +++ b/legacy_cdts/nss-softokn-cos6-x86_64/meta.yaml @@ -0,0 +1,53 @@ +package: + name: nss-softokn-cos6-x86_64 + version: 3.14.3 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-softokn-3.14.3-23.3.el6_8.x86_64.rpm + sha256: 7e4298904daec41067f01c8943055560cd153d1f39c668c6d2fa978a3d66dd81 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-softokn-3.14.3-23.3.el6_8.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos6-x86_64 >=4.10.6 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} + - nss-util-cos6-x86_64 >=3.15.1 *_{{ cdt_build_number }} + host: + - nspr-cos6-x86_64 >=4.10.6 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} + - nss-util-cos6-x86_64 >=3.15.1 *_{{ cdt_build_number }} + run: + - nspr-cos6-x86_64 >=4.10.6 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos6-x86_64 >=3.14.3 *_{{ cdt_build_number }} + - nss-util-cos6-x86_64 >=3.15.1 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services Softoken Module + description: | + Network Security Services Softoken Cryptographic Module + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/nss-softokn-cos6-x86_64/nss-license b/legacy_cdts/nss-softokn-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/legacy_cdts/nss-softokn-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/legacy_cdts/nss-softokn-cos7-aarch64/build.sh b/legacy_cdts/nss-softokn-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/nss-softokn-cos7-aarch64/build.sh +++ b/legacy_cdts/nss-softokn-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-softokn-cos7-aarch64/meta.yaml b/legacy_cdts/nss-softokn-cos7-aarch64/meta.yaml index 155154d5..effb6784 100644 --- a/legacy_cdts/nss-softokn-cos7-aarch64/meta.yaml +++ b/legacy_cdts/nss-softokn-cos7-aarch64/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} host: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} run: - nspr-cos7-aarch64 >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-aarch64 >=3.44.0 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/nss-softokn-cos7-ppc64le/build.sh b/legacy_cdts/nss-softokn-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/nss-softokn-cos7-ppc64le/build.sh +++ b/legacy_cdts/nss-softokn-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-softokn-cos7-ppc64le/meta.yaml b/legacy_cdts/nss-softokn-cos7-ppc64le/meta.yaml index b82b8892..c6192ff4 100644 --- a/legacy_cdts/nss-softokn-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/nss-softokn-cos7-ppc64le/meta.yaml @@ -14,22 +14,31 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: build: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} host: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} run: - nspr-cos7-ppc64le >=4.21.0 *_{{ cdt_build_number }} + - nss-softokn-freebl-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} - nss-util-cos7-ppc64le >=3.44.0 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/nss-softokn-freebl-cos6-x86_64/build.sh b/legacy_cdts/nss-softokn-freebl-cos6-x86_64/build.sh new file mode 100755 index 00000000..4ee7fe6a --- /dev/null +++ b/legacy_cdts/nss-softokn-freebl-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda_cos6-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml b/legacy_cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..954df0a7 --- /dev/null +++ b/legacy_cdts/nss-softokn-freebl-cos6-x86_64/meta.yaml @@ -0,0 +1,42 @@ +package: + name: nss-softokn-freebl-cos6-x86_64 + version: 3.14.3 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64.rpm + sha256: bccc1e55c5cf90d7ee5ef2d25253fc8dd2c3854121a65711f5f5618b097ffb70 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-softokn-3.14.3-23.3.el6_8.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + run_constrained: + - sysroot_linux-64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Freebl library for the Network Security Services + description: | + NSS Softoken Cryptographic Module Freelb Library Install the nss-softokn- + freebl package if you need the freebl library. + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/nss-softokn-freebl-cos6-x86_64/nss-license b/legacy_cdts/nss-softokn-freebl-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/legacy_cdts/nss-softokn-freebl-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/legacy_cdts/nss-softokn-freebl-cos7-aarch64/build.sh b/legacy_cdts/nss-softokn-freebl-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/nss-softokn-freebl-cos7-aarch64/build.sh +++ b/legacy_cdts/nss-softokn-freebl-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml b/legacy_cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml index aa77dfdb..18e5ebd2 100644 --- a/legacy_cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml +++ b/legacy_cdts/nss-softokn-freebl-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/build.sh b/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/build.sh +++ b/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml b/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml index 3ea2b133..f7a31c7f 100644 --- a/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/nss-softokn-freebl-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -30,6 +32,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/nss-util-cos6-x86_64/build.sh b/legacy_cdts/nss-util-cos6-x86_64/build.sh new file mode 100755 index 00000000..4ee7fe6a --- /dev/null +++ b/legacy_cdts/nss-util-cos6-x86_64/build.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -o errexit -o pipefail + +SYSROOT_DIR="${PREFIX}"/x86_64-conda_cos6-linux-gnu/sysroot + +mkdir -p "${SYSROOT_DIR}" +if [[ -d usr/lib ]]; then + if [[ ! -d lib ]]; then + ln -s usr/lib lib + fi +fi +if [[ -d usr/lib64 ]]; then + if [[ ! -d lib64 ]]; then + ln -s usr/lib64 lib64 + fi +fi +pushd ${SRC_DIR}/binary > /dev/null 2>&1 +rsync -K -a . "${SYSROOT_DIR}" +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-util-cos6-x86_64/meta.yaml b/legacy_cdts/nss-util-cos6-x86_64/meta.yaml new file mode 100644 index 00000000..f70585b6 --- /dev/null +++ b/legacy_cdts/nss-util-cos6-x86_64/meta.yaml @@ -0,0 +1,47 @@ +package: + name: nss-util-cos6-x86_64 + version: 3.36.0 + +source: + - url: http://mirror.centos.org/centos/6.10/os/x86_64/Packages/nss-util-3.36.0-1.el6.x86_64.rpm + sha256: 928a4ae279634a99963b4525a665c882431a50b9c5f28548572e8f00254f2d88 + no_hoist: true + folder: binary + # - url: http://vault.centos.org/6.10/os/Source/SPackages/nss-util-3.36.0-1.el6.src.rpm + # no_hoist: true + # folder: source + +build: + number: {{ cdt_build_number }} + noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*' + +requirements: + build: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number }} + host: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number }} + run: + - nspr-cos6-x86_64 >=4.19.0 *_{{ cdt_build_number }} + run_constrained: + - sysroot_linux-64 ==99999999999 + +test: + commands: + - echo "it installs!" + +about: + home: http://www.mozilla.org/projects/security/pki/nss/ + license: MPL-2.0 + license_family: Other + license_file: nss-license + summary: (CDT) Network Security Services Utilities Library + description: | + Utilities for Network Security Services and the Softoken module + +extra: + recipe-maintainers: + - conda-forge/help-cdts diff --git a/legacy_cdts/nss-util-cos6-x86_64/nss-license b/legacy_cdts/nss-util-cos6-x86_64/nss-license new file mode 100644 index 00000000..a1aa89a3 --- /dev/null +++ b/legacy_cdts/nss-util-cos6-x86_64/nss-license @@ -0,0 +1,403 @@ +NSS is available under the Mozilla Public License, version 2, a copy of which +is below. + +Note on GPL Compatibility +------------------------- + +The MPL 2, section 3.3, permits you to combine NSS with code under the GNU +General Public License (GPL) version 2, or any later version of that +license, to make a Larger Work, and distribute the result under the GPL. +The only condition is that you must also make NSS, and any changes you +have made to it, available to recipients under the terms of the MPL 2 also. + +Anyone who receives the combined code from you does not have to continue +to dual licence in this way, and may, if they wish, distribute under the +terms of either of the two licences - either the MPL alone or the GPL +alone. However, we discourage people from distributing copies of NSS under +the GPL alone, because it means that any improvements they make cannot be +reincorporated into the main version of NSS. There is never a need to do +this for license compatibility reasons. + +Note on LGPL Compatibility +-------------------------- + +The above also applies to combining MPLed code in a single library with +code under the GNU Lesser General Public License (LGPL) version 2.1, or +any later version of that license. If the LGPLed code and the MPLed code +are not in the same library, then the copyleft coverage of the two +licences does not overlap, so no issues arise. + + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/legacy_cdts/nss-util-cos7-aarch64/build.sh b/legacy_cdts/nss-util-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/nss-util-cos7-aarch64/build.sh +++ b/legacy_cdts/nss-util-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-util-cos7-aarch64/meta.yaml b/legacy_cdts/nss-util-cos7-aarch64/meta.yaml index cb170844..a891af6e 100644 --- a/legacy_cdts/nss-util-cos7-aarch64/meta.yaml +++ b/legacy_cdts/nss-util-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/nss-util-cos7-ppc64le/build.sh b/legacy_cdts/nss-util-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/nss-util-cos7-ppc64le/build.sh +++ b/legacy_cdts/nss-util-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/nss-util-cos7-ppc64le/meta.yaml b/legacy_cdts/nss-util-cos7-ppc64le/meta.yaml index 2e599ea1..9a6867c7 100644 --- a/legacy_cdts/nss-util-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/nss-util-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.mozilla.org/projects/security/pki/nss/ license: MPL-2.0 diff --git a/legacy_cdts/numactl-cos6-x86_64/build.sh b/legacy_cdts/numactl-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/numactl-cos6-x86_64/build.sh +++ b/legacy_cdts/numactl-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/numactl-cos6-x86_64/meta.yaml b/legacy_cdts/numactl-cos6-x86_64/meta.yaml index e9d7f71c..03196710 100644 --- a/legacy_cdts/numactl-cos6-x86_64/meta.yaml +++ b/legacy_cdts/numactl-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: ftp://oss.sgi.com/www/projects/libnuma/download license: LGPLv2/GPLv2 diff --git a/legacy_cdts/numactl-devel-cos6-x86_64/build.sh b/legacy_cdts/numactl-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/numactl-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/numactl-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/numactl-devel-cos6-x86_64/meta.yaml b/legacy_cdts/numactl-devel-cos6-x86_64/meta.yaml index 36a74484..0c83b97b 100644 --- a/legacy_cdts/numactl-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/numactl-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: ftp://oss.sgi.com/www/projects/libnuma/download license: LGPLv2/GPLv2 diff --git a/legacy_cdts/orbit2-cos6-x86_64/build.sh b/legacy_cdts/orbit2-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/orbit2-cos6-x86_64/build.sh +++ b/legacy_cdts/orbit2-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/orbit2-cos6-x86_64/meta.yaml b/legacy_cdts/orbit2-cos6-x86_64/meta.yaml index e8c48cb9..741112be 100644 --- a/legacy_cdts/orbit2-cos6-x86_64/meta.yaml +++ b/legacy_cdts/orbit2-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/legacy_cdts/orbit2-cos7-aarch64/build.sh b/legacy_cdts/orbit2-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/orbit2-cos7-aarch64/build.sh +++ b/legacy_cdts/orbit2-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/orbit2-cos7-aarch64/meta.yaml b/legacy_cdts/orbit2-cos7-aarch64/meta.yaml index e2a495d9..3029430a 100644 --- a/legacy_cdts/orbit2-cos7-aarch64/meta.yaml +++ b/legacy_cdts/orbit2-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/legacy_cdts/orbit2-cos7-ppc64le/build.sh b/legacy_cdts/orbit2-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/orbit2-cos7-ppc64le/build.sh +++ b/legacy_cdts/orbit2-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/orbit2-cos7-ppc64le/meta.yaml b/legacy_cdts/orbit2-cos7-ppc64le/meta.yaml index e9ffcee4..abae0540 100644 --- a/legacy_cdts/orbit2-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/orbit2-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/legacy_cdts/orbit2-devel-cos6-x86_64/build.sh b/legacy_cdts/orbit2-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/orbit2-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/orbit2-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/orbit2-devel-cos6-x86_64/meta.yaml b/legacy_cdts/orbit2-devel-cos6-x86_64/meta.yaml index cc6f3c9a..f6a1e70a 100644 --- a/legacy_cdts/orbit2-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/orbit2-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/legacy_cdts/orbit2-devel-cos7-aarch64/build.sh b/legacy_cdts/orbit2-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/orbit2-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/orbit2-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/orbit2-devel-cos7-aarch64/meta.yaml b/legacy_cdts/orbit2-devel-cos7-aarch64/meta.yaml index 9389c88a..e3c6cebd 100644 --- a/legacy_cdts/orbit2-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/orbit2-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/legacy_cdts/orbit2-devel-cos7-ppc64le/build.sh b/legacy_cdts/orbit2-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/orbit2-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/orbit2-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/orbit2-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/orbit2-devel-cos7-ppc64le/meta.yaml index b8200a55..12784ed8 100644 --- a/legacy_cdts/orbit2-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/orbit2-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -33,6 +35,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.gnome.org/projects/ORBit2 license: LGPLv2+ and GPLv2+ diff --git a/legacy_cdts/p11-kit-cos6-x86_64/build.sh b/legacy_cdts/p11-kit-cos6-x86_64/build.sh index 3fc72f6d..4ee7fe6a 100755 --- a/legacy_cdts/p11-kit-cos6-x86_64/build.sh +++ b/legacy_cdts/p11-kit-cos6-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/p11-kit-cos6-x86_64/meta.yaml b/legacy_cdts/p11-kit-cos6-x86_64/meta.yaml index 30eee212..d7dcde24 100644 --- a/legacy_cdts/p11-kit-cos6-x86_64/meta.yaml +++ b/legacy_cdts/p11-kit-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/p11-kit-cos7-aarch64/build.sh b/legacy_cdts/p11-kit-cos7-aarch64/build.sh index 232b4b2b..97499cee 100755 --- a/legacy_cdts/p11-kit-cos7-aarch64/build.sh +++ b/legacy_cdts/p11-kit-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/p11-kit-cos7-aarch64/meta.yaml b/legacy_cdts/p11-kit-cos7-aarch64/meta.yaml index 4d8aa3e7..75cf5e43 100644 --- a/legacy_cdts/p11-kit-cos7-aarch64/meta.yaml +++ b/legacy_cdts/p11-kit-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/p11-kit-cos7-ppc64le/build.sh b/legacy_cdts/p11-kit-cos7-ppc64le/build.sh index e2940f4b..0f6cb1aa 100755 --- a/legacy_cdts/p11-kit-cos7-ppc64le/build.sh +++ b/legacy_cdts/p11-kit-cos7-ppc64le/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/p11-kit-cos7-ppc64le/meta.yaml b/legacy_cdts/p11-kit-cos7-ppc64le/meta.yaml index 7db5fa1c..2d6c8833 100644 --- a/legacy_cdts/p11-kit-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/p11-kit-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' diff --git a/legacy_cdts/p11-kit-trust-cos6-x86_64/build.sh b/legacy_cdts/p11-kit-trust-cos6-x86_64/build.sh index 3fc72f6d..4ee7fe6a 100755 --- a/legacy_cdts/p11-kit-trust-cos6-x86_64/build.sh +++ b/legacy_cdts/p11-kit-trust-cos6-x86_64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/p11-kit-trust-cos6-x86_64/meta.yaml b/legacy_cdts/p11-kit-trust-cos6-x86_64/meta.yaml index ee8297d1..66ce20ed 100644 --- a/legacy_cdts/p11-kit-trust-cos6-x86_64/meta.yaml +++ b/legacy_cdts/p11-kit-trust-cos6-x86_64/meta.yaml @@ -14,10 +14,18 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - p11-kit-cos6-x86_64 ==0.18.5 *_{{ cdt_build_number }} + host: + - p11-kit-cos6-x86_64 ==0.18.5 *_{{ cdt_build_number }} + run: + - p11-kit-cos6-x86_64 ==0.18.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-64 ==99999999999 diff --git a/legacy_cdts/p11-kit-trust-cos7-aarch64/build.sh b/legacy_cdts/p11-kit-trust-cos7-aarch64/build.sh index 232b4b2b..97499cee 100755 --- a/legacy_cdts/p11-kit-trust-cos7-aarch64/build.sh +++ b/legacy_cdts/p11-kit-trust-cos7-aarch64/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/p11-kit-trust-cos7-aarch64/meta.yaml b/legacy_cdts/p11-kit-trust-cos7-aarch64/meta.yaml index 097f80ff..474ba4af 100644 --- a/legacy_cdts/p11-kit-trust-cos7-aarch64/meta.yaml +++ b/legacy_cdts/p11-kit-trust-cos7-aarch64/meta.yaml @@ -14,10 +14,18 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - p11-kit-cos7-aarch64 ==0.23.5 *_{{ cdt_build_number }} + host: + - p11-kit-cos7-aarch64 ==0.23.5 *_{{ cdt_build_number }} + run: + - p11-kit-cos7-aarch64 ==0.23.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 diff --git a/legacy_cdts/p11-kit-trust-cos7-ppc64le/build.sh b/legacy_cdts/p11-kit-trust-cos7-ppc64le/build.sh index e2940f4b..0f6cb1aa 100755 --- a/legacy_cdts/p11-kit-trust-cos7-ppc64le/build.sh +++ b/legacy_cdts/p11-kit-trust-cos7-ppc64le/build.sh @@ -23,9 +23,20 @@ popd > /dev/null 2>&1 # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${lnk}) lnk_dst_nm=$(readlink ${lnk}) if [[ ${lnk_dst_nm:0:1} == "/" ]]; then @@ -33,6 +44,9 @@ for blnk in $(find ./binary -type l); do else lnk_dst="${lnk_dir}/${lnk_dst_nm}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" error_code=1 diff --git a/legacy_cdts/p11-kit-trust-cos7-ppc64le/meta.yaml b/legacy_cdts/p11-kit-trust-cos7-ppc64le/meta.yaml index 0a360366..6eed8eb2 100644 --- a/legacy_cdts/p11-kit-trust-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/p11-kit-trust-cos7-ppc64le/meta.yaml @@ -14,10 +14,18 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - p11-kit-cos7-ppc64le ==0.23.5 *_{{ cdt_build_number }} + host: + - p11-kit-cos7-ppc64le ==0.23.5 *_{{ cdt_build_number }} + run: + - p11-kit-cos7-ppc64le ==0.23.5 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 diff --git a/legacy_cdts/pango-cos6-x86_64/build.sh b/legacy_cdts/pango-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/pango-cos6-x86_64/build.sh +++ b/legacy_cdts/pango-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pango-cos6-x86_64/meta.yaml b/legacy_cdts/pango-cos6-x86_64/meta.yaml index bf7addc7..a5d16c4d 100644 --- a/legacy_cdts/pango-cos6-x86_64/meta.yaml +++ b/legacy_cdts/pango-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/pango-cos7-aarch64/build.sh b/legacy_cdts/pango-cos7-aarch64/build.sh index 1ff0c8f6..d5f3c41d 100755 --- a/legacy_cdts/pango-cos7-aarch64/build.sh +++ b/legacy_cdts/pango-cos7-aarch64/build.sh @@ -17,11 +17,52 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/bin +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/bin > /dev/null 2>&1 rm -f pango-querymodules-64 echo -e '#!/usr/bin/env bash\n exit 0' > pango-querymodules-64 chmod u+x pango-querymodules-64 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pango-cos7-aarch64/meta.yaml b/legacy_cdts/pango-cos7-aarch64/meta.yaml index 83ab134a..00008f72 100644 --- a/legacy_cdts/pango-cos7-aarch64/meta.yaml +++ b/legacy_cdts/pango-cos7-aarch64/meta.yaml @@ -14,13 +14,46 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number }} + - freetype-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number }} + - fribidi-cos7-aarch64 >=1.0 *_{{ cdt_build_number }} + - glib2-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number }} + - harfbuzz-cos7-aarch64 >=1.4.2 *_{{ cdt_build_number }} + - libxft-cos7-aarch64 >=2.0.0 *_{{ cdt_build_number }} + - libthai-cos7-aarch64 >=0.1.9 *_{{ cdt_build_number }} + host: + - cairo-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number }} + - freetype-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number }} + - fribidi-cos7-aarch64 >=1.0 *_{{ cdt_build_number }} + - glib2-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number }} + - harfbuzz-cos7-aarch64 >=1.4.2 *_{{ cdt_build_number }} + - libxft-cos7-aarch64 >=2.0.0 *_{{ cdt_build_number }} + - libthai-cos7-aarch64 >=0.1.9 *_{{ cdt_build_number }} + run: + - cairo-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number }} + - freetype-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number }} + - fribidi-cos7-aarch64 >=1.0 *_{{ cdt_build_number }} + - glib2-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number }} + - harfbuzz-cos7-aarch64 >=1.4.2 *_{{ cdt_build_number }} + - libxft-cos7-aarch64 >=2.0.0 *_{{ cdt_build_number }} + - libthai-cos7-aarch64 >=0.1.9 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/pango-cos7-ppc64le/build.sh b/legacy_cdts/pango-cos7-ppc64le/build.sh index 216ca2dd..4afbd7ec 100755 --- a/legacy_cdts/pango-cos7-ppc64le/build.sh +++ b/legacy_cdts/pango-cos7-ppc64le/build.sh @@ -17,11 +17,52 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 -pushd ${SYSROOT_DIR}/usr/bin +# START OF INSERTED BUILD APPENDS + + +# CONDA-FORGE BUILD APPEND +pushd ${SYSROOT_DIR}/usr/bin > /dev/null 2>&1 rm -f pango-querymodules-64 echo -e '#!/usr/bin/env bash\n exit 0' > pango-querymodules-64 chmod u+x pango-querymodules-64 -popd -# CDT BUILD APPENDED +popd > /dev/null 2>&1 + + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pango-cos7-ppc64le/meta.yaml b/legacy_cdts/pango-cos7-ppc64le/meta.yaml index e27c5ef5..5cb3b114 100644 --- a/legacy_cdts/pango-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/pango-cos7-ppc64le/meta.yaml @@ -14,13 +14,46 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' requirements: + build: + - cairo-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number }} + - freetype-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number }} + - fribidi-cos7-ppc64le >=1.0 *_{{ cdt_build_number }} + - glib2-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number }} + - harfbuzz-cos7-ppc64le >=1.4.2 *_{{ cdt_build_number }} + - libxft-cos7-ppc64le >=2.0.0 *_{{ cdt_build_number }} + - libthai-cos7-ppc64le >=0.1.9 *_{{ cdt_build_number }} + host: + - cairo-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number }} + - freetype-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number }} + - fribidi-cos7-ppc64le >=1.0 *_{{ cdt_build_number }} + - glib2-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number }} + - harfbuzz-cos7-ppc64le >=1.4.2 *_{{ cdt_build_number }} + - libxft-cos7-ppc64le >=2.0.0 *_{{ cdt_build_number }} + - libthai-cos7-ppc64le >=0.1.9 *_{{ cdt_build_number }} + run: + - cairo-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number }} + - freetype-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number }} + - fribidi-cos7-ppc64le >=1.0 *_{{ cdt_build_number }} + - glib2-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number }} + - harfbuzz-cos7-ppc64le >=1.4.2 *_{{ cdt_build_number }} + - libxft-cos7-ppc64le >=2.0.0 *_{{ cdt_build_number }} + - libthai-cos7-ppc64le >=0.1.9 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/pango-devel-cos6-x86_64/build.sh b/legacy_cdts/pango-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/pango-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/pango-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pango-devel-cos6-x86_64/meta.yaml b/legacy_cdts/pango-devel-cos6-x86_64/meta.yaml index 948057ef..e03797a5 100644 --- a/legacy_cdts/pango-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/pango-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -39,6 +41,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/pango-devel-cos7-aarch64/build.sh b/legacy_cdts/pango-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/pango-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/pango-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pango-devel-cos7-aarch64/meta.yaml b/legacy_cdts/pango-devel-cos7-aarch64/meta.yaml index e5f8d429..0ed54f56 100644 --- a/legacy_cdts/pango-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/pango-devel-cos7-aarch64/meta.yaml @@ -14,13 +14,37 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-devel-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-devel-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number }} + - freetype-devel-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number }} + - glib2-devel-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number }} + - pango-cos7-aarch64 ==1.42.4 *_{{ cdt_build_number }} + host: + - cairo-devel-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-devel-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number }} + - freetype-devel-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number }} + - glib2-devel-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number }} + - pango-cos7-aarch64 ==1.42.4 *_{{ cdt_build_number }} + run: + - cairo-devel-cos7-aarch64 >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-devel-cos7-aarch64 >=2.11.91 *_{{ cdt_build_number }} + - freetype-devel-cos7-aarch64 >=2.1.5 *_{{ cdt_build_number }} + - glib2-devel-cos7-aarch64 >=2.56.1 *_{{ cdt_build_number }} + - pango-cos7-aarch64 ==1.42.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/pango-devel-cos7-ppc64le/build.sh b/legacy_cdts/pango-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/pango-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/pango-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pango-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/pango-devel-cos7-ppc64le/meta.yaml index 54720618..f839ea69 100644 --- a/legacy_cdts/pango-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/pango-devel-cos7-ppc64le/meta.yaml @@ -14,13 +14,37 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' requirements: + build: + - cairo-devel-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-devel-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number }} + - freetype-devel-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number }} + - glib2-devel-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number }} + - pango-cos7-ppc64le ==1.42.4 *_{{ cdt_build_number }} + host: + - cairo-devel-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-devel-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number }} + - freetype-devel-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number }} + - glib2-devel-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number }} + - pango-cos7-ppc64le ==1.42.4 *_{{ cdt_build_number }} + run: + - cairo-devel-cos7-ppc64le >=1.12.10 *_{{ cdt_build_number }} + - fontconfig-devel-cos7-ppc64le >=2.11.91 *_{{ cdt_build_number }} + - freetype-devel-cos7-ppc64le >=2.1.5 *_{{ cdt_build_number }} + - glib2-devel-cos7-ppc64le >=2.56.1 *_{{ cdt_build_number }} + - pango-cos7-ppc64le ==1.42.4 *_{{ cdt_build_number }} run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.pango.org license: LGPL-2.0-or-later diff --git a/legacy_cdts/pixman-cos6-x86_64/build.sh b/legacy_cdts/pixman-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/pixman-cos6-x86_64/build.sh +++ b/legacy_cdts/pixman-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pixman-cos6-x86_64/meta.yaml b/legacy_cdts/pixman-cos6-x86_64/meta.yaml index ce7c03c1..c55e909c 100644 --- a/legacy_cdts/pixman-cos6-x86_64/meta.yaml +++ b/legacy_cdts/pixman-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/legacy_cdts/pixman-cos7-aarch64/build.sh b/legacy_cdts/pixman-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/pixman-cos7-aarch64/build.sh +++ b/legacy_cdts/pixman-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pixman-cos7-aarch64/meta.yaml b/legacy_cdts/pixman-cos7-aarch64/meta.yaml index 813b97d6..089c8091 100644 --- a/legacy_cdts/pixman-cos7-aarch64/meta.yaml +++ b/legacy_cdts/pixman-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/legacy_cdts/pixman-cos7-ppc64le/build.sh b/legacy_cdts/pixman-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/pixman-cos7-ppc64le/build.sh +++ b/legacy_cdts/pixman-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pixman-cos7-ppc64le/meta.yaml b/legacy_cdts/pixman-cos7-ppc64le/meta.yaml index fecfef6c..2fb94b52 100644 --- a/legacy_cdts/pixman-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/pixman-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/legacy_cdts/pixman-devel-cos6-x86_64/build.sh b/legacy_cdts/pixman-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/pixman-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/pixman-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pixman-devel-cos6-x86_64/meta.yaml b/legacy_cdts/pixman-devel-cos6-x86_64/meta.yaml index 97fbca6c..70e8ae0a 100644 --- a/legacy_cdts/pixman-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/pixman-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/legacy_cdts/pixman-devel-cos7-aarch64/build.sh b/legacy_cdts/pixman-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/pixman-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/pixman-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pixman-devel-cos7-aarch64/meta.yaml b/legacy_cdts/pixman-devel-cos7-aarch64/meta.yaml index b17d2fce..ecfa2b12 100644 --- a/legacy_cdts/pixman-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/pixman-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/legacy_cdts/pixman-devel-cos7-ppc64le/build.sh b/legacy_cdts/pixman-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/pixman-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/pixman-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pixman-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/pixman-devel-cos7-ppc64le/meta.yaml index 028a3d65..4eb50e8d 100644 --- a/legacy_cdts/pixman-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/pixman-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://cgit.freedesktop.org/pixman/ license: MIT diff --git a/legacy_cdts/pkgconfig-cos6-x86_64/build.sh b/legacy_cdts/pkgconfig-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/pkgconfig-cos6-x86_64/build.sh +++ b/legacy_cdts/pkgconfig-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pkgconfig-cos6-x86_64/meta.yaml b/legacy_cdts/pkgconfig-cos6-x86_64/meta.yaml index 5055154e..10a62e98 100644 --- a/legacy_cdts/pkgconfig-cos6-x86_64/meta.yaml +++ b/legacy_cdts/pkgconfig-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://pkgconfig.freedesktop.org license: GPL-2.0-or-later diff --git a/legacy_cdts/pkgconfig-cos7-aarch64/build.sh b/legacy_cdts/pkgconfig-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/pkgconfig-cos7-aarch64/build.sh +++ b/legacy_cdts/pkgconfig-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pkgconfig-cos7-aarch64/meta.yaml b/legacy_cdts/pkgconfig-cos7-aarch64/meta.yaml index 0e9c0776..ffb3570b 100644 --- a/legacy_cdts/pkgconfig-cos7-aarch64/meta.yaml +++ b/legacy_cdts/pkgconfig-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://pkgconfig.freedesktop.org license: GPL-2.0-or-later diff --git a/legacy_cdts/pkgconfig-cos7-ppc64le/build.sh b/legacy_cdts/pkgconfig-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/pkgconfig-cos7-ppc64le/build.sh +++ b/legacy_cdts/pkgconfig-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/pkgconfig-cos7-ppc64le/meta.yaml b/legacy_cdts/pkgconfig-cos7-ppc64le/meta.yaml index a856de22..b0972e61 100644 --- a/legacy_cdts/pkgconfig-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/pkgconfig-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://pkgconfig.freedesktop.org license: GPL-2.0-or-later diff --git a/legacy_cdts/python-javapackages-cos7-aarch64/build.sh b/legacy_cdts/python-javapackages-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/python-javapackages-cos7-aarch64/build.sh +++ b/legacy_cdts/python-javapackages-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/python-javapackages-cos7-aarch64/meta.yaml b/legacy_cdts/python-javapackages-cos7-aarch64/meta.yaml index 8a56ec49..030a285f 100644 --- a/legacy_cdts/python-javapackages-cos7-aarch64/meta.yaml +++ b/legacy_cdts/python-javapackages-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/legacy_cdts/python-javapackages-cos7-ppc64le/build.sh b/legacy_cdts/python-javapackages-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/python-javapackages-cos7-ppc64le/build.sh +++ b/legacy_cdts/python-javapackages-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/python-javapackages-cos7-ppc64le/meta.yaml b/legacy_cdts/python-javapackages-cos7-ppc64le/meta.yaml index 46d99e84..89dc7272 100644 --- a/legacy_cdts/python-javapackages-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/python-javapackages-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://fedorahosted.org/javapackages/ license: BSD diff --git a/legacy_cdts/webkitgtk-cos6-x86_64/build.sh b/legacy_cdts/webkitgtk-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/webkitgtk-cos6-x86_64/build.sh +++ b/legacy_cdts/webkitgtk-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/webkitgtk-cos6-x86_64/meta.yaml b/legacy_cdts/webkitgtk-cos6-x86_64/meta.yaml index 106042b0..c191578e 100644 --- a/legacy_cdts/webkitgtk-cos6-x86_64/meta.yaml +++ b/legacy_cdts/webkitgtk-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.webkitgtk.org/ license: LGPLv2+ and BSD diff --git a/legacy_cdts/webkitgtk-devel-cos6-x86_64/build.sh b/legacy_cdts/webkitgtk-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/webkitgtk-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/webkitgtk-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/webkitgtk-devel-cos6-x86_64/meta.yaml b/legacy_cdts/webkitgtk-devel-cos6-x86_64/meta.yaml index 7f0498bb..81b4eba3 100644 --- a/legacy_cdts/webkitgtk-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/webkitgtk-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.webkitgtk.org/ license: LGPLv2+ and BSD diff --git a/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh b/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh +++ b/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml b/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml index dc1b1f79..6e0ab5af 100644 --- a/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml +++ b/legacy_cdts/xorg-x11-proto-devel-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh b/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh +++ b/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml b/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml index 0ec9f1d5..b698e541 100644 --- a/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml +++ b/legacy_cdts/xorg-x11-proto-devel-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh b/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh +++ b/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml b/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml index 590ea696..e1a23222 100644 --- a/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/xorg-x11-proto-devel-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: https://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-server-common-cos6-x86_64/build.sh b/legacy_cdts/xorg-x11-server-common-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/xorg-x11-server-common-cos6-x86_64/build.sh +++ b/legacy_cdts/xorg-x11-server-common-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml b/legacy_cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml index f2e0d795..e5c850f7 100644 --- a/legacy_cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml +++ b/legacy_cdts/xorg-x11-server-common-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-server-common-cos7-aarch64/build.sh b/legacy_cdts/xorg-x11-server-common-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/xorg-x11-server-common-cos7-aarch64/build.sh +++ b/legacy_cdts/xorg-x11-server-common-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml b/legacy_cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml index fa2706e3..3edb2954 100644 --- a/legacy_cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml +++ b/legacy_cdts/xorg-x11-server-common-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/build.sh b/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/build.sh +++ b/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml b/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml index 1ef276a4..9649291d 100644 --- a/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/xorg-x11-server-common-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh b/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh +++ b/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml b/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml index c668fa4a..12151506 100644 --- a/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml +++ b/legacy_cdts/xorg-x11-server-xvfb-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT and GPLv2 diff --git a/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh b/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh +++ b/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml b/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml index 2a394256..bb13f234 100644 --- a/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml +++ b/legacy_cdts/xorg-x11-server-xvfb-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT and GPLv2 diff --git a/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh b/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh +++ b/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml b/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml index 98a8e354..72f09ad9 100644 --- a/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/xorg-x11-server-xvfb-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: false + detect_binary_files_with_prefix: false missing_dso_whitelist: - '*' @@ -27,6 +29,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT and GPLv2 diff --git a/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/build.sh b/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/build.sh index 49aeb7df..4ee7fe6a 100755 --- a/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/build.sh +++ b/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml b/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml index 5fe4812e..14716237 100644 --- a/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml +++ b/legacy_cdts/xorg-x11-util-macros-cos6-x86_64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/build.sh b/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/build.sh index 6fe1b11a..97499cee 100755 --- a/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/build.sh +++ b/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml b/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml index 937139b6..5f41ea1c 100644 --- a/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml +++ b/legacy_cdts/xorg-x11-util-macros-cos7-aarch64/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-aarch64 ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh b/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh index 1099b87a..0f6cb1aa 100755 --- a/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh +++ b/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/build.sh @@ -17,4 +17,43 @@ if [[ -d usr/lib64 ]]; then fi pushd ${SRC_DIR}/binary > /dev/null 2>&1 rsync -K -a . "${SYSROOT_DIR}" -popd +popd > /dev/null 2>&1 + +# START OF INSERTED BUILD APPENDS + +# END OF INSERTED BUILD APPENDS + +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things +error_code=0 +for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot + lnk=${SYSROOT_DIR}${blnk#"./binary"} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${lnk} ]]; then + continue + fi + + # get the link dir and the destination of the link + lnk_dir=$(dirname ${lnk}) + lnk_dst_nm=$(readlink ${lnk}) + if [[ ${lnk_dst_nm:0:1} == "/" ]]; then + lnk_dst=${lnk_dst_nm} + else + lnk_dst="${lnk_dir}/${lnk_dst_nm}" + fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists + if [[ ${lnk_dst_nm:0:1} == "/" ]] && [[ ! ${lnk_dst_nm} == ${SYSROOT_DIR}* ]]; then + echo "***WARNING ABSOLUTE SYMLINK***: ${lnk} -> ${lnk_dst}" + error_code=1 + elif [[ ! -e "${lnk_dst}" ]]; then + echo "***WARNING SYMLINK W/O DESTINATION: ${lnk} -> ${lnk_dst}" + error_code=1 + fi +done + +exit ${error_code} diff --git a/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml b/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml index e9a78cde..6fbe5377 100644 --- a/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml +++ b/legacy_cdts/xorg-x11-util-macros-cos7-ppc64le/meta.yaml @@ -14,6 +14,8 @@ source: build: number: {{ cdt_build_number }} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -21,6 +23,10 @@ requirements: run_constrained: - sysroot_linux-ppc64le ==99999999999 +test: + commands: + - echo "it installs!" + about: home: http://www.x.org license: MIT diff --git a/licenses/libglvnd-license b/licenses/libglvnd-license new file mode 100644 index 00000000..29c81ef9 --- /dev/null +++ b/licenses/libglvnd-license @@ -0,0 +1,540 @@ +libglvnd: the GL Vendor-Neutral Dispatch library +================================================ + +Introduction +------------ + +libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls +between multiple vendors. It allows multiple drivers from different vendors to +coexist on the same filesystem, and determines which vendor to dispatch each +API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES. + +libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. + +The official repository for libglvnd is hosted on FreeDesktop.org's GitLab: +https://gitlab.freedesktop.org/glvnd/libglvnd + + +Building the library +---------------------- + +libglvnd build-depends on libx11, glproto and libxext. +On Debian and derivatives, run: + + sudo apt-get install libxext-dev libx11-dev x11proto-gl-dev + +Run `./autogen.sh`, then run `./configure` and `make`. + +Alternatively you can use meson and ninja, which is much faster but should be +otherwise the same (You will need packages from above too): + + sudo apt-get install ninja-build meson + meson builddir + ninja -C builddir + +Meson 0.48.0 is currently required, if your distro doesn't have meson 0.48 in +the repos you can try the methods suggested +[here](https://mesonbuild.com/Getting-meson.html). + +Code overview +------------- + +The code in the src/ directory is organized as follows: + +- GLX/ contains code for libGLX, the GLX window-system API library. +- EGL/ contains code for libEGL, the EGL window-system API library. +- GLdispatch/ contains code for libGLdispatch, which is responsible for + dispatching OpenGL functions to the correct vendor library based on the + current EGL or GLX rendering context. This implements the guts of the GL API + libraries. Most of the dispatch code is based on Mesa's glapi. +- OpenGL/, GLESv1/, and GLESv2/ contain code to generate libOpenGL.so, + libGLESv1\_CM.so, and libGLESv2.so, respectively. All three are merely + wrapper libraries for libGLdispatch. Ideally, these could be implemented via + ELF symbol filtering, but in practice they need to be implemented manually. + See the Issues section for details on why this is the case. +- GL/ contains code for libGL. This is a wrapper around libGLdispatch and + libGLX. +- util/ contains generic utility code. + +In addition, libglvnd uses a GLX extension, +[GLX\_EXT\_libglvnd](https://khronos.org/registry/OpenGL/extensions/EXT/GLX_EXT_libglvnd.txt), +to determine which vendor library to use for a screen or XID. + +There are a few good starting points for familiarizing oneself with the code: + +- Look at the vendor-library to GLX ABI defined in `libglxabi.h`. +- Follow the flow of `glXGetProcAddress() -> __glDispatchGetProcAddress() -> + _glapi_get_proc_address()` to see how the dispatch table is updated as new GL + stubs are generated, and how GLX looks for vendor-library-implemented + dispatchers for GLX extension functions. +- Follow the flow of `glXMakeContextCurrent() -> __glDispatchMakeCurrent() -> + _glapi_set_current()` to see how the current dispatch table and state is + updated by the API library. +- Look at `libglxmapping.c:__glXLookupVendorBy{Name,Screen}()` to see how + vendor library names are queried. +- For EGL, follow the flow of `eglGetPlatformDisplay()` to see how EGL selects + a vendor library. + +The tests/ directory contains several unit tests which verify that dispatching +to different vendors actually works. Run `make check` to run these unit tests. + +Architecture +------------ + +The library organization differs slightly from that of Andy's original proposal. +See the diagram below: + +
+                ┌──────────────────────────────────┐
+                │                                  │
+          ┌─────┤        Application               │
+          │     │                                  │
+          │     └─────┬───────────────────┬────────┘
+          │           │                   │
+          │     ┌─────▾─────┐             │                    ┌──────────────────────┐
+          │     │           │             │                    │                      │
+          │     │ libOpenGL │             │                    │                      │
+          │     │           │             │                    │  X server            │
+          │     └─────┬─────┘             │                    │                      │
+          │        DT_FILTER              │                    │                      │
+          │     ┌─────▾──────────┐ ┌──────▾────────┐           │ ┌──────────────────┐ │
+          │     │                │ │               │           └─│GLX_EXT_libglvnd  │─┘
+          │     │ [mapi/glapi]   ◂─▸               │             │extension         │
+          │     │ libGLdispatch  │ │   libGLX      ├─────────────▸──────────────────┘
+          │     │                │ │               ◂──────────┬─────────────────┐
+          │     └───────▴────────┘ └──────▴────────┘          │                 │
+          │         DT_FILTER         DT_FILTER             ┌─▾─────────┐   ┌───▾────────┐
+          │     ┌───────┴─────────────────┴────────┐        │           │   │            │
+          │     │                                  │        │           │   │            │
+          └─────▸           libGL                  │        │ GLX_vendor│   │ GLX_vendor2│
+                └──────────────────────────────────┘        │           │   │            │
+                                                            └───────────┘   └────────────┘
+
+ +In this diagram, + +* `A ───▸ B` indicates that module A calls into module B. +* `A ── DT_FILTER ──▸ B` indicates that DSO A is (logically) a filter library on + DSO B. If ELF symbol filtering is enabled, symbols exported by A are resolved + to entrypoints in B. + +libGLX manages loading GLX vendor libraries and dispatching GLX core and +extension functions to the right vendor. + +GLX\_EXT\_libglvnd is a simple GLX extension which allows libGLX to determine +the number of the screen belonging to an arbitrary drawable XID, and also the +GL vendor to use for a given screen. + +libGLdispatch implements core GL dispatching and TLS. It acts as a thin wrapper +around glapi which provides some higher-level functionality for managing +dispatch tables, requesting vendor proc addresses, and making current to a given +context + dispatch table. This is a separate library rather than statically +linked into libGLX, since the same dispatching code is used by both GLX and +EGL. + +libOpenGL is a wrapper library to libGLdispatch which exposes OpenGL 4.5 core and +compatibility entry points. + +libGLESv{1,2} are wrapper libraries to libGLdispatch which expose OpenGL ES +entrypoints. + +libGL is a wrapper library to libGLdispatch and libGLX which is provided for +backwards-compatibility with applications which link against the old ABI. + +Note that since all OpenGL functions are dispatched through the same table in +libGLdispatch, it doesn't matter which library is used to find the entrypoint. +The same OpenGL function in libGL, libOpenGL, libGLES, and the function pointer +returned by glXGetProcAddress are all interchangeable. + +### OpenGL dispatching ### + +By definition, all OpenGL functions are dispatched based on the current +context. OpenGL dispatching is handled in libGLdispatch, which is used by both +EGL and GLX. + +libGLdispatch uses a per-thread dispatch table to look up the correct vendor +library function for every OpenGL function. + +When an application calls eglMakeCurrent or glXMakeCurrent, the EGL or GLX +library finds the correct dispatch table and then calls into libGLdispatch to +set that table for the current thread. + +Since they're all dispatched through the common libGLdispatch layer, that also +means that all OpenGL entrypoints will work correctly, regardless of whether +the current context is from EGL or GLX. + +### GLX dispatching ### + +Unlike core OpenGL functions, whose vendor can be determined from the current +context, many GLX functions are context-independent. In order to successfully +map GLX API calls to the right vendor, we use the following strategy: + +* Most GLX entry points specify (either explicitly, or implicitly) an + X screen. + +* On a per-entry point basis, dispatch the call to the + `libGLX_VENDOR.so` for that screen. + +* The first time `libGLX.so` gets called with a unique combination of X + Display + screen, do the following: + + * Use the Display connection to query the X server for the GLX + vendor of that X screen. + + * Load the corresponding `libGLX_VENDOR.so`. + + * Read the vendor's GLX dispatch table from the `libGLX_VENDOR.so`. + + * Cache that Display + screen <=> vendor dispatch table mapping, for + use in subsequent dispatching. + +* Some GLX entry points imply an X screen by a GLX object they + specify. Such GLX objects are: + + * GLXContext (an opaque pointer) + * GLXFBConfig (an opaque pointer) + * GLXPixmap (an XID) + * GLXDrawable (an XID) + * GLXWindow (an XID) + * GLXPbuffer (an XID) + + To map from object to screen, record the corresponding screen when + the object is created. This means the current process needs to see + a GLX call to create the object. In the case of the opaque + pointers, this is reasonable, since the pointer is only meaningful + within the current process. + + XIDs, however, can be created by another process, so libGLX may not know in + advance which screen they belong to. To deal with that, libGLX queries the + server using the GLX extension GLX\_EXT\_libglvnd. + +### EGL dispatching ### + +EGL dispatching works similarly to GLX, but there are fewer object types to +deal with. Almost all EGL functions are dispatched based on an EGLDisplay or +EGLDeviceEXT parameter. + +EGL can't rely on asking an X server for a vendor name like GLX can, so +instead, it enumerates and loads every available vendor library. Loading every +vendor is also needed to support extensions such as +EGL\_EXT\_device\_enumeration. + +In order to find the available vendor libraries, each vendor provides a JSON +file in a well-known directory, similar to how Vulkan ICD's are loaded. +Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details. + +When the application calls eglGetPlatformDisplay, EGL will simply call into +each vendor library until it finds one that succeeds. After that, whichever +vendor succeeded owns that display. + +As with GLX, vendor libraries must provide dispatch stubs for any display or +device extensions that they support, so that they can add new extensions +without having to modify libglvnd. + +Since libglvnd passes eglGetPlatformDisplay calls through to each vendor, a +vendor can also add a new platform extension (e.g., EGL\_KHR\_platform\_x11) +without changing libglvnd. + +Other EGL client extensions, by definition, do require modifying libglvnd. +Those are handled on a case-by-case basis. + +Issues +------ + +* Ideally, several components of libglvnd (namely, the `libGL` wrapper library + and the `libOpenGL, libGLES{v1_CM,v2}` interface libraries) could be + implemented via ELF symbol filtering (see [2] for a demonstration of this). + However, a loader bug (tracked in [3]) makes this mechanism unreliable: + dlopen(3)ing a shared library with `DT_FILTER` fields can crash the + application. Instead, for now, ELF symbol filtering is disabled by default, + and an alternate approach is used to implement these libraries. + +* The library currently indirectly associates a drawable with a vendor, + by first mapping a drawable to its screen, then mapping the screen to its + vendor. However, it may make sense in render offload scenarios to allow direct + mapping from drawables to vendors, so multiple vendors could potentially + operate on drawables in the same screen. The problem with this is that several + GLX functions, such as glXChooseFBConfig(), explicitly refer to screens, and + so it becomes a gray area which vendor the call should be dispatched to. Given + this issue, does it still make more sense to use a direct drawable to vendor + mapping? How would this be implemented? Should we add new API calls to "GLX + Next"? + + * Note that the (drawable -> screen -> vendor) mapping mainly exists in the + GLX_EXT_libglvnd extension. libGLX itself keeps a simple + (drawable -> vendor) mapping, and exposes that mapping to the vendor + libraries. + +* Along the same lines, would it be useful to include a + "glXGetProcAddressFromVendor()" or "glXGetProcAddressFromScreen()" entrypoint + in a new GLX version to obviate the need for this library in future + applications? + +* Global state is required by both libGLX.so and libGLdispatch.so for various + purposes, and needs to be protected by locks in multithreaded environments. + Is it reasonable for the vendor-neutral library to depend on pthreads for + implementing these locks? + + While there is no harm in having the API libraries link against pthreads even + if the application does not, we would like to avoid pthread locking overhead + if the application is single-threaded. Hence, this library uses a + `glvnd_pthread` wrapper library which provides single-threaded fallbacks for + applications which are not linked against pthreads. It is expected that + multi-threaded applications will either statically link against pthreads, or + load pthreads prior to loading libGL. + +* Is using a hash table to store GLX extension entrypoints performant enough for + dispatching? Should we be using a flat array instead? + +* How should malloc(3) failures be handled? + +* How should forking be handled? + +* The current libGLX implementation stores all GLXContext and GLXFBConfig + handles in global hashtables, which means that GLXContext and GLXFBConfig + handles must be unique between vendors. That is, two vendor libraries must + not come up with the same handle value for a GLXContext or GLXFBConfig. To + that end, GLXContext and GLXFBConfig handles must be pointers to memory + addresses that the vendor library somehow controls. The values are otherwise + opaque. + +* Querying an XID <=> screen mapping without somehow "locking" the XID is + inherently racy, since a different process may destroy the drawable, and X + may recycle the XID, after the mapping is saved client-side. Is there a mechanism + we could use to notify the API library when a mapping is no longer valid? + +References +---------- + +[1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt + +[2] https://github.com/aritger/libgl-elf-tricks-demo + +[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16272 + +Acknowledgements +------- + +Thanks to Andy Ritger for the original libGLX implementation and README +documentation. + +### libglvnd ### + +libglvnd itself (excluding components listed below) is licensed as follows: + + Copyright (c) 2013, NVIDIA CORPORATION. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + unaltered in all copies or substantial portions of the Materials. + Any additions, deletions, or changes to the original source files + must be clearly indicated in accompanying documentation. + + If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the + work of the Khronos Group." + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +### X.Org ### + +libglvnd contains list.h, a linked list implementation from the X.Org project. +Source code from the X.Org project is available from: + + http://cgit.freedesktop.org/xorg/xserver + +list.h carries the following license: + + Copyright © 2010 Intel Corporation + Copyright © 2010 Francisco Jerez + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +### Mesa ### + +libglvnd contains code from the Mesa project. Source code from the Mesa project +is available from: + + http://cgit.freedesktop.org/mesa/mesa + +The default Mesa license is as follows: + + Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### uthash ### + +libglvnd uses the hash table implementation 'uthash': + + http://troydhanson.github.io/uthash/ + +This library carries the following copyright notice: + + Copyright (c) 2005-2013, Troy D. Hanson + http://troydhanson.github.com/uthash/ + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### buildconf ### + +libglvnd uses the buildconf autotools bootstrapping script 'autogen.sh': + + http://freecode.com/projects/buildconf + +This script carries the following copyright notice: + + Copyright (c) 2005-2009 United States Government as represented by + the U.S. Army Research Laboratory. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +### ax-pthread ### + +libglvnd uses the `AX_PTHREAD` autoconf macro for detecting pthreads. +The implementation of this macro carries the following license: + + Copyright (c) 2008 Steven G. Johnson + Copyright (c) 2011 Daniel Richard G. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + +libglvnd uses the cJSON library for reading JSON files: + +https://github.com/DaveGamble/cJSON + +This library carries the following copyright notice: + + Copyright (c) 2009 Dave Gamble + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/rpm.py b/rpm.py index f0dae391..02ff6d2b 100644 --- a/rpm.py +++ b/rpm.py @@ -75,6 +75,9 @@ from textwrap import wrap from xml.etree import cElementTree as ET +# we sometimes hit infinite recursions so we track every recipe made here +MADE_RECIPES = set() + # This is used in two places default_architecture = "x86_64" default_distro = "centos6" @@ -96,6 +99,8 @@ build: number: {build_number} noarch: generic + binary_relocation: False + detect_binary_files_with_prefix: False missing_dso_whitelist: - '*' @@ -124,9 +129,9 @@ set -o errexit -o pipefail -SYSROOT_DIR="${PREFIX}"/{hostmachine}/sysroot +SYSROOT_DIR="${{PREFIX}}"/{hostmachine}/sysroot -mkdir -p "${SYSROOT_DIR}" +mkdir -p "${{SYSROOT_DIR}}" if [[ -d usr/lib ]]; then if [[ ! -d lib ]]; then ln -s usr/lib lib @@ -137,17 +142,28 @@ ln -s usr/lib64 lib64 fi fi -pushd ${SRC_DIR}/binary > /dev/null 2>&1 -rsync -K -a . "${SYSROOT_DIR}" +pushd ${{SRC_DIR}}/binary > /dev/null 2>&1 +rsync -K -a . "${{SYSROOT_DIR}}" popd > /dev/null 2>&1 # START OF INSERTED BUILD APPENDS # END OF INSERTED BUILD APPENDS +# this code makes sure that any symlinks are relative and their targets exist +# the CDT would fail at test time, but doing it here produces useful error +# messages for fixing things error_code=0 for blnk in $(find ./binary -type l); do + # loop is over symlinks in the RPM, so get the path in the sysroot lnk=${{SYSROOT_DIR}}${{blnk#"./binary"}} + + # if it is not a link in the sysroot, move on + if [[ ! -L ${{lnk}} ]]; then + continue + fi + + # get the link dir and the destination of the link lnk_dir=$(dirname ${{lnk}}) lnk_dst_nm=$(readlink ${{lnk}}) if [[ ${{lnk_dst_nm:0:1}} == "/" ]]; then @@ -155,6 +171,9 @@ else lnk_dst="${{lnk_dir}}/${{lnk_dst_nm}}" fi + + # now test if it is absolute and relative to the system and not the PREFIX + # also test if the dest file exists if [[ ${{lnk_dst_nm:0:1}} == "/" ]] && [[ ! ${{lnk_dst_nm}} == ${{SYSROOT_DIR}}* ]]; then echo "***WARNING ABSOLUTE SYMLINK***: ${{lnk}} -> ${{lnk_dst}}" error_code=1 @@ -524,6 +543,8 @@ def massage_primary(repo_primary, src_cache, cdt): def valid_depends(depends): name = depends["name"] str_flags = depends["flags"] + # the or name.endswith w/ "(x86-64)" "(aarch-64)" etc is a + # hack around bad repo data upstream for libXtst-devel if ( not name.startswith("rpmlib(") and not name.startswith("config(") @@ -531,7 +552,12 @@ def valid_depends(depends): and not name.startswith("/") and name != "rtld(GNU_HASH)" and ".so" not in name - and "(" not in name + and ( + "(" not in name + or name.endswith("(x86-64)") + or name.endswith("(aarch-64)") + or name.endswith("(ppc-64)") + ) and str_flags ): return True @@ -634,6 +660,16 @@ def write_conda_recipes( else: arch = cdt["fname_architecture"] package = entry_name + package_l = package.lower().replace("+", "x") + sn = cdt["short_name"] + "-" + arch + package_cdt_name = package_l + "-" + sn + + global MADE_RECIPES + if package_cdt_name in MADE_RECIPES: + return package + else: + MADE_RECIPES.add(package_cdt_name) + rpm_url = dirname(dirname(cdt["base_url"])) + "/" + entry["location"] srpm_url = cdt["sbase_url"] + entry["source"] _, _, _, _, rpm_pth, sha256str = rpm_split_url_and_cache(rpm_url, src_cache) @@ -671,7 +707,14 @@ def write_conda_recipes( package, missing_dep ) ) + for depend in depends: + # replace of "(x86-64)", "(aarch-64)" + # hack around bad repo data upstream for libXtst-devel + for tail in ["(x86-64)", "(aarch-64)", "(ppc-64)"]: + if depend["name"].endswith(tail): + depend["name"] = depend["name"][:-len(tail)] + dep_entry, dep_name, dep_arch = find_repo_entry_and_arch( repo_primary, architectures, depend ) @@ -784,12 +827,13 @@ def write_conda_recipes( # BUILDSH and they get interpreted as # format string tokens so bounce them # back. - "PREFIX": "{PREFIX}", - "RPM": "{RPM}", - "PWD": "{PWD}", - "RECIPE_DIR": "{RECIPE_DIR}", - "SRC_DIR": "{SRC_DIR}", - "SYSROOT_DIR": "{SYSROOT_DIR}" + # or you can use double curly brackets ${{PREFIX}} + # "PREFIX": "{PREFIX}", + # "RPM": "{RPM}", + # "PWD": "{PWD}", + # "RECIPE_DIR": "{RECIPE_DIR}", + # "SRC_DIR": "{SRC_DIR}", + # "SYSROOT_DIR": "{SYSROOT_DIR}" } ) odir = join(output_dir, package_cdt_name)