<p dir="ltr"><br>
On Jul 2, 2015 7:43 AM, &quot;Vít Ondruch&quot; &lt;<a href="mailto:vondruch@redhat.com">vondruch@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi,<br>
&gt;<br>
&gt; I am trying to update rubygem-apipie-rails and on that occasion, I&#39;m<br>
&gt; going to unbundle the jquery. I did that by specifying &quot;Requires:<br>
&gt; js-jquery1&quot; and replacing the original file by symlink. And now rpmlint<br>
&gt; complains:<br>
&gt;<br>
&gt; rubygem-apipie-rails.noarch: W: dangling-symlink<br>
&gt; /usr/share/gems/gems/apipie-rails-0.3.4/app/public/apipie/javascripts/bundled/jquery-1.7.2.js<br>
&gt; /usr/share/javascript/jquery/1/jquery.js<br>
&gt; The target of the symbolic link does not exist within this package or<br>
&gt; its file<br>
&gt; based dependencies.  Verify spelling of the link target and that the<br>
&gt; target is<br>
&gt; included in a package in this package&#39;s dependency chain.<br>
&gt;<br>
&gt;<br>
&gt; I could resolve this by &quot;Requires: %{_jsdir}/jquery/1/jquery.js&quot; and I&#39;d<br>
&gt; love to do it, but this practice is discouraged by guidelines. Now I am<br>
&gt; wondering:<br>
&gt;<br>
&gt; 1) Is this reasonable to use the file dependnecy in this case, although<br>
&gt; it is outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin directories?</p>
<p dir="ltr">Not if you can stop it another way which it appears you do.</p>
<p dir="ltr">&gt; 2) Does this reasoning: &quot;Using file dependencies outside of those<br>
&gt; directories requires yum (and other depsolvers using the repomd format)<br>
&gt; to download and parse a large xml file looking for the dependency.&quot;<br>
&gt; still holds with recent move to DNF?</p>
<p dir="ltr">Not unless dnf always downloads the complete filelist repodata.  Since dnf is supposed to be faster than yum doubt that it does that.  Even if it did doo that it&#39;s likely that a future optimization would reestablish this behavior as the complete filelist is so big.</p>
<p dir="ltr">&gt; Isn&#39;t time to drop this paragraph?</p>
<p dir="ltr">From the above description it hopefully is apparent that dropping out at this time would be detrimental.  <br>
&gt; Isn&#39;t this &quot;large xml&quot; downloaded anyway for some reason? </p>
<p dir="ltr">The large file being downloaded contains the complete mapping of packages to the files they contain.  This ain&#39;t of information is not needed in the majority of cases.  Usually the much smaller list of files (and package names and provides) which are contained in the main metadata is sufficient. The files which are in the main metadata are those which are in the directories listed in the guidelines.</p>
<p dir="ltr">&gt; Do we know<br>
&gt; what is the real benefit, if there is some?<br>
&gt;</p>
<p dir="ltr">You can look at the sizes of the repo metadata files on a mirror (or in the yum cache if you were unfortunate enough to have to download the filelist for a previous transaction).  The savings is avoiding having to download the filelist.</p>
<p dir="ltr">-Toshio</p>