Giter Site home page Giter Site logo

bahlibimydomain / chromeos_network_file_share Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlechromelabs/chromeos_network_file_share

0.0 2.0 0.0 228 KB

Access network file shares directly from the Chrome OS files app.

Home Page: https://chrome.google.com/webstore/detail/network-file-share-for-ch/ndjpildffkeodjdaeebdhnncfhopkajk

License: GNU General Public License v3.0

JavaScript 42.09% HTML 21.02% CSS 0.49% C++ 34.58% Makefile 0.70% Shell 1.13%

chromeos_network_file_share's Introduction

Overview
========
This is a Chrome App that extends the built in File Manager to be able to
support connecting to SMB file shares.

The NaCl port is currently patched from Samba 4.1.22.

Setup
=====

1) Download the NaCl SDK and unzip it as directed.
      https://developer.chrome.com/native-client/sdk/download

2) Update the SDK and get the pepper_50 version.
      cd nacl_sdk
      ./naclsdk update
      ./naclsdk update pepper_50
      export NACL_SDK_ROOT=/path/to/nacl_sdk/pepper_50

3) Get depot_tools and gclient.
      git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

4) Put depot_tools on the path (or put it in your .bashrc)
      https://www.chromium.org/developers/how-tos/install-depot-tools

5) Get WebPorts (aka NaCl Ports).
      mkdir webports
      cd webports
      gclient config --name=src https://chromium.googlesource.com/webports.git
      gclient sync

6) Install a missing dependency from the NaCl SDK.
      sudo apt-get install libglib2.0-0:i386

7) Build Samba.
      cd webports/src
      ./make_all.sh samba F=1 V=1

8) Get the App code.
      git clone https://github.com/GoogleChrome/chromeos_network_file_share

9) Install bower.
      https://syntaxsugar.github.io/posts/2014/05/how-to-install-bower-on-ubuntu-1404-lts/

      sudo apt-get install nodejs
      sudo ln -s /usr/bin/nodejs /usr/bin/node
      sudo apt-get install npm
      sudo npm install -g bower

10) Get the bower dependencies.
      cd chromeos_network_file_share/app
      bower install

11) Install Vulcanize and Crisper.
      sudo npm install -g vulcanize
      sudo npm install -g crisper

12) Setup build environment
      # Set NACL_SDK_ROOT if not done above

13) Finally you can build!
      cd chromeos_network_file_share
      nacl/build.sh

Arm Nacl_IO Bug
===============

There is currently a bug that causes a crash on ARM Release builds. Until the
bug is fixed the workaround is to build libnacl_io.so with optimizations turned
off. If you don't do this extra step prior to building the app the ARM build
will crash.

Before building the app edit $NACL_SDK_ROOT/src/nacl_io/Makefile and add
the following after the line 'CFLAGS += -DNACL_IO_LOGGING=0'

ifeq ($(NACL_ARCH), arm)
  CFLAGS += -O1
endif

// then rebuild nacl_io
cd $NACL_SDK_ROOT/src/nacl_io/
make V=1 CONFIG=Release TOOLCHAIN=glibc NACL_ARCH=arm

That will rebuild libnacl_io.so with optimization disabled. Then rebuild the
app.

Nacl SDK
========

  # Update SDK (currently using pepper_canary).
  ./naclsdk update pepper_canary --force

Building The App/Extension
==========================

  # Setup environment
  export NACL_SDK_ROOT=/path/to/your/nacl/sdk

  # Build
  nacl/build.sh

  # Package
  tools/to_temp.sh

Troubleshooting
===============

In file included from nacl_fsp.cc:24:
./SambaFsp.h:20:10: fatal error: 'samba/libsmbclient.h' file not found
#include "samba/libsmbclient.h"

If you see this error follow the steps above for 'Setup environment'

chromeos_network_file_share's People

Contributors

illiminable avatar tomchiverton avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.