Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 881637 - net-misc/icaclient: sys-libs/llvm-libunwind dependency is problematic and causes conflicts for users
Summary: net-misc/icaclient: sys-libs/llvm-libunwind dependency is problematic and cau...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Henning Schild
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2022-11-17 08:10 UTC by Benny Lønstrup Ammitzbøll
Modified: 2023-01-23 06:49 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge.info.txt,6.22 KB, text/plain)
2022-11-17 08:10 UTC, Benny Lønstrup Ammitzbøll
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benny Lønstrup Ammitzbøll 2022-11-17 08:10:29 UTC
Created attachment 833157 [details]
emerge --info

lg_gram17 ~ # emerge --update --deep --with-bdeps=y --changed-use --quiet-build @world --ask

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-libs/glibc-2.36-r5 [2.35-r8] USE="-hash-sysv-compat%" 
[ebuild     U  ] sys-apps/baselayout-2.9 [2.8]
[ebuild     U  ] sys-kernel/linux-firmware-20221109 [20221012] USE="-compress%" 
[ebuild     U  ] dev-util/mingw64-toolchain-10.0.0_p1-r2 [10.0.0_p1-r1]
[ebuild     U  ] dev-perl/Net-SSLeay-1.920.0 [1.900.0]
[ebuild     U  ] dev-lang/python-3.10.8_p3 [3.10.8_p2]
[ebuild     U  ] dev-lang/python-3.11.0_p2 [3.11.0_p1]
[ebuild     U  ] net-libs/nodejs-18.12.1 [18.10.0]
[ebuild     U  ] net-firewall/iptables-1.8.8-r5 [1.8.8-r4]
[ebuild     U  ] sys-apps/lm-sensors-3.6.0-r1 [3.6.0]
[ebuild     U  ] virtual/rust-1.64.0-r1 [1.64.0]
[ebuild     U  ] dev-python/distro-1.8.0 [1.7.0]
[ebuild  N     ] sys-libs/llvm-libunwind-15.0.3  USE="clang -debug -static-libs -test -verify-sig" ABI_X86="32 (64) (-x32)" 
[ebuild     U  ] media-libs/harfbuzz-5.3.1-r1 [5.3.1]
[ebuild     U  ] dev-python/pillow-9.3.0 [9.2.0]
[ebuild     U  ] www-client/google-chrome-107.0.5304.110 [107.0.5304.87]
[ebuild     U ~] net-im/zoom-5.12.6.173 [5.12.2.4816]
[ebuild    fU ~] net-misc/icaclient-22.9.0.21-r2 [22.9.0.21-r1]
[ebuild     U  ] mail-client/thunderbird-bin-102.5.0 [102.4.2]
[ebuild     U  ] www-client/firefox-bin-107.0 [106.0.5]
[blocks B      ] sys-libs/libunwind ("sys-libs/libunwind" is soft blocking sys-libs/llvm-libunwind-15.0.3)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (sys-libs/libunwind-1.6.2:0/8::gentoo, installed) pulled in by
    sys-libs/libunwind:=[abi_x86_32(-)?,abi_x86_64(-)?] (sys-libs/libunwind:=[abi_x86_32(-),abi_x86_64(-)]) required by (app-emulation/wine-vanilla-7.0-r3:7.0/7.0::gentoo, installed) USE="X alsa cups fontconfig gecko gstreamer mingw mono nls opengl pulseaudio scanner sdl ssl truetype udev udisks unwind usb vkd3d vulkan xcomposite -capi -crossdev-mingw -custom-cflags -debug -dos -gphoto2 -kerberos -ldap -llvm-libunwind -netapi -odbc -openal -opencl -osmesa -pcap -perl -samba (-selinux) -v4l -xinerama" ABI_X86="32 64"
    sys-libs/libunwind:0/8=[abi_x86_32(-),abi_x86_64(-)] required by (app-emulation/wine-vanilla-7.0-r3:7.0/7.0::gentoo, installed) USE="X alsa cups fontconfig gecko gstreamer mingw mono nls opengl pulseaudio scanner sdl ssl truetype udev udisks unwind usb vkd3d vulkan xcomposite -capi -crossdev-mingw -custom-cflags -debug -dos -gphoto2 -kerberos -ldap -llvm-libunwind -netapi -odbc -openal -opencl -osmesa -pcap -perl -samba (-selinux) -v4l -xinerama" ABI_X86="32 64"

  (sys-libs/llvm-libunwind-15.0.3:0/0::gentoo, ebuild scheduled for merge) pulled in by
    sys-libs/llvm-libunwind required by (net-misc/icaclient-22.9.0.21-r2:0/0::gentoo, ebuild scheduled for merge) USE="" ABI_X86="(64)" L10N="-de -es -fr -ja -zh-CN"


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-18 04:10:49 UTC
The real issue here is net-misc/icaclient depending on llvm-libunwind when you can't easily swap between sys-libs/libunwind and sys-libs/llvm-libunwind right now as not everything supports the latter.

I think we may want to use a bundled copy of libunwind if possible in icaclient?
Comment 2 Arfrever Frehtes Taifersar Arahesis 2022-11-18 06:16:53 UTC
Some idea for testing would be if (with USE="-llvm-libunwind") symlink ${ICAROOT}/lib/libunwind.so.1 pointing to /usr/$(get_libdir)/libunwind.so would work around run-time problem.
Comment 3 Henning Schild 2022-11-19 08:30:43 UTC
icaclient seems to work just fine without the lib installed, but it has at least one binary that links to that lib. There is a feature to improve audio and video when media-plugins/hdx-realtime-media-engine is also installed we really need that unwind lib to make that feature work. In other cases we can probably do without.

I will look into this. I could imagine some use flag in icaclient pulling in media-plugins/hdx-realtime-media-engine and sys-libs/llvm-libunwind with it.

Or even merging media-plugins/hdx-realtime-media-engine into net-misc/icaclient, because they anyhow have a pretty close relationship and that plugin messes around with a config file which we do not carry under config protect. While the client itself contains the binary wanting libunwind ... a binary that is only ever used when the plugin is installed.

I will propose that for the upcoming 22.12 icaclient, while i hope that my PR for 22.11 will be merged without that. We can anytime drop that dep again and move it into media-plugins/hdx-realtime-media-engine as a quick fix.
Comment 4 Benny Lønstrup Ammitzbøll 2022-11-19 10:43:15 UTC
Let me know if there's anything I can do to help test something since I anyway have the error blocking the update.
Comment 5 Jan Hrabe 2022-11-25 17:52:50 UTC
Perhaps the following problem is related.  It is not solved by running emerge @preserved-rebuild and I do not have llvm-libunwind installed on its own.  If it really is a valid dependency, it is not pulled in by icaclient.


!!! existing preserved libs:
>>> package: sys-libs/llvm-libunwind-15.0.3
 *  - /usr/lib64/libunwind.so.1
 *  - /usr/lib64/libunwind.so.1.0
 *      used by /opt/Citrix/ICAClient/lib/libwebrpc.so (net-misc/icaclient-22.5.0.16-r1)
 *      used by /opt/Citrix/ICAClient/util/HdxRtcEngine (net-misc/icaclient-22.5.0.16-r1)
Use emerge @preserved-rebuild to rebuild packages using these libraries
 * After world updates, it is important to remove obsolete packages with
 * emerge --depclean. Refer to `man emerge` for more information.
Comment 6 Henning Schild 2022-11-26 14:23:05 UTC
(In reply to Jan Hrabe from comment #5)
> Perhaps the following problem is related.  It is not solved by running
> emerge @preserved-rebuild and I do not have llvm-libunwind installed on its
> own.  If it really is a valid dependency, it is not pulled in by icaclient.
> 
> 
> !!! existing preserved libs:
> >>> package: sys-libs/llvm-libunwind-15.0.3
>  *  - /usr/lib64/libunwind.so.1
>  *  - /usr/lib64/libunwind.so.1.0
>  *      used by /opt/Citrix/ICAClient/lib/libwebrpc.so
> (net-misc/icaclient-22.5.0.16-r1)
>  *      used by /opt/Citrix/ICAClient/util/HdxRtcEngine
> (net-misc/icaclient-22.5.0.16-r1)
> Use emerge @preserved-rebuild to rebuild packages using these libraries
>  * After world updates, it is important to remove obsolete packages with
>  * emerge --depclean. Refer to `man emerge` for more information.

That report is solved in newer versions with the dependency to libunwind-llvm. To get rid of it you can update to 22.9, and soon 22.11. At least you can do that in case you can actually install libunwind-llvm.

Kind of related, and already known and fixed, just not in 22.5
Comment 7 Larry the Git Cow gentoo-dev 2022-12-24 07:03:04 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9fc0e563e8d4c73be09fd6ae98b679d1927fe8e

commit c9fc0e563e8d4c73be09fd6ae98b679d1927fe8e
Author:     Henning Schild <henning@hennsch.de>
AuthorDate: 2022-12-01 14:40:48 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-12-24 06:55:50 +0000

    net-misc/icaclient: bump to 22.12.0.12
    
    Here we do not just bump the version but also change the way we deal
    with the shared config file between this ebuild and its plugin
    media-plugins/hdx-realtime-media-engine.
    Also we move the rdep to sys-libs/llvm-libunwind to the plugin. And if
    the user wants hdx support on icaclient they have to set a USE flag. The
    plugin will not work if icaclient is not built with support for it and
    the plugin itself contains the tool to enable itself so we turn the dep
    chain around, the plugin is even a bdep of the application.
    
    Closes: https://bugs.gentoo.org/883775
    Closes: https://bugs.gentoo.org/881637
    Signed-off-by: Henning Schild <henning@hennsch.de>
    Closes: https://github.com/gentoo/gentoo/pull/28493
    Signed-off-by: Sam James <sam@gentoo.org>

 ...dx-realtime-media-engine-2.9.500.2802-r1.ebuild |  88 +++++++
 net-misc/icaclient/Manifest                        |   2 +
 net-misc/icaclient/icaclient-22.12.0.12.ebuild     | 276 +++++++++++++++++++++
 net-misc/icaclient/metadata.xml                    |   3 +
 4 files changed, 369 insertions(+)
Comment 8 Benny Lønstrup Ammitzbøll 2023-01-02 07:54:52 UTC
Thanks, fixed my problem, so this can be closed.
Comment 9 Henning Schild 2023-01-02 19:18:40 UTC
(In reply to Benny Lønstrup Ammitzbøll from comment #8)
> Thanks, fixed my problem, so this can be closed.

Cool. It was already closed when that pull request was merged.
Comment 10 Jan Hrabe 2023-01-20 17:55:35 UTC
(In reply to Henning Schild from comment #6)
> Kind of related, and already known and fixed, just not in 22.5

I am still experiencing this problem after in the latest version (~22.12.0.12-r1):

# emerge @preserved-rebuild
Calculating dependencies                    ... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) net-misc/icaclient-22.12.0.12-r1::gentoo
 * linuxx64-22.12.0.12.tar.gz BLAKE2B SHA512 size ;-) ...                [ ok ]

...
...

>>> Install net-misc/icaclient-22.12.0.12-r1 into /var/tmp/portage/net-misc/icaclient-22.12.0.12-r1/image
>>> Completed installing net-misc/icaclient-22.12.0.12-r1 into /var/tmp/portage/net-misc/icaclient-22.12.0.12-r1/image

 * Final size of build directory: 425500 KiB (415.5 MiB)
 * Final size of installed tree:  195300 KiB (190.7 MiB)

scanelf: rpath_security_checks(): Security problem with relative DT_RPATH '.:$ORIGIN/' in /var/tmp/portage/net-misc/icaclient-22.12.0.12-r1/image/opt/Citrix/ICAClient/lib/libwebrpc.so

>>> Installing (1 of 1) net-misc/icaclient-22.12.0.12-r1::gentoo
 * Updating .desktop files database ...                                  [ ok ]
 * Updating shared mime info database ...                                [ ok ]
 * Updating .desktop files database ...                                  [ ok ]
 * Updating shared mime info database ...                                [ ok ]

 * GNU info directory index is up-to-date.

!!! existing preserved libs:
>>> package: sys-libs/llvm-libunwind-15.0.6
 *  - /usr/lib64/libunwind.so.1
 *  - /usr/lib64/libunwind.so.1.0
 *      used by /opt/Citrix/ICAClient/lib/libwebrpc.so (net-misc/icaclient-22.12.0.12-r1)
 *      used by /opt/Citrix/ICAClient/util/HdxRtcEngine (net-misc/icaclient-22.12.0.12-r1)
Use emerge @preserved-rebuild to rebuild packages using these libraries

--------------------

Here is my emerge --info:

# emerge --info
Portage 3.0.43 (python 3.10.9-final-0, default/linux/amd64/17.1/desktop, gcc-11, glibc-2.36-r5, 6.0.19-gentoo x86_64)
=================================================================
System uname: Linux-6.0.19-gentoo-x86_64-12th_Gen_Intel-R-_Core-TM-_i9-12900K-with-glibc2.36
KiB Mem:   131716344 total, 119937040 free
KiB Swap:  268435452 total, 268435452 free
Timestamp of repository gentoo: Fri, 20 Jan 2023 15:30:01 +0000
Head commit of repository gentoo: 7e444bc742c9866f5dcb08f2ad43593b63eab39b
sh bash 5.1_p16-r2
ld GNU ld (Gentoo 2.39 p5) 2.39.0
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r2::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.36.0-r1::gentoo
dev-lang/python:           3.10.9::gentoo, 3.11.1::gentoo
dev-lang/rust-bin:         1.66.1::gentoo
dev-util/cmake:            3.24.3::gentoo
dev-util/meson:            0.64.1::gentoo
sys-apps/baselayout:       2.9::gentoo
sys-apps/openrc:           0.45.2-r2::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-devel/autoconf:        2.71-r5::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.39-r4::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/clang:           15.0.6-r1::gentoo
sys-devel/gcc:             11.3.1_p20221209::gentoo
sys-devel/gcc-config:      2.8::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/llvm:            15.0.6-r1::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.36-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: True
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts: 

avr
    location: /usr/local/avr
    masters: gentoo
    priority: 0
    volatile: True

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=alderlake -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=alderlake -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=alderlake -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live candy config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=alderlake -O2 -pipe"
GENTOO_MIRRORS="https://gentoo.osuosl.org/ https://mirrors.rit.edu/gentoo/ http://gentoo.mirrors.tds.net/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
LINGUAS="en cs es"
MAKEOPTS="-j16"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvd dvdr elogind emacs encode exif flac foomaticdb fortran gdbm gif gpm gtk gui iconv icu imagemagick jpeg latex lcms libglvnd libnotify libtirpc lock mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf pic png policykit ppds pulseaudio qt5 readline sasl sdl seccomp sound spell split-usr ssl startup-notification svg test-rust thunar tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xattr xcb xft xml xscreensaver xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics wacom" KERNEL="linux" L10N="en cs es" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27 ruby30" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 11 crabbed halo ablution 2023-01-22 22:14:50 UTC
Yeah, it's still going to preserve /usr/lib64/libunwind.so.1.0 and /usr/lib64/libunwind.so.1 if you have had llvm-libunwind installed and it is uninstalled. Is the correct way to rip out /opt/Citrix/ICAClient/lib/libwebrpc.so and /opt/Citrix/ICAClient/util/HdxRtcEngine from icaclient if USE=hdx is not set?
Comment 12 Henning Schild 2023-01-23 06:49:23 UTC
(In reply to Jan Hrabe from comment #10) 
> scanelf: rpath_security_checks(): Security problem with relative DT_RPATH
> '.:$ORIGIN/' in
> /var/tmp/portage/net-misc/icaclient-22.12.0.12-r1/image/opt/Citrix/ICAClient/
> lib/libwebrpc.so

This.

(In reply to Jan Hrabe from comment #10)
> !!! existing preserved libs:
> >>> package: sys-libs/llvm-libunwind-15.0.6
>  *  - /usr/lib64/libunwind.so.1
>  *  - /usr/lib64/libunwind.so.1.0
>  *      used by /opt/Citrix/ICAClient/lib/libwebrpc.so
> (net-misc/icaclient-22.12.0.12-r1)
>  *      used by /opt/Citrix/ICAClient/util/HdxRtcEngine
> (net-misc/icaclient-22.12.0.12-r1)
> Use emerge @preserved-rebuild to rebuild packages using these libraries

And this both look more like nasty warnings to get rid of. I hope the package does work for you after all. In fact i think i would prefer this as a seperate bug, because this one is already closed.

(In reply to crabbed halo ablution from comment #11)
> Is the correct way to rip out /opt/Citrix/ICAClient/lib/libwebrpc.so
> and /opt/Citrix/ICAClient/util/HdxRtcEngine from icaclient if USE=hdx
> is not set?

I do not think so. Taking the package apart has too high of a risk of breaking it. It can internally deal with several versions of several libs and ships all kind of binaries that are only relevant in some cases that a downstream maintainer can not test. So i decided some time ago to leave it like it is, assuming that upstream knows why they include all that.