On Mon, Dec 30, 2019 at 3:29 PM John Florian <jflorian(a)doubledog.org> wrote:
I think I found a bug and am hoping someone here can point me in the
right direction as to where to report it. I think this is rpmbuild, but
am not certain.
Anyway, I have a private package that generates a bunch of desktop files
for our users. Both the filename and Name= values inside the desktop
file contain a parenthetical hint to the user. Builds prior to F31 have
had no issue, but with F31 now things fail. Here's an example desktop
file that fails:
~~~
# PICAPS 0001-Mason (Michigan).desktop
[Desktop Entry]
Type=Application
Name=PICAPS 0001-Mason (Michigan)
Categories=Network;RemoteAccess;
Icon=utilities-terminal
Exec=picaps mdct-01pi
Terminal=false
~~~
The failure I see in Koji's build.log looks like this:
~~~
+ cp -pr CHANGELOG.md
/builddir/build/BUILDROOT/plant-launchers-1.15.0-2.git.2.69f8c70.fc31.noarch/usr/share/doc/plant-launchers
+ cp -pr README.md
/builddir/build/BUILDROOT/plant-launchers-1.15.0-2.git.2.69f8c70.fc31.noarch/usr/share/doc/plant-launchers
+ RPM_EC=0
++ jobs -p
+ exit 0
error: No rich dependencies allowed for this type: (Idaho).desktop)
<snip>
error: No rich dependencies allowed for this type:
(Michigan).desktop)
This looks like when RPM tries to autogenerate Provides for these
applications, it trips up because they start with a parenthesis (which
is an indicator of a rich dependency), but "Michigan" or "Idaho" are
not correctly formatted rich dependencies.
Fabio
> Child return code was: 1
> EXCEPTION: [Error()]
> Traceback (most recent call last):
> File "/usr/lib/python3.7/site-packages/mockbuild/trace_decorator.py",
> line 95, in trace
> result = func(*args, **kw)
> File "/usr/lib/python3.7/site-packages/mockbuild/util.py", line 746,
> in do_with_status
> raise exception.Error("Command failed: \n # %s\n%s" % (command,
> output), child.returncode)
> mockbuild.exception.Error: Command failed:
> # /usr/bin/systemd-nspawn -q -M 2145c769ea5744e7b70b9eb2ca4e7029 -D
> /var/lib/mock/f31-build-8562-11880/root -a --capability=cap_ipc_lock
> --bind=/tmp/mock-resolv.el3vagqj:/etc/resolv.conf --setenv=TERM=vt100
> --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock
> --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin
> --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"
> --setenv=PS1=<mock-chroot> \s-\v\$ --setenv=LANG=en_US.UTF-8 -u
> mockbuild bash --login -c /usr/bin/rpmbuild -bb --target noarch --nodeps
> /builddir/build/SPECS/plant-launchers.spec
> ~~~
>
>
> I haven't done a ton with rich deps yet but I cannot imagine these are
> being driven from desktop files now ... or are they? Another thing odd I
> see here is the trailing ')' in the error message. It doesn't seem to
> have a mate and I'm guessing it comes from the format string for
> printing this error.
>
> I've worked around this problem by avoiding the parenthesis like so:
>
> ~~~
> # PICAPS 0001-Mason, Michigan Test.desktop
> [Desktop Entry]
> Type=Application
> Name=PICAPS 0001-Mason, Michigan Test
> Categories=Network;RemoteAccess;
> Icon=utilities-terminal
> Exec=picaps mdct-01pt
> Terminal=false
> ~~~
> _______________________________________________
> devel mailing list -- devel(a)lists.fedoraproject.org
> To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org