From ddaa391dfb7216fd8b11def1aacb78f87cb21ca0 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: May 30 2020 22:06:40 +0000 Subject: [PATCH 1/4] groups/231.native_packages_etc.group: Add libmetalink Signed-off-by: Neal Gompa --- diff --git a/groups/231.native_packages_etc.group b/groups/231.native_packages_etc.group index 19a0d64..43a13ce 100644 --- a/groups/231.native_packages_etc.group +++ b/groups/231.native_packages_etc.group @@ -6,7 +6,7 @@ NATIVE_PACKAGES_PACKAGES="$(rtl_lconcat "${NATIVE_PACKAGES_PACKAGES}" " alsa_lib apr apr_util bdwgc bmake bochs bzip2 clzip cmake cron dante dbus emacs expat ffmpeg file gdbm geoip gettext_tiny ghostscript giflib gnuchess gzip hastyhex hexcurse htop imagemagick infounzip infozip -john lcms2 less lolcode mintty mlogin musl_compat musl_fts ncdu +john lcms2 less libmetalink lolcode mintty mlogin musl_compat musl_fts ncdu ncurses ncursestw ncursesw npth openjpeg p7zip pcre popt procps_ng qemu qpdf qrencode rpm rw shared_mime_info slang sqlite3 tcl tdnf texinfo tiff tmux tzdb utf8proc util_linux vim w32api w32lib xorriso xz yabasic @@ -169,6 +169,10 @@ zstd")"; : ${PKG_LESS_SHA256SUM:=ff165275859381a63f19135a8f1f6c5a194d53ec3187f94121ecd8ef0795fe3d}; : ${PKG_LESS_VERSION:=551}; : ${PKG_LESS_URL:=http://www.greenwoodsoftware.com/less/less-${PKG_LESS_VERSION}.tar.gz}; +: ${PKG_LIBMETALINK_DEPENDS:="expat"}; +: ${PKG_LIBMETALINK_SHA256SUM:=0753ae1152d970dc3bf327d0ce5cfefeca2f1ab13294b115e64811163a68fd4f}; +: ${PKG_LIBMETALINK_VERSION:=0.1.3}; +: ${PKG_LIBMETALINK_URL:=https://launchpad.net/libmetalink/trunk/libmetalink-${PKG_LIBMETALINK_VERSION}/+download/libmetalink-${PKG_LIBMETALINK_VERSION}.tar.bz2}; : ${PKG_LOLCODE_URLS_GIT:="lci=https://github.com/justinmeza/lci.git@master"}; : ${PKG_LOLCODE_BUILD_DIR:=lci}; : ${PKG_MINTTY_DEPENDS:="w32api w32lib"}; From 62c6b4ae822db79c3dd1e5f1079a4d2977675976 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: May 30 2020 22:06:40 +0000 Subject: [PATCH 2/4] groups/231.native_packages_etc.group: tdnf: Update to v2.1.1 Signed-off-by: Neal Gompa --- diff --git a/groups/231.native_packages_etc.group b/groups/231.native_packages_etc.group index 43a13ce..be5abbf 100644 --- a/groups/231.native_packages_etc.group +++ b/groups/231.native_packages_etc.group @@ -284,13 +284,10 @@ zstd")"; : ${PKG_TCL_VERSION:=8.7a1}; : ${PKG_TCL_URL:=http://kuiper.mirrorservice.org/sites/ftp.tcl.tk/pub/tcl/tcl8_7/tcl${PKG_TCL_VERSION}-src.tar.gz}; : ${PKG_TCL_SUBDIR:=tcl${PKG_TCL_VERSION}/unix}; -: ${PKG_TDNF_DEPENDS:="curl libsolv"}; -: ${PKG_TDNF_SHA256SUM:=ccab50046405d8cd5d4fd5b7154686170311184e63d8bb541b2792e280fee97f}; -: ${PKG_TDNF_VERSION:=2.0.0-alpha.1}; -: ${PKG_TDNF_URL:=https://github.com/vmware/tdnf/archive/v${PKG_TDNF_VERSION}.tar.gz}; -: ${PKG_TDNF_CONFIGURE_ARGS_EXTRA:="--disable-static"}; -: ${PKG_TDNF_ENV_VARS_EXTRA:="LIBSOLV_LIBS=-lsolv:LIBSOLVEXT_LIBS=-lsolvext"}; -: ${PKG_TDNF_FORCE_AUTORECONF:=1}; +: ${PKG_TDNF_DEPENDS:="libmetalink libressl curl gpgme libsolv"}; +: ${PKG_TDNF_SHA256SUM:=1ca20b176939f32c212f8dec7bfacd99995f1cb16c7f176b90394378ea854b0b}; +: ${PKG_TDNF_VERSION:=2.1.1}; +: ${PKG_TDNF_URL:=https://github.com/vmware/tdnf/archive/v${PKG_TDNF_VERSION}/tdnf-${PKG_TDNF_VERSION}.tar.gz}; : ${PKG_TDNF_IN_TREE:=1}; : ${PKG_TDNF_SUBDIR:=tdnf-${PKG_TDNF_VERSION}}; : ${PKG_TEXINFO_SHA256SUM:=988403c1542d15ad044600b909997ba3079b10e03224c61188117f3676b02caa}; diff --git a/patches/tdnf-2.0.0-alpha.1_pre.local.patch b/patches/tdnf-2.0.0-alpha.1_pre.local.patch deleted file mode 100644 index bfacd87..0000000 --- a/patches/tdnf-2.0.0-alpha.1_pre.local.patch +++ /dev/null @@ -1,130 +0,0 @@ -From f2fe2c648454bc5885366c93d4075ca5777ddbda Mon Sep 17 00:00:00 2001 -From: Neal Gompa -Date: Sun, 29 Apr 2018 15:52:26 -0400 -Subject: [PATCH] Fix TDNF build configuration to use pkgconfig data to find - dependencies - -With the notable exception of identifying that we're using rpm.org rpm, -all the configuration of how to use dependencies to compile and link -TDNF and its libraries should come from pkgconfig. That way, TDNF -will reliably build across more platforms. - -In addition, trivial changes to drop -Werror and specify that -std=gnu99 -is required for the build are included so that it will compile properly -on compilers that do not default to newer C standards and not make -assumptions about what is coerced from a warning to an error by default. ---- - client/Makefile.am | 5 ++--- - configure.ac | 25 +++++++++++++------------ - solv/Makefile.am | 4 ++-- - tdnf-cli-libs.pc.in | 2 +- - tdnf.pc.in | 2 +- - 5 files changed, 19 insertions(+), 19 deletions(-) - -diff --git a/client/Makefile.am b/client/Makefile.am -index 9bd3deb..6857c3f 100644 ---- a/client/Makefile.am -+++ b/client/Makefile.am -@@ -26,6 +26,5 @@ libtdnf_la_LIBADD = \ - @top_builddir@/solv/libtdnfsolv.la \ - $(top_builddir)/common/libcommon.la \ - @LIBCURL_LIBS@ \ -- -lrpm \ -- -lsolv \ -- -lsolvext -+ @RPM_LIBS@ \ -+ @LIBSOLVEXT_LIBS@ -diff --git a/configure.ac b/configure.ac -index d78bb8c..d5c4a51 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2,7 +2,7 @@ AC_INIT(tdnf, 2.0.0) - AC_MSG_NOTICE([tdnf configuration]) - - AC_CANONICAL_SYSTEM --AM_INIT_AUTOMAKE([-Wall -Werror foreign]) -+AM_INIT_AUTOMAKE([-Wall foreign]) - - AC_CONFIG_TESTDIR(tests) - -@@ -15,29 +15,30 @@ AC_PROG_LIBTOOL - CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_GNU_SOURCE -fPIC" - - AM_CPPFLAGS="$AM_CPPFLAGS -I${top_srcdir}/include" --AM_CFLAGS="$AM_CFLAGS -Wall -Werror -fno-strict-aliasing" -+AM_CFLAGS="$AM_CFLAGS -std=gnu99 -Wall -fno-strict-aliasing" - - CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_GNU_SOURCE -fPIC" - AC_SUBST(AM_CPPFLAGS) - AC_SUBST(AM_CFLAGS) - - #libsolv --echo "Looking for libsolv headers" --AC_CHECK_HEADERS(solv/pool.h) -+PKG_CHECK_MODULES([LIBSOLV], [libsolv], [have_libsolv=yes], [have_libsolv=no]) -+PKG_CHECK_MODULES([LIBSOLVEXT], [libsolvext], [have_libsolvext=yes], [have_libsolvext=no]) -+AM_CONDITIONAL([LIBSOLV], [test "$have_libsolv" = "yes"]) -+AM_CONDITIONAL([LIBSOLVEXT], [test "$have_libsolvext" = "yes"]) - --echo "Looking for libsolv libs" --AC_CHECK_LIB(solv, pool_create) -- --#licurl -+#libcurl - PKG_CHECK_MODULES([LIBCURL], [libcurl], [have_libcurl=yes], [have_libcurl=no]) - AM_CONDITIONAL([LIBCURL], [test "$have_libcurl" = "yes"]) - - #rpm --echo "Looking for librpm headers" --AC_CHECK_HEADERS(rpm/rpmlib.h) -+PKG_CHECK_MODULES([RPM], [rpm], [have_rpm=yes], [have_rpm=no]) -+AM_CONDITIONAL([RPM], [test "$have_rpm" = "yes"]) -+ -+# test to prove rpm.org rpm -+echo "Looking for rpm.org librpm headers" -+AC_CHECK_HEADERS(rpm/header.h) - --echo "Looking for librpm libs" --AC_CHECK_LIB(rpm, rpmtsCreate) - - #makefiles - AC_CONFIG_FILES([Makefile -diff --git a/solv/Makefile.am b/solv/Makefile.am -index 6625b3b..ef546a9 100644 ---- a/solv/Makefile.am -+++ b/solv/Makefile.am -@@ -10,5 +10,5 @@ libtdnfsolv_la_SOURCES = \ - - libtdnfsolv_la_LDFLAGS = \ - -static \ -- -lrpm \ -- -lsolv -+ @RPM_LIBS@ \ -+ @LIBSOLV_LIBS@ -diff --git a/tdnf-cli-libs.pc.in b/tdnf-cli-libs.pc.in -index 0912b68..4523e4d 100644 ---- a/tdnf-cli-libs.pc.in -+++ b/tdnf-cli-libs.pc.in -@@ -6,6 +6,6 @@ includedir=@includedir@/tdnf - Name: tdnf-cli-libs - Description: tdnf cli libs - Version: @VERSION@ --Requires: -+Requires: tdnf - Libs: -L${libdir} -ltdnfcli - Cflags: -I${includedir} -diff --git a/tdnf.pc.in b/tdnf.pc.in -index 811568d..4ad7a07 100644 ---- a/tdnf.pc.in -+++ b/tdnf.pc.in -@@ -6,6 +6,6 @@ includedir=@includedir@/tdnf - Name: tdnf - Description: tiny dandified yum - Version: @VERSION@ --Requires:libsolv rpm -+Requires: libsolv libsolvext rpm libcurl - Libs: -L${libdir} -ltdnf - Cflags: -I${includedir} --- -2.17.0 - diff --git a/patches/tdnf-2.1.1_pre.local.patch b/patches/tdnf-2.1.1_pre.local.patch new file mode 100644 index 0000000..5245956 --- /dev/null +++ b/patches/tdnf-2.1.1_pre.local.patch @@ -0,0 +1,28 @@ +From 047b306ec03d4d83c66653f75de448e697cb8c0c Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Fri, 29 May 2020 19:17:58 -0400 +Subject: [PATCH] CMakeLists: Disable building Python stuff for now + +We do not need the Python bindings at the moment... + +Signed-off-by: Neal Gompa +--- + CMakeLists.txt | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 25ee54e..b126bb0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -66,8 +66,6 @@ set(LIB_TDNF_CLI tdnfcli) + add_subdirectory("${PROJECT_SOURCE_DIR}/common") + add_subdirectory("${PROJECT_SOURCE_DIR}/client") + add_subdirectory("${PROJECT_SOURCE_DIR}/plugins") +-add_subdirectory("${PROJECT_SOURCE_DIR}/python") + add_subdirectory("${PROJECT_SOURCE_DIR}/resources") + add_subdirectory("${PROJECT_SOURCE_DIR}/solv") + add_subdirectory("${PROJECT_SOURCE_DIR}/tools") +-add_subdirectory("${PROJECT_SOURCE_DIR}/pytests") +-- +2.26.1 + diff --git a/vars/tdnf.vars b/vars/tdnf.vars new file mode 100644 index 0000000..d33a55e --- /dev/null +++ b/vars/tdnf.vars @@ -0,0 +1,22 @@ +# +# set +o errexit -o noglob -o nounset is assumed. +# + +pkg_tdnf_configure() { + if ! rtl_fileop rm config.cache \ + || ! env CFLAGS="-L${PKG_PREFIX}/lib --sysroot=${PKG_PREFIX}" PREFIX="" \ + cmake -DCMAKE_AR="${PREFIX}/bin/${PKG_AR}" \ + -DCMAKE_C_COMPILER="${PREFIX}/bin/${PKG_CC}" \ + -DCMAKE_CXX_COMPILER="${PREFIX}/bin/${PKG_TARGET}-g++" \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="ONLY" \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="ONLY" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="NEVER" \ + -DCMAKE_FIND_ROOT_PATH="${PKG_PREFIX}" \ + -DCMAKE_INSTALL_PREFIX="" \ + -DCMAKE_RANLIB="${PREFIX}/bin/${PKG_RANLIB}" \ + "../tdnf-${PKG_VERSION}"; then + return 1; + fi; +}; + +# vim:filetype=sh textwidth=0 From d2fca9ff082c3b1a8a22d068f024537af03aefc9 Mon Sep 17 00:00:00 2001 From: Lucio Andrés Illanes Albornoz Date: May 30 2020 22:06:40 +0000 Subject: [PATCH 3/4] patches/tdnf-2.1.1_pre.local.patch: fix libtdnfcli library dependencies. vars/tdnf.vars:pkg_tdnf_configure(): export ${PKG_CONFIG{,_LIBDIR}} during execution. vars/tdnf.vars:pkg_tdnf_configure(): define ${OPENSSL_LIBRARY} as ${PKG_PREFIX}/lib/libcrypto.so. Signed-off-by: Lucio Andrés Illanes Albornoz Signed-off-by: Neal Gompa --- diff --git a/patches/tdnf-2.1.1_pre.local.patch b/patches/tdnf-2.1.1_pre.local.patch index 5245956..15189a8 100644 --- a/patches/tdnf-2.1.1_pre.local.patch +++ b/patches/tdnf-2.1.1_pre.local.patch @@ -26,3 +26,25 @@ index 25ee54e..b126bb0 100644 -- 2.26.1 +--- tdnf-2.1.1/tools/cli/lib/CMakeLists.txt.orig 2020-05-29 18:28:42.000000000 +0100 ++++ tdnf-2.1.1/tools/cli/lib/CMakeLists.txt 2020-05-30 21:15:15.525966612 +0100 +@@ -6,6 +6,8 @@ + # of the License are located in the COPYING file of this distribution. + # + ++include_directories(${CMAKE_SOURCE_DIR}/include) ++ + # configure pkgconfig file + configure_file( + tdnfcli.pc.in +@@ -26,6 +28,10 @@ + updateinfocmd.c + ) + ++target_link_libraries(${LIB_TDNF_CLI} ++ ${LIB_TDNF} ++ ${LIB_TDNF_COMMON} ++) + + set_target_properties(${LIB_TDNF_CLI} PROPERTIES + VERSION ${PROJECT_VERSION} diff --git a/vars/tdnf.vars b/vars/tdnf.vars index d33a55e..c95150c 100644 --- a/vars/tdnf.vars +++ b/vars/tdnf.vars @@ -3,20 +3,29 @@ # pkg_tdnf_configure() { - if ! rtl_fileop rm config.cache \ - || ! env CFLAGS="-L${PKG_PREFIX}/lib --sysroot=${PKG_PREFIX}" PREFIX="" \ - cmake -DCMAKE_AR="${PREFIX}/bin/${PKG_AR}" \ - -DCMAKE_C_COMPILER="${PREFIX}/bin/${PKG_CC}" \ - -DCMAKE_CXX_COMPILER="${PREFIX}/bin/${PKG_TARGET}-g++" \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="ONLY" \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="ONLY" \ - -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="NEVER" \ - -DCMAKE_FIND_ROOT_PATH="${PKG_PREFIX}" \ - -DCMAKE_INSTALL_PREFIX="" \ - -DCMAKE_RANLIB="${PREFIX}/bin/${PKG_RANLIB}" \ + local _rc=0; + rtl_export_vars \ + PKG_CONFIG "${PKG_PKG_CONFIG:-}" \ + PKG_CONFIG_LIBDIR "${PKG_PKG_CONFIG_LIBDIR:-}"; + if ! rtl_fileop rm config.cache \ + || ! env CFLAGS="-L${PKG_PREFIX}/lib --sysroot=${PKG_PREFIX}" PREFIX="" \ + cmake -DCMAKE_AR="${PREFIX}/bin/${PKG_AR}" \ + -DCMAKE_C_COMPILER="${PREFIX}/bin/${PKG_CC}" \ + -DCMAKE_CXX_COMPILER="${PREFIX}/bin/${PKG_TARGET}-g++" \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="ONLY" \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="ONLY" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="NEVER" \ + -DCMAKE_FIND_ROOT_PATH="${PKG_PREFIX}" \ + -DCMAKE_INSTALL_PREFIX="" \ + -DCMAKE_RANLIB="${PREFIX}/bin/${PKG_RANLIB}" \ + -DOPENSSL_LIBRARY="${PKG_PREFIX}/lib/libcrypto.so" \ "../tdnf-${PKG_VERSION}"; then - return 1; + _rc=1; fi; + rtl_export_vars -u \ + PKG_CONFIG "${PKG_PKG_CONFIG:-}" \ + PKG_CONFIG_LIBDIR "${PKG_PKG_CONFIG_LIBDIR:-}"; + return "${_rc}"; }; # vim:filetype=sh textwidth=0 From 6011063e95a331dff44057e605fa72b9660450e2 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: May 30 2020 23:06:30 +0000 Subject: [PATCH 4/4] groups/231.native_packages_etc.group: rpm: Set prefix to /usr This will ensure the rpm macros are set properly so that rpm does not choke at runtime. Signed-off-by: Neal Gompa --- diff --git a/groups/231.native_packages_etc.group b/groups/231.native_packages_etc.group index be5abbf..ebf49cc 100644 --- a/groups/231.native_packages_etc.group +++ b/groups/231.native_packages_etc.group @@ -257,7 +257,7 @@ zstd")"; : ${PKG_RPM_SHA256SUM:=ddef45f9601cd12042edfc9b6e37efcca32814e1e0f4bb8682d08144a3e2d230}; : ${PKG_RPM_VERSION:=4.15.1}; : ${PKG_RPM_URL:=http://ftp.rpm.org/releases/rpm-${PKG_RPM_VERSION%.*}.x/rpm-${PKG_RPM_VERSION}.tar.bz2}; -: ${PKG_RPM_CONFIGURE_ARGS_EXTRA:="--with-lua --enable-ndb --disable-bdb --enable-zstd --with-crypto=libgcrypt --with-vendor=midipix"}; +: ${PKG_RPM_CONFIGURE_ARGS:="-C --disable-nls --host=${DEFAULT_TARGET} --prefix=/usr --target=${DEFAULT_TARGET} --with-lua --enable-ndb --disable-bdb --enable-zstd --with-crypto=libgcrypt --with-vendor=midipix"}; : ${PKG_RPM_ENV_VARS_EXTRA:="LIBGCRYPT_CONFIG=${PREFIX_NATIVE}/bin/libgcrypt-config"}; : ${PKG_RW_SHA256SUM:=50009730e36991dfe579716f91f4f616f5ba05ffb7bf69c03d41bf305ed93b6d}; : ${PKG_RW_VERSION:=1.0};