On Wed, Jul 12, 2017 at 1:52 PM, Sanford Rockowitz <rockowitz@xxxxxxxxxxx> wrote: > I hope this list is appropriate for asking a question regarding rpm file > ownership. As a relative rpm newbie, I suspect I'm missing some piece of > "secret sauce" that's just obvious to anyone with rpm experience. If there's > a more appropriate place to post the question, I'd appreciate a pointer. > Thanks in advance. > > The application in question is named ddcutil. I'm creating directories > /usr/share/ddcutil and /usr/share/doc/ddcutil and saving files in them. rpm > marks the files as being owned by ddcutil, but not the directories. Don't waste your time. Simply declare the files in your build directory as "%doc" in your .spec file, and they will wind up copied to /usr/share/doc/ddcutile-%{version} automatically. > As I read the documentation (e.g. e.g. > https://fedoraproject.org/wiki/How_to_create_an_RPM_package, > http://www.tldp.org/HOWTO/RPM-HOWTO/build.html), a directory is regarded as > being owned by an application if the directory name is specified either a) > without the %dir macro (in which case all files in the directory tree rooted > at the specified name are marked owned and installed) or b) prefaced by the > %dir macro, in which case only the directory is marked. I've tried both > ways. > > The observed problem is similar for /usr/share/ddcutil and > /usr/share/doc/ddcutil, so I'll give details only for the former. > > Here's the relevant segment from the %files section: > > %{_datadir}/%{name} > > Alternatively, I've tried coding the segment as follows: > > %dir %{_datadir}/%{name} > %dir %{_datadir}/%{name}/data > %{_datadir}/%{name}/data/*rules > %{_datadir}/%{name}/data/90-nvidia-i2c.conf > > In either case, the built rpm creates the directories and saves the files. > The individual files are regarded as being owned by ddcutil, but not the > directories. Why would you want anything in /usr/share/doc/ owned as anything other than root, which is the default? Basically, stop trying to replace the "%doc" macro with your own handwritten workaround. > What do I need to do to cause the directories to be owned? > > In more detail, querying rpm shows that the files are saved and are owned by > ddcutil, but the directories are not owned by ddcutil: > > [rock@banner results]$ rpm -ql ddcutil > /usr/bin/ddcutil > /usr/lib/.build-id > /usr/lib/.build-id/db > /usr/lib/.build-id/db/011d82f3eab5166e52eec359cb76b0773fd965 > /usr/share/ddcutil/data/45-ddcutil-i2c.rules > /usr/share/ddcutil/data/45-ddcutil-usb.rules > /usr/share/ddcutil/data/90-nvidia-i2c.conf > /usr/share/doc/ddcutil/AUTHORS > /usr/share/doc/ddcutil/COPYING > /usr/share/doc/ddcutil/NEWS > /usr/share/doc/ddcutil/README.md > /usr/share/man/man1/ddcutil.1.gz > > [rock@banner results]$ rpm -qf > /usr/share/ddcutil/data/45-ddcutil-i2c.rules > ddcutil-0.8.3-1.fc27.x86_64 > > [rock@banner results]$ rpm -q --whatprovides > /usr/share/ddcutil/data/45-ddcutil-i2c.rules > ddcutil-0.8.3-1.fc27.x86_64 > > [rock@banner results]$ rpm -q --whatprovides /usr/share/ddcutil > file /usr/share/ddcutil is not owned by any package > > [rock@banner results]# rpm -qf /usr/share/ddcutil > file /usr/share/ddcutil is not owned by any package > > The report from fedora-review is consistent with rpm --query: > > [ ]: Package requires other packages for directories it uses. > Note: No known owner of /usr/share/doc/ddcutil > [ ]: Package must own all directories that it creates. > Note: Directories without known owners: /usr/share/doc/ddcutil, > /usr/share/ddcutil, /usr/share/ddcutil/data > > _______________________________________________ > packaging mailing list -- packaging@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to packaging-leave@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ packaging mailing list -- packaging@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to packaging-leave@xxxxxxxxxxxxxxxxxxxxxxx