Revision 328

Date:
2015/12/05 11:28:25
Author:
alanb@RISCID.ORG
Revision Log:
Fixed bug where update lists couldn't be executed twice in same run
Files:

Legend:

 
Added
 
Removed
 
Modified
  • trunk/!PackMan/html/history.htm,faf

     
    10 10 <UL>
    11 11 <LI>Added find file window to search packages for a component or installed file.</LI>
    12 12 <LI>Added save/load install list of packages, paths and sources.</LI>
    13 <LI>Fixed bug that stopped update lists being run more than once.</LI>
    13 14 <LI>If any dependencies of a package are missing show a warning when installing a package.</LI>
    14 15 </UL>
    15 16 </LI>
  • trunk/.cproject

     
    14 14 </extensions>
    15 15 </storageModule>
    16 16 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
    17 <configuration artifactExtension="" artifactName="packman,e1f" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.config.gnu.cygwin.exe.debug.2000663255" name="Debug" parent="cdt.managedbuild.config.gnu.cygwin.exe.debug" postannouncebuildStep="" postbuildStep="/home/alanb/gccsdk/cross/bin/elf2aif packman,e1f /mnt/rpcemuhostfs/Dev/TbxDev/!PackMan/!RunImage,ff8" preannouncebuildStep="" prebuildStep="">
    17 <configuration artifactExtension="" artifactName="packman,e1f" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.config.gnu.cygwin.exe.debug.2000663255" name="Debug" parent="cdt.managedbuild.config.gnu.cygwin.exe.debug" postannouncebuildStep="" postbuildStep="/home/alanb/gccsdk/cross/bin/elf2aif packman,e1f /home/alanb/rpcemu-0.8.11/hostfs/Dev/TbxDev/!PackMan/!RunImage,ff8" preannouncebuildStep="" prebuildStep="">
    18 18 <folderInfo id="cdt.managedbuild.config.gnu.cygwin.exe.debug.2000663255." name="/" resourcePath="">
    19 <toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.cross.base.1500559717" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
    19 <toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.cross.base.1500559717" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base" unusedChildren="cdt.managedbuild.tool.gnu.cross.c.linker;cdt.managedbuild.tool.gnu.cross.c.compiler">
    20 20 <option id="cdt.managedbuild.option.gnu.cross.prefix.583573887" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix" value="arm-unknown-riscos-" valueType="string"/>
    21 21 <option id="cdt.managedbuild.option.gnu.cross.path.1206705540" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path" value="/home/alanb/gccsdk/cross/bin" valueType="string"/>
    22 22 <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1826086411" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
    23 23 <builder buildPath="${workspace_loc:/packman/Debug}" errorParsers="" id="org.eclipse.cdt.build.core.internal.builder.1434209724" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="org.eclipse.cdt.build.core.internal.builder"/>
    24 <tool command="gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cross.c.compiler.8364321" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
    25 <option id="gnu.c.compiler.option.include.paths.6026662" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
    26 <listOptionValue builtIn="false" value="/home/alanb/gccsdk/env/include"/>
    27 </option>
    28 <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1091587617" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
    29 <option id="gnu.c.compiler.option.debugging.level.1776421125" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
    30 <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1575697084" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
    31 </tool>
    32 <tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1254832100" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
    33 <option id="gnu.cpp.compiler.option.include.paths.383675052" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
    34 <listOptionValue builtIn="false" value="/home/alanb/gccsdk/env/include"/>
    35 </option>
    36 <option id="gnu.cpp.compiler.option.optimization.level.1940341413" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
    37 <option id="gnu.cpp.compiler.option.debugging.level.641333490" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
    38 <option id="gnu.cpp.compiler.option.dialect.std.1985639080" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.c++11" valueType="enumerated"/>
    39 <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.988197415" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
    40 </tool>
    41 <tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1976718618" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
    42 24 <tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1492258621" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
    43 25 <option id="gnu.cpp.link.option.libs.770082931" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
    44 26 <listOptionValue builtIn="false" value="tbx"/>
     
    58 40 <additionalInput kind="additionalinput" paths="$(LIBS)"/>
    59 41 </inputType>
    60 42 </tool>
    43 <tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1254832100" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
    44 <option id="gnu.cpp.compiler.option.include.paths.383675052" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
    45 <listOptionValue builtIn="false" value="/home/alanb/gccsdk/env/include"/>
    46 </option>
    47 <option id="gnu.cpp.compiler.option.optimization.level.1940341413" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
    48 <option id="gnu.cpp.compiler.option.debugging.level.641333490" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
    49 <option id="gnu.cpp.compiler.option.dialect.std.1985639080" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.c++11" valueType="enumerated"/>
    50 <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.988197415" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
    51 </tool>
    61 52 <tool id="cdt.managedbuild.tool.gnu.cross.archiver.494833264" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
    62 53 <tool command="as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.cross.assembler.547669487" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
    63 54 <option id="gnu.both.asm.option.include.paths.1623993106" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths"/>
  • trunk/.project

     
    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <projectDescription>
    3 <name>packman</name>
    4 <comment></comment>
    5 <projects>
    6 </projects>
    7 <buildSpec>
    8 <buildCommand>
    9 <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
    10 <triggers>clean,full,incremental,</triggers>
    11 <arguments>
    12 <dictionary>
    13 <key>?children?</key>
    14 <value>?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|?name?=entry\\\\\\\|\\\|\||</value>
    15 </dictionary>
    16 <dictionary>
    17 <key>?name?</key>
    18 <value></value>
    19 </dictionary>
    20 <dictionary>
    21 <key>org.eclipse.cdt.make.core.append_environment</key>
    22 <value>true</value>
    23 </dictionary>
    24 <dictionary>
    25 <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
    26 <value>all</value>
    27 </dictionary>
    28 <dictionary>
    29 <key>org.eclipse.cdt.make.core.buildArguments</key>
    30 <value></value>
    31 </dictionary>
    32 <dictionary>
    33 <key>org.eclipse.cdt.make.core.buildCommand</key>
    34 <value>make</value>
    35 </dictionary>
    36 <dictionary>
    37 <key>org.eclipse.cdt.make.core.buildLocation</key>
    38 <value>${workspace_loc:/packman/Debug}</value>
    39 </dictionary>
    40 <dictionary>
    41 <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
    42 <value>clean</value>
    43 </dictionary>
    44 <dictionary>
    45 <key>org.eclipse.cdt.make.core.contents</key>
    46 <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
    47 </dictionary>
    48 <dictionary>
    49 <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
    50 <value>false</value>
    51 </dictionary>
    52 <dictionary>
    53 <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
    54 <value>true</value>
    55 </dictionary>
    56 <dictionary>
    57 <key>org.eclipse.cdt.make.core.enableFullBuild</key>
    58 <value>true</value>
    59 </dictionary>
    60 <dictionary>
    61 <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
    62 <value>all</value>
    63 </dictionary>
    64 <dictionary>
    65 <key>org.eclipse.cdt.make.core.stopOnError</key>
    66 <value>true</value>
    67 </dictionary>
    68 <dictionary>
    69 <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
    70 <value>true</value>
    71 </dictionary>
    72 </arguments>
    73 </buildCommand>
    74 <buildCommand>
    75 <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
    76 <arguments>
    77 </arguments>
    78 </buildCommand>
    79 </buildSpec>
    80 <natures>
    81 <nature>org.eclipse.cdt.core.ccnature</nature>
    82 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
    83 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
    84 <nature>org.eclipse.cdt.core.cnature</nature>
    85 </natures>
    86 </projectDescription>
    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <projectDescription>
    3 <name>packman</name>
    4 <comment></comment>
    5 <projects>
    6 <project>tbx</project>
    7 </projects>
    8 <buildSpec>
    9 <buildCommand>
    10 <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
    11 <triggers>clean,full,incremental,</triggers>
    12 <arguments>
    13 <dictionary>
    14 <key>?children?</key>
    15 <value>?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|?name?=entry\\\\\\\|\\\|\||</value>
    16 </dictionary>
    17 <dictionary>
    18 <key>?name?</key>
    19 <value></value>
    20 </dictionary>
    21 <dictionary>
    22 <key>org.eclipse.cdt.make.core.append_environment</key>
    23 <value>true</value>
    24 </dictionary>
    25 <dictionary>
    26 <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
    27 <value>all</value>
    28 </dictionary>
    29 <dictionary>
    30 <key>org.eclipse.cdt.make.core.buildArguments</key>
    31 <value></value>
    32 </dictionary>
    33 <dictionary>
    34 <key>org.eclipse.cdt.make.core.buildCommand</key>
    35 <value>make</value>
    36 </dictionary>
    37 <dictionary>
    38 <key>org.eclipse.cdt.make.core.buildLocation</key>
    39 <value>${workspace_loc:/packman/Debug}</value>
    40 </dictionary>
    41 <dictionary>
    42 <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
    43 <value>clean</value>
    44 </dictionary>
    45 <dictionary>
    46 <key>org.eclipse.cdt.make.core.contents</key>
    47 <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
    48 </dictionary>
    49 <dictionary>
    50 <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
    51 <value>false</value>
    52 </dictionary>
    53 <dictionary>
    54 <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
    55 <value>true</value>
    56 </dictionary>
    57 <dictionary>
    58 <key>org.eclipse.cdt.make.core.enableFullBuild</key>
    59 <value>true</value>
    60 </dictionary>
    61 <dictionary>
    62 <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
    63 <value>all</value>
    64 </dictionary>
    65 <dictionary>
    66 <key>org.eclipse.cdt.make.core.stopOnError</key>
    67 <value>true</value>
    68 </dictionary>
    69 <dictionary>
    70 <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
    71 <value>true</value>
    72 </dictionary>
    73 </arguments>
    74 </buildCommand>
    75 <buildCommand>
    76 <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
    77 <arguments>
    78 </arguments>
    79 </buildCommand>
    80 </buildSpec>
    81 <natures>
    82 <nature>org.eclipse.cdt.core.ccnature</nature>
    83 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
    84 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
    85 <nature>org.eclipse.cdt.core.cnature</nature>
    86 </natures>
    87 </projectDescription>
  • trunk/src/Commands.cc

     
    95 95 */
    96 96 void UpdateListCommand::execute()
    97 97 {
    98 if (!UpdateListWindow::showing() && pmstate()->installed())
    98 if (!UpdateListWindow::running() && pmstate()->installed())
    99 99 {
    100 100 new UpdateListWindow();
    101 101 }
  • trunk/src/UpdateListWindow.cc

     
    87 87 UpdateListWindow::~UpdateListWindow()
    88 88 {
    89 89 delete _upd;
    90 _instance = nullptr;
    90 91 }
    91 92
    92 93 /**
     
    236 237 return new_stuff;
    237 238 }
    238 239
    240 /**
    241 * Check if the update list window is running
    242 *
    243 * As part of the check it will close the update list window if it is
    244 * not running but the window is still showing.
    245 *
    246 * @returns true if the update list window is running
    247 */
    248 bool UpdateListWindow::running()
    249 {
    250 if (showing())
    251 {
    252 if (_instance && _instance->_upd)
    253 {
    254 return true;
    255 } else
    256 {
    257 _instance->_window.hide();
    258 delete _instance;
    259 }
    260 }
    261 return false;
    262 }
  • trunk/src/UpdateListWindow.h

     
    117 117 static UpdateListWindow *instance() {return _instance;}
    118 118
    119 119 static bool showing() {return (_instance != 0);}
    120 static bool running();
    120 121
    121 122 void cancel();
    122 123