Compare commits
No commits in common. "ubuntu/plucky" and "ubuntu/1%25.04.4" have entirely different histories.
ubuntu/plu
...
ubuntu/1%2
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
project(basicwallpaper VERSION 0.1 LANGUAGES CXX)
|
project(basicwallpaper VERSION 0.1 LANGUAGES CXX)
|
||||||
|
|
||||||
|
288
common/basicwallpaper/CMakeLists.txt.user
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE QtCreatorProject>
|
||||||
|
<!-- Written by QtCreator 6.0.2, 2024-02-14T12:14:09. -->
|
||||||
|
<qtcreator>
|
||||||
|
<data>
|
||||||
|
<variable>EnvironmentId</variable>
|
||||||
|
<value type="QByteArray">{c72e8e96-4d64-44b5-94c8-e16820d11b4b}</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
<value type="int">0</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||||
|
<value type="QString" key="language">Cpp</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||||
|
<value type="QString" key="language">QmlJS</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||||
|
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||||
|
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="DeviceType">Desktop</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{c8b6ccbc-b12c-473e-83be-23a4b6d2eb6e}</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
|
<value type="QString" key="CMake.Build.Type">Debug</value>
|
||||||
|
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
||||||
|
-DCMAKE_BUILD_TYPE:STRING=Debug
|
||||||
|
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
||||||
|
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
||||||
|
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
||||||
|
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
||||||
|
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-Debug</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">all</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">clean</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||||
|
<value type="QString" key="CMake.Build.Type">Release</value>
|
||||||
|
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
||||||
|
-DCMAKE_BUILD_TYPE:STRING=Release
|
||||||
|
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
||||||
|
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
||||||
|
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
||||||
|
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
||||||
|
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-Release</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">all</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">clean</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||||
|
<value type="QString" key="CMake.Build.Type">RelWithDebInfo</value>
|
||||||
|
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
||||||
|
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
|
||||||
|
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
||||||
|
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
||||||
|
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
||||||
|
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
||||||
|
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-RelWithDebInfo</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">all</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">clean</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release with Debug Information</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
|
||||||
|
<value type="QString" key="CMake.Build.Type">MinSizeRel</value>
|
||||||
|
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
||||||
|
-DCMAKE_BUILD_TYPE:STRING=MinSizeRel
|
||||||
|
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
||||||
|
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
||||||
|
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
||||||
|
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
||||||
|
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-MinSizeRel</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">all</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||||
|
<value type="QString">clean</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Minimum Size Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">4</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
|
<value type="int">1</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>Version</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
</qtcreator>
|
10
common/modules/before_bootloader_mkdirs_context.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
dontChroot: true
|
||||||
|
timeout: 10
|
||||||
|
firmwareType:
|
||||||
|
efi:
|
||||||
|
- -cp /cdrom/casper/vmlinuz ${ROOT}/boot/vmlinuz-$(uname -r)
|
||||||
|
- -mkdir -pv ${ROOT}/media/cdrom
|
||||||
|
- -mount --bind /cdrom ${ROOT}/media/cdrom
|
||||||
|
bios:
|
||||||
|
- -cp /cdrom/casper/vmlinuz ${ROOT}/boot/vmlinuz-$(uname -r)
|
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
dontChroot: true
|
|
||||||
timeout: 60
|
|
||||||
script:
|
|
||||||
- command: "cp /cdrom/casper/vmlinuz ${ROOT}/boot/vmlinuz-$(uname -r)"
|
|
@ -21,9 +21,6 @@ extraMounts:
|
|||||||
- device: /run/systemd/resolve
|
- device: /run/systemd/resolve
|
||||||
mountPoint: /run/systemd/resolve
|
mountPoint: /run/systemd/resolve
|
||||||
options: [ bind ]
|
options: [ bind ]
|
||||||
- device: /cdrom
|
|
||||||
mountPoint: /media/cdrom
|
|
||||||
options: [ bind ]
|
|
||||||
|
|
||||||
mountOptions:
|
mountOptions:
|
||||||
- filesystem: default
|
- filesystem: default
|
||||||
|
@ -100,8 +100,7 @@ void PackageSelectViewStep::onActivate()
|
|||||||
bool hasInternet = network.hasInternet();
|
bool hasInternet = network.hasInternet();
|
||||||
|
|
||||||
// Handle network unavailability
|
// Handle network unavailability
|
||||||
//if (!hasInternet) {
|
if (!hasInternet) {
|
||||||
// Disable almost all fancy features to avoid bugs, revert in 25.10 cycle
|
|
||||||
ui->full_button->setVisible(false);
|
ui->full_button->setVisible(false);
|
||||||
ui->full_text->setVisible(false);
|
ui->full_text->setVisible(false);
|
||||||
|
|
||||||
@ -115,7 +114,7 @@ void PackageSelectViewStep::onActivate()
|
|||||||
ui->extraparty_scroll->setVisible(false);
|
ui->extraparty_scroll->setVisible(false);
|
||||||
ui->extraparty_text->setVisible(false);
|
ui->extraparty_text->setVisible(false);
|
||||||
ui->mandatory_warning_label->setVisible(false);
|
ui->mandatory_warning_label->setVisible(false);
|
||||||
//}
|
}
|
||||||
|
|
||||||
// Dynamically create package checkboxes only once
|
// Dynamically create package checkboxes only once
|
||||||
if (m_packageCheckBoxes.isEmpty()) {
|
if (m_packageCheckBoxes.isEmpty()) {
|
||||||
@ -239,7 +238,6 @@ void PackageSelectViewStep::onLeave()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isStackedSquashfs = m_configurationMap.value("stacked_squashfs").toBool();
|
|
||||||
QVariantMap installationData = gs->value("installation_data").toMap();
|
QVariantMap installationData = gs->value("installation_data").toMap();
|
||||||
QString installationMode = installationData.value("installation_mode").toString();
|
QString installationMode = installationData.value("installation_mode").toString();
|
||||||
bool downloadUpdates = installationData.value("download_updates").toBool();
|
bool downloadUpdates = installationData.value("download_updates").toBool();
|
||||||
@ -266,20 +264,13 @@ void PackageSelectViewStep::onLeave()
|
|||||||
|
|
||||||
globalData.insert("installation_mode", installationMode);
|
globalData.insert("installation_mode", installationMode);
|
||||||
|
|
||||||
// Used by unpackfs on stacked squashfs systems
|
|
||||||
if (installationMode == "minimal") {
|
if (installationMode == "minimal") {
|
||||||
|
QVariantList minimalPackages = m_configurationMap.value("packages").toMap().value("minimal_remove_packages").toList();
|
||||||
|
QVariantList installerPackages = m_configurationMap.value("packages").toMap().value("installer_remove_packages").toList();
|
||||||
|
QVariantList combinedRemove = minimalPackages + installerPackages;
|
||||||
|
globalData.insert("packages_to_remove", combinedRemove);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
if (installationMode == "minimal") {
|
|
||||||
globalData.insert("unpack_regular", false);
|
|
||||||
if (!isStackedSquashfs) {
|
|
||||||
QVariantList minimalPackages = m_configurationMap.value("packages").toMap().value("minimal_remove_packages").toList();
|
|
||||||
QVariantList installerPackages = m_configurationMap.value("packages").toMap().value("installer_remove_packages").toList();
|
|
||||||
QVariantList combinedRemove = minimalPackages + installerPackages;
|
|
||||||
globalData.insert("packages_to_remove", combinedRemove);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
globalData.insert("unpack_regular", true);
|
|
||||||
// For normal and full, store packages to install
|
// For normal and full, store packages to install
|
||||||
QVariantList selectedPackagesList;
|
QVariantList selectedPackagesList;
|
||||||
// Store the snaps that are already on the system by default
|
// Store the snaps that are already on the system by default
|
||||||
@ -325,28 +316,9 @@ void PackageSelectViewStep::onLeave()
|
|||||||
presentSnapList.append(snapId);
|
presentSnapList.append(snapId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// As a temporary measure until OEM is refactored in the 25.10 cycle,
|
|
||||||
// we need to ensure that Calamares and its necessary dependencies are
|
|
||||||
// installed on the target, iff this is a stacked squashfs.
|
|
||||||
// FIXME: remove in favor of more nuanced stacked squashfs
|
|
||||||
// functionality in 25.10
|
|
||||||
// Ref: https://discourse.ubuntu.com/t/implementation-of-ship-live-within-a-squashfs/57510
|
|
||||||
// LP: #2104343
|
|
||||||
if (isStackedSquashfs) {
|
|
||||||
QVector<QString> stage_two_packages = {"calamares", "kdialog"};
|
|
||||||
for (QString& package_name : stage_two_packages) {
|
|
||||||
QVariantMap package_details;
|
|
||||||
package_details.insert("id", package_name);
|
|
||||||
package_details.insert("snap", false);
|
|
||||||
selectedPackagesList.append(package_details);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
globalData.insert("packages_to_install", selectedPackagesList);
|
globalData.insert("packages_to_install", selectedPackagesList);
|
||||||
if (!isStackedSquashfs) {
|
QVariantList installerPackages = m_configurationMap.value("packages").toMap().value("installer_remove_packages").toList();
|
||||||
QVariantList installerPackages = m_configurationMap.value("packages").toMap().value("installer_remove_packages").toList();
|
globalData.insert("packages_to_remove", installerPackages);
|
||||||
globalData.insert("packages_to_remove", installerPackages);
|
|
||||||
}
|
|
||||||
globalData.insert("present_snaps", presentSnapList);
|
globalData.insert("present_snaps", presentSnapList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,10 @@ packages:
|
|||||||
name: "Thunderbird"
|
name: "Thunderbird"
|
||||||
description: "Email, newsfeed, chat, and calendaring client."
|
description: "Email, newsfeed, chat, and calendaring client."
|
||||||
snap: true
|
snap: true
|
||||||
|
- id: "virt-manager"
|
||||||
|
name: "Virtual Machine Manager"
|
||||||
|
description: "Desktop user interface for managing virtual machines through libvirt."
|
||||||
|
snap: false
|
||||||
- id: "krita"
|
- id: "krita"
|
||||||
name: "Krita"
|
name: "Krita"
|
||||||
description: "Graphics editor designed primarily for digital art and 2D animation."
|
description: "Graphics editor designed primarily for digital art and 2D animation."
|
||||||
|
@ -2,20 +2,15 @@ cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
|
|||||||
|
|
||||||
include(FeatureSummary)
|
include(FeatureSummary)
|
||||||
|
|
||||||
set( CMAKE_CXX_STANDARD 23 )
|
set( CMAKE_CXX_STANDARD 20 )
|
||||||
set( CMAKE_CXX_STANDARD_REQUIRED ON )
|
set( CMAKE_CXX_STANDARD_REQUIRED ON )
|
||||||
|
|
||||||
find_library(APT_PKG_LIB apt-pkg)
|
set( CALAMARES_VERSION_REQUIRED 3.3.9 )
|
||||||
if (NOT APT_PKG_LIB)
|
|
||||||
message(FATAL_ERROR "Could not find libapt-pkg")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(ECM "6.0.0" NO_MODULE)
|
find_package(ECM "6.0.0" NO_MODULE)
|
||||||
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
|
||||||
find_package(KF6 REQUIRED COMPONENTS CoreAddons)
|
|
||||||
include(KDEInstallDirs)
|
include(KDEInstallDirs)
|
||||||
|
find_package(KF6 REQUIRED COMPONENTS CoreAddons)
|
||||||
set( CALAMARES_VERSION_REQUIRED 3.3.9 )
|
|
||||||
find_package(Calamares ${CALAMARES_VERSION_REQUIRED} NO_CMAKE_PACKAGE_REGISTRY)
|
find_package(Calamares ${CALAMARES_VERSION_REQUIRED} NO_CMAKE_PACKAGE_REGISTRY)
|
||||||
if (NOT TARGET Calamares::calamares OR NOT TARGET Calamares::calamaresui)
|
if (NOT TARGET Calamares::calamares OR NOT TARGET Calamares::calamaresui)
|
||||||
find_package(Calamares ${CALAMARES_VERSION_REQUIRED} REQUIRED)
|
find_package(Calamares ${CALAMARES_VERSION_REQUIRED} REQUIRED)
|
||||||
@ -33,5 +28,3 @@ calamares_add_plugin( pkgselectprocess
|
|||||||
SHARED_LIB
|
SHARED_LIB
|
||||||
NO_CONFIG
|
NO_CONFIG
|
||||||
)
|
)
|
||||||
add_executable(check_package checkpackage-backend.cpp)
|
|
||||||
target_link_libraries(check_package PRIVATE ${APT_PKG_LIB})
|
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QCoreApplication>
|
#include <QCoreApplication>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
#include <QFile>
|
|
||||||
|
|
||||||
CALAMARES_PLUGIN_FACTORY_DEFINITION(PackageSelectProcessFactory, registerPlugin<PackageSelectProcess>();)
|
CALAMARES_PLUGIN_FACTORY_DEFINITION(PackageSelectProcessFactory, registerPlugin<PackageSelectProcess>();)
|
||||||
|
|
||||||
@ -37,7 +36,6 @@ Calamares::JobResult PackageSelectProcess::runAptCommand(const QString& command,
|
|||||||
double endProgress,
|
double endProgress,
|
||||||
bool verboseProgress)
|
bool verboseProgress)
|
||||||
{
|
{
|
||||||
qDebug() << "Running apt command:" << command;
|
|
||||||
QProcess aptProcess(this);
|
QProcess aptProcess(this);
|
||||||
aptProcess.setProgram("/usr/sbin/chroot");
|
aptProcess.setProgram("/usr/sbin/chroot");
|
||||||
aptProcess.setArguments({ rootMountPoint, "/bin/bash", "-c", command });
|
aptProcess.setArguments({ rootMountPoint, "/bin/bash", "-c", command });
|
||||||
@ -53,21 +51,16 @@ Calamares::JobResult PackageSelectProcess::runAptCommand(const QString& command,
|
|||||||
commandHRPrefix = tr("Installing packages: ");
|
commandHRPrefix = tr("Installing packages: ");
|
||||||
} else if (command.contains("full-upgrade")) {
|
} else if (command.contains("full-upgrade")) {
|
||||||
commandHRPrefix = tr("Upgrading installed system: ");
|
commandHRPrefix = tr("Upgrading installed system: ");
|
||||||
} else if (command.contains("remove")) {
|
} else if (command.contains("autoremove")) {
|
||||||
commandHRPrefix = tr("Cleaning up packages: ");
|
commandHRPrefix = tr("Cleaning up packages: ");
|
||||||
} else if (command.contains("cdrom")) {
|
|
||||||
commandHRPrefix = tr("cdrom: ");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QRegularExpression getRegex(R"(Get:\d+\s+[^ ]+\s+[^ ]+\s+(.+?)\s+\S+\s+(\S+)\s+\[(.*?)\])");
|
QRegularExpression getRegex(R"(Get:\d+\s+[^ ]+\s+[^ ]+\s+(.+?)\s+\S+\s+(\S+)\s+\[(.*?)\])");
|
||||||
|
|
||||||
connect(&aptProcess, &QProcess::readyReadStandardOutput, this,
|
connect(&aptProcess, &QProcess::readyReadStandardOutput, this,
|
||||||
[this, &lineCount, progressPerLine, startProgress, endProgress, verboseProgress, commandHRPrefix, getRegex]() {
|
[this, &aptProcess, &lineCount, progressPerLine, startProgress, endProgress, verboseProgress, commandHRPrefix, getRegex]() mutable {
|
||||||
QProcess *aptProcess = (QProcess *)(QObject::sender());
|
while (aptProcess.canReadLine()) {
|
||||||
if (aptProcess == NULL) return;
|
QString line = QString::fromUtf8(aptProcess.readLine()).trimmed();
|
||||||
while (aptProcess->canReadLine()) {
|
|
||||||
QString line = QString::fromUtf8(aptProcess->readLine()).trimmed();
|
|
||||||
qDebug() << "Apt log line: " << line;
|
|
||||||
if (line.isEmpty()) {
|
if (line.isEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -206,74 +199,12 @@ Calamares::JobResult PackageSelectProcess::runSnapCommand(const QStringList& sna
|
|||||||
}
|
}
|
||||||
|
|
||||||
emit progress(endProgress);
|
emit progress(endProgress);
|
||||||
m_prettyStatus = tr("Snap packages installed successfully!");
|
m_prettyStatus = tr("Snap packages installed successfully.");
|
||||||
emit prettyStatusMessageChanged(m_prettyStatus);
|
emit prettyStatusMessageChanged(m_prettyStatus);
|
||||||
|
|
||||||
return Calamares::JobResult::ok();
|
return Calamares::JobResult::ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PackageSelectProcess::divert(bool enable)
|
|
||||||
{
|
|
||||||
for (auto it = dpkgDiversions.constBegin(); it != dpkgDiversions.constEnd(); ++it) {
|
|
||||||
const QString& name = it.key();
|
|
||||||
const QString& path = it.value();
|
|
||||||
QString divertedPath = path + ".REAL";
|
|
||||||
QString command;
|
|
||||||
|
|
||||||
if (enable) {
|
|
||||||
qDebug() << tr("Adding diversion for %1...").arg(name);
|
|
||||||
command = QString("dpkg-divert --quiet --add --divert %1 --rename %2")
|
|
||||||
.arg(divertedPath, path);
|
|
||||||
} else {
|
|
||||||
qDebug() << tr("Removing diversion for %1...").arg(name);
|
|
||||||
QFile::remove(rootMountPoint + path);
|
|
||||||
command = QString("dpkg-divert --quiet --remove --rename %1").arg(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set up the QProcess to run the command in chroot
|
|
||||||
QProcess process;
|
|
||||||
process.setProgram("/usr/sbin/chroot");
|
|
||||||
process.setArguments({ rootMountPoint, "/bin/bash", "-c", command });
|
|
||||||
process.setProcessChannelMode(QProcess::MergedChannels);
|
|
||||||
|
|
||||||
// Run the process
|
|
||||||
process.start();
|
|
||||||
if (!process.waitForFinished()) {
|
|
||||||
qWarning() << "Process error:" << process.errorString();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (process.exitStatus() != QProcess::NormalExit || process.exitCode() != 0) {
|
|
||||||
qWarning() << "Error handling diversion for" << name << ":" << process.readAll();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!enable) { continue; }
|
|
||||||
|
|
||||||
// Create the replacement script in chroot
|
|
||||||
QString scriptContent = QString(
|
|
||||||
"#!/bin/sh\n"
|
|
||||||
"echo \"%1: diverted (will be called later)\" >&1\n"
|
|
||||||
"exit 0\n"
|
|
||||||
).arg(name);
|
|
||||||
|
|
||||||
QString scriptPath = rootMountPoint + path;
|
|
||||||
QFile scriptFile(scriptPath);
|
|
||||||
|
|
||||||
if (!scriptFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
|
||||||
qWarning() << "Error creating script for" << name << ":" << scriptFile.errorString();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
QTextStream out(&scriptFile);
|
|
||||||
out << scriptContent;
|
|
||||||
scriptFile.close();
|
|
||||||
|
|
||||||
// Make the script executable
|
|
||||||
QFile::setPermissions(scriptPath, QFile::permissions(scriptPath) | QFile::ExeOwner | QFile::ExeGroup | QFile::ExeOther);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Calamares::JobResult PackageSelectProcess::exec()
|
Calamares::JobResult PackageSelectProcess::exec()
|
||||||
{
|
{
|
||||||
auto gs = Calamares::JobQueue::instance()->globalStorage();
|
auto gs = Calamares::JobQueue::instance()->globalStorage();
|
||||||
@ -284,22 +215,17 @@ Calamares::JobResult PackageSelectProcess::exec()
|
|||||||
|
|
||||||
const QVariantMap installationData = gs->value("installation_data").toMap();
|
const QVariantMap installationData = gs->value("installation_data").toMap();
|
||||||
const QString installationMode = installationData.value("installation_mode").toString();
|
const QString installationMode = installationData.value("installation_mode").toString();
|
||||||
const bool hasInternet = gs->value("hasInternet").toBool();
|
const bool downloadUpdates = installationData.value("download_updates").toBool();
|
||||||
const bool downloadUpdates = (installationData.value("download_updates").toBool() && hasInternet);
|
|
||||||
const QVariantList packagesToInstall = installationData.value("packages_to_install").toList();
|
const QVariantList packagesToInstall = installationData.value("packages_to_install").toList();
|
||||||
const QVariantList packagesToRemove = installationData.value("packages_to_remove").toList();
|
const QVariantList packagesToRemove = installationData.value("packages_to_remove").toList();
|
||||||
const QVariantList presentSnaps = installationData.value("present_snaps").toList();
|
const QVariantList presentSnaps = installationData.value("present_snaps").toList();
|
||||||
|
|
||||||
// Handle default value for rootMountPoint
|
// Handle default value for rootMountPoint
|
||||||
rootMountPoint = "/";
|
QString rootMountPoint = "/";
|
||||||
if (gs->contains("rootMountPoint")) {
|
if (gs->contains("rootMountPoint")) {
|
||||||
rootMountPoint = gs->value("rootMountPoint").toString();
|
rootMountPoint = gs->value("rootMountPoint").toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString checkpackage_path = "/usr/libexec/checkpackage-backend";
|
|
||||||
const QString chroot_checkpackage_path = rootMountPoint + checkpackage_path;
|
|
||||||
QFile* cpbe = new QFile(chroot_checkpackage_path);
|
|
||||||
|
|
||||||
static const QMap<QString, QVector<ProgressAllocation>> allocationMap = {
|
static const QMap<QString, QVector<ProgressAllocation>> allocationMap = {
|
||||||
{ "minimal", { {0.0, 1.0} } },
|
{ "minimal", { {0.0, 1.0} } },
|
||||||
{ "normal", { {0.0, 0.4}, {0.4, 1.0} } },
|
{ "normal", { {0.0, 0.4}, {0.4, 1.0} } },
|
||||||
@ -307,35 +233,12 @@ Calamares::JobResult PackageSelectProcess::exec()
|
|||||||
};
|
};
|
||||||
|
|
||||||
const QVector<ProgressAllocation> allocations = allocationMap.value(installationMode, { {0.0, 1.0} });
|
const QVector<ProgressAllocation> allocations = allocationMap.value(installationMode, { {0.0, 1.0} });
|
||||||
|
|
||||||
|
// Run apt update
|
||||||
const double aptRange = allocations[0].end - allocations[0].start;
|
const double aptRange = allocations[0].end - allocations[0].start;
|
||||||
const double updateStart = allocations[0].start;
|
const double updateStart = allocations[0].start;
|
||||||
const double updateEnd = updateStart + 0.1 * aptRange;
|
const double updateEnd = updateStart + 0.1 * aptRange;
|
||||||
|
|
||||||
// Temporarily copy ubuntu.sources elsewhere, if we do not have network
|
|
||||||
// This is so we can update the apt cache safely
|
|
||||||
// FIXME: there has to be a better, more native way to do this. It works
|
|
||||||
// for now, but in the 25.10 cycle, we're probably going to move some of
|
|
||||||
// these command-line apt calls to the libapt C library. LP: #2107287
|
|
||||||
if (!hasInternet) {
|
|
||||||
const QString ubuntu_sources_path = rootMountPoint + "/etc/apt/sources.list.d/ubuntu.sources";
|
|
||||||
QFile* ubuntu_sources = new QFile(ubuntu_sources_path);
|
|
||||||
// Just in case this module is used in a non-Ubuntu environment, make sure ubuntu.sources exists
|
|
||||||
// TODO: make this configurable in the 25.10 cycle
|
|
||||||
if (ubuntu_sources->exists()) {
|
|
||||||
const QString backup_name = ubuntu_sources_path + ".bak";
|
|
||||||
if (!ubuntu_sources->rename(ubuntu_sources_path + ".bak")) {
|
|
||||||
return Calamares::JobResult::error(tr("Internal Error"),
|
|
||||||
tr("Permission denied when moving ubuntu.sources to prepare for offline install"));
|
|
||||||
}
|
|
||||||
Calamares::JobResult addCdromResult = runAptCommand("apt-cdrom add -m -d=/media/cdrom/", rootMountPoint, updateStart, updateEnd, true);
|
|
||||||
if (!addCdromResult) return std::move(addCdromResult);
|
|
||||||
} else {
|
|
||||||
return Calamares::JobResult::error(tr("Internal Error"),
|
|
||||||
tr("/etc/apt/sources.list.d/ubuntu.sources not found in the target, are you a downstream?"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Run apt update
|
|
||||||
m_prettyStatus = tr("Updating apt cache");
|
m_prettyStatus = tr("Updating apt cache");
|
||||||
emit prettyStatusMessageChanged(m_prettyStatus);
|
emit prettyStatusMessageChanged(m_prettyStatus);
|
||||||
emit progress(updateStart);
|
emit progress(updateStart);
|
||||||
@ -357,16 +260,6 @@ Calamares::JobResult PackageSelectProcess::exec()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add diversions for dracut, update-initramfs, and locale-gen
|
|
||||||
/*
|
|
||||||
dpkgDiversions = {
|
|
||||||
{"dracut", "/usr/bin/dracut"},
|
|
||||||
{"update-initramfs", "/usr/sbin/update-initramfs"},
|
|
||||||
{"locale-gen", "/usr/sbin/locale-gen"}
|
|
||||||
};
|
|
||||||
divert(true);
|
|
||||||
*/
|
|
||||||
|
|
||||||
double installStart;
|
double installStart;
|
||||||
double installEnd;
|
double installEnd;
|
||||||
if (downloadUpdates) {
|
if (downloadUpdates) {
|
||||||
@ -396,79 +289,43 @@ Calamares::JobResult PackageSelectProcess::exec()
|
|||||||
qDebug() << "Progress range: installStart:" << installStart << "installEnd:" << installEnd;
|
qDebug() << "Progress range: installStart:" << installStart << "installEnd:" << installEnd;
|
||||||
|
|
||||||
if (!debPackages.isEmpty()) {
|
if (!debPackages.isEmpty()) {
|
||||||
// Corresponding to the temporary hack in pkgselect adding calamares
|
const QString packageList = debPackages.join(" -e ");
|
||||||
// and kdialog to the list, we only want those two included in the
|
const QString installCommand = QString(
|
||||||
// final installation if we're actually in OEM mode. Otherwise, they
|
"DEBIAN_FRONTEND=noninteractive apt-get -y install $(apt-cache --no-generate pkgnames %1 | grep -Fx -e %2)"
|
||||||
// can be ignored, and are just clutter.
|
).arg(debPackages.join(" ")).arg(packageList);
|
||||||
// FIXME: When the OEM stack is rewritten in 25.10, this needs to be
|
|
||||||
// removed.
|
|
||||||
if (!QFile::exists("/etc/calamares/OEM_MODE_ACTIVATED")) {
|
|
||||||
QStringList wip_list;
|
|
||||||
for (auto debPackage : debPackages) {
|
|
||||||
if (!debPackage.contains(QString("calamares")) &&
|
|
||||||
!debPackage.contains(QString("kdialog"))) {
|
|
||||||
wip_list << debPackage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
debPackages = wip_list;
|
|
||||||
}
|
|
||||||
|
|
||||||
// checkpackage-backend needs to be explicitly copied to the chroot
|
|
||||||
// and removed later for systems with stacked squashfses, or the
|
|
||||||
// install command will fail. LP: #2104243
|
|
||||||
if (!cpbe->exists()) {
|
|
||||||
QFile* parent_cpbe = new QFile(checkpackage_path);
|
|
||||||
if (!parent_cpbe->copy(chroot_checkpackage_path)) {
|
|
||||||
return Calamares::JobResult::error(tr("Internal Error"),
|
|
||||||
tr("Permission denied when copying checkpackage-backend, are you running Calamares correctly?"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const QString packageList = debPackages.join(" ");
|
|
||||||
const QString installCommand = QString("DEBIAN_FRONTEND=noninteractive apt-get -y install $(/usr/libexec/checkpackage-backend %1);").arg(packageList);
|
|
||||||
|
|
||||||
Calamares::JobResult installResult = runAptCommand(installCommand,
|
Calamares::JobResult installResult = runAptCommand(installCommand,
|
||||||
rootMountPoint,
|
rootMountPoint,
|
||||||
installStart,
|
installStart,
|
||||||
installEnd,
|
installEnd,
|
||||||
true);
|
true);
|
||||||
if (!installResult) {
|
if (!installResult) { // Using operator bool() to check for errors
|
||||||
if (!cpbe->remove()) qDebug() << "Warning: failed to clean up /usr/libexec/checkpackage-backend";
|
return std::move(installResult); // Move to avoid copy
|
||||||
return std::move(installResult);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else qDebug() << "No packages to install.";
|
else {
|
||||||
|
qDebug() << "No packages to install.";
|
||||||
|
}
|
||||||
|
|
||||||
QStringList removeDebPackages;
|
QStringList removeDebPackages;
|
||||||
for (const QVariant& var : packagesToRemove) {
|
for (const QVariant& var : packagesToRemove) {
|
||||||
removeDebPackages << var.toString();
|
removeDebPackages << var.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// As part of the fix for LP: #2104343, we need to ensure that, if
|
|
||||||
// we are currently in OEM mode, Calamares and friends remain
|
|
||||||
// installed. During stage two, we clean it up.
|
|
||||||
// FIXME: When the OEM stack is rewritten in 25.10, this needs to be
|
|
||||||
// rewritten.
|
|
||||||
if (QFile::exists("/etc/calamares/OEM_MODE_ACTIVATED")) {
|
|
||||||
QStringList wip_list;
|
|
||||||
for (auto removeDebPackage : removeDebPackages) {
|
|
||||||
if (!removeDebPackage.contains(QString("calamares"))) wip_list << removeDebPackage;
|
|
||||||
}
|
|
||||||
removeDebPackages = wip_list;
|
|
||||||
}
|
|
||||||
|
|
||||||
const double removeStart = installEnd;
|
const double removeStart = installEnd;
|
||||||
const double removeEnd = removeStart + 0.2 * aptRange;
|
const double removeEnd = removeStart + 0.2 * aptRange;
|
||||||
|
|
||||||
if (!removeDebPackages.isEmpty()) {
|
if (!removeDebPackages.isEmpty()) {
|
||||||
const QString removeCommand = QString("DEBIAN_FRONTEND=noninteractive apt-get -y --purge remove $(/usr/libexec/checkpackage-backend %1);")
|
const QString removeCommand = QString("DEBIAN_FRONTEND=noninteractive apt-get -y --purge remove %1")
|
||||||
.arg(removeDebPackages.join(" "));
|
.arg(removeDebPackages.join(" "));
|
||||||
Calamares::JobResult removeResult = runAptCommand(removeCommand,
|
Calamares::JobResult removeResult = runAptCommand(removeCommand,
|
||||||
rootMountPoint,
|
rootMountPoint,
|
||||||
removeStart,
|
removeStart,
|
||||||
removeEnd,
|
removeEnd,
|
||||||
true);
|
true);
|
||||||
if (!removeResult) return std::move(removeResult);
|
if (!removeResult) { // Using operator bool() to check for errors
|
||||||
|
return std::move(removeResult); // Move to avoid copy
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const double autoremoveStart = removeEnd;
|
const double autoremoveStart = removeEnd;
|
||||||
@ -479,46 +336,8 @@ Calamares::JobResult PackageSelectProcess::exec()
|
|||||||
autoremoveStart,
|
autoremoveStart,
|
||||||
autoremoveEnd,
|
autoremoveEnd,
|
||||||
true);
|
true);
|
||||||
|
if (!autoremoveResult) { // Using operator bool() to check for errors
|
||||||
// Disable diversions
|
return std::move(autoremoveResult); // Move to avoid copy
|
||||||
//divert(false);
|
|
||||||
|
|
||||||
// Move ubuntu.sources back, and clean up the cdrom file
|
|
||||||
// FIXME: there has to be a better, more native way to do this. It works
|
|
||||||
// for now, but in the 25.10 cycle, we're probably going to move some of
|
|
||||||
// these command-line apt calls to the libapt C library. LP: #2107287
|
|
||||||
try {
|
|
||||||
if (!hasInternet) {
|
|
||||||
const QString ubuntu_sources_path = rootMountPoint + "/etc/apt/sources.list.d/ubuntu.sources";
|
|
||||||
const QString backup_name = ubuntu_sources_path + ".bak";
|
|
||||||
QFile* ubuntu_sources = new QFile(ubuntu_sources_path);
|
|
||||||
QFile* ubuntu_sources_bak = new QFile(backup_name);
|
|
||||||
// Just in case this module is used in a non-Ubuntu environment, make sure ubuntu.sources exists
|
|
||||||
// TODO: make this configurable in the 25.10 cycle
|
|
||||||
if (ubuntu_sources->exists()) {
|
|
||||||
if (!ubuntu_sources->remove()) {
|
|
||||||
return Calamares::JobResult::error(tr("Internal Error"),
|
|
||||||
tr("/etc/apt/sources.list.d/ubuntu.sources already exists and it won't budge - this is a rare edge case, please report!"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!ubuntu_sources_bak->rename(ubuntu_sources_path)) {
|
|
||||||
return Calamares::JobResult::error(tr("Internal Error"),
|
|
||||||
tr("Permission denied when moving ubuntu.sources back after offline install"));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove the apt-cdrom entry we added earlier
|
|
||||||
// This may seem drastic, but we already expect that the automirror
|
|
||||||
// module, ran before this, creates a deb822-style ubuntu.sources
|
|
||||||
QFile* cdrom_sources_list = new QFile(rootMountPoint + "/etc/apt/sources.list");
|
|
||||||
if (!cdrom_sources_list->remove()) {
|
|
||||||
return Calamares::JobResult::error(tr("Internal Error"),
|
|
||||||
tr("Failed to remove classic sources.list file"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (const std::exception &exc) {
|
|
||||||
qDebug() << exc.what();
|
|
||||||
} catch (...) {
|
|
||||||
qDebug() << "Caught unknown error";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle snap packages
|
// Handle snap packages
|
||||||
@ -567,7 +386,5 @@ Calamares::JobResult PackageSelectProcess::exec()
|
|||||||
m_prettyStatus = tr("All selected packages installed successfully.");
|
m_prettyStatus = tr("All selected packages installed successfully.");
|
||||||
emit prettyStatusMessageChanged(m_prettyStatus);
|
emit prettyStatusMessageChanged(m_prettyStatus);
|
||||||
|
|
||||||
if (!cpbe->remove()) qDebug() << "Warning: failed to clean up /usr/libexec/checkpackage-backend";
|
|
||||||
|
|
||||||
return Calamares::JobResult::ok();
|
return Calamares::JobResult::ok();
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
#ifndef PACKAGESELECTPROCESS_H
|
#ifndef PACKAGESELECTPROCESS_H
|
||||||
#define PACKAGESELECTPROCESS_H
|
#define PACKAGESELECTPROCESS_H
|
||||||
|
|
||||||
#include <QMap>
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
|
||||||
#include <QVariantMap>
|
#include <QVariantMap>
|
||||||
#include "CppJob.h"
|
#include "CppJob.h"
|
||||||
#include "utils/PluginFactory.h"
|
#include "utils/PluginFactory.h"
|
||||||
@ -46,11 +44,6 @@ private:
|
|||||||
double startProgress,
|
double startProgress,
|
||||||
double endProgress);
|
double endProgress);
|
||||||
|
|
||||||
void divert(bool enable);
|
|
||||||
|
|
||||||
QMap<QString, QString> dpkgDiversions;
|
|
||||||
QString rootMountPoint;
|
|
||||||
|
|
||||||
QVariantMap m_configurationMap;
|
QVariantMap m_configurationMap;
|
||||||
QString m_prettyStatus;
|
QString m_prettyStatus;
|
||||||
};
|
};
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
#include <iostream>
|
|
||||||
#include <string>
|
|
||||||
#include <unordered_set>
|
|
||||||
#include <apt-pkg/algorithms.h>
|
|
||||||
#include <apt-pkg/cacheiterators.h>
|
|
||||||
#include <apt-pkg/init.h>
|
|
||||||
#include <apt-pkg/cachefile.h>
|
|
||||||
#include <apt-pkg/pkgcache.h>
|
|
||||||
#include <apt-pkg/pkgsystem.h>
|
|
||||||
#include <apt-pkg/progress.h>
|
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
|
||||||
pkgInitConfig(*_config);
|
|
||||||
pkgInitSystem(*_config, _system);
|
|
||||||
if (_system == 0) {
|
|
||||||
std::cerr << "apt-pkg not initialized\n";
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open the package cache.
|
|
||||||
pkgCacheFile *cache = new pkgCacheFile();
|
|
||||||
OpProgress progress;
|
|
||||||
if (!cache || cache->Open(&progress, false) == false) {
|
|
||||||
std::cerr << "Error: could not open APT cache.\n";
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
pkgApplyStatus(*cache);
|
|
||||||
|
|
||||||
std::vector<std::string> package_names(argv + 1, argv + argc);
|
|
||||||
if (package_names.empty()) return 0;
|
|
||||||
|
|
||||||
std::unordered_set<std::string> seen_packages;
|
|
||||||
for (std::string package_name : package_names) {
|
|
||||||
if (seen_packages.contains(package_name)) continue;
|
|
||||||
seen_packages.insert(package_name);
|
|
||||||
|
|
||||||
// Tasks and wildcards should just be passed through as-is, for now
|
|
||||||
if (package_name.starts_with('^') || package_name.contains('*')) {
|
|
||||||
std::cout << package_name << " ";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
pkgCache::GrpIterator grp = cache->GetPkgCache()->FindGrp(package_name);
|
|
||||||
if (!grp.end()) {
|
|
||||||
pkgCache::PkgIterator it = grp.FindPreferredPkg(true);
|
|
||||||
if (!it.end() && !it.VersionList().end()) {
|
|
||||||
std::cout << package_name << " ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "\n";
|
|
||||||
cache->Close();
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
usr/lib/calamares/modules/automirror usr/lib/${DEB_HOST_MULTIARCH}/calamares/modules/automirror
|
|
4
debian/calamares-settings-ubuntu-common.lintian-overrides
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# this is an internal implementation detail, no manpage needed
|
||||||
|
calamares-settings-ubuntu-common: no-manual-page [usr/bin/calamares_snap_install]
|
||||||
|
# this is normal and not a problem
|
||||||
|
calamares-settings-ubuntu-common: executable-in-usr-lib [usr/lib/x86_64-linux-gnu/calamares/modules/automirror/main.py]
|
223
debian/changelog
vendored
@ -1,226 +1,3 @@
|
|||||||
calamares-settings-ubuntu (1:25.04.27) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Disable virt-manager installation in third-party software options, as the
|
|
||||||
package is broken when installed by pkgselect.
|
|
||||||
* Remove full installation and third-party software options from all
|
|
||||||
flavors.
|
|
||||||
* Fix segfaults during installation. (LP: #2107486)
|
|
||||||
|
|
||||||
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 16 Apr 2025 18:23:56 -0500
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.26) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [bootloader] Instead of utilizing a contextualprocess to only bind-mount
|
|
||||||
/cdrom to /media/cdrom when it's a specific type of system, simply add it
|
|
||||||
to the mounts for all flavors, and move the specific copy of the vmlinuz
|
|
||||||
file to a dedicated shellprocess module. This will be re-factored next
|
|
||||||
cycle, ideally being worked directly into a dedicated C++ module instead
|
|
||||||
of several, miscellaneous shell scripts wrapped in YAML.
|
|
||||||
* [pkgselectprocess] Explicitly log all apt commands in the debug logs.
|
|
||||||
* [pkgselectprocess] Ensure apt-cdrom command outputs have their own prefix.
|
|
||||||
* [checkpackage-backend] Simply pass through packages starting with "^" or
|
|
||||||
containing "*". For this cycle we can trust our distributors won't do
|
|
||||||
anything unusual, but next cycle, we need to perform explicit validation
|
|
||||||
on these items. If you are a downstream, please be careful.
|
|
||||||
* [pkgselectprocess] Ensure hasInternet is available as a local variable, so
|
|
||||||
we can use it.
|
|
||||||
* [pkgselectprocess] When running apt remove, use CPBE just in case.
|
|
||||||
* [pkgselectprocess] When doing installations without network, we need to
|
|
||||||
ensure that we don't try to perform apt operations that require internet.
|
|
||||||
To do this in Plucky, we need to temporarily copy the ubuntu.sources file
|
|
||||||
to an ubuntu.sources.bak file. To bring all of the previous commits in
|
|
||||||
this upload together, we use the bind-mounted /media/cdrom not only to
|
|
||||||
install the correct GRUB packages, but to ensure that we can still install
|
|
||||||
them and any other packages on ship-live. There has to be a better, more
|
|
||||||
native way to do this. It works for now, but in the Questing cycle, we're
|
|
||||||
probably going to move some of these command-line apt calls to be a
|
|
||||||
consumer of the libapt C library (LP: #2107287).
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 15 Apr 2025 22:36:52 -0500
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.25) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [pkgselectprocess] When we are creating the final list of packages to feed
|
|
||||||
to "apt install," virtual packages which do not have a valid candidate are
|
|
||||||
included in this list, causing the installation to fail. When creating
|
|
||||||
this list, use FindGrp instead of FindPkg, and only add it to the list if
|
|
||||||
there is a valid candidate. Additionally, add these items to an unordered
|
|
||||||
set, to eliminate deduplication (LP: #2106773).
|
|
||||||
* [pkgselect] As a temporary measure until OEM is refactored in the 25.10
|
|
||||||
cycle, we need to ensure that Calamares and its necessary dependencies are
|
|
||||||
installed on the target, iff this is a stacked squashfs. We're doing this
|
|
||||||
in pkgselect instead of pkgselectprocess because pkgselect already knows
|
|
||||||
about stacked squashfses, it's what provides the final "additional install
|
|
||||||
list" to be considered by checkpackage-backend, and this is a temporary
|
|
||||||
fix anyway (LP: #2104343).
|
|
||||||
* [pkgselectprocess] To complement the last fix, ensure that Calamares ends
|
|
||||||
up on the removal list for non-stacked squashfses if and only if OEM is
|
|
||||||
disabled, and Calamares shows up on the install list only for stacked
|
|
||||||
squashfses which have OEM enabled. This nuanced approach ensures all
|
|
||||||
potential combinations have the intended functionality.
|
|
||||||
* [OEM] Ensure the final desktop file completing OEM is marked as executable.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 13 Apr 2025 03:17:13 -0500
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.24) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Bump Standards-Version to 4.7.2, no changes needed.
|
|
||||||
* [pkgselectprocess] If checkpackage-backend does not exist in the target
|
|
||||||
system, likely due to the use of stacked squashfses, ensure it temporarily
|
|
||||||
exists so it can be used in the install process. This fixes installation
|
|
||||||
of the Virtual Machine Manager when selected on the Customize menu
|
|
||||||
(LP: #2104243).
|
|
||||||
* [OEM] As a temporary stop-gap until this can be completely re-written next
|
|
||||||
cycle, ensure the sed call in the Calamares OEM setup refers to
|
|
||||||
pkgselectprocess, not packages. This was preventing the OEM processing
|
|
||||||
step (as opposed to just the GUI configuration) to be missing
|
|
||||||
(LP: #2104343).
|
|
||||||
* [OEM] [Kubuntu] In stage two, ensure we use Wayland, consistent with the
|
|
||||||
rest of the session scripts.
|
|
||||||
* [pkgselectprocess] Disable the dpkg trigger inhibition logic this cycle.
|
|
||||||
The original goal here was to de-duplicate some of the trigger processing
|
|
||||||
work, but it's obvious this needs more work. It's too premature to ship
|
|
||||||
right now, unfortunately.
|
|
||||||
* [Lubuntu] Remove the Dracut configuration so we fall back to the defaults
|
|
||||||
provided by the package. This is a no-op.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 09 Apr 2025 07:02:36 -0500
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.23) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [Kubuntu] Update welcome images for 25.04 (LP: #2104062)
|
|
||||||
* [Kubuntu] Update 07_Free_and_Open_Source installer slide for plucky
|
|
||||||
puffin mascot image.
|
|
||||||
* [Kubuntu] Update 10_Kubuntu_Focus installer slide.
|
|
||||||
|
|
||||||
-- Rik Mills <rikmills@kde.org> Mon, 07 Apr 2025 11:38:23 +0100
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.22) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [Unity] Update welcome slide for Plucky.
|
|
||||||
* [Unity] Set Kvantum theme to KvGnomeDark for Calamares.
|
|
||||||
|
|
||||||
-- Walter Lapchynski <wxl@ubuntu.com> Wed, 26 Mar 2025 00:05:56 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.21) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Update partition names to match current version.
|
|
||||||
|
|
||||||
-- Walter Lapchynski <wxl@ubuntu.com> Mon, 24 Mar 2025 22:46:46 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.20) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Update OEM batch identifier to match current version.
|
|
||||||
|
|
||||||
-- Walter Lapchynski <wxl@ubuntu.com> Mon, 24 Mar 2025 07:01:24 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.19) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [Lubuntu] Update slides for current applications:
|
|
||||||
* Support: IRC -> Matrix, Lubuntu -> Ubuntu Discourse
|
|
||||||
* Lightweight: KCalc -> Qalc
|
|
||||||
|
|
||||||
-- Walter Lapchynski <wxl@ubuntu.com> Fri, 07 Mar 2025 03:21:03 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.18) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Add python3 as build-dep.
|
|
||||||
|
|
||||||
-- Walter Lapchynski <wxl@ubuntu.com> Fri, 07 Mar 2025 01:11:36 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.17) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [Lubuntu] Update welcome slides for Plucky.
|
|
||||||
|
|
||||||
-- Walter Lapchynski <wxl@ubuntu.com> Thu, 06 Mar 2025 10:23:08 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.16) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Fix installation of apt packages more consistently (LP: #2089494).
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 24 Feb 2025 03:53:14 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.15) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Move calamares -> libcalamares-dev for build dependencies.
|
|
||||||
* [basicwallpaper] Bump minimum CMake version, remove .user file.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 21 Feb 2025 13:10:40 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.14) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Add dh-sequence-qmldeps and ${qml6:Depends} to ensure all QML 6 runtime
|
|
||||||
dependencies are properly picked up.
|
|
||||||
* Run wrap-and-sort.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 18 Feb 2025 01:29:25 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.13) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [users] Set allowWeakPasswords and allowWeakPasswordsDefault to false for
|
|
||||||
all three flavors, but add some basic password recommendations based on
|
|
||||||
NIST standards, warning if the password falls outside of that.
|
|
||||||
* [packaging] Bump Calamares dependency to 3.3.13-0ubuntu4 for users fixes.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 16 Feb 2025 18:05:36 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.12) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [Lubuntu] Update password requirements to match NIST recommendations.
|
|
||||||
* [Lubuntu] Allow user to override password requirements, but not by
|
|
||||||
default.
|
|
||||||
|
|
||||||
-- Walter Lapchynski <wxl@ubuntu.com> Tue, 28 Jan 2025 17:14:06 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.11) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Rearrange the Lubuntu module order to account for packages with new stuff
|
|
||||||
to put in the initramfs.
|
|
||||||
* Make forbidden_names much stronger (LP: #2088576).
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 27 Nov 2024 23:28:28 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.10) plucky; urgency=medium
|
|
||||||
|
|
||||||
* [pkgselectprocess] Add dpkg diversions for dracut, update-initramfs, and
|
|
||||||
locale-gen. These will be called later in the process.
|
|
||||||
* [pkgselectprocess] Add a more robust check for apt packages when
|
|
||||||
installing them (LP: #2089494).
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 24 Nov 2024 20:51:38 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.9) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Add a Dracut config file for Lubuntu.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 22 Nov 2024 19:56:22 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.8) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Add new global storage value for stacked squashfses and adjust config.
|
|
||||||
* Switch Lubuntu to dracut.
|
|
||||||
* Fix apt install functionality in pkgselectprocess.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 21 Nov 2024 22:27:59 -0600
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.7) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Change oem user in Lubuntu raspi prep to user number 60999
|
|
||||||
|
|
||||||
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Wed, 20 Nov 2024 17:05:19 -0800
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.6) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Lubuntu raspi prep: Create oem user so it can actually login to sddm
|
|
||||||
|
|
||||||
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Wed, 20 Nov 2024 16:58:28 -0800
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.5) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Fix Vcs to point to ubuntu-qt-code team LP git.
|
|
||||||
|
|
||||||
-- Rik Mills <rikmills@kde.org> Tue, 12 Nov 2024 18:29:43 +0000
|
|
||||||
|
|
||||||
calamares-settings-ubuntu (1:25.04.4) plucky; urgency=medium
|
calamares-settings-ubuntu (1:25.04.4) plucky; urgency=medium
|
||||||
|
|
||||||
* kubuntu/modules/pkgselect.conf: Remove fcitx* from installed system.
|
* kubuntu/modules/pkgselect.conf: Remove fcitx* from installed system.
|
||||||
|
48
debian/control
vendored
@ -3,34 +3,29 @@ Section: devel
|
|||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
|
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
|
||||||
Uploaders: Simon Quigley <tsimonq2@ubuntu.com>
|
Uploaders: Simon Quigley <tsimonq2@ubuntu.com>
|
||||||
Build-Depends: debhelper-compat (= 13),
|
Build-Depends: calamares (>= 3.3.9),
|
||||||
dh-sequence-qmldeps,
|
|
||||||
cmake,
|
cmake,
|
||||||
|
debhelper-compat (= 13),
|
||||||
extra-cmake-modules,
|
extra-cmake-modules,
|
||||||
fakeroot,
|
|
||||||
intltool,
|
intltool,
|
||||||
libapt-pkg-dev,
|
|
||||||
libcalamares-dev (>= 3.3.13-0ubuntu4),
|
|
||||||
libkf6coreaddons-dev,
|
libkf6coreaddons-dev,
|
||||||
libqt6svg6-dev,
|
libqt6svg6-dev,
|
||||||
libyaml-cpp-dev,
|
libyaml-cpp-dev,
|
||||||
python3,
|
|
||||||
qt6-base-dev,
|
qt6-base-dev,
|
||||||
qt6-declarative-dev,
|
qt6-declarative-dev,
|
||||||
qt6-l10n-tools,
|
qt6-l10n-tools,
|
||||||
qt6-tools-dev,
|
qt6-tools-dev,
|
||||||
qt6-tools-dev-tools
|
qt6-tools-dev-tools
|
||||||
Standards-Version: 4.7.2
|
Standards-Version: 4.7.0
|
||||||
Homepage: https://code.launchpad.net/~ubuntu-qt-code/+git/calamares-settings-ubuntu
|
Homepage: https://code.launchpad.net/~ubuntu-qt-code/+git/calamares-settings-ubuntu
|
||||||
Vcs-Browser: https://git.launchpad.net/~ubuntu-qt-code/+git/calamares-settings-ubuntu
|
Vcs-Browser: https://git.lubuntu.me/Lubuntu/calamares-settings-ubuntu/
|
||||||
Vcs-Git: https://git.launchpad.net/~ubuntu-qt-code/+git/calamares-settings-ubuntu
|
Vcs-Git: https://git.lubuntu.me/Lubuntu/calamares-settings-ubuntu.git
|
||||||
Rules-Requires-Root: no
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
Package: calamares-settings-kubuntu
|
Package: calamares-settings-kubuntu
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
|
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
|
||||||
${misc:Depends},
|
${misc:Depends}
|
||||||
${qml6:Depends}
|
|
||||||
Conflicts: calamares-settings-ubuntu-flavor
|
Conflicts: calamares-settings-ubuntu-flavor
|
||||||
Provides: calamares-settings-ubuntu-flavor
|
Provides: calamares-settings-ubuntu-flavor
|
||||||
Description: Kubuntu Calamares Settings and Branding
|
Description: Kubuntu Calamares Settings and Branding
|
||||||
@ -42,8 +37,7 @@ Description: Kubuntu Calamares Settings and Branding
|
|||||||
Package: calamares-settings-lubuntu
|
Package: calamares-settings-lubuntu
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
|
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
|
||||||
${misc:Depends},
|
${misc:Depends}
|
||||||
${qml6:Depends}
|
|
||||||
Recommends: lubuntu-installer-prompt
|
Recommends: lubuntu-installer-prompt
|
||||||
Conflicts: calamares-settings-ubuntu-flavor
|
Conflicts: calamares-settings-ubuntu-flavor
|
||||||
Provides: calamares-settings-ubuntu-flavor
|
Provides: calamares-settings-ubuntu-flavor
|
||||||
@ -58,8 +52,7 @@ Architecture: all
|
|||||||
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
|
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
|
||||||
qt6-style-kvantum,
|
qt6-style-kvantum,
|
||||||
qt6-style-kvantum-themes,
|
qt6-style-kvantum-themes,
|
||||||
${misc:Depends},
|
${misc:Depends}
|
||||||
${qml6:Depends}
|
|
||||||
Conflicts: calamares-settings-ubuntu-flavor
|
Conflicts: calamares-settings-ubuntu-flavor
|
||||||
Provides: calamares-settings-ubuntu-flavor
|
Provides: calamares-settings-ubuntu-flavor
|
||||||
Description: Ubuntu Unity Calamares Settings and Branding
|
Description: Ubuntu Unity Calamares Settings and Branding
|
||||||
@ -70,13 +63,14 @@ Description: Ubuntu Unity Calamares Settings and Branding
|
|||||||
|
|
||||||
Package: calamares-settings-ubuntu-common
|
Package: calamares-settings-ubuntu-common
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: calamares (>= 3.3.13-0ubuntu4),
|
Depends: calamares (>= 3.3.9),
|
||||||
calamares-settings-ubuntu-common-data (= ${binary:Version}),
|
|
||||||
cryptsetup,
|
cryptsetup,
|
||||||
dracut-core,
|
|
||||||
kdialog,
|
kdialog,
|
||||||
keyutils,
|
keyutils,
|
||||||
libglib2.0-bin,
|
python3,
|
||||||
|
python3-distro,
|
||||||
|
qml6-module-qtquick,
|
||||||
|
qml6-module-qtquick-window,
|
||||||
snapd-seed-glue,
|
snapd-seed-glue,
|
||||||
squashfs-tools,
|
squashfs-tools,
|
||||||
sudo,
|
sudo,
|
||||||
@ -86,19 +80,3 @@ Description: Common Calamares Settings
|
|||||||
This package contains the common Calamares settings for all flavors.
|
This package contains the common Calamares settings for all flavors.
|
||||||
There is also a automirror Python script to set sources based on
|
There is also a automirror Python script to set sources based on
|
||||||
geolocation.
|
geolocation.
|
||||||
.
|
|
||||||
Common settings for all Ubuntu flavors.
|
|
||||||
|
|
||||||
Package: calamares-settings-ubuntu-common-data
|
|
||||||
Architecture: all
|
|
||||||
Depends: ${misc:Depends},
|
|
||||||
python3,
|
|
||||||
python3-distro,
|
|
||||||
Conflicts: calamares-settings-ubuntu-common (<< 1:25.04.16)
|
|
||||||
Replaces: calamares-settings-ubuntu-common (<< 1:25.04.16)
|
|
||||||
Description: Data for Common Calamares Settings
|
|
||||||
This package contains the common Calamares settings for all flavors.
|
|
||||||
There is also a automirror Python script to set sources based on
|
|
||||||
geolocation.
|
|
||||||
.
|
|
||||||
Architecture-independent data for the common Calamares settings.
|
|
||||||
|
1
debian/qmldeps.overrides
vendored
@ -1 +0,0 @@
|
|||||||
calamares.slideshow calamares
|
|
27
debian/rules
vendored
@ -7,10 +7,7 @@ export GO111MODULE=off
|
|||||||
export GOCACHE=$(CURDIR)/.gocache
|
export GOCACHE=$(CURDIR)/.gocache
|
||||||
export PKGSELECT = "common/modules/pkgselect"
|
export PKGSELECT = "common/modules/pkgselect"
|
||||||
export PKGSELECTPROCESS = "common/modules/pkgselectprocess"
|
export PKGSELECTPROCESS = "common/modules/pkgselectprocess"
|
||||||
export USRDIR = "debian/calamares-settings-ubuntu-common/usr"
|
|
||||||
export DATA_USRDIR = "debian/calamares-settings-ubuntu-common-data/usr"
|
|
||||||
export MODULES_DIR = "debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules"
|
export MODULES_DIR = "debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules"
|
||||||
export DATA_MODULES_DIR = "debian/calamares-settings-ubuntu-common-data/usr/lib/calamares/modules"
|
|
||||||
|
|
||||||
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
|
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
|
||||||
|
|
||||||
@ -32,22 +29,22 @@ override_dh_auto_clean:
|
|||||||
|
|
||||||
override_dh_auto_install:
|
override_dh_auto_install:
|
||||||
(cd $(PKGSELECT)/build && $(MAKE) DESTDIR=$(CURDIR)/debian/calamares-settings-ubuntu-common/ install)
|
(cd $(PKGSELECT)/build && $(MAKE) DESTDIR=$(CURDIR)/debian/calamares-settings-ubuntu-common/ install)
|
||||||
|
(cd $(PKGSELECTPROCESS)/build && $(MAKE) DESTDIR=$(CURDIR)/debian/calamares-settings-ubuntu-common/ install)
|
||||||
|
|
||||||
override_dh_missing:
|
override_dh_missing:
|
||||||
dh_missing
|
dh_missing
|
||||||
mkdir -pv $(MODULES_DIR) $(DATA_MODULES_DIR)
|
mkdir -pv $(MODULES_DIR)
|
||||||
cp -vr common/modules/automirror $(DATA_MODULES_DIR)
|
cp -vr common/modules/automirror $(MODULES_DIR)
|
||||||
mkdir -pv debian/calamares-settings-ubuntu-common-data/etc/calamares/modules
|
mkdir -pv debian/calamares-settings-ubuntu-common/etc/calamares/modules
|
||||||
cp -vr common/modules/*.conf debian/calamares-settings-ubuntu-common-data/etc/calamares/modules
|
cp -vr common/modules/*.conf debian/calamares-settings-ubuntu-common/etc/calamares/modules
|
||||||
chmod 644 $(DATA_MODULES_DIR)/automirror/automirror.conf
|
chmod -R 755 debian/calamares-settings-ubuntu-common/usr/lib/
|
||||||
chmod 644 $(DATA_MODULES_DIR)/automirror/module.desc
|
chmod 644 $(MODULES_DIR)/automirror/automirror.conf
|
||||||
|
chmod 644 $(MODULES_DIR)/automirror/module.desc
|
||||||
chmod 644 $(MODULES_DIR)/pkgselect/libcalamares_viewmodule_pkgselect.so
|
chmod 644 $(MODULES_DIR)/pkgselect/libcalamares_viewmodule_pkgselect.so
|
||||||
chmod 644 $(MODULES_DIR)/pkgselect/module.desc
|
chmod 644 $(MODULES_DIR)/pkgselect/module.desc
|
||||||
mkdir -pv $(MODULES_DIR)/pkgselectprocess
|
|
||||||
cp -v $(PKGSELECTPROCESS)/build/*.so $(PKGSELECTPROCESS)/build/*.desc $(MODULES_DIR)/pkgselectprocess
|
|
||||||
chmod 644 $(MODULES_DIR)/pkgselectprocess/libcalamares_job_pkgselectprocess.so
|
chmod 644 $(MODULES_DIR)/pkgselectprocess/libcalamares_job_pkgselectprocess.so
|
||||||
chmod 644 $(MODULES_DIR)/pkgselectprocess/module.desc
|
chmod 644 $(MODULES_DIR)/pkgselectprocess/module.desc
|
||||||
mkdir -pv $(USRDIR)/libexec/ $(DATA_USRDIR)/libexec/
|
mkdir -pv debian/calamares-settings-ubuntu-common/usr/bin/
|
||||||
cp -v common/fixconkeys-part1 $(DATA_USRDIR)/libexec/fixconkeys-part1
|
mkdir -pv debian/calamares-settings-ubuntu-common/usr/libexec/
|
||||||
cp -v common/fixconkeys-part2 $(DATA_USRDIR)/libexec/fixconkeys-part2
|
cp -v common/fixconkeys-part1 debian/calamares-settings-ubuntu-common/usr/libexec/fixconkeys-part1
|
||||||
cp -v $(PKGSELECTPROCESS)/build/check_package $(USRDIR)/libexec/checkpackage-backend
|
cp -v common/fixconkeys-part2 debian/calamares-settings-ubuntu-common/usr/libexec/fixconkeys-part2
|
||||||
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 123 KiB |
@ -1,2 +1,2 @@
|
|||||||
---
|
---
|
||||||
batch-identifier: kubuntu-2504-${DATE}
|
batch-identifier: kubuntu-2404-${DATE}
|
||||||
|
@ -15,7 +15,7 @@ partitionLayout:
|
|||||||
onlyPresentWithEncryption: true
|
onlyPresentWithEncryption: true
|
||||||
mountPoint: "/boot"
|
mountPoint: "/boot"
|
||||||
size: 4G
|
size: 4G
|
||||||
- name: "kubuntu_2504"
|
- name: "kubuntu_2410"
|
||||||
filesystem: unknown
|
filesystem: unknown
|
||||||
mountPoint: "/"
|
mountPoint: "/"
|
||||||
size: 100%
|
size: 100%
|
||||||
|
@ -5,6 +5,10 @@ packages:
|
|||||||
name: "Element"
|
name: "Element"
|
||||||
description: "Matrix-based end-to-end encrypted messenger and secure collaboration app."
|
description: "Matrix-based end-to-end encrypted messenger and secure collaboration app."
|
||||||
snap: true
|
snap: true
|
||||||
|
- id: "virt-manager"
|
||||||
|
name: "Virtual Machine Manager"
|
||||||
|
description: "Desktop user interface for managing virtual machines through libvirt."
|
||||||
|
snap: false
|
||||||
- id: "krita"
|
- id: "krita"
|
||||||
name: "Krita"
|
name: "Krita"
|
||||||
description: "Graphics editor designed primarily for digital art and 2D animation."
|
description: "Graphics editor designed primarily for digital art and 2D animation."
|
||||||
|
@ -13,64 +13,10 @@ defaultGroups:
|
|||||||
system: true
|
system: true
|
||||||
- sudo
|
- sudo
|
||||||
passwordRequirements:
|
passwordRequirements:
|
||||||
minLength: 8
|
minLength: 1
|
||||||
maxLength: -1
|
maxLength: -1
|
||||||
libpwquality:
|
|
||||||
- minlen=8
|
|
||||||
- maxrepeat=3
|
|
||||||
- maxsequence=3
|
|
||||||
- usersubstr=4
|
|
||||||
- badwords=linux
|
|
||||||
allowWeakPasswords: false
|
|
||||||
allowWeakPasswordsDefault: false
|
|
||||||
# Explicitly set the shell instead of deferring to Calamares. We have a platform
|
# Explicitly set the shell instead of deferring to Calamares. We have a platform
|
||||||
# expectation derived from Ubuntu here.
|
# expectation derived from Ubuntu here.
|
||||||
user:
|
user:
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
forbidden_names:
|
forbidden_names: [ root ]
|
||||||
- root
|
|
||||||
- nginx
|
|
||||||
- www-data
|
|
||||||
- daemon
|
|
||||||
- bin
|
|
||||||
- sys
|
|
||||||
- sync
|
|
||||||
- games
|
|
||||||
- man
|
|
||||||
- lp
|
|
||||||
- mail
|
|
||||||
- news
|
|
||||||
- uucp
|
|
||||||
- proxy
|
|
||||||
- www-data
|
|
||||||
- backup
|
|
||||||
- list
|
|
||||||
- irc
|
|
||||||
- apt
|
|
||||||
- nobody
|
|
||||||
- systemd-network
|
|
||||||
- systemd-timesync
|
|
||||||
- dhcpcd
|
|
||||||
- messagebus
|
|
||||||
- syslog
|
|
||||||
- systemd-resolve
|
|
||||||
- usbmux
|
|
||||||
- tss
|
|
||||||
- uuidd
|
|
||||||
- whoopsie
|
|
||||||
- dnsmasq
|
|
||||||
- avahi
|
|
||||||
- nm-openvpn
|
|
||||||
- tcpdump
|
|
||||||
- speech-dispatcher
|
|
||||||
- cups-pk-helper
|
|
||||||
- fwupd-refresh
|
|
||||||
- sddm
|
|
||||||
- saned
|
|
||||||
- cups-browsed
|
|
||||||
- hplip
|
|
||||||
- polkitd
|
|
||||||
- rtkit
|
|
||||||
- colord
|
|
||||||
- geoclue
|
|
||||||
- installer
|
|
||||||
|
@ -29,7 +29,7 @@ if kdialog --warningyesno "${msg}"; then
|
|||||||
sed -i "/- welcome$/a \ \ - oemid" /etc/calamares/settings.conf;
|
sed -i "/- welcome$/a \ \ - oemid" /etc/calamares/settings.conf;
|
||||||
|
|
||||||
# Enable OEM prep module
|
# Enable OEM prep module
|
||||||
sed -i "/- pkgselectprocess$/a \ \ - shellprocess@oemprep" /etc/calamares/settings.conf;
|
sed -i "/- packages$/a \ \ - shellprocess@oemprep" /etc/calamares/settings.conf;
|
||||||
|
|
||||||
# Fix OEM UID
|
# Fix OEM UID
|
||||||
sed -i "/- shellprocess@oemprep$/a \ \ - shellprocess@fix-oem-uid" /etc/calamares/settings.conf;
|
sed -i "/- shellprocess@oemprep$/a \ \ - shellprocess@fix-oem-uid" /etc/calamares/settings.conf;
|
||||||
|
@ -7,10 +7,6 @@
|
|||||||
tar xvzf /etc/calamares/oemconfig.tar.gz -C "$1" --strip-components=2;
|
tar xvzf /etc/calamares/oemconfig.tar.gz -C "$1" --strip-components=2;
|
||||||
chown -R 1000:1000 "$1"/home/oem
|
chown -R 1000:1000 "$1"/home/oem
|
||||||
|
|
||||||
# Ensure the desktop file is marked as trusted
|
|
||||||
# See line 96 of scripts/casper-bottom/25adduser in src:casper as shipped in Plucky
|
|
||||||
gio set /home/oem/Desktop/calamares-finish-oem.desktop metadata::trusted true
|
|
||||||
|
|
||||||
# Enable passwordless sudo for the OEM user, making sure this can be undone later
|
# Enable passwordless sudo for the OEM user, making sure this can be undone later
|
||||||
mv "$1"/etc/sudoers "$1"/etc/sudoers.orig
|
mv "$1"/etc/sudoers "$1"/etc/sudoers.orig
|
||||||
mv "$1"/etc/sudoers.oem "$1"/etc/sudoers
|
mv "$1"/etc/sudoers.oem "$1"/etc/sudoers
|
||||||
|
@ -1,15 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Starts the Kubuntu OEM Environment.
|
# Starts the Kubuntu OEM Environment.
|
||||||
export XDG_SESSION_CLASS="user"
|
|
||||||
export XDG_SESSION_DESKTOP="KDE"
|
|
||||||
export DESKTOP_SESSION="plasma"
|
|
||||||
export QT_QPA_PLATFORMTHEME="kde"
|
export QT_QPA_PLATFORMTHEME="kde"
|
||||||
export BROWSER='sudo -H -u kubuntu firefox'
|
export BROWSER='sudo -H -u kubuntu firefox'
|
||||||
|
|
||||||
/usr/bin/kwin_wayland --no-lockscreen &
|
/usr/bin/kwin_x11 &
|
||||||
while [ ! -e "/run/user/$(id -u)/wayland-0" ]; do sleep 1; done
|
|
||||||
/usr/bin/basicwallpaper /usr/share/wallpapers/Next/contents/3840x2160.png &
|
/usr/bin/basicwallpaper /usr/share/wallpapers/Next/contents/3840x2160.png &
|
||||||
WAYLAND_DISPLAY="wayland-0" sudo -E /usr/bin/calamares -D8 # This is intentionally *not* backgrounded.
|
sudo -E /usr/bin/calamares -D8 # This is intentionally *not* backgrounded.
|
||||||
# If it exits...
|
# If it exits...
|
||||||
killall basicwallpaper
|
killall basicwallpaper
|
||||||
killall kwin_wayland
|
killall kwin_x11
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
modules-search: [ local ]
|
modules-search: [ local ]
|
||||||
|
|
||||||
instances:
|
instances:
|
||||||
|
- id: before_bootloader_mkdirs
|
||||||
|
module: contextualprocess
|
||||||
|
config: before_bootloader_mkdirs_context.conf
|
||||||
- id: before_bootloader
|
- id: before_bootloader
|
||||||
module: contextualprocess
|
module: contextualprocess
|
||||||
config: before_bootloader_context.conf
|
config: before_bootloader_context.conf
|
||||||
- id: copy_vmlinuz_shellprocess
|
|
||||||
module: shellprocess
|
|
||||||
config: copy_vmlinuz_shellprocess.conf
|
|
||||||
- id: logs
|
- id: logs
|
||||||
module: shellprocess
|
module: shellprocess
|
||||||
config: shellprocess_logs.conf
|
config: shellprocess_logs.conf
|
||||||
@ -53,7 +53,7 @@ sequence:
|
|||||||
- displaymanager
|
- displaymanager
|
||||||
- networkcfg
|
- networkcfg
|
||||||
- hwclock
|
- hwclock
|
||||||
- shellprocess@copy_vmlinuz_shellprocess
|
- contextualprocess@before_bootloader_mkdirs
|
||||||
- shellprocess@bug-LP#1829805
|
- shellprocess@bug-LP#1829805
|
||||||
- shellprocess@fixconkeys_part1
|
- shellprocess@fixconkeys_part1
|
||||||
- shellprocess@fixconkeys_part2
|
- shellprocess@fixconkeys_part2
|
||||||
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@ -1,2 +1,2 @@
|
|||||||
---
|
---
|
||||||
batch-identifier: lubuntu-2504-${DATE}
|
batch-identifier: lubuntu-2404-${DATE}
|
||||||
|
@ -15,7 +15,7 @@ partitionLayout:
|
|||||||
onlyPresentWithEncryption: true
|
onlyPresentWithEncryption: true
|
||||||
mountPoint: "/boot"
|
mountPoint: "/boot"
|
||||||
size: 4G
|
size: 4G
|
||||||
- name: "lubuntu_2504"
|
- name: "lubuntu_2410"
|
||||||
filesystem: unknown
|
filesystem: unknown
|
||||||
mountPoint: "/"
|
mountPoint: "/"
|
||||||
size: 100%
|
size: 100%
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
---
|
---
|
||||||
stacked_squashfs: true
|
|
||||||
packages:
|
packages:
|
||||||
additional_packages:
|
additional_packages:
|
||||||
- id: "element-desktop"
|
- id: "element-desktop"
|
||||||
@ -10,10 +9,40 @@ packages:
|
|||||||
name: "Thunderbird"
|
name: "Thunderbird"
|
||||||
description: "Email, newsfeed, chat, and calendaring client."
|
description: "Email, newsfeed, chat, and calendaring client."
|
||||||
snap: true
|
snap: true
|
||||||
|
- id: "virt-manager"
|
||||||
|
name: "Virtual Machine Manager"
|
||||||
|
description: "Desktop user interface for managing virtual machines through libvirt."
|
||||||
|
snap: false
|
||||||
- id: "krita"
|
- id: "krita"
|
||||||
name: "Krita"
|
name: "Krita"
|
||||||
description: "Graphics editor designed primarily for digital art and 2D animation."
|
description: "Graphics editor designed primarily for digital art and 2D animation."
|
||||||
snap: true
|
snap: true
|
||||||
|
minimal_remove_packages:
|
||||||
|
- snapd
|
||||||
|
- snapd-installation-monitor
|
||||||
|
- vlc
|
||||||
|
- plasma-discover
|
||||||
|
- transmission-qt
|
||||||
|
- quassel
|
||||||
|
- 2048-qt
|
||||||
|
- featherpad
|
||||||
|
- noblenote
|
||||||
|
- kcalc
|
||||||
|
- qps
|
||||||
|
- zsync
|
||||||
|
- partitionmanager
|
||||||
|
- qapt-deb-installer
|
||||||
|
- picom
|
||||||
|
- qlipper
|
||||||
|
- qtpass
|
||||||
|
- "libreoffice*"
|
||||||
|
installer_remove_packages:
|
||||||
|
- "^live-*"
|
||||||
|
- calamares-settings-lubuntu
|
||||||
|
- calamares
|
||||||
|
- zram-config
|
||||||
|
- cifs-utils
|
||||||
|
- lubuntu-installer-prompt
|
||||||
regular_install_packages:
|
regular_install_packages:
|
||||||
- language-pack-$LOCALE
|
- language-pack-$LOCALE
|
||||||
- language-pack-gnome-$LOCALE
|
- language-pack-gnome-$LOCALE
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
|
---
|
||||||
unpack:
|
unpack:
|
||||||
- source: "/cdrom/casper/minimal.squashfs"
|
- source: "/cdrom/casper/filesystem.squashfs"
|
||||||
sourcefs: "squashfs"
|
sourcefs: "squashfs"
|
||||||
destination: ""
|
destination: ""
|
||||||
condition: true
|
|
||||||
- source: "/cdrom/casper/minimal.standard.squashfs"
|
|
||||||
sourcefs: "squashfs"
|
|
||||||
destination: ""
|
|
||||||
condition: "installation_data.unpack_regular"
|
|
||||||
|
@ -13,69 +13,11 @@ defaultGroups:
|
|||||||
system: true
|
system: true
|
||||||
- sudo
|
- sudo
|
||||||
passwordRequirements:
|
passwordRequirements:
|
||||||
minLength: 8
|
minLength: 1
|
||||||
maxLength: -1
|
maxLength: -1
|
||||||
libpwquality:
|
|
||||||
- minlen=8
|
|
||||||
- maxrepeat=3
|
|
||||||
- maxsequence=3
|
|
||||||
- usersubstr=4
|
|
||||||
- badwords=linux
|
|
||||||
allowWeakPasswords: false
|
|
||||||
allowWeakPasswordsDefault: false
|
|
||||||
# Explicitly set the shell instead of deferring to Calamares. We have a platform
|
# Explicitly set the shell instead of deferring to Calamares. We have a platform
|
||||||
# expectation derived from Ubuntu here.
|
# expectation derived from Ubuntu here.
|
||||||
#
|
|
||||||
# The forbidden_names list is grabbed from `awk -F: '{print $1}' /etc/passwd`
|
|
||||||
# on a live ISO. _apt was changed to apt, lubuntu was removed, and nginx and
|
|
||||||
# www-data were added
|
|
||||||
user:
|
user:
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
forbidden_names:
|
forbidden_names: [ root ]
|
||||||
- root
|
|
||||||
- nginx
|
|
||||||
- www-data
|
|
||||||
- daemon
|
|
||||||
- bin
|
|
||||||
- sys
|
|
||||||
- sync
|
|
||||||
- games
|
|
||||||
- man
|
|
||||||
- lp
|
|
||||||
- mail
|
|
||||||
- news
|
|
||||||
- uucp
|
|
||||||
- proxy
|
|
||||||
- www-data
|
|
||||||
- backup
|
|
||||||
- list
|
|
||||||
- irc
|
|
||||||
- apt
|
|
||||||
- nobody
|
|
||||||
- systemd-network
|
|
||||||
- systemd-timesync
|
|
||||||
- dhcpcd
|
|
||||||
- messagebus
|
|
||||||
- syslog
|
|
||||||
- systemd-resolve
|
|
||||||
- usbmux
|
|
||||||
- tss
|
|
||||||
- uuidd
|
|
||||||
- whoopsie
|
|
||||||
- dnsmasq
|
|
||||||
- avahi
|
|
||||||
- nm-openvpn
|
|
||||||
- tcpdump
|
|
||||||
- speech-dispatcher
|
|
||||||
- cups-pk-helper
|
|
||||||
- fwupd-refresh
|
|
||||||
- sddm
|
|
||||||
- saned
|
|
||||||
- cups-browsed
|
|
||||||
- hplip
|
|
||||||
- polkitd
|
|
||||||
- rtkit
|
|
||||||
- colord
|
|
||||||
- geoclue
|
|
||||||
- installer
|
|
||||||
allowActiveDirectory: true
|
allowActiveDirectory: true
|
||||||
|
@ -29,7 +29,7 @@ if kdialog --warningyesno "${msg}"; then
|
|||||||
sed -i "/- welcome$/a \ \ - oemid" /etc/calamares/settings.conf;
|
sed -i "/- welcome$/a \ \ - oemid" /etc/calamares/settings.conf;
|
||||||
|
|
||||||
# Enable OEM prep module
|
# Enable OEM prep module
|
||||||
sed -i "/- pkgselectprocess$/a \ \ - shellprocess@oemprep" /etc/calamares/settings.conf;
|
sed -i "/- packages$/a \ \ - shellprocess@oemprep" /etc/calamares/settings.conf;
|
||||||
|
|
||||||
# Fix OEM UID
|
# Fix OEM UID
|
||||||
sed -i "/- shellprocess@oemprep$/a \ \ - shellprocess@fix-oem-uid" /etc/calamares/settings.conf;
|
sed -i "/- shellprocess@oemprep$/a \ \ - shellprocess@fix-oem-uid" /etc/calamares/settings.conf;
|
||||||
|
@ -7,10 +7,6 @@
|
|||||||
tar xvzf /etc/calamares/oemconfig.tar.gz -C "$1" --strip-components=2;
|
tar xvzf /etc/calamares/oemconfig.tar.gz -C "$1" --strip-components=2;
|
||||||
chown -R 1000:1000 "$1"/home/oem
|
chown -R 1000:1000 "$1"/home/oem
|
||||||
|
|
||||||
# Ensure the desktop file is marked as trusted
|
|
||||||
# See line 96 of scripts/casper-bottom/25adduser in src:casper as shipped in Plucky
|
|
||||||
gio set /home/oem/Desktop/calamares-finish-oem.desktop metadata::trusted true
|
|
||||||
|
|
||||||
# Enable passwordless sudo for the OEM user, making sure this can be undone later
|
# Enable passwordless sudo for the OEM user, making sure this can be undone later
|
||||||
mv "$1"/etc/sudoers "$1"/etc/sudoers.orig
|
mv "$1"/etc/sudoers "$1"/etc/sudoers.orig
|
||||||
mv "$1"/etc/sudoers.oem "$1"/etc/sudoers
|
mv "$1"/etc/sudoers.oem "$1"/etc/sudoers
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
# First user configuration mode, bypassing oem config
|
# First user configuration mode, bypassing oem config
|
||||||
# mode
|
# mode
|
||||||
|
|
||||||
useradd -G adm,cdrom,dip,lpadmin,plugdev,sambashare,sudo -m -s /bin/bash -u 60999 oem
|
|
||||||
|
|
||||||
/usr/libexec/calamares-oemprep.sh
|
/usr/libexec/calamares-oemprep.sh
|
||||||
|
|
||||||
sddm_file="$(cat <<EOL
|
sddm_file="$(cat <<EOL
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
modules-search: [ local ]
|
modules-search: [ local ]
|
||||||
|
|
||||||
instances:
|
instances:
|
||||||
|
- id: before_bootloader_mkdirs
|
||||||
|
module: contextualprocess
|
||||||
|
config: before_bootloader_mkdirs_context.conf
|
||||||
- id: before_bootloader
|
- id: before_bootloader
|
||||||
module: contextualprocess
|
module: contextualprocess
|
||||||
config: before_bootloader_context.conf
|
config: before_bootloader_context.conf
|
||||||
- id: copy_vmlinuz_shellprocess
|
|
||||||
module: shellprocess
|
|
||||||
config: copy_vmlinuz_shellprocess.conf
|
|
||||||
- id: logs
|
- id: logs
|
||||||
module: shellprocess
|
module: shellprocess
|
||||||
config: shellprocess_logs.conf
|
config: shellprocess_logs.conf
|
||||||
@ -53,18 +53,18 @@ sequence:
|
|||||||
- displaymanager
|
- displaymanager
|
||||||
- networkcfg
|
- networkcfg
|
||||||
- hwclock
|
- hwclock
|
||||||
- automirror
|
- contextualprocess@before_bootloader_mkdirs
|
||||||
- pkgselectprocess
|
|
||||||
- dracutlukscfg
|
|
||||||
- dracut
|
|
||||||
- shellprocess@copy_vmlinuz_shellprocess
|
|
||||||
- shellprocess@bug-LP#1829805
|
- shellprocess@bug-LP#1829805
|
||||||
- shellprocess@fixconkeys_part1
|
- shellprocess@fixconkeys_part1
|
||||||
- shellprocess@fixconkeys_part2
|
- shellprocess@fixconkeys_part2
|
||||||
- shellprocess@add386arch
|
- initramfscfg
|
||||||
- contextualprocess@before_bootloader
|
- initramfs
|
||||||
- grubcfg
|
- grubcfg
|
||||||
|
- contextualprocess@before_bootloader
|
||||||
- bootloader
|
- bootloader
|
||||||
|
- shellprocess@add386arch
|
||||||
|
- automirror
|
||||||
|
- pkgselectprocess
|
||||||
- shellprocess@logs
|
- shellprocess@logs
|
||||||
- umount
|
- umount
|
||||||
- show:
|
- show:
|
||||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 18 KiB |
@ -1,5 +1,2 @@
|
|||||||
[General]
|
[General]
|
||||||
theme=KvGnome
|
theme=KvGnome
|
||||||
|
|
||||||
[Applications]
|
|
||||||
KvGnomeDark=calamares
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
---
|
---
|
||||||
batch-identifier: ubuntuunity-2504-${DATE}
|
batch-identifier: ubuntuunity-2404-${DATE}
|
||||||
|
@ -15,7 +15,7 @@ partitionLayout:
|
|||||||
onlyPresentWithEncryption: true
|
onlyPresentWithEncryption: true
|
||||||
mountPoint: "/boot"
|
mountPoint: "/boot"
|
||||||
size: 4G
|
size: 4G
|
||||||
- name: "ubuntu_unity_2504"
|
- name: "ubuntu_unity_2410"
|
||||||
filesystem: unknown
|
filesystem: unknown
|
||||||
mountPoint: "/"
|
mountPoint: "/"
|
||||||
size: 100%
|
size: 100%
|
||||||
|
@ -9,6 +9,10 @@ packages:
|
|||||||
name: "Thunderbird"
|
name: "Thunderbird"
|
||||||
description: "Email, newsfeed, chat, and calendaring client."
|
description: "Email, newsfeed, chat, and calendaring client."
|
||||||
snap: true
|
snap: true
|
||||||
|
- id: "virt-manager"
|
||||||
|
name: "Virtual Machine Manager"
|
||||||
|
description: "Desktop user interface for managing virtual machines through libvirt."
|
||||||
|
snap: false
|
||||||
- id: "krita"
|
- id: "krita"
|
||||||
name: "Krita"
|
name: "Krita"
|
||||||
description: "Graphics editor designed primarily for digital art and 2D animation."
|
description: "Graphics editor designed primarily for digital art and 2D animation."
|
||||||
|
@ -13,64 +13,10 @@ defaultGroups:
|
|||||||
system: true
|
system: true
|
||||||
- sudo
|
- sudo
|
||||||
passwordRequirements:
|
passwordRequirements:
|
||||||
minLength: 8
|
minLength: 1
|
||||||
maxLength: -1
|
maxLength: -1
|
||||||
libpwquality:
|
|
||||||
- minlen=8
|
|
||||||
- maxrepeat=3
|
|
||||||
- maxsequence=3
|
|
||||||
- usersubstr=4
|
|
||||||
- badwords=linux
|
|
||||||
allowWeakPasswords: false
|
|
||||||
allowWeakPasswordsDefault: false
|
|
||||||
# Explicitly set the shell instead of deferring to Calamares. We have a platform
|
# Explicitly set the shell instead of deferring to Calamares. We have a platform
|
||||||
# expectation derived from Ubuntu here.
|
# expectation derived from Ubuntu here.
|
||||||
user:
|
user:
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
forbidden_names:
|
forbidden_names: [ root ]
|
||||||
- root
|
|
||||||
- nginx
|
|
||||||
- www-data
|
|
||||||
- daemon
|
|
||||||
- bin
|
|
||||||
- sys
|
|
||||||
- sync
|
|
||||||
- games
|
|
||||||
- man
|
|
||||||
- lp
|
|
||||||
- mail
|
|
||||||
- news
|
|
||||||
- uucp
|
|
||||||
- proxy
|
|
||||||
- www-data
|
|
||||||
- backup
|
|
||||||
- list
|
|
||||||
- irc
|
|
||||||
- apt
|
|
||||||
- nobody
|
|
||||||
- systemd-network
|
|
||||||
- systemd-timesync
|
|
||||||
- dhcpcd
|
|
||||||
- messagebus
|
|
||||||
- syslog
|
|
||||||
- systemd-resolve
|
|
||||||
- usbmux
|
|
||||||
- tss
|
|
||||||
- uuidd
|
|
||||||
- whoopsie
|
|
||||||
- dnsmasq
|
|
||||||
- avahi
|
|
||||||
- nm-openvpn
|
|
||||||
- tcpdump
|
|
||||||
- speech-dispatcher
|
|
||||||
- cups-pk-helper
|
|
||||||
- fwupd-refresh
|
|
||||||
- sddm
|
|
||||||
- saned
|
|
||||||
- cups-browsed
|
|
||||||
- hplip
|
|
||||||
- polkitd
|
|
||||||
- rtkit
|
|
||||||
- colord
|
|
||||||
- geoclue
|
|
||||||
- installer
|
|
||||||
|
@ -26,7 +26,7 @@ if zenity --question --text="${msg}"; then
|
|||||||
sed -i "/- welcome$/a \ \ - oemid" /etc/calamares/settings.conf;
|
sed -i "/- welcome$/a \ \ - oemid" /etc/calamares/settings.conf;
|
||||||
|
|
||||||
# Enable OEM prep module
|
# Enable OEM prep module
|
||||||
sed -i "/- pkgselectprocess$/a \ \ - shellprocess@oemprep" /etc/calamares/settings.conf;
|
sed -i "/- packages$/a \ \ - shellprocess@oemprep" /etc/calamares/settings.conf;
|
||||||
|
|
||||||
# Fix OEM UID
|
# Fix OEM UID
|
||||||
sed -i "/- shellprocess@oemprep$/a \ \ - shellprocess@fix-oem-uid" /etc/calamares/settings.conf;
|
sed -i "/- shellprocess@oemprep$/a \ \ - shellprocess@fix-oem-uid" /etc/calamares/settings.conf;
|
||||||
|
@ -7,10 +7,6 @@
|
|||||||
tar xvzf /etc/calamares/oemconfig.tar.gz -C "$1" --strip-components=2;
|
tar xvzf /etc/calamares/oemconfig.tar.gz -C "$1" --strip-components=2;
|
||||||
chown -R 1000:1000 "$1"/home/oem
|
chown -R 1000:1000 "$1"/home/oem
|
||||||
|
|
||||||
# Ensure the desktop file is marked as trusted
|
|
||||||
# See line 96 of scripts/casper-bottom/25adduser in src:casper as shipped in Plucky
|
|
||||||
gio set /home/oem/Desktop/calamares-finish-oem.desktop metadata::trusted true
|
|
||||||
|
|
||||||
# Enable passwordless sudo for the OEM user, making sure this can be undone later
|
# Enable passwordless sudo for the OEM user, making sure this can be undone later
|
||||||
mv "$1"/etc/sudoers "$1"/etc/sudoers.orig
|
mv "$1"/etc/sudoers "$1"/etc/sudoers.orig
|
||||||
mv "$1"/etc/sudoers.oem "$1"/etc/sudoers
|
mv "$1"/etc/sudoers.oem "$1"/etc/sudoers
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
modules-search: [ local ]
|
modules-search: [ local ]
|
||||||
|
|
||||||
instances:
|
instances:
|
||||||
|
- id: before_bootloader_mkdirs
|
||||||
|
module: contextualprocess
|
||||||
|
config: before_bootloader_mkdirs_context.conf
|
||||||
- id: before_bootloader
|
- id: before_bootloader
|
||||||
module: contextualprocess
|
module: contextualprocess
|
||||||
config: before_bootloader_context.conf
|
config: before_bootloader_context.conf
|
||||||
- id: copy_vmlinuz_shellprocess
|
|
||||||
module: shellprocess
|
|
||||||
config: copy_vmlinuz_shellprocess.conf
|
|
||||||
- id: logs
|
- id: logs
|
||||||
module: shellprocess
|
module: shellprocess
|
||||||
config: shellprocess_logs.conf
|
config: shellprocess_logs.conf
|
||||||
@ -53,7 +53,7 @@ sequence:
|
|||||||
- displaymanager
|
- displaymanager
|
||||||
- networkcfg
|
- networkcfg
|
||||||
- hwclock
|
- hwclock
|
||||||
- shellprocess@copy_vmlinuz_shellprocess
|
- contextualprocess@before_bootloader_mkdirs
|
||||||
- shellprocess@bug-LP#1829805
|
- shellprocess@bug-LP#1829805
|
||||||
- shellprocess@fixconkeys_part1
|
- shellprocess@fixconkeys_part1
|
||||||
- shellprocess@fixconkeys_part2
|
- shellprocess@fixconkeys_part2
|
||||||
|