diff options
-rw-r--r-- | settings.conf | 3 | ||||
-rw-r--r-- | src/libcalamares/GlobalStorage.cpp | 1 | ||||
-rw-r--r-- | src/libcalamares/GlobalStorage.h | 1 | ||||
-rw-r--r-- | src/libcalamares/PacstrapCppJob.cpp | 116 | ||||
-rw-r--r-- | src/libcalamares/PacstrapCppJob.h | 21 | ||||
-rw-r--r-- | src/modules/pacstrap-gui/pacstrap-gui.conf | 3 | ||||
-rw-r--r-- | src/modules/pacstrap-gui/pacstrap-gui.cpp | 32 | ||||
-rw-r--r-- | src/modules/pacstrap-gui/pacstrap-gui.h | 2 |
8 files changed, 98 insertions, 81 deletions
diff --git a/settings.conf b/settings.conf index 8ec14c98e..5d2d6e34e 100644 --- a/settings.conf +++ b/settings.conf @@ -70,10 +70,9 @@ sequence: - summary - exec: - partition - - pacstrap + - mount - pacstrap-base - pacstrap-gui - - mount # - unpackfs # - networkcfg # - packages diff --git a/src/libcalamares/GlobalStorage.cpp b/src/libcalamares/GlobalStorage.cpp index e8716c66d..02d4fe7df 100644 --- a/src/libcalamares/GlobalStorage.cpp +++ b/src/libcalamares/GlobalStorage.cpp @@ -173,6 +173,7 @@ const QString GS::INITSYSTEM_KEY = "default-initsystem" ; const QString GS::DESKTOP_KEY = "default-desktop" ; const QString GS::LOCALE_KEY = "localeConf"; const QString GS::LANG_KEY = "LANG"; +const QString GS::ROOT_MOUNTPOINT_KEY = "rootMountPoint"; const QString GS::PARTITIONS_KEY = "partitions"; const QString GS::DEVICE_KEY = "device"; const QString GS::FS_KEY = "fs"; diff --git a/src/libcalamares/GlobalStorage.h b/src/libcalamares/GlobalStorage.h index bf42c1e6d..543c6c6d0 100644 --- a/src/libcalamares/GlobalStorage.h +++ b/src/libcalamares/GlobalStorage.h @@ -110,6 +110,7 @@ public: static const QString DESKTOP_KEY; static const QString LOCALE_KEY; static const QString LANG_KEY; + static const QString ROOT_MOUNTPOINT_KEY; static const QString PARTITIONS_KEY; static const QString DEVICE_KEY; static const QString FS_KEY; diff --git a/src/libcalamares/PacstrapCppJob.cpp b/src/libcalamares/PacstrapCppJob.cpp index e72458ea2..8ce58019e 100644 --- a/src/libcalamares/PacstrapCppJob.cpp +++ b/src/libcalamares/PacstrapCppJob.cpp @@ -34,7 +34,7 @@ const QString PacstrapCppJob::SYSTEMD_PACKAGES_KEY = "systemd" ; const QString PacstrapCppJob::APPLICATIONS_PACKAGES_KEY = "applications" ; const QString PacstrapCppJob::MULTIMEDIA_PACKAGES_KEY = "multimedia" ; const QString PacstrapCppJob::NETWORK_PACKAGES_KEY = "network" ; -const QString PacstrapCppJob::THEMES_PACKAGES_KEY = "themes" ; +const QString PacstrapCppJob::LOOKANDFEEL_PACKAGES_KEY = "look-and-feel" ; const QString PacstrapCppJob::UTILITIES_PACKAGES_KEY = "utilities" ; const QString PacstrapCppJob::XSERVER_PACKAGES_KEY = "x-server" ; const QString PacstrapCppJob::LXDE_PACKAGES_KEY = "lxde" ; @@ -43,7 +43,7 @@ const QString PacstrapCppJob::MATE_PACKAGES_KEY = "mate" ; /* PacstrapCppJob protected class constants */ -const QString PacstrapCppJob::MOUNTPOINT = "/tmp/pacstrap" ; +// const QString PacstrapCppJob::MOUNTPOINT = "/tmp/pacstrap" ; const char* PacstrapCppJob::BASE_JOB_NAME = "Pacstrap Base C++ Job" ; const char* PacstrapCppJob::GUI_JOB_NAME = "Pacstrap Desktop C++ Job" ; const char* PacstrapCppJob::BASE_STATUS_MSG = "Installing root filesystem" ; @@ -67,31 +67,35 @@ const QSTRINGMAP PacstrapCppJob::LANGUAGE_PACKS = { {"eo" , "iceweasel /* PacstrapCppJob private class constants */ -const QDir PacstrapCppJob::PACKAGES_CACHE_DIR = QDir(MOUNTPOINT + "/var/cache/pacman/pkg") ; -const QDir PacstrapCppJob::PACKAGES_METADATA_DIR = QDir(MOUNTPOINT + "/var/lib/pacman/local") ; -const QString PacstrapCppJob::DEFAULT_CONF_FILENAME = "/etc/pacman.conf" ; +// const QDir PacstrapCppJob::PACKAGES_CACHE_DIR = QDir(MOUNTPOINT + "/var/cache/pacman/pkg") ; +// const QDir PacstrapCppJob::PACKAGES_METADATA_DIR = QDir(MOUNTPOINT + "/var/lib/pacman/local") ; +const QString PacstrapCppJob::PACKAGES_CACHE_DIR_FMT = "%1/var/cache/pacman/pkg" ; +const QString PacstrapCppJob::PACKAGES_METADATA_DIR_FMT = "%1/var/lib/pacman/local" ; +const QString PacstrapCppJob::DEFAULT_CONF_FILENAME = "/etc/pacman.conf" ; const QString PacstrapCppJob::ONLINE_CONF_FILENAME = "/etc/pacman-online.conf" ; const QString PacstrapCppJob::OFFLINE_CONF_FILENAME = "/etc/pacman-offline.conf" ; const qreal PacstrapCppJob::PACMAN_SYNC_PROPORTION = 0.05 ; // per task progress-bar proportion const qreal PacstrapCppJob::LIST_PACKAGES_PROPORTION = 0.05 ; // per task progress-bar proportion const qreal PacstrapCppJob::CHROOT_TASK_PROPORTION = 0.9 ; // per task progress-bar proportion const QString PacstrapCppJob::SYSTEM_EXEC_FMT = "/bin/sh -c \"%1\"" ; -const QString PacstrapCppJob::PACSTRAP_CLEANUP_CMD = QString("umount %1/dev/pts %1/dev/shm %1/dev %1/proc %1/run %1/sys %1/tmp %1 2> /dev/null").arg(MOUNTPOINT) ; -const QString PacstrapCppJob::MOUNT_FMT = "mkdir %2 2> /dev/null || true && mount %1 %2" ; +const QString PacstrapCppJob::PACSTRAP_CLEANUP_CMD = "umount %1/dev/pts %1/dev/shm %1/dev %1/proc %1/run %1/sys %1/tmp %1 2> /dev/null" ; +// const QString PacstrapCppJob::MOUNT_FMT = "mkdir %2 2> /dev/null || true && mount %1 %2" ; const QString PacstrapCppJob::CHROOT_PREP_FMT = "mkdir -m 0755 -p {%1,%2}" ; const QString PacstrapCppJob::DB_REFRESH_FMT = "pacman -S --print --config %1 --root %2 --refresh" ; const QString PacstrapCppJob::LIST_PACKAGES_FMT = "pacman -S --print --config %1 --root %2 %3" ; const QString PacstrapCppJob::PACSTRAP_FMT = "pacstrap -C %1 %2 %3 --noprogressbar" ; // const QString PacstrapCppJob::KEYRING_CMD = "pacman -Sy --noconfirm parabola-keyring" ; -const QString PacstrapCppJob::KEYRING_CMD = "pacman -Sy --noconfirm parabola-keyring \ - archlinux-keyring \ - archlinux32-keyring && \ - pacman-key --init && \ - pacman-key --populate parabola \ - archlinux \ - archlinux32 && \ - pacman-key --refresh-keys " ; -const QString PacstrapCppJob::UMOUNT_FMT = "umount %1" ; +const QString PacstrapCppJob::KEYRING_CMD = "pacman -Sy --noconfirm archlinux-keyring \ + archlinux32-keyring \ + archlinuxarm-keyring \ + parabola-keyring && \ + pacman-key --init && \ + pacman-key --populate archlinux \ + archlinux32 \ + archlinuxarm \ + parabola && \ + pacman-key --refresh-keys " ; +// const QString PacstrapCppJob::UMOUNT_FMT = "umount %1" ; const QString PacstrapCppJob::CONFIG_ERROR_MSG = "Invalid configuration map." ; const QString PacstrapCppJob::TARGET_ERROR_MSG = "Target device for root filesystem is unspecified." ; const QString PacstrapCppJob::CONFFILE_ERROR_MSG = "Pacman configuration not found: '%1'." ; @@ -99,8 +103,8 @@ const QString PacstrapCppJob::KEYRING_ERROR_MSG = "Failed to update the p const QString PacstrapCppJob::MOUNT_ERROR_MSG = "Failed to mount the pacstrap chroot." ; const QString PacstrapCppJob::CHROOT_PREP_ERROR_MSG = "Failed to prepare the pacstrap chroot." ; const QString PacstrapCppJob::PACMAN_SYNC_ERROR_MSG = "Failed to syncronize packages in the pacstrap chroot." ; -const QString PacstrapCppJob::PACSTRAP_ERROR_MSG = "Failed to install packages in chroot." ; -const QString PacstrapCppJob::UMOUNT_ERROR_MSG = "Failed to unmount the pacstrap chroot." ; +const QString PacstrapCppJob::PACSTRAP_ERROR_MSG = "Failed to install packages in chroot. " ; +// const QString PacstrapCppJob::UMOUNT_ERROR_MSG = "Failed to unmount the pacstrap chroot." ; const QString PacstrapCppJob::STATUS_KEY = QString("status") ; const QString PacstrapCppJob::STDOUT_KEY = QString("stdout") ; const QString PacstrapCppJob::STDERR_KEY = QString("stderr") ; @@ -115,9 +119,12 @@ PacstrapCppJob::PacstrapCppJob(const char* job_name , const char* status_msg , { this->globalStorage = Calamares::JobQueue::instance()->globalStorage() ; this->localStorage = QVariantMap() ; // deferred to setConfigurationMap() + this->mountPoint = QString("") ; // deferred to exec() this->targetDevice = QString("") ; // deferred to exec() this->confFile = QString("") ; // deferred to exec() this->packages = QString("") ; // deferred to exec() + this->cacheDir = QDir("") ; // deferred to exec() + this->metedataDir = QDir("") ; // deferred to exec() this->nPreviousPackages = 0 ; // deferred to exec() this->nPendingPackages = 0 ; // deferred to exec() this->progressPercent = 0 ; @@ -147,15 +154,20 @@ globalStorage->insert(GS::DESKTOP_KEY , LXDE_PACKAGES_KEY ) ; // TODO: per // globalStorage->insert(GS::DESKTOP_KEY , MATE_PACKAGES_KEY ) ; // TODO: per user option via globalStorage // cleanup from possibly aborted previous runs - Teardown() ; +// Teardown() ; - QVariantList partitions = this->globalStorage->value(GS::PARTITIONS_KEY ).toList() ; - bool has_isorepo = this->globalStorage->value(GS::HAS_ISOREPO_KEY).toBool() ; - bool is_online = this->globalStorage->value(GS::IS_ONLINE_KEY ).toBool() ; + QVariantList partitions = this->globalStorage->value(GS::PARTITIONS_KEY ).toList() ; + bool has_isorepo = this->globalStorage->value(GS::HAS_ISOREPO_KEY ).toBool() ; + bool is_online = this->globalStorage->value(GS::IS_ONLINE_KEY ).toBool() ; + this->mountPoint = this->globalStorage->value(GS::ROOT_MOUNTPOINT_KEY).toString() ; this->targetDevice = FindTargetDevice(partitions) ; this->confFile = (!has_isorepo) ? DEFAULT_CONF_FILENAME : (is_online ) ? ONLINE_CONF_FILENAME : OFFLINE_CONF_FILENAME ; this->packages = getPackageList() ; + this->cacheDir = QDir(PACKAGES_CACHE_DIR_FMT .arg(this->mountPoint)) ; + this->metedataDir = QDir(PACKAGES_METADATA_DIR_FMT.arg(this->mountPoint)) ; + QString cache_path = this->cacheDir .absolutePath() ; + QString metadata_path = this->metedataDir.absolutePath() ; DEBUG_TRACE_EXEC @@ -164,15 +176,14 @@ DEBUG_TRACE_EXEC if (!QFile(this->confFile).exists()) return JobError(CONFFILE_ERROR_MSG.arg(this->confFile)) ; // QString keyring_cmd = KEYRING_CMD ; - QString mount_cmd = MOUNT_FMT .arg(this->targetDevice , MOUNTPOINT) ; - QString chroot_prep_cmd = CHROOT_PREP_FMT .arg(PACKAGES_CACHE_DIR .absolutePath() , - PACKAGES_METADATA_DIR.absolutePath() ) ; - QString pacman_sync_cmd = DB_REFRESH_FMT .arg(this->confFile , MOUNTPOINT) ; - QString list_packages_cmd = LIST_PACKAGES_FMT.arg(this->confFile , MOUNTPOINT , this->packages) ; - QString umount_cmd = UMOUNT_FMT .arg(this->targetDevice) ; +// QString mount_cmd = MOUNT_FMT .arg(this->targetDevice , this->mountPoint) ; + QString chroot_prep_cmd = CHROOT_PREP_FMT .arg(cache_path , metadata_path) ; + QString pacman_sync_cmd = DB_REFRESH_FMT .arg(this->confFile , this->mountPoint) ; + QString list_packages_cmd = LIST_PACKAGES_FMT.arg(this->confFile , this->mountPoint , this->packages) ; +// QString umount_cmd = UMOUNT_FMT .arg(this->targetDevice) ; // if (!!execStatus(keyring_cmd )) return JobError(KEYRING_ERROR_MSG) ; - if (!!execStatus(mount_cmd )) return JobError(MOUNT_ERROR_MSG ) ; +// if (!!execStatus(mount_cmd )) return JobError(MOUNT_ERROR_MSG ) ; if (!!execStatus(chroot_prep_cmd )) return JobError(CHROOT_PREP_ERROR_MSG) ; if (!!execStatus(pacman_sync_cmd , PACMAN_SYNC_PROPORTION)) return JobError(PACMAN_SYNC_ERROR_MSG) ; @@ -182,15 +193,17 @@ DEBUG_TRACE_EXEC int status = result.value(STATUS_KEY).toInt() ; QString new_packages = result.value(STDOUT_KEY).toString() ; QString stderr = result.value(STDERR_KEY).toString() ; - this->nPreviousPackages = NPackagesInstalled() ; + this->nPreviousPackages = nPackagesInstalled() ; this->nPendingPackages = new_packages.count(QChar::LineFeed) ; if (!!status) return JobError(stderr) ; if (this->nPendingPackages > 0) { - QString pacstrap_cmd = PACSTRAP_FMT.arg(this->confFile , MOUNTPOINT , this->packages) ; - QString pacstrap_error = execError(pacstrap_cmd , CHROOT_TASK_PROPORTION) ; + QString pacstrap_cmd = PACSTRAP_FMT.arg(this->confFile , this->mountPoint , this->packages) ; + QVariantMap pacstrap_result = execWithProgress(pacstrap_cmd , CHROOT_TASK_PROPORTION) ; + int pacstrap_status = pacstrap_result.value(STATUS_KEY).toInt() ; + QString pacstrap_error = pacstrap_result.value(STDERR_KEY).toString().trimmed() ; if (pacstrap_error.contains("signature")) { @@ -199,11 +212,11 @@ DEBUG_TRACE_EXEC if (!!execStatus(KEYRING_CMD , CHROOT_TASK_PROPORTION * 0.5)) return JobError(KEYRING_ERROR_MSG) ; - pacstrap_error = execError(pacstrap_cmd , CHROOT_TASK_PROPORTION * 0.5) ; - - if (pacstrap_error.contains("signature")) - return JobError(PACSTRAP_ERROR_MSG + pacstrap_error) ; + pacstrap_result = execWithProgress(pacstrap_cmd , CHROOT_TASK_PROPORTION * 0.5) ; + pacstrap_status = pacstrap_result.value(STATUS_KEY).toInt() ; + pacstrap_error = pacstrap_result.value(STDERR_KEY).toString().trimmed() ; } + if (!!pacstrap_status) return JobError(PACSTRAP_ERROR_MSG + pacstrap_error) ; QString exec_error_msg = chrootExec() ; @@ -212,8 +225,9 @@ DEBUG_TRACE_EXEC } } - if (!execStatus(umount_cmd)) this->progressPercent = emitProgress(1.0) ; - else return JobError(UMOUNT_ERROR_MSG) ; +// if (!execStatus(umount_cmd)) this->progressPercent = emitProgress(1.0) ; +// else return JobError(UMOUNT_ERROR_MSG) ; + this->progressPercent = emitProgress(1.0) ; return JobSuccess() ; } @@ -255,7 +269,7 @@ DEBUG_TRACE_EXECWITHPROGRESS retval.insert(STDERR_KEY , QVariant(stderr)) ; return retval ; -} ; +} int PacstrapCppJob::execStatus(QString command_line , qreal task_proportion) { @@ -284,8 +298,6 @@ QString PacstrapCppJob::execError(QString command_line , qreal task_proportion) /* PacstrapCppJob private class methods */ -void PacstrapCppJob::Teardown() { QProcess::execute(SYSTEM_EXEC_FMT.arg(PACSTRAP_CLEANUP_CMD)) ; } - QString PacstrapCppJob::FindTargetDevice(const QVariantList& partitions) { QString target_device = QString("") ; @@ -307,17 +319,11 @@ DEBUG_TRACE_FINDTARGETDEVICE return target_device ; } -qint16 PacstrapCppJob::NPackagesInstalled() -{ - int n_downloaded = PACKAGES_CACHE_DIR .entryList(QDir::Files | QDir::NoDotAndDotDot).count() ; - int n_installed = PACKAGES_METADATA_DIR.entryList(QDir::Dirs | QDir::NoDotAndDotDot).count() ; - - return (n_downloaded + n_installed) / 2 ; -} - Calamares::JobResult PacstrapCppJob::JobError(QString error_msg) { - Teardown() ; +// Calamares::GlobalStorage* global_storage = Calamares::JobQueue::instance()->globalStorage() ; +// QString mountpoint = global_storage.value(GS::ROOT_MOUNTPOINT_KEY).toString() ; +// QProcess::execute(SYSTEM_EXEC_FMT.arg(PACSTRAP_CLEANUP_CMD.arg(mountpoint))) ; return Calamares::JobResult::error(error_msg) ; } @@ -330,6 +336,14 @@ Calamares::JobResult PacstrapCppJob::JobSuccess() /* PacstrapCppJob private instance methods */ +qint16 PacstrapCppJob::nPackagesInstalled() +{ + int n_downloaded = this->cacheDir .entryList(QDir::Files | QDir::NoDotAndDotDot).count() ; + int n_installed = this->metedataDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot).count() ; + + return (n_downloaded + n_installed) / 2 ; +} + qreal PacstrapCppJob::emitProgress(qreal transient_percent) { qreal progress_percent = qBound(0.0 , this->progressPercent + transient_percent , 1.0) ; @@ -345,7 +359,7 @@ qreal PacstrapCppJob::getTaskCompletion() { if (this->nPendingPackages == 0) return 0.0 ; - qreal n_new_packages = qreal(NPackagesInstalled() - this->nPreviousPackages) ; + qreal n_new_packages = qreal(nPackagesInstalled() - this->nPreviousPackages) ; qreal completion_percent = qreal(n_new_packages / this->nPendingPackages ) ; DEBUG_TRACE_GETTASKCOMPLETION diff --git a/src/libcalamares/PacstrapCppJob.h b/src/libcalamares/PacstrapCppJob.h index f8a4af002..7934d8c89 100644 --- a/src/libcalamares/PacstrapCppJob.h +++ b/src/libcalamares/PacstrapCppJob.h @@ -65,9 +65,12 @@ protected: qreal jobWeight ; Calamares::GlobalStorage* globalStorage ; QVariantMap localStorage ; + QString mountPoint ; QString targetDevice ; QString confFile ; QString packages ; + QDir cacheDir ; + QDir metedataDir ; qint16 nPreviousPackages ; qint16 nPendingPackages ; qreal progressPercent ; @@ -75,14 +78,13 @@ protected: private: - static inline void Teardown () ; static QString FindTargetDevice (const QVariantList& partitions) ; - static qint16 NPackagesInstalled() ; static inline Calamares::JobResult JobError (QString error_msg) ; static inline Calamares::JobResult JobSuccess () ; - qreal emitProgress (qreal transient_percent) ; - qreal getTaskCompletion() ; + qint16 nPackagesInstalled() ; + qreal emitProgress (qreal transient_percent) ; + qreal getTaskCompletion () ; /* constants */ @@ -96,7 +98,7 @@ public: static const QString APPLICATIONS_PACKAGES_KEY ; static const QString MULTIMEDIA_PACKAGES_KEY ; static const QString NETWORK_PACKAGES_KEY ; - static const QString THEMES_PACKAGES_KEY ; + static const QString LOOKANDFEEL_PACKAGES_KEY ; static const QString UTILITIES_PACKAGES_KEY ; static const QString XSERVER_PACKAGES_KEY ; static const QString LXDE_PACKAGES_KEY ; @@ -105,7 +107,7 @@ public: protected: - static const QString MOUNTPOINT ; +// static const QString MOUNTPOINT ; static const char* BASE_JOB_NAME ; static const char* GUI_JOB_NAME ; static const char* BASE_STATUS_MSG ; @@ -117,8 +119,8 @@ protected: private: - static const QDir PACKAGES_CACHE_DIR ; - static const QDir PACKAGES_METADATA_DIR ; + static const QString PACKAGES_CACHE_DIR_FMT ; + static const QString PACKAGES_METADATA_DIR_FMT ; static const QString DEFAULT_CONF_FILENAME ; static const QString ONLINE_CONF_FILENAME ; static const QString OFFLINE_CONF_FILENAME ; @@ -155,6 +157,7 @@ private: << " job_name=" << this->jobName \ << " has_isorepo=" << has_isorepo \ << " is_online=" << is_online \ + << " mountPoint=" << this->mountPoint \ << " targetDevice=" << this->targetDevice \ << " confFile=" << this->confFile \ << " n_packages=" << this->packages.count() ; @@ -175,7 +178,7 @@ private: #define DEBUG_TRACE_GETTASKCOMPLETION cDebug(LOGVERBOSE) << "[PACSTRAP]: " << \ "this->nPreviousPackages=" << this->nPreviousPackages << \ - " NPackagesInstalled()=" << NPackagesInstalled() << \ + " nPackagesInstalled()=" << nPackagesInstalled() << \ "\n " << \ "n_new_packages=" << (int)n_new_packages << \ " this->nPendingPackages=" << this->nPendingPackages << \ diff --git a/src/modules/pacstrap-gui/pacstrap-gui.conf b/src/modules/pacstrap-gui/pacstrap-gui.conf index 6a8ec428e..78fc5c2dc 100644 --- a/src/modules/pacstrap-gui/pacstrap-gui.conf +++ b/src/modules/pacstrap-gui/pacstrap-gui.conf @@ -27,8 +27,7 @@ network: - "gnome-keyring" - "network-manager-applet" -themes: - - "grub2-theme-gnuaxiom" +look-and-feel: - "parabola-laf" - "xdg-user-dirs" diff --git a/src/modules/pacstrap-gui/pacstrap-gui.cpp b/src/modules/pacstrap-gui/pacstrap-gui.cpp index 82c96054b..7f5de5925 100644 --- a/src/modules/pacstrap-gui/pacstrap-gui.cpp +++ b/src/modules/pacstrap-gui/pacstrap-gui.cpp @@ -28,17 +28,17 @@ // const QString PacstrapGuiJob::WALLPAPER_ERROR_MSG = "The wallpaper installation command has failed." ; const QString PacstrapGuiJob::GET_XKBMAP_CMD = "grep 'XKBMAP=' ~/.codecheck 2> /dev/null | cut -d '=' -f 2" ; // const QString PacstrapGuiJob::SKEL_DIR = "/usr/share/calamares/skel" ; -const QString PacstrapGuiJob::CHROOT_SKEL_DIR = QString("%1/etc/skel").arg(MOUNTPOINT) ; +// const QString PacstrapGuiJob::CHROOT_SKEL_DIR = QString("%1/etc/skel").arg(MOUNTPOINT) ; // const QString PacstrapGuiJob::SKEL_FMT = "cp -rT %1/ %2/" ; // PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n$ " // const QString PacstrapGuiJob::SET_PROMPT_FMT = "echo 'PS1=\"\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\n$ \"' >> %1/.bashrc" ; -const QString PacstrapGuiJob::SET_EDITOR_FMT = "echo 'export EDITOR=nano' >> %1/.bashrc" ; +const QString PacstrapGuiJob::SET_EDITOR_FMT = "echo 'export EDITOR=nano' >> %1/etc/skel/.bashrc" ; // const QString PacstrapGuiJob::SET_LANG_FMT = "echo 'LANG=%1' >> %2/.config/locale.conf" ; -const QString PacstrapGuiJob::SET_LANG_FMT = "echo 'export LANG=%1' >> %2/.bashrc" ; -const QString PacstrapGuiJob::SET_XKBMAP_FMT = "echo 'setxkbmap %1' >> %2/.bashrc" ; -const QString PacstrapGuiJob::DM_DESKTOP_FMT = "sed -i 's/^Session=.*/Session=%1/' %2/.dmrc" ; -const QString PacstrapGuiJob::DM_LANG_FMT = "sed -i 's/^Language=.*/Language=%1/' %2/.dmrc" ; -const QString PacstrapGuiJob::WELCOME_TITLE_FMT = "sed -i ;s|_EDITION_TITLE_|${WELCOME_TITLE}|' %1/etc/skel/.config/autostart/autostart.sh" ; +const QString PacstrapGuiJob::SET_LANG_FMT = "echo 'export LANG=%1' >> %2/etc/skel/.bashrc" ; +const QString PacstrapGuiJob::SET_XKBMAP_FMT = "echo 'setxkbmap %1' >> %2/etc/skel/.bashrc" ; +const QString PacstrapGuiJob::DM_DESKTOP_FMT = "sed -i 's|^Session=.*|Session=%1|' %2/etc/skel/.dmrc" ; +const QString PacstrapGuiJob::DM_LANG_FMT = "sed -i 's|^Language=.*|Language=%1|' %2/etc/skel/.dmrc" ; +const QString PacstrapGuiJob::WELCOME_TITLE_FMT = "sed -i 's|_EDITION_TITLE_|${WELCOME_TITLE}|' %1/etc/skel/.config/autostart/autostart.sh" ; const QString PacstrapGuiJob::OCTOPI_FMT = "rm -f %1/etc/xdg/autostart/octopi-notifier.desktop" ; @@ -65,7 +65,7 @@ DEBUG_TRACE_DESKTOPPACKAGES return (this->localStorage.value(APPLICATIONS_PACKAGES_KEY).toStringList() + this->localStorage.value(MULTIMEDIA_PACKAGES_KEY ).toStringList() + this->localStorage.value(NETWORK_PACKAGES_KEY ).toStringList() + - this->localStorage.value(THEMES_PACKAGES_KEY ).toStringList() + + this->localStorage.value(LOOKANDFEEL_PACKAGES_KEY ).toStringList() + this->localStorage.value(UTILITIES_PACKAGES_KEY ).toStringList() + this->localStorage.value(XSERVER_PACKAGES_KEY ).toStringList() + this->localStorage.value(init_key ).toStringList() + @@ -84,13 +84,13 @@ QString PacstrapGuiJob::chrootExec() QString xkbmap = execOutput(GET_XKBMAP_CMD) ; if (xkbmap.isEmpty()) xkbmap = "us" ; // QString skel_cmd = QString(SKEL_FMT ).arg(SKEL_DIR , CHROOT_SKEL_DIR) ; // QString set_prompt_cmd = QString(SET_PROMPT_FMT ).arg( CHROOT_SKEL_DIR) ; - QString set_editor_cmd = QString(SET_EDITOR_FMT ).arg( CHROOT_SKEL_DIR) ; - QString set_lang_cmd = QString(SET_LANG_FMT ).arg(locale , CHROOT_SKEL_DIR) ; - QString set_xkbmap_cmd = QString(SET_XKBMAP_FMT ).arg(xkbmap , CHROOT_SKEL_DIR) ; - QString dm_desktop_cmd = QString(DM_DESKTOP_FMT ).arg(default_desktop , CHROOT_SKEL_DIR) ; - QString dm_lang_cmd = QString(DM_LANG_FMT ).arg(locale , CHROOT_SKEL_DIR) ; - QString welcome_title_cmd = QString(WELCOME_TITLE_FMT).arg( CHROOT_SKEL_DIR) ; - QString octopi_cmd = QString(OCTOPI_FMT ).arg( MOUNTPOINT ) ; + QString set_editor_cmd = QString(SET_EDITOR_FMT ).arg( this->mountPoint) ; + QString set_lang_cmd = QString(SET_LANG_FMT ).arg(locale , this->mountPoint) ; + QString set_xkbmap_cmd = QString(SET_XKBMAP_FMT ).arg(xkbmap , this->mountPoint) ; + QString dm_desktop_cmd = QString(DM_DESKTOP_FMT ).arg(default_desktop , this->mountPoint) ; + QString dm_lang_cmd = QString(DM_LANG_FMT ).arg(locale , this->mountPoint) ; + QString welcome_title_cmd = QString(WELCOME_TITLE_FMT).arg( this->mountPoint) ; + QString octopi_cmd = QString(OCTOPI_FMT ).arg( this->mountPoint) ; printf("[PACSTRAP-GUI]: ls host/etc/skel%s\n" , execOutput("ls -al /etc/skel" ).toStdString().c_str()) ; printf("[PACSTRAP-GUI]: ls -al chroot/etc/skel/ IN\n%s\n" , execOutput("ls -al /tmp/pacstrap/etc/skel" ).toStdString().c_str()) ; @@ -103,7 +103,7 @@ printf("[PACSTRAP-GUI]: ls chroot/etc/sudoers*%s\n" , execOutput("ls - printf("[PACSTRAP-GUI]: default_desktop=%s\n" , default_desktop .toStdString().c_str()) ; printf("[PACSTRAP-GUI]: locale=%s\n" , locale .toStdString().c_str()) ; -printf("[PACSTRAP-GUI]: CHROOT_SKEL_DIR=%s\n" , CHROOT_SKEL_DIR .toStdString().c_str()) ; +printf("[PACSTRAP-GUI]: mountPoint=%s\n" , this->mountPoint .toStdString().c_str()) ; printf("[PACSTRAP-GUI]: ls -al chroot/etc/skel/ OUT\n%s\n" , execOutput("ls -al /tmp/pacstrap/etc/skel").toStdString().c_str()) ; printf("[PACSTRAP-GUI]: ls -al chroot/etc/skel/ OUT\n%s\n" , execOutput("echo 'touch ~/autostart-sh' >> /tmp/pacstrap/etc/skel/.config/autostart/autostart.sh").toStdString().c_str()) ; printf("[PACSTRAP-GUI]: ls -al chroot/etc/skel/ OUT\n%s\n" , execOutput("echo 'touch ~/autostart-lxde-sh' >> /tmp/pacstrap/etc/skel/.config/autostart/autostart-lxde.sh").toStdString().c_str()) ; diff --git a/src/modules/pacstrap-gui/pacstrap-gui.h b/src/modules/pacstrap-gui/pacstrap-gui.h index 07e4a1244..aec736b7a 100644 --- a/src/modules/pacstrap-gui/pacstrap-gui.h +++ b/src/modules/pacstrap-gui/pacstrap-gui.h @@ -46,7 +46,7 @@ private: // static const QString WALLPAPER_ERROR_MSG ; static const QString GET_XKBMAP_CMD ; static const QString SKEL_DIR ; - static const QString CHROOT_SKEL_DIR ; +// static const QString CHROOT_SKEL_DIR ; // static const QString SKEL_FMT ; // static const QString SET_PROMPT_FMT ; static const QString SET_EDITOR_FMT ; |