All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* Re: [oe] [meta-webserver][PATCH] apache2: fix multilib files confliction
       [not found] <17C8A435646BE571.1215@lists.openembedded.org>
@ 2024-04-23  3:27 ` Kai
  0 siblings, 0 replies; only message in thread
From: Kai @ 2024-04-23  3:27 UTC (permalink / raw
  To: Kai Kang, openembedded-devel

On 4/22/24 23:36, Kai Kang wrote:
> From: Kai Kang <kai.kang@windriver.com>
>
> There are files confliction of apache2 when multilib enabled:

Please ignore it. v2 will be sent.

Regards,

Kai

>
> Error: Transaction test error:
>    file /usr/share/apache2/build/config.nice conflicts between attempted
>      installs of apache2-dev-2.4.58-r0.cortexa57 and lib32-apache2-dev-2.4.58-r0.armv7vet2hf_vfp
>    file /usr/share/apache2/build/config_vars.mk conflicts between
>      attempted installs of apache2-dev-2.4.58-r0.cortexa57 and lib32-apache2-dev-2.4.58-r0.armv7vet2hf_vfp
>
> Set 'installbuilddir' to install dir 'build' to ${libexecdir} to fix the
> confliction. And inherit bbclasses multilib_script and multilib_header
> to fix follow up conflictions:
>
>    file /usr/bin/apxs conflicts between attempted installs of
>      apache2-dev-2.4.58-r0.cortexa57 and lib32-apache2-dev-2.4.58-r0.armv7vet2hf_vfp
>    file /usr/include/apache2/ap_config_layout.h conflicts between
>      attempted installs of apache2-dev-2.4.58-r0.cortexa57 and lib32-apache2-dev-2.4.58-r0.armv7vet2hf_vfp
>
> Since multilib_script inherits update-alternatives, remove it from
> inherit line for beautification.
>
> Signed-off-by: Kai Kang <kai.kang@windriver.com>
> ---
>   .../recipes-httpd/apache2/apache2_2.4.59.bb   | 31 ++++++++++++-------
>   1 file changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb
> index b96e8b4e1..1827d652f 100644
> --- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb
> +++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb
> @@ -31,7 +31,7 @@ SRC_URI[sha256sum] = "ec51501ec480284ff52f637258135d333230a7d229c3afa6f6c2f9040e
>   
>   S = "${WORKDIR}/httpd-${PV}"
>   
> -inherit autotools update-rc.d pkgconfig systemd update-alternatives
> +inherit autotools update-rc.d pkgconfig systemd multilib_script multilib_header
>   
>   DEPENDS = "openssl expat pcre apr apr-util apache2-native "
>   
> @@ -80,7 +80,10 @@ EXTRA_OECONF:class-native = "\
>       "
>   
>   do_configure:prepend() {
> -    sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' ${S}/config.layout
> +    # only modify layout Debian which is adopted
> +    sed -i -e '/Layout Debian/,/\Layout/ s#\(cgidir:\s*\).*#\1${libexecdir}/cgi-bin#g' \
> +        -e '/Layout Debian/,/\Layout/ s#\(installbuilddir:\s*\).*#\1${libexecdir}/${PN}/build#g' \
> +        ${S}/config.layout
>   }
>   
>   do_install:append:class-target() {
> @@ -119,14 +122,14 @@ do_install:append:class-target() {
>              -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-ffile-prefix-map[^ ]*,,g' \
>              -e 's,${HOSTTOOLS_DIR}/,,g' \
>              -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
> -           -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
> +           -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${libexecdir}/${PN}/build/config_vars.mk
>   
>       sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>              -e 's,${DEBUG_PREFIX_MAP},,g' \
>              -e 's,${RECIPE_SYSROOT},,g' \
>              -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
>              -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
> -           -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
> +           -e 's,".*/configure","configure",g' ${D}${libexecdir}/${PN}/build/config.nice
>   
>       if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
>           install -d ${D}${sysconfdir}/tmpfiles.d/
> @@ -143,6 +146,8 @@ do_install:append:class-target() {
>   
>       rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars*
>       chown -R root:root ${D}
> +
> +    oe_multilib_header apache2/ap_config_layout.h
>   }
>   
>   do_install:append:class-native() {
> @@ -159,13 +164,13 @@ apache_sysroot_preprocess() {
>       install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}
>       sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
>   
> -    sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
> -    sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
> -    sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
> -    sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
> -    sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
> -    sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
> -    sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
> +    sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk
> +    sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk
> +    sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk
> +    sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk
> +    sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk
> +    sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk
> +    sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk
>   }
>   
>   # Implications - used by update-rc.d scripts
> @@ -178,6 +183,8 @@ SYSTEMD_AUTO_ENABLE:${PN} = "enable"
>   ALTERNATIVE:${PN}-doc = "htpasswd.1"
>   ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
>   
> +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apxs"
> +
>   PACKAGES = "${PN}-utils ${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
>   
>   CONFFILES:${PN} = "${sysconfdir}/${BPN}/httpd.conf \
> @@ -200,7 +207,7 @@ FILES:${PN}-utils = "${bindir}/ab \
>   # We override here rather than append so that .so links are
>   # included in the runtime package rather than here (-dev)
>   # and to get build, icons, error into the -dev package
> -FILES:${PN}-dev = "${datadir}/${BPN}/build \
> +FILES:${PN}-dev = "${libexecdir}/${PN}/build \
>                      ${datadir}/${BPN}/icons \
>                      ${datadir}/${BPN}/error \
>                      ${includedir}/${BPN} \
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#110106): https://lists.openembedded.org/g/openembedded-devel/message/110106
> Mute This Topic: https://lists.openembedded.org/mt/105671896/3616933
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [kai.kang@eng.windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>

-- 
Kai Kang
Wind River Linux



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-23  3:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <17C8A435646BE571.1215@lists.openembedded.org>
2024-04-23  3:27 ` [oe] [meta-webserver][PATCH] apache2: fix multilib files confliction Kai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.