Opened 9 years ago

Closed 9 years ago

#2323 closed defect (worksforme)

directory src/TorCtl does not exist

Reported by: qbi Owned by: atagar
Priority: Medium Milestone:
Component: Core Tor/Nyx Version:
Severity: Keywords: arm torctl
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

I cloned the ARM repository today to r23979 and wanted to install the software. So I ran:

python setup.py install -n --prefix=$HOME/Foo

The output was:

running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/arm
copying src/prereq.py -> build/lib.linux-i686-2.6/arm
copying src/version.py -> build/lib.linux-i686-2.6/arm
copying src/__init__.py -> build/lib.linux-i686-2.6/arm
copying src/test.py -> build/lib.linux-i686-2.6/arm
copying src/starter.py -> build/lib.linux-i686-2.6/arm
creating build/lib.linux-i686-2.6/arm/interface
copying src/interface/headerPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/configPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/descriptorPopup.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/controller.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/logPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/torrcPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/connPanel.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/__init__.py -> build/lib.linux-i686-2.6/arm/interface
copying src/interface/fileDescriptorPopup.py -> build/lib.linux-i686-2.6/arm/interface
creating build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/connStats.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/psStats.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/bandwidthStats.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/__init__.py -> build/lib.linux-i686-2.6/arm/interface/graphing
copying src/interface/graphing/graphPanel.py -> build/lib.linux-i686-2.6/arm/interface/graphing
creating build/lib.linux-i686-2.6/arm/util
copying src/util/connections.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/hostnames.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/conf.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/sysTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/uiTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/torConfig.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/log.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/__init__.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/procTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/torTools.py -> build/lib.linux-i686-2.6/arm/util
copying src/util/panel.py -> build/lib.linux-i686-2.6/arm/util
error: package directory 'src/TorCtl' does not exist

The README says that TorCtl is inluded in ARM, so it should not be necessary to install it.

However if I manually create the directory, a warning is printed and the script finishes its job:

package init file 'src/TorCtl/__init__.py' not found (or not a regular file)

Child Tickets

Change History (3)

comment:1 Changed 9 years ago by atagar

Status: newassigned

Hi qbi. As mentioned on irc I'm not entirely sure of the functionality you'd like to have. The arm install is essentially just a copy of four resources:
arm/src to /usr/share
arm/arm to /usr/bin
arm/arm.1 to /usr/share/man/man1
arm/armrc.sample to /usr/share/doc/arm

The install path is currently hardcoded (via overwriting the --install-purelib argument with "/usr/share") because the /usr/bin/arm entry needs to know where the arm src was placed. However, it would be simple for setup.py to overwrite that path when given a --prefix argument if you'd like.

However, if the user's attempting to install to their home directory (like you are) then they usually don't intend for other resources to be copied to the root file system. What exactly were you intending for the install script to do? Did you just want to overwrite the /usr/share/arm path with the --prefix argument or should the man page and bin entries somehow respect it too?

The README says that TorCtl is inluded in ARM, so it should not be necessary to install it.

Correct (and the name is 'arm', not 'ARM' btw - the later is a processor).

However if I manually create the directory, a warning is printed and the script finishes its job

Sorry, you lost me here. If you do:
svn co https://svn.torproject.org/svn/arm/trunk/

Then you'll fetch trunk/src/TorCtl via a svn externals property (I just double checked that it works). Could you please give me the exact repo steps for whatever is giving you the trouble?

Cheers! -Damian

comment:2 Changed 9 years ago by qbi

Sorry for the noise, but according to your explanation you can close the bug.

I don't use Subversion directly, but git-svn and this command doesn't load externals. When I tried svn everything fine.

I'm still investiated in the other issue I told you about. Maybe I open another issue soon.

comment:3 Changed 9 years ago by atagar

Resolution: worksforme
Status: assignedclosed

No worries. Closing as per previous correspondence.

Note: See TracTickets for help on using tickets.