How to use rust crates in offline mode - rust

Due to our company cyber security policy, I have to work in offline mode. (From offline, here I mean, internet can never be connected to the PC, the only option is to download source on some other PC and copy it to the target PC, where I am developing rust projects)
On experimental basis, I wanted to develop and run the guessing_game ( https://doc.rust-lang.org/book/ch02-00-guessing-game-tutorial.html).
I downloaded and copies the source code of the guessing_game to offline PC. I also downloaded and copied source code of rand crate (https://github.com/rust-random/rand) to my offline PC.
What are the steps to configure my PC such that it start pointing to the offline source of rand crates instead of going to the internet (As it is not connected to internet).

You could try using cargo-local-registry. It allows you to make a local registry, that is, a mirror of crates.io with only the packages you're interested in. Then, when you build, cargo can be told to only fetch packages from there (no online connection requested).

Related

Use Windows IDE to work with remote project on Linux

I have a project kept in Git repository which is compiled on a huge Linux server. Currently, I connect using SSH to the Linux server, modify the files there and then run commands to compile and execute it.
Everything is done in command line which is really painfull and I would like to use an IDE on my Windows machine which can connect to the remote Linux machine using SSH. I just need the IDE for file modification, auto complete and similar stuff, function resolution etc. I don't need to be able to compile or debug through IDE.
Mounting using Samba or Sshfs is out of the question because it is too slow. I need speed. If I click save, it needs to be save. Autocomplete should work like locally, it should work as though the files are on my machine most of the time.
Can somebody recommend an IDE which this qualities and information on how to set it up.
Thanks
The best thing that worked out for me is Unison. You have to have two copies of Unison, one on Windows client and one on remote Linux. You checkout the repository on the remote and then run Unison to synchronize the remote copy to your local. It connects to remote through ssh. Every time file is changed both locally or remotely, the other side gets updated instantly. Works well on slow connections.
You can then use your favorite IDE and work locally. The only quirt is that Unison must be same version and compiled with same Ocaml version (in my case Unison 2.48.4 with OCaml 4.0.4.). I had to compile it manually for Linux and for Windows I downloaded provided binary.

Installing cruisecontrol.net on a machine which is not running as a server

am trying to evaluate ccnet, I have gone through a number of tutorials/blogs which describe in detail on how to install ccnet. However most of them assume that CruiseControl.NET is being installed on the same machine on which Subversion repository is or it is a server machine.
I would like to know if ccnet can be installed on a non server machine and pre - configured subversion?
Sure this is not a requirement to install CCNet on a Server nor on the same machine as your repository.
CCNet can run as console application or windows service and both can run on windows, windows server and linux/mac with Mono.
Thus CCNet uses the native applications for source control operations (e.g. svn.exe or git.exe) it also supports the same remote repository features as its source control application. So your Subversion repository can be located everywhere your CCNet machine has access to.
I recommend you to read the Scenarios Section in our wiki.
I would never install my CC.NET on the same machine as my SVN repository. But that is me.
For local testing, you can run the command line version, and not the service. It's helpful, because the Console output actually let's you pick up on a few things while it is running. (Nothing you can't find with the service, but its cool to see it "in progress").
When you do install CC.NET, I would install it on a "clean" machine. The way I like to use CC.NET is to think of it as a "big fancy msbuild wrapper".
Your CC.NET will pull code from the repository, and I like to pull the .msbuild defintion file from svn as well (meaning, you store it there), and then have cc.net use the "msbuild.exe" task. The less custom cc.net tasks you use, the better. If you put 99% of your build logic into a .msbuild file, you'll won't screw yourself if you ever leave CC.NET for TFS.
3.
Yes, it has to be able to "talk to" SVN under some Identity. This identity needs read (maybe write) rights back to SVN. But it is the identity (account) that pulls the code from SVN. If your source code is projected (most likely it will be), then you may have to do some command calls using svn.exe to "accept the (p)ermanent certificate, using the IDENTITY that runs the CC.NET service.
You'll probably have some dependencies you'll need to install. I would NOT install Visual Studio 200x or 20xx. Download and install SDK's and other things as needed. Keep the build machine "clean". Document what you install.
It is a good practices to have CC.NET running in the same environment as developer(s).
So having a standard Win7x64 OS for CC.NET is nice to reflect the dev environment.
CC.NET can be configured to access a remote or local Subversion repository depending on the svn configuration you setup.
So the answer is : yes !

Remote debugging Tools Cannot Install on Surface RT Running 8.1 Preview (cannot verify digital signature)

I am trying to install Remote Tools on a Surface RT running Windows 8.1 preview. I downloaded update 2 of remote tools from Microsoft's site and when I try to run it I get the error:
Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.
This is confusing because I downloaded the file directly from MS website and when I look at the .exe properties it says digital signatures by Microsoft Corporation.
Any insight would be greatly appreciated.
Thanks!
Update: It seems like my Microsoft Root Authority certificate is "not valid for the selected purposes" I've tried exporting a "good" certificate from another machine and importing it into the Surface machine but it still gives the same issue.
This is because your downloading the 2012 tools. You can download the 2013 preview tools here at the following link! (Be sure to choose ARM)
http://www.microsoft.com/en-us/download/details.aspx?id=40781
Would have been nice if Microsoft had given us a heads up.
Also, when I go to the 2013 download on my Surface RT running 8.1 preview, and I click on Download, no matter which option I pick (x86, x64, or ARM) it downloads the x86 version, which obviously won't work. I had to download it on a PC and copy it over using a USB drive.
This problem exists on the released version of 8.1 too.
If you previously had the vs2012 tools installed, they appear to be uninstalled during the upgrade.
Attempting to reinstall gives the above error.
That means, it's now impossible to connect to the 8.1 Surface RT from VS2012 Pro to debug an 8.0 app running on 8.1. Instead, you need to connect with the VS2013 tools and remote debugger.
For anyone who is just trying to test their App updates a surface device running Windows 8.1 RTM, I have at least found a workaround.
You can manually deploy your package to your device by coping the package content to a USB memory stick and running a already defined powershell deployment script.
Basically you need to run the normal package creation process you would do to deploy to the app store to create a package, then copy the contents of the package folder (Not the compress package itself) to your USB stick. There should be a file named Add-AppDevPackage.ps1 in this folder.
Open your USB device from your Surface RT system, right click the Add-AppDevPackage.ps1 file and select "Run with powershell". You will receive several confirmation prompts at the command line and a popup window prompting you to run with admin privileges.
This is by no means a convenient or speedy process but it worked for my purposes.
This link has more detailed information on manually deploying your app package.

Hooking up a local VS2012.2 project back up to tfs-git

I'm having difficulty searching for the exact answer to my question. Apologies if its been asked many times.
I've been developing on Visual Studio 2012 Update 2 for some time and having changes tracked and saved in a TFS-GIT repository, alongside the equivalent local repo stored on my hard disk.
About two weeks ago, my laptop got stolen. I've got all my tools back onto a new laptop but struggling with getting my project back the way I had it before it got stolen.
Essentially, I can see the Visual Studio Project locally on my hard drive, with its local git history. I can also see the remote version in TFS, with the exact same history. I open the project locally on my visual studio, and then try to connect to the remote tfs store. When the project loads, all of the files and folders within the project have the pending delete symbol (red cross) on each of the files, as if the remote connection has gone in a folder to high and the two structures are out of sync with each other.
Can anyone help me with how to connect the two together again properly
Not really sure to understand your problem (and to know if you are using git-tfs). What are you really want to do? use git-tfs to work and commit on TFS? or use TFS but use git-tfs as a backup solution?
Anyway, I will try to give you some tips.
Essentially, I can see the Visual Studio Project locally on my hard
drive, with its local git history.
If that's the case, you only have to open your solution, work and create local git commits.
After, you only have to the TFS server.
Perhaps, you could bootstrap your local git repository if you were using git-tfs (but not 100% sure you need it) by :
git tfs bootsrap
To commit on a TFS server, use :
git tfs rcheckin
And that should be all...
I open the project locally on my visual studio, and then try to connect to the remote tfs store.
If you are using git-tfs, you don't have to. Git-tfs use its own workspace in a hidden directory of the .git folder.
Hope it will help. Even if there is not enough informations to provide a good answer.
Feel free to use the wiki for more informations :
https://github.com/git-tfs/git-tfs/wiki/Bootstrap
https://github.com/git-tfs/git-tfs/wiki
PS : if you are using git-tfs, don't install the "Git Source Control Provider" because you can't open a git repository in Visual Studio and in the same time connect on a TFS server to get builds result, workitems, ...

Where does Windows Platform Installer (WPI) save the downloaded files in my computer?

I have a network with one server that is connected to the internet and some clients that are not.
I want to download and install Microsoft products on my server first and let the client computers download the installer later from the server.
The questions are
where does the WPI save the downloaded files?
is it possible to run WPI and force it to install the Microsoft products from the already downloaded files rather than downloading again from Microsoft's server.
Note: Assume there is no license issue, hopely :-)
It will be cached under %LocalAppData%\Microsoft\Web Platform Installer\installers if you are on Vista or above, or in the equivalent location on XP (there is no %LocalAppData% environment variable in XP).
If the products are downloaded, they will be installed again from the cached location, unless they were updated, which would change their hash and force Web PI to download them again. Moreover, you can copy the cache folder from one computer to another to the same location and Web PI will pick it up automatically and install products from cached installers.
Microsoft has released a tool called Web Platform Installer v4 Command Line which has a switch to prepare an offline installation. Quote from the page above:
Creates an offline cached copy of a specified set of products and
applications so you can install while offline
Example:
Ex: >WebPICMD.exe /Offline /Products:WebMatrix,SQLExpress /Path:c:\OfflineCache
The above will create an offline cache at c:\offlineCache that contains WebMatrix and all it's possible dependencies!
Update 2017
The link above is no longer valid (404). The page i found is
Web Platform Installer v5 Command Line (WebPICMD.exe) - RTW release
WebPI Command line
The Web Platform Installer v5 (WebPI) command line tool is now
available as part of the WebPI MSI! We've added a bunch of new
features and fix several issues, and now it's ready for it's full
release
On the page are two links
WebPI v5 x86.msi
WebPI v4 x64.msi
Microsoft has released a beta tool that will do this.
In windows 8 I found it here
%AppData%\Local\Microsoft\Web Platform Installer\installers

Resources