Code Monkey home page Code Monkey logo

keepod-installer's Introduction

keepod-installer

A cross-platform installer for Keepod OS

User manual of Linux version: http://start.keepod.org/question/keepod-installer-user-guide-linux/

Coding Style

Be consistent with existing code.

Implementation

The workflow of this program is very simple:

  1. download an clone file from web or choose one local file;
  2. extract the zip file;
  3. write all data to USB disks according to file 'changed.index';

Commit code

  1. Fork this project;
  2. Create an branch;
  3. Commit your code and test;
  4. Create a "pull request";

Auto test

this the the auto test intro for keepod-installer based on autopilot

Pre-required software

download the pre-required software, including python and autopilot-desktop;

  • apt-based GNU/Linux Distribution (debian, ubuntu, mint, etc)

      $ sudo apt-get install autopilot-desktop
    

Build

get source from github, commands as below:

$ git clone https://github.com/Keepod/keepod-installer.git

build the keepod-installer from source;

$ cd path/to/source/of/keepod-installer

$ ./build-nostatic

Test

out auto test is based on autopilot, and we can make tests all by once, and we can get the list of test routines, and make one test one time.

All Test

we can launch the test script and then all the tests will be executed one by one. Below is the commands that we need:

$ cd ./test/autopilot

$ ./launch_test.sh

Manually Test

If we want to test one routine one time, first we have to know all the test routines, and then we can launch one each time.

  • list all the test routines:

      $ cd ./test/autopilot
      $ autopilot list installer
    

    and the results will be as below:

      installer.tests.test_basic_process.BasicProcessTests.test_multi_udisk_installing_with_local_img
      installer.tests.test_basic_process.BasicProcessTests.test_single_udisk_downloading_cancel_and_continue_with_net_image
      installer.tests.test_basic_process.BasicProcessTests.test_single_udisk_installing_with_local_img
      installer.tests.test_basic_process.BasicProcessTests.test_single_udisk_md5_check
      installer.tests.test_basic_process.BasicProcessTests.test_single_udisk_writting_cancel_and_continue_with_local_img
      
      5 total tests.
    
  • lanch the test we want, we launch installer.tests.test_basic_process.BasicProcessTests.test_single_udisk_installing_with_local_img as example:

      $ autopilot run installer.tests.test_basic_process.BasicProcessTests.test_single_udisk_installing_with_local_img
    

Note:

  • for all the tests, we have at least one udisk mounted.
  • when we launch xxxx_with_local_img routine, we have to copy the image file (keepod-latest.zip) to /test/autopilot/installer/tests .

keepod-installer's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

dimonauk avennn

keepod-installer's Issues

编译MacOS版本

在MacOS下编译并打包此程序。编译过程应该写成批处理文件。dcfldd程序也可能需要重新编译。

交付:1,编译脚本;2,macos安装包。
测试:安装程序,运行程序,基本功能正常。

编写基本的测试用例

使用AutoPilot编写基本功能的测试用例。先只测试最基本的功能,流程如下:
1,启动启用程序;
2,选择“download and install...",选择一个U盘,一般为/dev/sdb;
3,点击“make it";
4,等待成功消息框,点击”ok",应用程序退出。
能够完成这个流程,则测试成功,否则,测试失败。

如果有比AutoPilot更方便的工具,也可以考虑,但事先需要协商。
http://unity.ubuntu.com/autopilot/tutorial/getting_started.html

替换dd和dcfldd

这两个程序一个用于写入,一个用于验证写入的数据是否正确。这两个操作完全可以合入一套代码中来实现,这样更加有效。可以参考Win32DiskImager的代码:http://sourceforge.net/projects/win32diskimager/

希望实现读写U盘的函数,其中读函数要具备校验功能。此读写函数应该能够在各个平台上运行。

Debian包制作文件

有几个小问题:
1,debian/changelog的格式不符合要求。最好是能够通过git log生成此文件。
2,这个程序依赖libicu,但是在ubuntu12中它是libicu48, 在ubuntu14中它是libicu52。我们希望这个程序能够同时支持多个版本,所以没有指定具体的名字。标明依赖libicu-dev似乎是一种解决方案,但实际测试时会出错。如何更好地解决这个问题?

写U盘前检测U盘的容量

下载的zip文件里面有一个index文件,它的格式如下:
start, stop, filename, md5
前两项指明写入位置,第三项为要写入的文件,第四项为该文件的md5校验和。

在往U盘写数据前,要检查一下U盘的容量是否达到最低要求。若无,则要报错,并停止对应U盘的写入操作。其他U盘的写入不受影响。

compile Windows version

在Windows下编译并打包此程序。编译过程应该写成批处理文件。

Windows下没有dcfldd,有dd程序,但不确定是否足够稳定。这个任务不需要所有的功能都可以正常使用,但下载功能要可以运行。

交付:1,编译脚本;2,windows安装包。
测试:安装程序,运行程序,下载功能应该可以正常运行。

md5sum.exe error!

hi I still have this problem after installing keepod installer on my win 7 64bit. how can I fix this error? thanks

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.