BKcore edited this page Sep 18, 2011 · 5 revisions

Table of Contents

ICUS - Installation and configuration of usual softwares

Authors

Thibaut Despoulain, Benjamin Guillet, Thomas Real

Download

Release Date MD5 Download link
icus-1.0.0-stable.zip 16/04/2010 6995517211515a32c2945a5eb3839594

Sources

See Source Code on this wiki
Or browse ICUS devfiles sources (from-scratch sources)

Project

ICUS is a script that helps you save and restore configurations, softwares, internet profiles... ICUS generates a ICUS_date.save file to restore later the previous configuration (After a system reinstall for example)

System requirements

  • Debian-based Linux distribution (Tested only on Ubuntu as of now)
  • Apt-Get package manager

Goals

  • Auto-install custom softwares
  • Auto-conf of softwares/system
  • System updates

Guideline

  • Bash interface
  • Apt-get for software installs
  • Configuration file to store your custom ICUS tasks

Default softwares list

  • OOo (if not already installed)
  • VLC
  • Firefox
  • ...

Default settings list

  • Networks (LAN/WLAN)
  • Bookmarks
  • Custom Folders
  • ...

Tools used during the conception

  • FreeMind
  • Filezilla
  • Gedit
  • Gobby
  • Gtalk

Functions

There are the functions of our project, divided into three categories : configuration functions, actions functions and menu functions.

Configuration read/write/copy functions

  • conf_get()
Retrieves a section in the save file
First parameter : *.save file
Second parameter : the configuration section to read
Third parameter :
  • conf_set()
Writes a new section in the save file
First parameter : *.save file
Second parameter : the configuration section to write.
Third parameter : the content of the section
  • conf_copy_backup()
Saves a specified software configuration into a configuration file
First parameter : *.save file
Second parameter : the configuration section to save
  • conf_copy_restore()
Restores a specified configuration thanks to a previous configuration file
First parameter : *.save file
Second parameter : the configuration section to read
  • conf_file_exists()
Tests if a configuration file icus.conf exists or not
First parameter : icus.conf file
Second parameter : the configuration section to read

Actions functions

  • action_save_file()
Saves settings into the .save file and configuration files into the ICUS_FOLDER
  • action_choose_softwares()
Adds the complete softwares list to .save file to backup
  • action_choose_configurations()
Adds the complete configurations list to .save file
  • action_check_savefile_integrity()
Checks if the .save file contains softwares and configurations
Parameter : *.save file
  • action_test_network()
Restores the network configuration and pings to check if the user is now connected to the internet
Parameter : *.save file
  • action_restore_configuration()
Restores the configurations specified in .save file
Parameter : *.save file
  • action_restore_software()
Restores the softwares specificed in .save file running apt-get to install back softwares
Parameter : *.save file
  • action_restore()
Calls all actions_restore functions
Parameter : *.save file

Menu functions

  • menu_root()
Prints the main menu
  • menu_sub1()
Prints the creation of save file menu
  • menu_sub2()
Prints the restoration of save file menu

License

We chose the BSD license for our project :

Copyright (c) 2010, The ICUS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of ICUS nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Progress

Name Date Object Length Files (ICUS sources)
Benjamin 19/03/2010 Bash interface (Menu) 5 H menu.sh
21/03/2010 Implement menu as functions, integrate new functions to the "main" 4 H menu.sh >> icus.sh
23/03/2010 Restoration functions (partial), system update 2 H icus.sh
24/03/2010 Restore softwares functions, bug tracking 2 H test.sh >> icus.sh
29/03/2010 Implement savefile, configurations compression functions (partial), thinking of a License (BSD?) 2 H icus.sh
Thibaut 19/03/2010 Configuration read/write functions 5 H filerw.sh
21/03/2010 Software selection function, Configuration selection function 4 H softinput.sh, confinput.sh
22/03/2010 Softwares and configurations input integration to main script, savefile integrity check function 2 H softinput.sh && confinput.sh > icus.sh, icus.sh
23/03/2010 Savefile writing function, conf files backup function integration, touch-ups and bugfixes on the configuration part. 2 H + 1 H icus.sh
24/03/2010 More bugfixes and safety tests in configuration parts 2 H icus.sh
26/03/2010 Ends of restoration functions, bugfixes(partial), code cleaning 2 H icus.sh, icus.clean.sh
29/03/2010 Code comments, test on Linux virtual machine 2 H icus.clean.sh
16/04/2010 Wiki additions, final tests and packaging 2 H icus-1.0.0-stable.zip
Thomas 19/03/2010 Usual configuration files research 5 H conf.sh
21/03/2010 Argument handling function 4 H argument.sh >> icus.sh
22/03/2010 Save and restore configuration files functions 2 H cp_restore_config.sh && cp_save_config.sh
23/03/2010 "icus --help" writing, filename integrity check (partial) 2 H icus.sh
24/03/2010 filename integrity check - Wikibe 1 H 30 icus.sh
26/03/2010 Wikibe and code comments 1 H 30 icus.sh
29/03/2010 Wikibe : english version, french version and source code 1 H 30

Resources

ICUS devfiles

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.