Changeset eec2eb4


Ignore:
Timestamp:
07/23/13 11:45:43 (14 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2, releng/10.0.3
Children:
7381613
Parents:
3f8cc13
Message:

Add option to set zpoolName=<name> in pc-sysinstall, and update the GUI
to reflect this change

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-installgui/installer.cpp

    r5bfd1ee reec2eb4  
    473473  wDisk->programInit(); 
    474474  wDisk->setWindowModality(Qt::ApplicationModal); 
    475   connect(wDisk, SIGNAL(saved(QList<QStringList>, bool, bool)), this, SLOT(slotSaveDiskChanges(QList<QStringList>, bool, bool))); 
     475  connect(wDisk, SIGNAL(saved(QList<QStringList>, bool, bool, QString)), this, SLOT(slotSaveDiskChanges(QList<QStringList>, bool, bool, QString))); 
    476476  wDisk->show(); 
    477477  wDisk->raise(); 
     
    504504} 
    505505 
    506 void Installer::slotSaveDiskChanges(QList<QStringList> newSysDisks, bool MBR, bool GPT) 
    507 { 
     506void Installer::slotSaveDiskChanges(QList<QStringList> newSysDisks, bool MBR, bool GPT, QString zName) 
     507{ 
     508 
     509  zpoolName = zName;  
     510 
    508511  // Save the new disk layout 
    509512  loadMBR = MBR; 
     
    783786    tmpList << "hostname=" + fHost; 
    784787 
     788  // Using a custom zpool name? 
     789  if ( ! zpoolName.isEmpty() ) 
     790    tmpList << "zpoolName=" + zpoolName; 
    785791   
    786792  // Networking setup 
  • src-qt4/pc-installgui/installer.h

    r023bab4 reec2eb4  
    4848    // Disk slots 
    4949    void slotDiskCustomizeClicked(); 
    50     void slotSaveDiskChanges(QList<QStringList>, bool, bool); 
     50    void slotSaveDiskChanges(QList<QStringList>, bool, bool, QString); 
    5151 
    5252    // Slots for the installation 
     
    170170    QString customCfgFile; 
    171171 
     172    // Zpool custom name 
     173    QString zpoolName; 
     174 
    172175protected: 
    173176    void closeEvent(QCloseEvent *event); 
  • src-qt4/pc-installgui/wizardDisk.cpp

    r7431d6d reec2eb4  
    2727  connect(pushAddMount, SIGNAL(clicked()), this, SLOT(slotAddFS())); 
    2828  connect(this,SIGNAL(currentIdChanged(int)),this,SLOT(slotCheckComplete())); 
     29  connect(lineZpoolName,SIGNAL(textChanged ( const QString & )),this,SLOT(slotCheckComplete())); 
     30  connect(groupZFSPool,SIGNAL( clicked(bool)),this,SLOT(slotCheckComplete())); 
    2931  connect(comboDisk,SIGNAL(currentIndexChanged(int)),this,SLOT(slotCheckComplete())); 
    3032  connect(comboDisk,SIGNAL(currentIndexChanged(int)),this,SLOT(slotChangedDisk())); 
     
    9597{ 
    9698  bool useGPT = false; 
     99  QString zpoolName; 
    97100  if (comboPartition->currentIndex() == 0 ) 
    98101    useGPT = checkGPT->isChecked(); 
     
    102105    useGPT = true; 
    103106 
     107  if ( radioAdvanced->isChecked() && groupZFSPool->isChecked() ) 
     108     zpoolName = lineZpoolName->text(); 
     109 
    104110  if ( radioExpert->isChecked() ) 
    105     emit saved(sysFinalDiskLayout, false, false); 
     111    emit saved(sysFinalDiskLayout, false, false, zpoolName); 
    106112  else 
    107     emit saved(sysFinalDiskLayout, true, useGPT); 
     113    emit saved(sysFinalDiskLayout, true, useGPT, zpoolName); 
    108114  close(); 
    109115} 
     
    115121       if (radioExpert->isChecked()) 
    116122         return Page_Expert; 
    117        if (radioBasic->isChecked()) 
     123       if (radioBasic->isChecked()) { 
    118124         checkGPT->setVisible(false); 
    119        if (radioAdvanced->isChecked()) 
     125         groupZFSPool->setVisible(false); 
     126       } 
     127       if (radioAdvanced->isChecked()) { 
    120128         checkGPT->setVisible(true); 
     129         groupZFSPool->setVisible(true); 
     130       } 
    121131        break; 
    122132     case Page_BasicDisk: 
     
    195205         else 
    196206           checkGPT->setVisible(false); 
     207 
     208         // Doing a Advanced install 
     209         if ( radioAdvanced->isChecked() && groupZFSPool->isChecked() ) 
     210         { 
     211            if ( lineZpoolName->text().isEmpty() ) { 
     212              button(QWizard::NextButton)->setEnabled(false); 
     213              return false; 
     214            } 
     215            if ( lineZpoolName->text().contains(" ") ) { 
     216              button(QWizard::NextButton)->setEnabled(false); 
     217              return false; 
     218            } 
     219            QRegExp *re = new QRegExp("^[-'a-zA-Z]*$");  
     220            if (! re->exactMatch(lineZpoolName->text()) ) { 
     221              button(QWizard::NextButton)->setEnabled(false); 
     222              return false; 
     223            } 
     224 
     225         } 
    197226 
    198227         // Comment out this disk space check 
  • src-qt4/pc-installgui/wizardDisk.h

    rda366a8 reec2eb4  
    8787 
    8888signals: 
    89     void saved(QList<QStringList>, bool, bool); 
     89    void saved(QList<QStringList>, bool, bool, QString); 
    9090 
    9191} ; 
  • src-qt4/pc-installgui/wizardDisk.ui

    rda366a8 reec2eb4  
    191191  <widget class="QWizardPage" name="Page_BasicDisk"> 
    192192   <layout class="QGridLayout" name="gridLayout_11"> 
    193     <item row="0" column="0" rowspan="7"> 
    194      <layout class="QVBoxLayout" name="verticalLayout_4"> 
    195       <item> 
    196        <widget class="QLabel" name="label_3"> 
    197         <property name="sizePolicy"> 
    198          <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
    199           <horstretch>0</horstretch> 
    200           <verstretch>0</verstretch> 
    201          </sizepolicy> 
    202         </property> 
    203         <property name="maximumSize"> 
    204          <size> 
    205           <width>55</width> 
    206           <height>55</height> 
    207          </size> 
    208         </property> 
    209         <property name="text"> 
    210          <string/> 
    211         </property> 
    212         <property name="pixmap"> 
    213          <pixmap resource="sysinstaller.qrc">:/modules/images/disk.png</pixmap> 
    214         </property> 
    215         <property name="scaledContents"> 
    216          <bool>true</bool> 
    217         </property> 
    218         <property name="alignment"> 
    219          <set>Qt::AlignCenter</set> 
    220         </property> 
    221        </widget> 
    222       </item> 
    223       <item> 
    224        <spacer name="verticalSpacer_11"> 
    225         <property name="orientation"> 
    226          <enum>Qt::Vertical</enum> 
    227         </property> 
    228         <property name="sizeHint" stdset="0"> 
    229          <size> 
    230           <width>20</width> 
    231           <height>40</height> 
    232          </size> 
    233         </property> 
    234        </spacer> 
    235       </item> 
    236      </layout> 
    237     </item> 
    238     <item row="0" column="1"> 
    239      <spacer name="verticalSpacer_5"> 
    240       <property name="orientation"> 
    241        <enum>Qt::Vertical</enum> 
    242       </property> 
    243       <property name="sizeType"> 
    244        <enum>QSizePolicy::Fixed</enum> 
    245       </property> 
    246       <property name="sizeHint" stdset="0"> 
    247        <size> 
    248         <width>387</width> 
    249         <height>18</height> 
    250        </size> 
    251       </property> 
    252      </spacer> 
    253     </item> 
    254     <item row="1" column="1"> 
    255      <widget class="QLabel" name="label_4"> 
    256       <property name="sizePolicy"> 
    257        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> 
    258         <horstretch>0</horstretch> 
    259         <verstretch>0</verstretch> 
    260        </sizepolicy> 
    261       </property> 
    262       <property name="text"> 
    263        <string>Please select the disk or partition you wish to install onto. Please note that BSD can only be installed to an entire disk, or primary partition larger than 10GB. </string> 
    264       </property> 
    265       <property name="wordWrap"> 
    266        <bool>true</bool> 
    267       </property> 
    268      </widget> 
    269     </item> 
    270     <item row="1" column="2" rowspan="6"> 
    271      <spacer name="horizontalSpacer_3"> 
    272       <property name="orientation"> 
    273        <enum>Qt::Horizontal</enum> 
    274       </property> 
    275       <property name="sizeType"> 
    276        <enum>QSizePolicy::Fixed</enum> 
    277       </property> 
    278       <property name="sizeHint" stdset="0"> 
    279        <size> 
    280         <width>17</width> 
    281         <height>256</height> 
    282        </size> 
    283       </property> 
    284      </spacer> 
    285     </item> 
    286     <item row="2" column="1"> 
    287      <spacer name="verticalSpacer_4"> 
    288       <property name="orientation"> 
    289        <enum>Qt::Vertical</enum> 
    290       </property> 
    291       <property name="sizeType"> 
    292        <enum>QSizePolicy::Fixed</enum> 
    293       </property> 
    294       <property name="sizeHint" stdset="0"> 
    295        <size> 
    296         <width>387</width> 
    297         <height>18</height> 
    298        </size> 
    299       </property> 
    300      </spacer> 
    301     </item> 
    302193    <item row="3" column="1"> 
    303194     <layout class="QGridLayout" name="gridLayout_3"> 
     
    370261     </widget> 
    371262    </item> 
    372     <item row="6" column="1"> 
     263    <item row="7" column="1"> 
    373264     <spacer name="verticalSpacer_6"> 
    374265      <property name="orientation"> 
     
    382273      </property> 
    383274     </spacer> 
     275    </item> 
     276    <item row="0" column="1"> 
     277     <spacer name="verticalSpacer_5"> 
     278      <property name="orientation"> 
     279       <enum>Qt::Vertical</enum> 
     280      </property> 
     281      <property name="sizeType"> 
     282       <enum>QSizePolicy::Fixed</enum> 
     283      </property> 
     284      <property name="sizeHint" stdset="0"> 
     285       <size> 
     286        <width>387</width> 
     287        <height>18</height> 
     288       </size> 
     289      </property> 
     290     </spacer> 
     291    </item> 
     292    <item row="1" column="1"> 
     293     <widget class="QLabel" name="label_4"> 
     294      <property name="sizePolicy"> 
     295       <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> 
     296        <horstretch>0</horstretch> 
     297        <verstretch>0</verstretch> 
     298       </sizepolicy> 
     299      </property> 
     300      <property name="text"> 
     301       <string>Please select the disk or partition you wish to install onto. Please note that BSD can only be installed to an entire disk, or primary partition larger than 10GB. </string> 
     302      </property> 
     303      <property name="wordWrap"> 
     304       <bool>true</bool> 
     305      </property> 
     306     </widget> 
     307    </item> 
     308    <item row="0" column="0" rowspan="8"> 
     309     <layout class="QVBoxLayout" name="verticalLayout_4"> 
     310      <item> 
     311       <widget class="QLabel" name="label_3"> 
     312        <property name="sizePolicy"> 
     313         <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
     314          <horstretch>0</horstretch> 
     315          <verstretch>0</verstretch> 
     316         </sizepolicy> 
     317        </property> 
     318        <property name="maximumSize"> 
     319         <size> 
     320          <width>55</width> 
     321          <height>55</height> 
     322         </size> 
     323        </property> 
     324        <property name="text"> 
     325         <string/> 
     326        </property> 
     327        <property name="pixmap"> 
     328         <pixmap resource="sysinstaller.qrc">:/modules/images/disk.png</pixmap> 
     329        </property> 
     330        <property name="scaledContents"> 
     331         <bool>true</bool> 
     332        </property> 
     333        <property name="alignment"> 
     334         <set>Qt::AlignCenter</set> 
     335        </property> 
     336       </widget> 
     337      </item> 
     338      <item> 
     339       <spacer name="verticalSpacer_11"> 
     340        <property name="orientation"> 
     341         <enum>Qt::Vertical</enum> 
     342        </property> 
     343        <property name="sizeHint" stdset="0"> 
     344         <size> 
     345          <width>20</width> 
     346          <height>40</height> 
     347         </size> 
     348        </property> 
     349       </spacer> 
     350      </item> 
     351     </layout> 
     352    </item> 
     353    <item row="1" column="2" rowspan="7"> 
     354     <spacer name="horizontalSpacer_3"> 
     355      <property name="orientation"> 
     356       <enum>Qt::Horizontal</enum> 
     357      </property> 
     358      <property name="sizeType"> 
     359       <enum>QSizePolicy::Fixed</enum> 
     360      </property> 
     361      <property name="sizeHint" stdset="0"> 
     362       <size> 
     363        <width>17</width> 
     364        <height>256</height> 
     365       </size> 
     366      </property> 
     367     </spacer> 
     368    </item> 
     369    <item row="2" column="1"> 
     370     <spacer name="verticalSpacer_4"> 
     371      <property name="orientation"> 
     372       <enum>Qt::Vertical</enum> 
     373      </property> 
     374      <property name="sizeType"> 
     375       <enum>QSizePolicy::Fixed</enum> 
     376      </property> 
     377      <property name="sizeHint" stdset="0"> 
     378       <size> 
     379        <width>387</width> 
     380        <height>18</height> 
     381       </size> 
     382      </property> 
     383     </spacer> 
     384    </item> 
     385    <item row="6" column="1"> 
     386     <widget class="QGroupBox" name="groupZFSPool"> 
     387      <property name="font"> 
     388       <font> 
     389        <weight>50</weight> 
     390        <bold>false</bold> 
     391       </font> 
     392      </property> 
     393      <property name="title"> 
     394       <string>ZFS pool name</string> 
     395      </property> 
     396      <property name="checkable"> 
     397       <bool>true</bool> 
     398      </property> 
     399      <property name="checked"> 
     400       <bool>false</bool> 
     401      </property> 
     402      <layout class="QGridLayout" name="gridLayout_4"> 
     403       <item row="0" column="0"> 
     404        <widget class="QLineEdit" name="lineZpoolName"> 
     405         <property name="inputMask"> 
     406          <string/> 
     407         </property> 
     408         <property name="maxLength"> 
     409          <number>32767</number> 
     410         </property> 
     411         <property name="placeholderText"> 
     412          <string notr="true">tank</string> 
     413         </property> 
     414        </widget> 
     415       </item> 
     416      </layout> 
     417     </widget> 
    384418    </item> 
    385419   </layout> 
  • src-sh/pc-sysinstall/backend/functions.sh

    r108f03c reec2eb4  
    269269 
    270270  # Set the base name we use for zpools 
    271   BASENAME="tank" 
     271  if [ -n "$ZPOOLCUSTOMNAME" ] ; then 
     272    BASENAME="$ZPOOLCUSTOMNAME" 
     273  else 
     274    BASENAME="tank" 
     275  fi 
    272276 
    273277  if [ ! -d "${TMPDIR}/.zpools" ] ; then 
     
    285289    while : 
    286290    do 
    287       NEWNAME="${BASENAME}${NUM}" 
     291      # If on the 0 device, drop the 0 alltogether 
     292      if [ "$NUM" = "0" ] ; then 
     293        NEWNAME="${BASENAME}" 
     294      else 
     295        NEWNAME="${BASENAME}${NUM}" 
     296      fi 
    288297      zpool list | grep -qw "${NEWNAME}" 
    289298      local chk1=$? 
  • src-sh/pc-sysinstall/backend/parseconfig.sh

    r1620346 reec2eb4  
    8989export PACKAGETYPE="${VAL}" 
    9090 
     91# See if the user wants a custom zpool starting name 
     92get_value_from_cfg zpoolName 
     93if [ -n "$VAL" ] ; then 
     94  export ZPOOLCUSTOMNAME="${VAL}" 
     95fi 
     96 
    9197# Check if we are doing any networking setup 
    9298start_networking 
Note: See TracChangeset for help on using the changeset viewer.