Closed GoogleCodeExporter closed 9 years ago
I hope you know that there is absolutely nothing difficult about downloading a
zip-archive on the iphone, unzip it, move it and respring. Of course, a .deb
would be easier, so why don't you create one and share it with us?
Original comment by dave.sto...@gmail.com
on 19 Oct 2010 at 5:21
a) thanks for the quick reply. b) where do I copy it too? c) I would love to
make a .deb out of it, do you know any good resources where I can learn how in
a not too technical way? (I am unfortunately still closer to the beginning of
my coding/linux/unix journey and the easier it is to understand the better).
Original comment by RethinkR...@gmail.com
on 19 Oct 2010 at 1:33
Here, I made a *.deb for you
http://www.mediafire.com/?m8ksylm93qs45jk
If you want to pack a *.deb yourself, the folder structure should go like this:
/base
/DEBIAN
control
/Applications
/Terminal.app
Default.png
View.nib
Terminal
Other files
The "control" file in "/base/DEBIAN" looks like this:
Package: com.googlecode.mobileterminalbeta
Name: Mobile Terminal (beta)
Version: 472
Provides: com.googlecode.mobileterminal
Priority: standard
Depends: coreutils
Architecture: iphoneos-arm
Section: System
Author: Allen Porter <allen.porter@gmail.com>
Description: Terminal for iOS
The "DEBIAN" directory must exist in all *.deb files, it's where the
information for the package is stored.
Everything else outside the "DEBIAN" directory is copied to it's place during
install.
To finally build the *.deb (assuming you're using SSH or something), type:
1. cd (wherever the "base" directory is stored)
2. dpkg -b base file.deb
It creates your file.deb in the current folder
Original comment by lpq...@gmail.com
on 19 Oct 2010 at 8:37
Thanks a lot
I always wanted to know this too by the way
Original comment by dave.sto...@gmail.com
on 19 Oct 2010 at 8:41
I think a guide similar to what I'm about to write should be made available in
this project site's wiki, as the project is given only as .zip.
Here is how I installed the most recent version of Mobile Terminal (was 472 at
the time) onto my iPod Touch 2nd Generation with the most recent iOS (was 4.2
at the time), from start to finish.
First, use something like Greenpois0n to jail break your device (comes with its
own instructions). This places an icon on your springboard that will install
Cydia. Do that. Then, on the Cydia app's home screen, find the instructions for
"OpenSSH Access How-To" and "Root Password How-To." Follow both of those.
In Windows, you can download and install PuTTY to use instead of a terminal on
your computer. In a terminal, you would type "ssh root@192.168.1.100", whereas
in PuTTY you initiate an SSH connection into 192.168.1.100 first, then give it
the name 'root' when it asks for what you want to login as.
After you've changed the default passwords (always a good idea), download the
most recent .zip file from this project's site, and unzip it somewhere. In the
resulting folder, you should find a folder called Terminal.app. You need to
copy this folder to a specific place on your device. Cydia has an article
"Copying Files to/from Device" that can help. I'll describe how I did it.
After changing the passwords, while still SSH'd into your device, type "ls
/var/stash/". Notice that one of the listed folder names is something like
"Applications.I6uCg8/". Copy that or write it down. Now, open up a new terminal
on your computer, and type "scp -r Downloads/Terminal-472/Terminal.app/
root@192.168.1.121:/var/stash/Applications.I6uCg8/", where
Downloads/Terminal-472/ is the directory holding the Terminal.app folder you
unzipped earlier, 192.168.1.121 is your device's IP address, and
Applications.I6uCg8/ is that folder name I told you to write down. You can also
try using PuTTY's pscp.exe program inside Command Prompt on Windows to do this.
Or, try using something Cydia recommended that I mentioned earlier.
Now, exit from your SSH session, and reboot your device (you might need to hold
power and home until it reboots and shows an apple). There should now be an
icon for Terminal on your springboard.
Original comment by pgn674
on 21 Oct 2010 at 1:11
I have made all of the contributers to this bug project members so that any of
you are free to improve the wiki pages. Thanks for all of your awesome
contributions, and hopefully you can continue to share your knowledge via the
documentation.
Original comment by allen.po...@gmail.com
on 21 Oct 2010 at 2:44
Whoops, the *.deb I made installed the app to the wrong place.
Anyone reading this should use this one instead:
http://www.mediafire.com/?x5b6vh1xz4tjllq
Original comment by lpq...@gmail.com
on 21 Oct 2010 at 7:15
The installation details in the Wiki state to 'chmod -R 644
/Applications/Terminal.app' and then 'chmod 755
/Applications/Terminal.app/Terminal'. Doesn't the Terminal.app directory need
to be executable, too? I couldn't get the app to show on the springboard until
I did 'chmod 755 /Applications/Terminal.app'.
Original comment by dev.kyle...@gmail.com
on 29 Oct 2010 at 1:06
Well, just do chmod -R 0777, then you don't have any problems at all
Original comment by dave.sto...@gmail.com
on 29 Oct 2010 at 1:08
The next stop should probably be to script up something to make a .deb file as
part of the build and release process (whatever does this can be checked into
the source tree, perhaps as a new step in XCode). I can give that a stab if
nobody else has started yet. Then we can update the wiki with instructions
about installing the .deb file (or point to someone elses instructions).
Original comment by allen.po...@gmail.com
on 2 Jan 2011 at 6:54
If I can chime in. First, don't chmod the entire Terminal.app directory and
it's contents executable. NEVER use a full 777 on anything unless it absolutely
needs it (very rare). Big security risk. The only executable file (755) is
Terminal (and obviously any directory) and should remain that way.
Second, please remove coreutils from the list of dependencies. It really isn't.
It adds functionality, but it is not required to actually run the program.
Maybe put in the description that coreutils is highly recommended, that it will
add functionality. But dependencies should be reserved for packages that are
absolutely required to run the program. Adding what people think should be
installed alongside the app is sloppy and sets a bad precedent.
Finally, installing the app manually (as per the install page) by copying the
directory to 'Applications' and chmoding it results in a blank icon no matter
what. It'll run, but no matter what, iOS will not grant it an icon (same deal
as Cydia before it is run for the first time on latest jailbreaks). Placing the
deb in the AutoInstall directory and letting Cydia install it is a better way
of installing (but requires a reboot).
Original comment by william....@gmail.com
on 2 Jan 2011 at 11:21
I would write a Mac guide to the installation Wiki if I could find the "edit"
button.
Original comment by paul.w.palm@gmail.com
on 3 Jan 2011 at 4:44
You don't have permissions to do so (it's no real wiki therefore)
So, you could write it to me via gmail and I could indert it
@William: A reboot is not necessairy, sudo dpkg -i is enough.
And dTunes also includes CTorrent as one of it's dependencies, although it runs
without it pretty well if you don't care about torrents
Original comment by dave.sto...@gmail.com
on 3 Jan 2011 at 5:22
@dave: I've installed it using cli before and couldn't alter the icon. Any
attempts would result in the default system icon (the white one). Even after a
chmod, fiddling with the plist file (which is horribly butchered I might add).
Maybe I missed something? Cydia installs it just fine and iOS treats it like
any other app... that's why I use that option.
Original comment by william....@gmail.com
on 4 Jan 2011 at 6:41
Easy Install (using Cydia auto-install)
For Mac users:
1) Download the latest .deb file of MobileTerminal <a href=“http://[•needs
URL of official deb•“>here</a>
2) Download and install on your Mac the latest version of <a
href="http://cyberduck.ch/">Cyberduck</a>
3) Make sure your Mac and iDevice both have a Wi-Fi connection on the same
network
4) On your iDevice, open Settings: General: Wi-Fi, tap the blue right-arrow on
your connected network, and note the IP Address
5) Open Cyberduck on your Mac, select Open Connection, and select “SFTP (SSH
File Transfer Protocol)”
6) Enter the iDevice’s IP Address into “Server,” with Username “root”
and your password (the default password is “alpine”), and press Connect
NB: It will take some time to make the initial connection
7) Navigate to /private/var/root/Media/Cydia/AutoInstall
NB: If the AutoInstall folder does not exist, create it, paying attention to
capital A and I
8) Drag the MobileTerminal .deb file from your Mac into the AutoInstall folder
9) Quit Cyberduck and reboot the iDevice
NB: If, after rebooting, MobileTerminal does not appear on your Springboard,
respring (not reboot) the iDevice
Original comment by paul.w.palm@gmail.com
on 4 Jan 2011 at 6:58
SFTP has nothing to do with SSH.
You mean SCP
Original comment by dave.sto...@gmail.com
on 4 Jan 2011 at 7:12
Right or wrong, “SFTP (SSH File Transfer Protocol)” is *exactly* what it
says in Cyberduck.
Original comment by paul.w.palm@gmail.com
on 5 Jan 2011 at 6:41
I'm not in a position or inclined to learn to compile code when so many already
can. I suggest this project create a link on each revision's URL (e.g.
http://code.google.com/p/mobileterminal/source/detail?r=491) to the compiled
APP. In return, I will author a *.deb file of each build, which can either be
hosted here, linked from a free host (rapidshare, mediafire, etc.), or
submitted to a repo (modmyi, bigboss, etc.).
This will result in as little duplication of effort as possible, which is the
point of open source collaboration, right?
Original comment by paul.w.palm@gmail.com
on 9 Jan 2011 at 5:05
So, I don't know if I got what you wanted to say, but there was already the
idea of ready-made apps for each revision. However, Allan said he'd upload a
zip from time to time after major changes.
Original comment by dave.sto...@gmail.com
on 9 Jan 2011 at 5:08
"...there was already the idea of ready-made apps for each revision."
Where? I can find only Terminal-472.zip and Terminal-426-unstable.zip
available for download. Ideally there would be a Terminal-rXXX.zip for every
revision. for which I will create a Terminal-rXXX.deb for each one.
Original comment by paul.w.palm@gmail.com
on 10 Jan 2011 at 4:38
I said was the idea, that's a difference. As I said, Allan suggested he'd
compile and upload a zip after major changes
Original comment by dave.sto...@gmail.com
on 10 Jan 2011 at 4:40
You are right that you should not be expected to compile code for every
revision if you don't want to or know how. Instead, you are expected to wait
for the next major release.
I understand your point of view because you see that an issue is fixed, but you
can't take advantage of it yet, which is clearly the down side. However, the
assumption is that the tip of tree would be even more unstable than the
releases (which are already pretty unstable as you well know! :)).
That said, perhaps its time for a new release given all of the recent bug fixes.
However, if someone wants to build an automated release process for each
revision I won't object since its easy enough to label the binaries as unstable
or nightly releases. I think lets just start by automating the .deb building
process and go from there since clearly the existing release process already
has a ton of issues.
Original comment by allen.po...@gmail.com
on 12 Jan 2011 at 5:24
Please add my instructions in Comment #15 to the installation wiki
(http://code.google.com/p/mobileterminal/wiki/Installation), which I cannot
edit.
Original comment by paul.w.palm@gmail.com
on 13 Jan 2011 at 4:29
I have given you access to edit the wiki, if you would like to update it
yourself.
(Next time I have a chance i'll work on coming up with a .deb as part of the
build process to give you a link to fill in there).
Original comment by allen.po...@gmail.com
on 13 Jan 2011 at 4:46
I've already authored a *.deb complete with a 'postinst' that sets permissions
per the wiki. All I need is to know what repository you would prefer it hosted
on and access to the latest build.
Original comment by paul.w.palm@gmail.com
on 13 Jan 2011 at 6:55
I have submitted some scripts for building the .deb files that can be run from
XCode. Feel free to give it a try if you're a "build from source" kind of
person.
I'm going to jailbreak and old phone and give it a shot myself, it just might
take a few days. If it works then i'll put it up for download.
Go easy on me, this is my first .deb ever.
Original comment by allen.po...@gmail.com
on 15 Jan 2011 at 11:18
Original comment by allen.po...@gmail.com
on 15 Jan 2011 at 11:20
This issue was closed by revision r508.
Original comment by allen.po...@gmail.com
on 18 Jan 2011 at 5:08
Incorrectly marked as fixed.
Original comment by allen.po...@gmail.com
on 18 Jan 2011 at 5:09
I see that Allen has compiled a new version (0.510). I made a deb. Took out the
coreutils dependency too because it's not a true dependency but rather a
suggested package. Also added the new icons for the iPhone and it installs with
the proper privileges (root:admin) and has a working softlink to CodeResources.
One tiny niggle. A resource fork remains (Terminal.app/._CodeResources). For
the life of me I can't seem to get rid of that one... tried everything.
Abandoned all hope. If you are anal like me, delete it manually. Or suffer the
200 byte added file size ;)
Original comment by william....@gmail.com
on 24 Jan 2011 at 8:54
Attachments:
For anyone who prefers to download the *.zip and drop the Terminal.app file
into their Applications directory, here is a shell to run that will fix
permissions and create the needed CodeResources link. Just put the perm.sh
file into the topmost directory and do a 'sh perm.sh'
Here's the shell's contents:
ln /Applications/Terminal.app/_CodeSignature/CodeResources
/Applications/Terminal.app/CodeResources
chown root:admin /Applications/Terminal.app
chmod -R 644 /Applications/Terminal.app
chmod 755 /Applications/Terminal.app
chmod 755 /Applications/Terminal.app/Terminal
A control file in the posted mobileterminal-0.510.deb that matches Allen's in
r501 and a postinst that sets permissions would make for the ideal *.deb
install, but no one takes my advice.
Original comment by paul.w.palm@gmail.com
on 24 Jan 2011 at 6:32
Attachments:
because just extracting and respringing worked for me just fine
Original comment by dave.sto...@gmail.com
on 24 Jan 2011 at 6:35
We went to the trouble of writing this .deb building stuff into the release
process, perhaps we should stop releasing .zip files :)
Paul, just so I understand, dpkg does not preserve permissions in the .deb file?
(I'm still trying to get my hands on my old iphone, sorry I can't just try this
out)
Original comment by allen.po...@gmail.com
on 25 Jan 2011 at 6:34
@allen, yes, dpkg preserves file permissions.
Original comment by william....@gmail.com
on 25 Jan 2011 at 6:37
To be clear, we should not be uploading releases that were not built with an
automated script in the source tree.
By the way, I just uploaded a new .deb file. I have no idea if it actually
works.
Original comment by allen.po...@gmail.com
on 25 Jan 2011 at 6:38
Why not? You suggest we should use untested debs instead? Mine works just fine.
What's the issue?
Original comment by william....@gmail.com
on 25 Jan 2011 at 6:40
I thought the point of this bug was that people found a .zip file as a release
method too hard :)
Original comment by allen.po...@gmail.com
on 25 Jan 2011 at 7:20
Paul, you have some serious problems with your shell script:
ln /Applications/Terminal.app/_CodeSignature/CodeResources
/Applications/Terminal.app/CodeResources
This should be a softlink, not a hardlink:
ln -sf /Applications/Terminal.app/_CodeSignature/CodeResources
/Applications/Terminal.app/CodeResources
The second line should read:
chown -R root:admin /Applications/Terminal.app
The last three lines are not required (redundant) as when directories are
created, they are always 755 by default and the files are already set with the
proper permissions.
Lastly, the last two lines take care of setting permissions for the folder and
the terminal executable, but fail to account for the _CodeSignature directory,
which will be unable to be opened (as it will take on the 644 permission set).
If you really want to use a shell script, then use the following:
ln -sf /Applications/Terminal.app/_CodeSignature/CodeResources
/Applications/Terminal.app/CodeResources
chown -R root:admin /Applications/Terminal.app
Original comment by william....@gmail.com
on 25 Jan 2011 at 7:36
Thanks for everyone who contributed to this bug. I think we can close this
issue now that we have an Installation wiki and a process for building .deb
files. If there are still problems with those processes lets make separate
bugs. (Basically, I count this as being fixed since we at least have a process
that didn't exist before).
Paul, please let me know if you run into an permissions problems with the
existing .deb and still think it needs tweaking. I can't tell if there is
still a problem with it or if your fixes were only needed for the .zip.
Original comment by allen.po...@gmail.com
on 13 Feb 2011 at 10:37
Installed r520 via *.deb and Cydia AutoInstall. Permissions are mostly
mobile:staff (rather than root:admin), but APP works and shortcuts
work/persist. Huge improvement.
Original comment by paul.w.palm@gmail.com
on 18 Feb 2011 at 4:20
Original issue reported on code.google.com by
RethinkR...@gmail.com
on 18 Oct 2010 at 10:08