@kugel- requested changes on this pull request.
> + +RUN set -ex && \ + apt-get update && \ + apt-get install --no-install-recommends --assume-yes \ + build-essential meson wget xz-utils zstd gnupg2 file zstd ca-certificates \ + pkg-config m4 libarchive-dev libssl-dev libcurl4-gnutls-dev libgpgme-dev \ + python3-setuptools + +# compile Pacman +RUN set -ex && \ + wget --no-verbose https://sources.archlinux.org/other/pacman/pacman-${PACMAN_VERSION}.tar.xz && \ + echo "${PACMAN_SHA256} *pacman-${PACMAN_VERSION}.tar.xz" | sha256sum --check --strict - && \ + tar xf pacman-${PACMAN_VERSION}.tar.xz && \ + cd /pacman-${PACMAN_VERSION} && \ + meson \ + --prefix /usr/local/pacman \ I don't understand. If you prefer the app-exclusive prefix, then why do you copy it to /usr/local/bin, afterwards? It appears that pacman is run from /usr/local/bin/pacman, afterwards, yet its prefix is /usr/local/pacman. This can cause trouble if the pacman binary encodes the prefix (remember that Geany isn't relocatable by default either). Really, I would prefer to define one prefix and then also run the program from there. Anything else is asking for trouble and is just adding confusion (I am confused). Then you don't need `ln -s` and `LD_LIBRARY_PATH` workarounds that I find in this file. > + libcurl3-gnutls libgpgme11 libarchive13 libssl1.1 \ + # common useful utilities \ + wget curl less nano git gnupg2 file ca-certificates dos2unix \ + zip unzip xz-utils zstd \ + # build tools \ + build-essential automake autoconf autopoint gettext libtool check cppcheck \ + # genay-plugins autogen.sh requirements + intltool libglib2.0-dev \ + # mingw-w64 \ + gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64-x86-64-dev mingw-w64-tools \ + # install wine to test installer and created binaries + wine wine32 wine64 \ + # install NSIS and exiftool to inspect binary metadata + nsis libimage-exiftool-perl osslsigncode \ + # Geany build dependencies \ + python3-lxml python3-docutils Okay. I only looked at the geany build script and didn't see how it installs additional dependencies. This was my concern, that the infrastructure script must know about all dependencies. But that's not a problem then, great! > + COMPILER_VERSION=$(gcc -dumpfullversion) + + echo "Debian Distribution : $(grep PRETTY_NAME /etc/os-release | cut -d '=' -f 2)" + echo "Geany version : ${GEANY_VERSION}" + echo "Geany GIT revision : ${GEANY_GIT_REVISION}" + echo "GLib version : ${GLIB_VERSION}" + echo "GTK version : ${GTK_VERSION}" + echo "GCC version : ${COMPILER_VERSION}" + + cat <<EOT > ${OUTPUT_DIRECTORY}/geany/versions.json + { + "glib_version": "${GLIB_VERSION}", + "gtk_version": "${GTK_VERSION}", + "gcc_version": "${COMPILER_VERSION}", + } +EOT I would add such artifacts only when they became needed with a clear use case. > + create_tarball_for_debuild + + git_clone_debian_geany + install_build_dependencies + add_changelog_entry + + build_package + copy_results + + log_and_store_build_environment + + log "Done." +} + + +main Above you said you would like to focus on the mingw-parts. Might be a good idea to leave the Debian parts out of this PR for now, then, and deal with that in a separate, follow-up PR. Then we can discuss the proper place. -- Reply to this email directly or view it on GitHub: https://github.com/geany/infrastructure/pull/7#pullrequestreview-1152372636 You are receiving this because you are subscribed to this thread. Message ID: <geany/infrastructure/pull/7/review/1152372...@github.com>