|
From: | John Donoghue |
Subject: | Re: build_packages.m script, visibility? |
Date: | Sun, 27 Dec 2015 16:06:21 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 12/26/2015 07:04 PM, John W. Eaton wrote:
On 12/26/2015 08:09 AM, John Donoghue wrote:On 12/25/2015 06:18 PM, Oliver Heimlich wrote:On 26.12.2015 00:11, Nicholas Jankowski wrote:This is because you installed Octave in C:\Octave\… and I did install itI always install via the zip file version and don't run into any adminissues with packages. Can anyone comment if this is always the case, oronly for certain packages? Same problem with the pkg install or pkg update commands?(with higher privileges) in %ProgramFiles%. Later, when running it again, I do not have permission to unzip / install packages in %ProgramFiles%Having it install the default when the program is installed would(should) be easier as it should occur with the same access level used torun the Octave installer.Yes, this would eliminate a lot of pitfalls.Would this happen by opening an instance of Octave set to run the buildpackages script and exit? Can they be "built" before building the installer so they're already installed?As far as I understand, the packages are cross-compiled, butbuild_packages.m does not consider this possibility and does a “classic”installation. It would suffice to extract the tarballs, put the files into the right directories and update the global package database. Thisshould be possible to do with the installer and not run an Octave scriptduring installation.build_packages.m does do the classic install command, however should not be recompiling the packages if they were built already compiled. In fact the makefile etc in the source directory is removed as part of the mxe-octave cross build of the packages. I have a script that is very close to ready for installing cross built packages when building the mxe installer, but it fails on a couple of the current packages and needs to be fixed to work for them. I can provide the script if someone has more time than I do at the moment and wants to work on it?Yes, please post it, or just add what you have now to the mxe-octave archive and we can go from there. It would be great to cross-compile packages and have them distributed with binary distributions so that they are ready to install. It would be even better if we could make that happen for the 4.0.1 release.jwe
Pushed http://hg.octave.org/mxe-octave/rev/bdcddfdc57d0There is a python script tools/pkg-install.py that is called from make to build/install the package - a lot of the code is a a close translation of octave to python (I'm not a particularly good python programmer so sorry to those that are)
After creating a installer and installing, if I run 'pkg rebuild' in octave, all of the packages appear (needs to be added as a step in the installer) The tarball packages that would have been copied to src are not copied (in configure build-binary-packages option) as are no longer needed.
The post_install.m file from within a package (if one exists) is copied to share/octave/site/m/once_only/ I had thought of adding a script that on first run would go through and run anything in that directory one time and then remove it?
Main things that need work: 1) adding the pkg rebuild to the installer (or writing the pkg catalog file) 2) generate-lookfor-cache function doesn't do anything yet 3) ltfat doesn't get installed as doesn't cross compile (yet)4) build_packages.m (and anything else that would go in the source directory) no longer needs to be installed
5) handle the post_install.m script
[Prev in Thread] | Current Thread | [Next in Thread] |