Re: Listing files twice and %lang behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/25/20 11:16 PM, Miro Hrončok wrote:
Hello RPM list.

I've recently discovered a little quirk and would like to know what is the proper behavior and whether we can make it so if there is none.


For many times, I have used an equivalent of this:

     %files
     /xxx/foo/
     %lang(de) /xxx/foo/locale/de/LC_MESSAGES/foo.mo
     %lang(es) /xxx/foo/locale/es/LC_MESSAGES/foo.mo

It gives a warning:

   warning: File listed twice: /xxx/foo/locale/de/LC_MESSAGES/foo.mo
   warning: File listed twice: /xxx/foo/locale/es/LC_MESSAGES/foo.mo

But achieves the goal I need:

1) I don't have to carefully expand the directory structure of /xxx/foo/ and %dir-dance around the .mo files.
2) The files end up being marked as %lang at the end.


However, it seems that it is not always the case. I have a spec file at

https://src.fedoraproject.org/fork/churchyard/rpms/mu/blob/rpm-list-reporducer/f/mu.spec

That produces a list of files of this sort (hidden in %{pyproject_files}, but the file is cat'ed in %check for easier inspection).

The file list contains:

   ...
  %lang(de) /usr/lib/python3.9/site-packages/mu/locale/de_DE/LC_MESSAGES/mu.mo
   ...
   /usr/lib/python3.9/site-packages/mu/

The warnings happen:

  warning: File listed twice: /usr/lib/python3.9/site-packages/mu/locale/de_DE/LC_MESSAGES/mu.mo
   ...

But the files are not marked as %lang:

  $ rpm -q --qf "[%-36{FILENAMES} %{FILELANGS}\n]" -p mu-1.0.3-6.fc34.noarch.rpm
   ...
   /usr/lib/python3.9/site-packages/mu/locale/de_DE/LC_MESSAGES/mu.mo
   ...

https://koji.fedoraproject.org/koji/taskinfo?taskID=56256059

I have not yet figured out when this happens. The order in %files apparently makes no difference.

Is this one of the "it only works by accident" cases? And if so, can we maybe support it? it is really convenient.

Didn't yet look at the details of this case, but inconsistent behavior tends to suggest a bug no matter which way you look at it.

Overall this is a specific case of https://github.com/rpm-software-management/rpm/issues/336 - quoting myself from there:

This is quite a common pattern in packaging where you have a package owned "top" directory and then you'd want that one (or two...) file/directory inside that to differ from the defaults. Whether for file ownership / permission bits or virtual attributes. Not specific to %doc or %license at all.

So it's a common packaging scheme that we should properly support. So far, nobody has turned up with patches though...

	- Panu -

Thanks.

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/mailman/listinfo/rpm-list




[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux