Save this as `package-reload.el' and run `emacs --batch -l package-reload.el':
(defadvice load (before debug)
(message "(RE)LOADING %s" file))
(defadvice package--reload-previously-loaded (around debug activate)
(ad-activate 'load)
ad-do-it
(ad-deactivate 'load))
;(require 'org)
(let ((temp (make-temp-file "packages" t)))
(setf package-user-dir temp))
(require 'package)
(package-initialize)
(package-refresh-contents)
(package-install (cadr (assq 'org package-archive-contents)))
I get messages like "(RE)LOADING /tmp/packagesDLaBkh/org-9.6/org-macs". Doesn't matter if I uncomment that line with "(require 'org)" or not.
Paul