<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <pre class="moz-signature" cols="72">regards
Aravinda</pre>
    <div class="moz-cite-prefix">On 05/12/2016 08:23 PM, Niels de Vos
      wrote:<br>
    </div>
    <blockquote
      cite="mid:20160512145323.GU21137@ndevos-x240.usersys.redhat.com"
      type="cite">
      <pre wrap="">On Thu, May 12, 2016 at 04:28:40PM +0530, Aravinda wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">
regards
Aravinda

On 05/12/2016 04:08 PM, Kaushal M wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">The install path should be `$DESTDIR/$PREFIX/&lt;path&gt;`.

PREFIX should be the path under which the file is going to be installed.
</pre>
        </blockquote>
        <pre wrap="">Yes. That is substituted during ./configure if --prefix is passed, otherwise
generated Makefile will have $prefix variable. I think glupy need to
installed on /usr/lib/python2.6/site-packages/  to import python packages
globally while testing. Same rule is used to deploy systemd unit files.
(Prefix is not used)
</pre>
      </blockquote>
      <pre wrap="">
I'm not convinced about this yet. If someone decides to use --prefix, I
think we should honour that everywhere. If that is not common, we can
introduce an additional ./configure option for the uncommon use-cases
like the Python site-packages.

Do you have a reference where the --prefix option explains that some
contents may not use it?</pre>
    </blockquote>
    Following files/dirs are not honoring prefix, I am not sure about
    the exact reason(for example, /var/log or /var/lib/glusterd)<br>
    <br>
    sbin<br>
    sbin/mount.glusterfs<br>
    usr/lib/<br>
    usr/lib/systemd<br>
    usr/lib/systemd/system<br>
    usr/lib/systemd/system/glustereventsd.service<br>
    usr/lib/systemd/system/glusterd.service<br>
    usr/lib/python2.7<br>
    usr/lib/python2.7/site-packages<br>
    usr/lib/python2.7/site-packages/gluster<br>
    usr/lib/python2.7/site-packages/gluster/__init__.pyo<br>
    usr/lib/python2.7/site-packages/gluster/__init__.pyc<br>
    usr/lib/python2.7/site-packages/gluster/__init__.py<br>
    usr/lib/python2.7/site-packages/gluster/glupy<br>
    usr/lib/python2.7/site-packages/gluster/glupy/__init__.pyo<br>
    usr/lib/python2.7/site-packages/gluster/glupy/__init__.pyc<br>
    usr/lib/python2.7/site-packages/gluster/glupy/__init__.py<br>
    var/<br>
    var/lib<br>
    var/lib/glusterd<br>
    var/lib/glusterd/glusterfind<br>
    var/lib/glusterd/glusterfind/.keys<br>
    var/lib/glusterd/groups<br>
    var/lib/glusterd/groups/virt<br>
    var/lib/glusterd/hooks<br>
    var/lib/glusterd/hooks/1<br>
    var/lib/glusterd/hooks/1/delete<br>
    var/lib/glusterd/hooks/1/delete/post<br>
    var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post.py<br>
    var/lib/glusterd/hooks/1/gsync-create<br>
    var/lib/glusterd/hooks/1/gsync-create/post<br>
var/lib/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh<br>
    var/lib/glusterd/hooks/1/reset<br>
    var/lib/glusterd/hooks/1/reset/post<br>
    var/lib/glusterd/hooks/1/reset/post/S31ganesha-reset.sh<br>
    var/lib/glusterd/hooks/1/stop<br>
    var/lib/glusterd/hooks/1/stop/pre<br>
    var/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh<br>
    var/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh<br>
    var/lib/glusterd/hooks/1/start<br>
    var/lib/glusterd/hooks/1/start/post<br>
    var/lib/glusterd/hooks/1/start/post/S31ganesha-start.sh<br>
    var/lib/glusterd/hooks/1/start/post/S30samba-start.sh<br>
    var/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh<br>
    var/lib/glusterd/hooks/1/set<br>
    var/lib/glusterd/hooks/1/set/post<br>
var/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh<br>
    var/lib/glusterd/hooks/1/set/post/S30samba-set.sh<br>
    var/lib/glusterd/hooks/1/add-brick<br>
    var/lib/glusterd/hooks/1/add-brick/pre<br>
var/lib/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh<br>
    var/lib/glusterd/hooks/1/add-brick/post<br>
var/lib/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh<br>
    var/log<br>
    var/log/glusterfs<br>
    var/run<br>
    var/run/gluster<br>
    <br>
    <blockquote
      cite="mid:20160512145323.GU21137@ndevos-x240.usersys.redhat.com"
      type="cite">
      <pre wrap="">

Thanks,
Niels


</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="">DESTDIR is a way to make it easier to package builders to collect
installed files.
It shouldn't be used as an alternative to prefix. And I think software
generally shouldn't be run from DESTDIR.

More information is available at
<a class="moz-txt-link-freetext" href="https://www.gnu.org/software/automake/manual/html_node/DESTDIR.html">https://www.gnu.org/software/automake/manual/html_node/DESTDIR.html</a>
</pre>
        </blockquote>
        <pre wrap="">
</pre>
        <blockquote type="cite">
          <pre wrap="">
On Thu, May 12, 2016 at 3:55 PM, Aravinda <a class="moz-txt-link-rfc2396E" href="mailto:avishwan@redhat.com">&lt;avishwan@redhat.com&gt;</a> wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">regards
Aravinda

On 05/12/2016 02:33 PM, Niels de Vos wrote:

On Thu, May 12, 2016 at 02:01:43PM +0530, Aravinda wrote:

I checked the Makefile.am and configure.ac of glupy, looks good to me. I
don't think we have issue in glupy.

If we run make install with DESTDIR empty then
`${DESTDIR}/usr/lib/python2.6/site-packages/gluster` will become
/usr/lib/python2.6/site-packages/gluster. So we will get that error.

For example,
     DESTDIR= make install
     or
     make install DESTDIR=

Can we check how we are executing smoke test?

I think it is this script, no DESTDIR in there:


<a class="moz-txt-link-freetext" href="https://github.com/gluster/glusterfs-patch-acceptance-tests/blob/master/build.sh">https://github.com/gluster/glusterfs-patch-acceptance-tests/blob/master/build.sh</a>

My guess is that the --prefix ./configure option is not honoured?

DESTDIR will not get substitute during ./configure, it is used during make
install. Once we run ./autogen.sh and ./configure(with whatever prefix),
generated Makefile for glupy is


install-pyglupyPYTHON: $(pyglupy_PYTHON)
     @$(NORMAL_INSTALL)
     @list='$(pyglupy_PYTHON)'; dlist=; list2=; test -n "$(pyglupydir)" ||
list=; \
     if test -n "$$list"; then \
       echo " $(MKDIR_P) '$(DESTDIR)$(pyglupydir)'"; \
       $(MKDIR_P) "$(DESTDIR)$(pyglupydir)" || exit 1; \
     fi; \
     for p in $$list; do \
       if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
       if test -f $$b$$p; then \
         $(am__strip_dir) \
         dlist="$$dlist $$f"; \
         list2="$$list2 $$b$$p"; \
       else :; fi; \
     done; \
     for file in $$list2; do echo $$file; done | $(am__base_list) | \
     while read files; do \
       echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pyglupydir)'"; \
       $(INSTALL_DATA) $$files "$(DESTDIR)$(pyglupydir)" || exit $$?; \
     done || exit $$?; \
     if test -n "$$dlist"; then \
       $(am__py_compile) --destdir "$(DESTDIR)" \
                         --basedir "$(pyglupydir)" $$dlist; \
     else :; fi

If you run `make install` without destdir then it will install to machine's
global path depending on prefix.(If this is the case then their is genuine
"permission denied" error in the machine I think.

If we are packaging or installing to custom target, we should pass DESTDIR.

DESTDIR=/build/install make install



Niels


regards
Aravinda

On 05/12/2016 12:29 PM, Niels de Vos wrote:

On Thu, May 12, 2016 at 01:14:07AM -0400, Raghavendra Gowdappa wrote:

<a class="moz-txt-link-freetext" href="https://build.gluster.org/job/smoke/27674/console">https://build.gluster.org/job/smoke/27674/console</a>

06:09:06 /bin/mkdir: cannot create directory
`/usr/lib/python2.6/site-packages/gluster': Permission denied
06:09:06 make[6]: *** [install-pyglupyPYTHON] Error 1

This definitely is a bug in the installation of glupy. Nothing should
get installed under /usr, teh installation process is instructed to do
its install under /build/install.

Did someone file a bug for this yet?

Thanks,
Niels

06:09:06 make[5]: *** [install-am] Error 2
06:09:06 make[4]: *** [install-recursive] Error 1
06:09:06 make[3]: *** [install-recursive] Error 1
06:09:06 make[2]: *** [install-recursive] Error 1
06:09:06 make[1]: *** [install-recursive] Error 1
06:09:06 make: *** [install-recursive] Error 1
06:09:06 Build step 'Execute shell' marked build as failure
06:09:06 Finished: FAILURE

regards,
Raghavendra
_______________________________________________
Gluster-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a>
<a class="moz-txt-link-freetext" href="http://www.gluster.org/mailman/listinfo/gluster-devel">http://www.gluster.org/mailman/listinfo/gluster-devel</a>


_______________________________________________
Gluster-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a>
<a class="moz-txt-link-freetext" href="http://www.gluster.org/mailman/listinfo/gluster-devel">http://www.gluster.org/mailman/listinfo/gluster-devel</a>



_______________________________________________
Gluster-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a>
<a class="moz-txt-link-freetext" href="http://www.gluster.org/mailman/listinfo/gluster-devel">http://www.gluster.org/mailman/listinfo/gluster-devel</a>
</pre>
          </blockquote>
        </blockquote>
        <pre wrap="">
</pre>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>