AFNI program: @update.afni.binaries
Output of -help
------------------------------------------------------------
@update.afni.binaries - update or install AFNI binaries ~1~
This program can be used to (at least):
- perform an initial install of precompiled binaries
- as an admin or a non-admin user
- update the current precompiled binaries
- update locally compiled binaries, created using build_afni.py
(but it seems like a better idea to use build_afni.py directly)
Note: one can use build_afni.py to compile locally.
examples: ~1~
1. individual user: initial install ~2~
1a. When doing initial install, always specify a package.
@update.afni.binaries -package linux_ubuntu_24_64 -bindir ~/abin
1b. Also initialize the dotfiles (.cshrc, .bashrc, etc).
@update.afni.binaries -package linux_ubuntu_24_64 -bindir ~/abin \
-do_dotfiles
1c. And possibly include extras like dotfile and apsearch initialization.
@update.afni.binaries -package linux_ubuntu_24_64 -bindir ~/abin \
-do_extras
1d. Possibly just install a the non-binary text package with atlases,
into the $HOME/abin directory.
@update.afni.binaries -package anyos_text_atlas -bindir ~/abin
2. root user: initial install ~2~
2a. Install a specific package into a system directory.
Such a command would apply to either an initial install or an update.
@update.afni.binaries -package linux_ubuntu_24_64 \
-bindir /usr/local/AFNIbin
2b. Similar to 2a, but one can specify a path to a previously downloaded
.tgz package file, so such a download would not need to be repeated.
Use -local_package to specify the path to the tgz file.
@update.afni.binaries -local_package linux_ubuntu_24_64.tgz \
-bindir /usr/local/AFNIbin
3. individual user: basic updates ~2~
3a. Basic: update the binaries and the apsearch setup (tab completion).
* Note that with an update, the package is already known.
* Note also that this would be appropriate for a locally compiled
package as well, which would run build_afni.py.
@update.afni.binaries -apsearch
3b. Basic: also make a backup of the current binaries.
@update.afni.binaries -apsearch -make_backup yes
3c. Basic: -defaults would do the same, but also try to update the dotfiles.
Since that step should already be done, this should be the same as 3b.
@update.afni.binaries -defaults
@update.afni.binaries -d
3d. Quick update, do nothing but update the current package.
@update.afni.binaries -quick
3e. Update only a specific list of programs (e.g. suma and 3dRSFC).
@update.afni.binaries -package linux_openmp_64 -programs suma 3dRSFC
4. other examples ~2~
4a. install the small, text-only package in the directory of that same name
@update.afni.binaries -package anyos_text -bindir anyos_text
4b. include atlases, and install in a system directory
@update.afni.binaries -package anyos_text_atlas \
-bindir /usr/local/AFNI/anyos_text_atlas
4c. test running build_afni.py, but do not install it
(-build_afni is only needed if the current package was not made by it)
@update.afni.binaries -build_afni -build_root ~/afni_build \
-build_opts "-do_install no"
4d. use build_afni.py to replace the current "official" package
@update.afni.binaries -build_afni -build_root ~/afni_build
4e. update the current package if it was made using build_afni.py,
and run the apserach updates, for tab completion
(this is the same command that works for the official package)
@update.afni.binaries -apsearch
4f. update the current package if it was made using build_afni.py,
but do nothing else (just update the current package)
(this is the same command that works for the official package)
@update.afni.binaries -quick
4g. a quick build_afni.py update can be done in either of these ways
(these commands should effectively both run the latter)
@update.afni.binaries -quick
build_afni.py -build_root ~/afni_build
5. other "random" examples: ~2~
@update.afni.binaries -apsearch
@update.afni.binaries -d
@update.afni.binaries -defaults -package macos_10.12_local
@update.afni.binaries -package linux_openmp_64 -bindir ~/abin
@update.afni.binaries -package linux_openmp_64 \
-programs file_tool python_scripts/*.py
@update.afni.binaries -show_obsoletes
@update.afni.binaries -local_package macos_10.12_local.tgz
------------------------------------------------------------
options: ~1~
-help : show this help
-help_sys_progs : list system programs that block update
See -sys_ok for details.
-apsearch yes/no : specify getting apsearch updates
-bindir ABIN : set AFNI binary directory to ABIN
-build_afni : specify to use build_afni.py, regardless
This option will for the installation process to use build_afni.py.
That is to say, rather than downloading and installing a previously
compiled binary package from the AFNI website (an "official" release),
use build_afni.py to compile an AFNI package locally.
If the currently installed AFNI package was made using build_afni.py,
then this option is not necessary.
See also -build_root and -build_opts.
-build_opts "OPT LIST" : specify a list of options to pass to build_afni.py
e.g. -build_opts "-do_install no"
If build_afni.py will be used for compiling new binaries, include the
given options in the command. To make programming easier in this
shell script, this list of options should be contained in quotes, so
that this program sees it as a single argument.
-build_root DIR : specify a directory for build_afni.py to work under
default -build_root ~/afni_build
e.g. -build_root some/other/dir
If build_afni.py will be used for compiling new binaries, ~/afni_build
will be used for such work by default. Use this option to specify an
alternate location.
-curl : default to curl instead of wget
-defaults : install current package into abin
-d : (short for -defaults)
This would be the method to 'update the package that I am currently
using'.
This option implies -do_dotfiles, -apsearch yes, and -make_backup yes.
The package would be decided by 'afni -ver' and the directory would
come from 'which afni'. If either of these is not appropriate, the
package would be determined by the OS (Linux or OSX allowed, 32 or
64-bits), and the install dir would be ~/abin.
If -bindir or -package cannot be determined, it must be supplied by
the user.
26 Sep 2012 : -update_apsearch is applied by default
(if installed afni is in PATH)
-do_dotfiles : if needed, try to initialize dot files
If .cshrc (or maybe .tcshrc) or .bashrc or .zshrc do not have the
AFNI binary directory in the file (grep), add a line to update the
PATH in each file.
All files are updated (if need be).
Also, if on a mac, set DYLD_LIBRARY_PATH in similar files.
Also, init .afnirc and .sumarc if they do not yet exist.
* This option has no effect for the root user.
-do_extras : do extra niceties (beyond simple install)
This is a convenience option that implies:
-apsearch yes
-do_dotfiles
-make_backup yes
This has come full-circle to be the same as -defaults.
-echo : turn on shell command echo
This will be like running the script with "tcsh -x".
-make_backup yes/no : make a backup of binaries before replacing
default: no
(but it is 'yes' with -do_extras or -defaults)
Specify whether to make a backup of the current binaries. Since the
default is currently yes, the likely use would be 'no'.
-no_cert_verify : do not verify the server CA certificate
This option is regarding SSL/TLS Certificate Verification
via some CA (certificate authority) list. It may be needed
if the client CA list does not recognize the certificate
provided by the afni server.
For curl, this appends the '--insecure' option.
For wget, this appends the '--no-check-certificate' option.
To check whether curl requires this, look for WinSSL in the
output from: curl -V
See https://curl.haxx.se/docs/sslcerts.html for details.
-no_recur : do not download and run new @uab script
-local_package PACKAGE : install local PACKAGE.tgz package
This is a way to install an existing tgz file without needed
to download it.
-prog_list PROGRAMS : install given programs, not whole PACKAGE
With this option, the listed programs would be installed,
rather than the entire PACKAGE.
Note: directories are not allowed (e.g. meica.libs)
-package PACKAGE : install distribution package PACKAGE
(see also -local_package)
-prog_list PROGRAMS : install given programs, not whole PACKAGE
With this option, the listed programs would be installed,
rather than the entire PACKAGE.
Note: directories are not allowed (e.g. meica.libs)
For example, consider:
-prog_list suma python_scripts/*.py
In this case, suma and the individual python files would all
end up in abin, with no directories.
-proto PROTOCOL : access afni host via this PROTOCOL
e.g. -proto http
default: https
Use this option to specify the download protocol. PROTOCOL may
https, http or NONE (meaning not to prefix site name with any).
-quick : quick mode, no fancies
This option blocks unwanted or unneeded actions, mostly for
testing. It basically applies:
-no_recur
-apsearch no
-show_obsoletes : list any obsolete packages
Display the set of AFNI packages that are no longer being updated.
This is a terminal option.
-show_obsoletes_grep : list any obsolete packages (easy to grep)
Display the set of AFNI packages that are no longer being updated.
This is the same as -show_obsoletes, but each line with a package
name will start with "obsolete:", as in:
obsolete: linux_gcc32
obsolete: linux_gcc33_64
obsolete: macosx_10.7_Intel_64
obsolete: macosx_10.7_local
This is a terminal option.
-show_system_progs : show system programs that do no belong in abin
Display the set of system utilities that suggest afni is in a system
binary directory, rather than a user's abin.
If any such program is in the AFNI binaries directory, an update will
not be allowed.
This was introduced to protect from 'afni' being in under /usr/bin in
Neurodebian.
-sys_ok : OK to update, even if system progs found
If any system program (e.g. man, sudo, xterm, yum) is found,
the default behavior is not to continue the update. Note
that if 'afni -ver' shows a Debian package, then updates
should be done via apt-get, not this program.
Use -sys_ok to all the update to proceed.
See -help_sys_progs for a list of checked system programs.
-test : just attempt the download and quit
-test_protos : test download protocols and exit
-revert : revert binaries to previous version
Revert the AFNI binaries to those in directory
ABIN/auto_backup.PACKAGE, where ABIN would otherwise be
considered the installation directory.
Use this option if the last update of the binaries got
you a lump of coal.
There should be only 1 backup to revert to. One cannot
revert back 2 levels, say.
Note that the user must have write permissions in the ABIN directory.
This page auto-generated on
Tue Oct 1 08:30:51 PM EDT 2024