Richard Melville wrote:
On 22 May 2017 at 19:56, Bruce Dubbs <[email protected]
<mailto:[email protected]>> wrote:

    Richard Melville wrote:

        On 22 May 2017 at 18:18, Bruce Dubbs <[email protected]
        <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>> wrote:

             Richard Melville wrote:



                 On 21 May 2017 at 16:22, Bruce Dubbs
        <[email protected] <mailto:[email protected]>
                 <mailto:[email protected] <mailto:[email protected]>>
                 <mailto:[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>> wrote:

                      Richard Melville wrote:

                          A minor error but it made my script fail:-

                          *Installed Directory:* /usr/share/icons/hicolor

                          This package does not install that directory,
        but rather
                 installs
                          the file
                          "index.theme" in that directory.


                      Checking my log:

                      BLFS Start INSTALL
                      make[1]: Entering directory
                 '/tmp/hicolor/hicolor-icon-theme-0.15'
                      make[1]: Nothing to be done for 'install-exec-am'.
                        /bin/mkdir -p '/usr/share/icons/hicolor'
                        /usr/bin/install -c -m 644 index.theme
                 '/usr/share/icons/hicolor'

                      So you are right that does install "index.theme",
        but it does
                 also
                      create the /usr/share/icons/hicolor directory if it
        does not
                 already
                      exist.


                 Thanks for your reply Bruce.  I think it would be a help
        (it certainly
                 would have been for me) if the essence of your reply is
        added as a
                 note to
                 the hicolor-icon-theme page in the book.  As an adjunct
        to this,
                 and from
                 my discussion with Ken, it's clear that not all package
        build activity
                 (creating/writing to directories) is recorded in the
        book, but
                 maybe that
                 would make the book too dense.  I'd be interested in your
        view.


             I do not understand what your problem is.  hicolor-icon-theme
        DOES
             create the directory /usr/share/icons/hicolor as demonstrated
        in the
             mkdir command in the log.


        The key to the issue is as you expressed it in your last post on
        the subject:-

        "...but it does also create the /usr/share/icons/hicolor directory
        *if it
        does not already
              exist.*"  My emphasis.

        In other words, if /usr/share/icons/hicolor does *already* exist then
        hicolor-icon-theme does *not* create it, it merely adds index.theme to
        it.  On my build, amongst many other packages, the order of build was
        emacs-25.1, djvulibre-3.5.27, hicolor-icon-theme-0.15.  My build logs
        clearly show that emacs created and wrote to /usr/share/icons/hicolor,
        then djvulibre created further files in that directory, and finally,
        hicolor-icon-theme added index.theme to the already existing
        directory tree.

           It's not a build problem as such, merely misleading information
        on the
        hicolor-icon-theme page in the BLFS book.  It's misleading because
        it is
        stated clearly that hicolor-icon-theme creates
        /usr/share/icons/hicolor
        when on my build, and probably many others, it didn't.  Maybe my
        scripts
        are arcane, but they always look for an installed
        directory/file/header to
        see whether that package has already been installed or not.  In
        this case
        the script saw that /usr/share/icons/hicolor already existed and
        assumed
        that hicolor-icon-theme had already been installed when, in
        reality, it
        hadn't.

        All I'm suggesting is an addition to the page stating exactly what you
        originally confirmed: that hicolor-icon-theme creates
        /usr/share/icons/hicolor ONLY IF IT DOES NOT ALREADY EXIST.


    I'm not going to open that bucket of worms.  Almost every packages
    does something like:

    mkdir -p /usr/bin


Clearly, I wouldn't use /usr/bin as an identifier for a particular
package, but rather the unique binary file installed under it.


    The effort to document such minutia does not justify the trivial benefit.


The point is that I've built literally hundreds of packages using my
method and the only one to fail, due to other packages trying to create
the same directory tree, has been hicolor-icon-theme.  That's not to say
that there aren't others, but I haven't come across them yet.  It's true
that, on my build, both emacs and djvulibre tried to create the same
directory tree but they both have unique bins/libs that can be used as
identifiers.  All I'm asking is that on the hicolor-icon-theme page we add
"index.theme" to the directory tree that it creates, thus making it unique.

index.theme is not a directory. Since you are the only one with this problem, why don't you just adjust your script to handle an exception?

  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to