Curent OF statistics package is broken

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Curent OF statistics package is broken

JuanPi
Hi all (I guess this is mainly Olaf),

The current repository version of the statistics packages completely
fails to install in my system, and the Makefile makes a lot of
assumptions about my workflow that are wrong.

1. It doesn't install the functions from octave core, this makes e.g.
violin function to fail. I can give more detailed information ot help
you fix this for my system. But why not just install those functions?
Why the extra complexity? It seems unjustified to me.

Also, the install option for make is ignoring my octaverc file where I
define the places where packages should go (yes, it just polluted my
home folder!). Why would you do this?

In the same line why do set the "run" with no history and norc! If I
am testing the package I want to do it in my usual octave environment!

I am sure you have a very professional justifications for all this,
but it just doesn't work here. I am not a professional developer and I
can't see why I should spend more effort to just stick to somebody
else workflow.

I strongly suggest we stick to simpler more user-friendly makefiles
like the one in signal.
And we need to release this package soon!

Regards,



--
JuanPi Carbajal
https://goo.gl/ayiJzi

-----
"Why is thought, being a secretion of the brain, more wonderful than
gravity, a property of matter?"
- C. Darwin

Reply | Threaded
Open this post in threaded view
|

Re: Curent OF statistics package is broken

Oliver Heimlich
Am 20. März 2018 16:01:47 MEZ schrieb JuanPi <[hidden email]>:

>Hi all (I guess this is mainly Olaf),
>
>The current repository version of the statistics packages completely
>fails to install in my system, and the Makefile makes a lot of
>assumptions about my workflow that are wrong.
>
>1. It doesn't install the functions from octave core, this makes e.g.
>violin function to fail. I can give more detailed information ot help
>you fix this for my system. But why not just install those functions?
>Why the extra complexity? It seems unjustified to me.
>
>Also, the install option for make is ignoring my octaverc file where I
>define the places where packages should go (yes, it just polluted my
>home folder!). Why would you do this?
>
>In the same line why do set the "run" with no history and norc! If I
>am testing the package I want to do it in my usual octave environment!
>
>I am sure you have a very professional justifications for all this,
>but it just doesn't work here. I am not a professional developer and I
>can't see why I should spend more effort to just stick to somebody
>else workflow.
>
>I strongly suggest we stick to simpler more user-friendly makefiles
>like the one in signal.
>And we need to release this package soon!
>
>Regards,

Hi Juan,

last week I have tried to simplify the Makefile in the interval package, so I can answer some of the questions.

Regarding the install option, there are at least two reasons why it is implemented with --no-rc:

1. The current Makefile tries to detect whether a new install is actually required and only reinstalls the package if the tarball has been modified. The main reason for this is performance since "pkg install" can take some time if there are oct-files to be compiled. To detect whether reinstall is required, the Makefile checks the default package installation directory. To check a custom directory, the Makefile had to query Octave for your local prefix, which is not implemented for simplicity. You can add this detection, but be prepared that execution of make would probably take 1-2 seconds longer.

2. Reproducibility. The install target is only needed for generating the HTML for release on Octave Forge. With the --no-rc option we make sure that the package can be installed on a vanilla Octave setup. We may drop the option, but then the package maintainer has to be very careful with the .octaverc during development to not oversee errors worked around with the custom settings.

I have tried to use a temporary pkg install directory in the Makefile, but that became very complicated since other packages would still be needed from the default directory (generate_html, doctest, other dependencies).

Regarding the run target, I don't see a reason to use no-history and no-rc. Maybe this has just been copy-pasted for no particular reason.

Oliver

Reply | Threaded
Open this post in threaded view
|

Re: Curent OF statistics package is broken

Olaf Till-2
On Wed, Mar 21, 2018 at 07:24:56AM +0100, Oliver Heimlich wrote:

> Am 20. März 2018 16:01:47 MEZ schrieb JuanPi <[hidden email]>:
> >Hi all (I guess this is mainly Olaf),
> >
> >The current repository version of the statistics packages completely
> >fails to install in my system, and the Makefile makes a lot of
> >assumptions about my workflow that are wrong.
> >
> >1. It doesn't install the functions from octave core, this makes e.g.
> >violin function to fail. I can give more detailed information ot help
> >you fix this for my system. But why not just install those functions?
> >Why the extra complexity? It seems unjustified to me.
> >
> >Also, the install option for make is ignoring my octaverc file where I
> >define the places where packages should go (yes, it just polluted my
> >home folder!). Why would you do this?
> >
> >In the same line why do set the "run" with no history and norc! If I
> >am testing the package I want to do it in my usual octave environment!
> >
> >I am sure you have a very professional justifications for all this,
> >but it just doesn't work here. I am not a professional developer and I
> >can't see why I should spend more effort to just stick to somebody
> >else workflow.
> >
> >I strongly suggest we stick to simpler more user-friendly makefiles
> >like the one in signal.
> >And we need to release this package soon!
> >
> >Regards,
>
> Hi Juan,
>
> last week I have tried to simplify the Makefile in the interval package, so I can answer some of the questions.
>
> Regarding the install option, there are at least two reasons why it is implemented with --no-rc:
>
> 1. The current Makefile tries to detect whether a new install is actually required and only reinstalls the package if the tarball has been modified. The main reason for this is performance since "pkg install" can take some time if there are oct-files to be compiled. To detect whether reinstall is required, the Makefile checks the default package installation directory. To check a custom directory, the Makefile had to query Octave for your local prefix, which is not implemented for simplicity. You can add this detection, but be prepared that execution of make would probably take 1-2 seconds longer.
>
> 2. Reproducibility. The install target is only needed for generating the HTML for release on Octave Forge. With the --no-rc option we make sure that the package can be installed on a vanilla Octave setup. We may drop the option, but then the package maintainer has to be very careful with the .octaverc during development to not oversee errors worked around with the custom settings.
>
> I have tried to use a temporary pkg install directory in the Makefile, but that became very complicated since other packages would still be needed from the default directory (generate_html, doctest, other dependencies).
>
> Regarding the run target, I don't see a reason to use no-history and no-rc. Maybe this has just been copy-pasted for no particular reason.
>
> Oliver
JP and Oliver,

sorry for the late reply. In fact the new root level Makefile does
install into a temporary directory, although it was complicated to
implement. This should actually _avoid_ messing up the systems
installation. There is no target to install for your regular use at
your system, this should be done manually by 'pkg install ...'.

JP, I don't understand all what you write. Does the above resolve the
issue? If not, please bear with me and give more detail.

Olaf

--
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net

signature.asc (849 bytes) Download Attachment