'sudo make install' doesn't work #1717
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#1717
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
erpo41 wrote on volunteergrid2-l:
The 'install' Makefile target should not be using
--single-version-externally-managed
.As a workaround, use '
sudo python ./setup.py install
'.I'd like to remove the "make install" target, so that when a user runs
sudo make install
they get some nice default error message frommake
saying that there is no such target. That way I won't have to spend my time supporting it, and nor will other programmers like Brian.Brian: what do you say? Remove it, let them get an error message from
make
, then hopefully they'll look around for a "README" or look at the web site, find source:docs/quickstart.rst, and go from there.I asked:
erpo41 replied:
That's correct.
Replying to zooko:
+1. It appears this user didn't actually want a system install, anyway.
Yeah, I'm ok with removing "make install", as long as packagers aren't using it.
The original idea with "make install", which existed long before we started using setuptools, was to make traditional autoconf/unix-style build/install commands work. In that world (my homeland, you might say) "make; sudo make install" is all you need to put things in the right place. And "make install PREFIX=/xyz" was the right way to install it somewhere other than /usr/local, which was convenient for packagers (where /xyz was usually ./temp-pkg-dir and got tarred up and turned into a distribution package).
That PREFIX=/xyz didn't work with "setup.py install" once setuptools came to call, because it insists upon the installation directory already being in your PYTHONPATH, and also installed that weird .pkg-info metadata (at least I considered it weird at the time). So I added those extra flags to the Makefile both to remind myself of what they were, and to allow "make install PREFIX=" to be useful to packagers that wanted the traditional interface.
If our packagers are all using setuptools-native commands (some form of
setup.py install
that points to a local directory), then we can remove the "make install" target. The current ubuntu packaging (http://archive.ubuntu.com/ubuntu/pool/universe/t/tahoe-lafs/tahoe-lafs_1.8.3-2.debian.tar.gz) appears to use this:(i.e. what 'make install PREFIX=' used to do). So they won't be affected. We should check with the other packagers to make sure this won't impact them, but if so, they should really switch to the ubuntu scheme.
Pull request at https://github.com/tahoe-lafs/tahoe-lafs/pull/44.
Fixed in d85a75d7f689cb55ecddb319dc2057f38e4db87a/trunk.