|--==> "SJT" == Stephen J Turnbull <stephen(a)xemacs.org> writes:
>>>>>"SY" == Steve Youngs
<youngs(a)xemacs.org> writes:
SY> 'make bindist' doesn't need
to make a distinction between the
SY> various package directories. In the top level of a binary
SY> package tarball you'll see:
SJT> I understand that, sorry, I wasn't clear. You see, I do both a local
SJT> install and a make bindist for my slower machines ..... This seems to
SJT> work, except that my Mule and local packages end up installed to
SJT> xemacs-packages.
OK, I think I know what you're getting at.
'make bindist' sets $(STAGING) to $(XEMACS_STAGING). I like this
behaviour because it puts all the package tarballs whether Mule
or not into the same directory. And, more importantly, if 'make
bindist' simply obeyed $([XEMACS,MULE]_STAGING) you would end up
with two package-index files. IMO, 'make bindist' should rm -rf
the subdirectories it leaves in $(STAGING) (etc/ lisp/ info/
etc).[1]
'make install' will set $(STAGING) to either $(XEMACS_STAGING) or
$(MULE_STAGING) depending on the package's category.
SJT> Do I have to change STAGING every time to avoid this?
If you're mixing 'bindist' and 'install' builds you're likely to
run
into trouble. But there's more than one way to skin a cat. If you
can spare the disc space, change...
,----[ Local.rules ]
| ifeq ('$(MAKECMDGOALS)','bindist')
| STAGING := $(XEMACS_STAGING)
| endif
`----
to...
,----[ Local.rules ]
| ifeq ('$(MAKECMDGOALS)','bindist')
| STAGING := /a/different/path/to/other/staging/directories
| endif
`----
And then do 'make bindist'. Use the tarballs for your other machines,
and delete the subdirectories that get left behind.
For your local machine, simply do 'make install'.
To take this a step or two further...
On the machine where you build the packages:
- ln -s $(XEMACS_STAGING) /usr/local/lib/xemacs/xemacs-packages
- ln -s $(MULE_STAGING) /usr/local/lib/xemacs/mule-staging
- make the "bindist $(STAGING)" accessible to your other machines
via FTP (this assumes of course that there is some kind of link
between your machines)
On your other machines:
- (setq package-get-remote
'("your.server.host" "/path/to/bindist/staging/"))
- (setq package-get-base-filename "package-index")
- M-x pui-list-packages RET
Have I explained that well enough? How does it suit your needs?
Footnotes:
[1] Maybe not. I does give me the opportunity to quickly check that
all the files for a package have been installed properly.
--
|---<Steve Youngs>---------------<GnuPG KeyID: 10D5C9C5>---|
| XEmacs - It's not just an editor. |
| It's a way of life. |
|------------------------------------<youngs(a)xemacs.org>---|