Changeset 7003


Ignore:
Timestamp:
Mar 12, 2018, 6:26:33 PM (19 months ago)
Author:
mabarracus
Message:

New option to allow install propietary packages

Location:
llx-netinstall/trunk/fuentes
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • llx-netinstall/trunk/fuentes/admin-center-llx-netinstall.install/lliurex-netinstall/src/i18n/ca-ES@valencia/messages.json

    r3632 r7003  
    88     "lliurex_netinstall_enable_netinstall":["Habilita la instal·lació per xarxa"],
    99     "lliurex_netinstall_enable_unattended":["Fes una instal·lació desatesa"],
     10     "lliurex_netinstall_enable_nongpl_apps":["Habilita la instal·lació de paquets no lliures"],
     11     "lliurex_netinstall_nongpl_description":["Utilitzant esta opció acceptes totes les llicències del fabricant del producte"],
     12     "lliurex_netinstall_agreement_title":["Aceptació de licencies"],
    1013     "lliurex_netinstall_enable_stats": ["Habilita l'enviament d'estadistiques als desenvolupadors"],
    1114     "lliurex_netinstall_username":["Usuari"],
  • llx-netinstall/trunk/fuentes/admin-center-llx-netinstall.install/lliurex-netinstall/src/i18n/en-US/messages.json

    r3632 r7003  
    88     "lliurex_netinstall_enable_netinstall":["Enable network installation"],
    99     "lliurex_netinstall_enable_unattended":["Enable unattended install"],
     10     "lliurex_netinstall_enable_nongpl_apps":["Enable non free package installation"],
     11     "lliurex_netinstall_nongpl_description":["Using this option, you agree with all propietary licenses of the product owner"],
     12     "lliurex_netinstall_agreement_title":["License agreement"],
    1013     "lliurex_netinstall_enable_stats": ["Enable send stats to developers"],
    1114     "lliurex_netinstall_username":["Username"],
     
    2225  }
    2326}
     27   
  • llx-netinstall/trunk/fuentes/admin-center-llx-netinstall.install/lliurex-netinstall/src/i18n/es-ES/messages.json

    r5251 r7003  
    88     "lliurex_netinstall_enable_netinstall":["Habilita la instalación por red"],
    99     "lliurex_netinstall_enable_unattended":["Realiza una instalación desatendida"],
     10     "lliurex_netinstall_enable_nongpl_apps":["Habilita instalacion de paquetes no libres"],
     11     "lliurex_netinstall_agreement_title":["Aceptación de licencias"],
     12     "lliurex_netinstall_nongpl_description":["Utilizando esta opción aceptas todas las licencias del fabricante del producto"],
    1013     "lliurex_netinstall_enable_stats": ["Habilita envio de estadisticas al equipo de desarrollo"],
    1114     "lliurex_netinstall_username":["Usuario"],
  • llx-netinstall/trunk/fuentes/admin-center-llx-netinstall.install/lliurex-netinstall/src/js/lliurex-netinstall.js

    r3686 r7003  
    33   this.unattended_netinstall=false;
    44   this.netinstall_stats=true;
     5   this.nongplapps=false;
    56}
    67
     
    2021   
    2122   Utils.n4d(credentials, n4dclass, n4dmethod, arglist, function(response){
    22       //console.log(response);
     23      console.log('getNetinstall '+response);
    2324      response.netinstall == 'true' ? self.netinstall=true : self.netinstall=false;
    2425      response.unattended == 'true' ? self.unattended_netinstall=true : self.unattended_netinstall=false;
    2526      response.stats == 'true' ? self.netinstall_stats=true : self.netinstall_stats=false;
    26       //console.log(self.netinstall);
    27       //console.log(self.unattended_netinstall);
     27      response.nongplapps == 'true' ? self.nongplapps=true : self.nongplapps=false;
    2828      self.showUI();   
    2929   },0);
    30    
    31    
    32    
    33    
    34 }
     30}
     31
     32LlxNetinstall.prototype.set_nongplapps=function set_nongplapps(status){
     33   var self=this;
     34   
     35   credentials=[sessionStorage.username, sessionStorage.password];
     36   n4dclass="NetinstallManager";
     37   n4dmethod="install_nongpl";
     38   if (status == true){
     39        arglist=['true'];
     40   }else{
     41        arglist=['false'];
     42   }
     43   Utils.n4d(credentials, n4dclass, n4dmethod, arglist, function(response){
     44      console.log('SetNonGPL '+response);
     45   },0);
     46}
     47
     48LlxNetinstall.prototype.mostrarAgreement = function(){
     49    var html =" <div class='form-group' id = 'lliurex_netinstall_agreement_box'>";
     50    if (!this.visibleLocals){
     51        html+=this._("lliurex_netinstall_nongpl_description");
     52    }
     53    html +="</div>";
     54    var dialog=bootbox.dialog({
     55        title: this._("lliurex_netinstall_agreement_title"),
     56        message:html,
     57        buttons:[
     58        {
     59            label:'ok',
     60            className: 'btn-info',
     61            callback: function(diag){
     62                //debugger;
     63                self.netInstall.nongplapps=true;
     64                $("#llx_netinstall_enable_nongpl_apps").prop('checked',true);
     65            }
     66        },
     67        {
     68            label:'cancel',
     69            className: 'btn-danger',
     70            callback: function(diag){
     71                //debugger;
     72                self.netInstall.nongplapps=false;
     73                $("#llx_netinstall_enable_nongpl_apps").prop('checked',false);
     74            }
     75        }
     76        ],
     77        onshown: function(){
     78            $.material.init('#lliurex_netinstall_agreement_box');
     79        },
     80    });
     81    dialog.modal("show");
     82}
     83
    3584
    3685LlxNetinstall.prototype.showUI=function showUI(){
     
    4291   var netinstallunattendeddisabled="";
    4392   var netinstall_stats="";
    44    
     93   var netinstall_enable_nongpl="";
     94   
     95   if (self.nongplapps === true){
     96        netinstall_enable_nongpl="checked";
     97   }
     98   //self.set_nongplapps(self.nongplapps);
    4599   if (self.netinstall_stats===true){
    46100      netinstall_stats="checked";
     
    69123                                                "disabled": netinstallunattendeddisabled,
    70124                                                "help":self._("lliurex_netinstall_enable_unattended")});
    71    
     125
     126    content+=Utils.formFactory.createCheckbox({"id":"llx_netinstall_enable_nongpl_apps",
     127                                                "label":self._("lliurex_netinstall_enable_nongpl_apps"),
     128                                                "default": netinstall_enable_nongpl,
     129                                                "disabled": "",
     130                                                "help":self._("lliurex_netinstall_enable_nongpl_apps")});
     131 
    72132      content+=Utils.formFactory.createText({"id":"llx_netinstall_setnetinstall_user",
    73133                                        "label": self._("lliurex_netinstall_username"),
     
    105165   $("#llx_netinstall_apply_config").show();
    106166   
     167   $("#llx_netinstall_enable_nongpl_apps").on("click", function(){
     168            if ($('#llx_netinstall_enable_nongpl_apps').prop('checked') == true){
     169                //show message
     170                self.mostrarAgreement();
     171            }else{
     172                self.nongplapps=false;
     173            }
     174        //console.log('setting nongplapps '+self.nongplapps)
     175        //self.set_nongplapps(self.nongplapps);
     176        }
     177    );
     178   
    107179   $("#llx_netinstall_do_stats").off("click");
    108180   $("#llx_netinstall_do_stats").on("click", function(){
     
    173245      var n4dmethod="setNetinstall";
    174246
    175       var arglist=[self.netinstall.toString(), self.unattended_netinstall.toString(), self.netinstall_stats.toString()];
    176       //console.log('Setting netinstall '+arglist);
     247      var arglist=[self.netinstall.toString(), self.unattended_netinstall.toString(), self.netinstall_stats.toString(), self.nongplapps.toString()];
     248      console.log('Setting netinstall '+arglist);
    177249      var test=arglist;
     250      self.set_nongplapps(self.nongplapps);
     251     
    178252     
    179253      Utils.n4d(credentials, n4dclass, n4dmethod, arglist, function(response){
  • llx-netinstall/trunk/fuentes/debian/changelog

    r5251 r7003  
     1llx-netinstall (0.62) xenial; urgency=medium
     2
     3  * New option to allow install propietary packages
     4
     5 -- M.Angel Juan <m.angel.juan@gmail.com>  Mon, 12 Mar 2018 18:25:31 +0100
     6
    17llx-netinstall (0.61) xenial; urgency=medium
    28
  • llx-netinstall/trunk/fuentes/install.llx-netinstall/etc/n4d/conf.d/NetinstallManager

    r3417 r7003  
    1313get_force_classroom_stats=adm,admins
    1414set_force_classroom_stats=adm,admins
     15install_nongpl=adm,admins
  • llx-netinstall/trunk/fuentes/install.llx-netinstall/usr/share/llx-netinstall/templates/d-i-late-command

    r3632 r7003  
    55#
    66
     7EXTRA_REPOS=""
     8check_and_install_nongpl(){
     9    wget -q -O /extra-packages.netinstall http://preseed/extra-packages.netinstall
     10    if [ -f "/extra-packages.netinstall" ]; then
     11        oIFS=$IFS
     12        IFS="|"
     13        repos="$(egrep -i 'repository' /extra-packages.netinstall |sed -r 's% +% %g'|cut -d' ' -f2- )"
     14        packages="$(egrep -i 'package' /extra-packages.netinstall |sed -r 's% +% %g'|cut -d' ' -f2- )"
     15        for r in $repos ; do
     16            echo deb $r >> /target/etc/apt/sources.list
     17        done;
     18        EXTRA_REPOS=$repos
     19        if [ "x$packages" != "x" ]; then
     20            in-target apt-get update
     21            in-target apt-get -y install $packages
     22        fi
     23        rm /extra-packages.netinstall
     24        IFS=$oIFS
     25    fi
     26}
    727
    828# First fix the sources list for generic lliurex flavours
     
    3959    echo "deb ${SERVER} xenial-updates main universe restricted multiverse"  >> ${BASE_DIR}/etc/apt/sources.list
    4060    echo "deb ${SERVER} xenial-security main universe restricted multiverse"  >> ${BASE_DIR}/etc/apt/sources.list
     61    if [ "x$EXTRA_REPOS" != "x" ]; then
     62        oIFS=$IFS
     63        IFS="|"
     64        for r in $EXTRA_REPOS; do
     65            echo deb $r >> ${BASE_DIR}/etc/apt/sources.list
     66        done
     67        IFS=$oIFS
     68    fi
    4169    if [ "$param" = "infantil" ]; then
    4270        echo "deb ${SERVER} xenial preschool" >> ${BASE_DIR}/etc/apt/sources.list
     
    6189force_server=$(cat /proc/cmdline |sed -r "s%.*force_server=(http://[0-9a-zA-Z_/.:-]+).*%\1%i;tx;d;:x")
    6290
     91check_and_install_nongpl
     92
    6393put_apt_conf ${BASE_DIR} ${base_class}
    6494
  • llx-netinstall/trunk/fuentes/install.llx-netinstall/usr/share/n4d/python-plugins/NetinstallManager.py

    r4405 r7003  
    105105                data = json.load(json_data)
    106106                json_data.close()
     107               
    107108                if(data["netinstall_boot"].lower()=="true"):
    108109                        netinstall='true';
    109110                else:
    110111                        netinstall='false';
    111                
    112112                if(data["netinstall_unattended"].lower()=="true"):
    113113                        unattended='true';
     
    117117                if("netinstall_stats" not in data.keys() or data["netinstall_stats"].lower()!="false"):
    118118                        do_stats='true';
     119                        data['netinstall_stats']='true';
    119120                else:
    120121                        do_stats='false';
    121                
     122                if("nongplapps" not in data.keys() or data["nongplapps"].lower()=="false"):
     123                        nongplapps='false';
     124                        data['nongplapps']='false';
     125                else:
     126                        nongplapps='true';
    122127                #write the json file
    123                 ret=self.setNetinstall(data["netinstall_boot"].lower(),data["netinstall_unattended"].lower(),data["netinstall_stats"].lower())
     128                ret=self.setNetinstall(data["netinstall_boot"].lower(),data["netinstall_unattended"].lower(),data["netinstall_stats"].lower(),data["nongplapps"].lower())
    124129                if ret['status'].lower() != 'true':
    125130                    raise Exception('Error setting json file calling setNetinstall')
    126131               
    127                 return {"netinstall":netinstall, "unattended":unattended, "stats": do_stats}
     132                return {"netinstall":netinstall, "unattended":unattended, "stats": do_stats, 'nongplapps':nongplapps}
    128133                       
    129134                       
    130135        # END def GetNetInstall
    131136
    132         def setNetinstall(self, status, unattended,stats):
     137        def setNetinstall(self, status, unattended, stats, nongplapps):
    133138                '''
    134139                receives data from admin-center form
     
    141146                                        path_to_write = os.path.join(self.imagepath,"netinstall.json")
    142147                                        f = open(path_to_write,'w')
    143                                         data='{"netinstall_boot":"'+str(status)+'", "netinstall_unattended":"'+str(unattended)+'", "netinstall_stats":"'+str(stats)+'"}'
     148                                        data='{"netinstall_boot":"'+str(status)+'", "netinstall_unattended":"'+str(unattended)+'", "netinstall_stats":"'+str(stats)+'","nongplapps":"'+str(nongplapps)+'"}'
    144149                                        f.writelines(data)
    145150                                        f.close()
     
    214219       
    215220        #END def get_force_classroom_stats(self):
     221       
     222        def install_nongpl(self, do):
     223            if isinstance(do,bool):
     224                do=str(do).lower()
     225            elif isinstance(do,str):
     226                do=do.lower()
     227            else:
     228                do="false"
     229
     230            filedir="/var/www/preseed"
     231            filename="extra-packages.netinstall"
     232            file=filedir+'/'+filename
     233            line="repository: http://archive.canonical.com/ubuntu xenial partner\n"
     234            line+="package: adobe-flashplugin\n"
     235            try:
     236                with open(file,'w') as fp:
     237                    if do == 'true':
     238                        fp.write(line)
     239                return {'status':"True",'msg': 'Ok'}
     240            except Exception as e:
     241                return {'status':"False",'msg': str(e)}
     242               
     243        # END def install_nongpl(self, do):
    216244       
    217245        def setNetinstallUnattended(self, status, username, password, rootpassword):
Note: See TracChangeset for help on using the changeset viewer.