]> git.ipfire.org Git - people/stevee/pakfire.git/commitdiff
Remove localinstall command and unify install command.
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 31 Mar 2012 16:57:05 +0000 (18:57 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 31 Mar 2012 16:57:05 +0000 (18:57 +0200)
12 files changed:
po/pakfire.pot
python/pakfire/actions.py
python/pakfire/api.py
python/pakfire/base.py
python/pakfire/builder.py
python/pakfire/cli.py
python/pakfire/keyring.py
python/pakfire/packages/__init__.py
python/pakfire/packages/base.py
python/pakfire/packages/file.py
python/pakfire/packages/solv.py
python/pakfire/transaction.py

index 1d83e6d3cb2585e90487ddd284757bcb2dd968bd..db0168811b55888f6727bb2bca6cbf3bd16613fb 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-03-29 18:01+0200\n"
+"POT-Creation-Date: 2012-03-31 18:53+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -88,51 +88,50 @@ msgstr ""
 msgid "Ignored arguments:"
 msgstr ""
 
-#: ../python/pakfire/base.py:295 ../python/pakfire/base.py:343
-#: ../python/pakfire/base.py:397 ../python/pakfire/base.py:465
-#: ../python/pakfire/base.py:500 ../python/pakfire/base.py:558
-#: ../python/pakfire/base.py:578
-msgid "Nothing to do"
-msgstr ""
-
-#: ../python/pakfire/base.py:332
-msgid "There are no packages to install."
+#: ../python/pakfire/base.py:316
+msgid "Local install repository"
 msgstr ""
 
-#: ../python/pakfire/base.py:387
+#: ../python/pakfire/base.py:373
 #, python-format
 msgid "Could not find any installed package providing \"%s\"."
 msgstr ""
 
-#: ../python/pakfire/base.py:393
+#: ../python/pakfire/base.py:379
 #, python-format
 msgid "Multiple reinstall candidates for \"%(pattern)s\": %(pkgs)s"
 msgstr ""
 
-#: ../python/pakfire/base.py:422
+#: ../python/pakfire/base.py:383 ../python/pakfire/base.py:451
+#: ../python/pakfire/base.py:488 ../python/pakfire/base.py:547
+#: ../python/pakfire/base.py:568
+msgid "Nothing to do"
+msgstr ""
+
+#: ../python/pakfire/base.py:408
 #, python-format
 msgid "Could not find package %s in a remote repository."
 msgstr ""
 
-#: ../python/pakfire/base.py:492
+#: ../python/pakfire/base.py:480
 #, python-format
 msgid "Excluding %s."
 msgstr ""
 
-#: ../python/pakfire/base.py:544
+#: ../python/pakfire/base.py:532
 #, python-format
 msgid "\"%s\" package does not seem to be installed."
 msgstr ""
 
-#: ../python/pakfire/base.py:690
+#: ../python/pakfire/base.py:682
 msgid "Build command has failed."
 msgstr ""
 
-#: ../python/pakfire/base.py:725
+#: ../python/pakfire/base.py:717
 msgid "New repository"
 msgstr ""
 
-#: ../python/pakfire/base.py:761
+#: ../python/pakfire/base.py:753
 msgid "Everything is fine."
 msgstr ""
 
@@ -167,86 +166,93 @@ msgstr ""
 msgid "Extracting"
 msgstr ""
 
-#: ../python/pakfire/builder.py:690
+#: ../python/pakfire/builder.py:682
 msgid "You cannot run a build when no package was given."
 msgstr ""
 
-#: ../python/pakfire/builder.py:695
+#: ../python/pakfire/builder.py:687
 #, python-format
 msgid "Could not find makefile in build root: %s"
 msgstr ""
 
-#: ../python/pakfire/builder.py:716
+#: ../python/pakfire/builder.py:712
 msgid "Build failed."
 msgstr ""
 
-#: ../python/pakfire/builder.py:718
+#: ../python/pakfire/builder.py:714
 msgid "The build command failed. See logfile for details."
 msgstr ""
 
+#: ../python/pakfire/builder.py:728
+msgid "Running installation test..."
+msgstr ""
+
+#: ../python/pakfire/builder.py:734
+msgid "Installation test succeeded."
+msgstr ""
+
 #. Create a progressbar.
-#: ../python/pakfire/builder.py:769
-#, python-format
-msgid "Signing files (%s)"
+#: ../python/pakfire/builder.py:771
+msgid "Signing packages..."
 msgstr ""
 
-#: ../python/pakfire/builder.py:801
+#: ../python/pakfire/builder.py:805
 msgid "Dumping package information:"
 msgstr ""
 
 #. Walk through the whole tree and collect all files
 #. that are on the same disk (not crossing mountpoints).
-#: ../python/pakfire/builder.py:831
+#: ../python/pakfire/builder.py:835
 msgid "Creating filelist..."
 msgstr ""
 
 #. Create a nice progressbar.
-#: ../python/pakfire/builder.py:850
+#: ../python/pakfire/builder.py:854
 msgid "Compressing files..."
 msgstr ""
 
-#: ../python/pakfire/builder.py:869
+#: ../python/pakfire/builder.py:873
 #, python-format
 msgid "Cache file was successfully created at %s."
 msgstr ""
 
-#: ../python/pakfire/builder.py:870
+#: ../python/pakfire/builder.py:874
 #, python-format
 msgid "  Containing %(files)s files, it has a size of %(size)s."
 msgstr ""
 
 #. Make a nice progress bar as always.
-#: ../python/pakfire/builder.py:881
+#: ../python/pakfire/builder.py:885
 msgid "Extracting files..."
 msgstr ""
 
 #. Update all packages.
-#: ../python/pakfire/builder.py:901
+#: ../python/pakfire/builder.py:905
 msgid "Updating packages from cache..."
 msgstr ""
 
 #. Package the result.
 #. Make all these little package from the build environment.
-#: ../python/pakfire/builder.py:1029
+#: ../python/pakfire/builder.py:1033
 msgid "Creating packages:"
 msgstr ""
 
 #. Execute the buildscript of this stage.
-#: ../python/pakfire/builder.py:1043
+#: ../python/pakfire/builder.py:1047
 #, python-format
 msgid "Running stage %s:"
 msgstr ""
 
-#: ../python/pakfire/builder.py:1061
+#: ../python/pakfire/builder.py:1065
 #, python-format
 msgid "Could not remove static libraries: %s"
 msgstr ""
 
-#: ../python/pakfire/builder.py:1067
+#: ../python/pakfire/builder.py:1071
 msgid "Compressing man pages did not complete successfully."
 msgstr ""
 
-#: ../python/pakfire/builder.py:1087
+#: ../python/pakfire/builder.py:1091
 msgid "Extracting debuginfo did not complete with success. Aborting build."
 msgstr ""
 
@@ -258,594 +264,590 @@ msgstr ""
 msgid "The path where pakfire should operate in."
 msgstr ""
 
-#: ../python/pakfire/cli.py:129
+#: ../python/pakfire/cli.py:127
 msgid "Enable verbose output."
 msgstr ""
 
-#: ../python/pakfire/cli.py:132
+#: ../python/pakfire/cli.py:130
 msgid "Path to a configuration file to load."
 msgstr ""
 
-#: ../python/pakfire/cli.py:136
+#: ../python/pakfire/cli.py:134
 msgid "Disable a repository temporarily."
 msgstr ""
 
-#: ../python/pakfire/cli.py:139
+#: ../python/pakfire/cli.py:137
 msgid "Enable a repository temporarily."
 msgstr ""
 
-#: ../python/pakfire/cli.py:143
+#: ../python/pakfire/cli.py:141
 msgid "Run pakfire in offline mode."
 msgstr ""
 
-#: ../python/pakfire/cli.py:148
+#: ../python/pakfire/cli.py:146
 msgid "Install one or more packages to the system."
 msgstr ""
 
-#: ../python/pakfire/cli.py:150
+#: ../python/pakfire/cli.py:148
 msgid "Give name of at least one package to install."
 msgstr ""
 
-#: ../python/pakfire/cli.py:156
-msgid "Install one or more packages from the filesystem."
-msgstr ""
-
-#: ../python/pakfire/cli.py:158
-msgid "Give filename of at least one package."
-msgstr ""
-
-#: ../python/pakfire/cli.py:164
+#: ../python/pakfire/cli.py:154
 msgid "Reinstall one or more packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:166
+#: ../python/pakfire/cli.py:156
 msgid "Give name of at least one package to reinstall."
 msgstr ""
 
-#: ../python/pakfire/cli.py:172
+#: ../python/pakfire/cli.py:162
 msgid "Remove one or more packages from the system."
 msgstr ""
 
-#: ../python/pakfire/cli.py:174
+#: ../python/pakfire/cli.py:164
 msgid "Give name of at least one package to remove."
 msgstr ""
 
-#: ../python/pakfire/cli.py:180
+#: ../python/pakfire/cli.py:170
 msgid "Give a name of a package to update or leave emtpy for all."
 msgstr ""
 
-#: ../python/pakfire/cli.py:182
+#: ../python/pakfire/cli.py:172
 msgid "Exclude package from update."
 msgstr ""
 
-#: ../python/pakfire/cli.py:184 ../python/pakfire/cli.py:209
+#: ../python/pakfire/cli.py:174 ../python/pakfire/cli.py:199
 msgid "Allow changing the vendor of packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:186 ../python/pakfire/cli.py:211
+#: ../python/pakfire/cli.py:176 ../python/pakfire/cli.py:201
 msgid "Allow changing the architecture of packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:191
+#: ../python/pakfire/cli.py:181
 msgid "Update the whole system or one specific package."
 msgstr ""
 
-#: ../python/pakfire/cli.py:198
+#: ../python/pakfire/cli.py:188
 msgid "Check, if there are any updates available."
 msgstr ""
 
-#: ../python/pakfire/cli.py:205
+#: ../python/pakfire/cli.py:195
 msgid "Downgrade one or more packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:207
+#: ../python/pakfire/cli.py:197
 msgid "Give a name of a package to downgrade."
 msgstr ""
 
-#: ../python/pakfire/cli.py:217
+#: ../python/pakfire/cli.py:207
 msgid "Print some information about the given package(s)."
 msgstr ""
 
-#: ../python/pakfire/cli.py:219
+#: ../python/pakfire/cli.py:209
 msgid "Give at least the name of one package."
 msgstr ""
 
-#: ../python/pakfire/cli.py:225
+#: ../python/pakfire/cli.py:215
 msgid "Search for a given pattern."
 msgstr ""
 
-#: ../python/pakfire/cli.py:227
+#: ../python/pakfire/cli.py:217
 msgid "A pattern to search for."
 msgstr ""
 
-#: ../python/pakfire/cli.py:233
+#: ../python/pakfire/cli.py:223
 msgid "Get a list of packages that provide a given file or feature."
 msgstr ""
 
-#: ../python/pakfire/cli.py:235
+#: ../python/pakfire/cli.py:225
 msgid "File or feature to search for."
 msgstr ""
 
-#: ../python/pakfire/cli.py:241
+#: ../python/pakfire/cli.py:231
 msgid "Get list of packages that belong to the given group."
 msgstr ""
 
-#: ../python/pakfire/cli.py:243
+#: ../python/pakfire/cli.py:233
 msgid "Group name to search for."
 msgstr ""
 
-#: ../python/pakfire/cli.py:249
+#: ../python/pakfire/cli.py:239
 msgid "Install all packages that belong to the given group."
 msgstr ""
 
-#: ../python/pakfire/cli.py:251
+#: ../python/pakfire/cli.py:241
 msgid "Group name."
 msgstr ""
 
-#: ../python/pakfire/cli.py:257
+#: ../python/pakfire/cli.py:247
 msgid "List all currently enabled repositories."
 msgstr ""
 
-#: ../python/pakfire/cli.py:261
+#: ../python/pakfire/cli.py:251
 msgid "Cleanup commands."
 msgstr ""
 
-#: ../python/pakfire/cli.py:269
+#: ../python/pakfire/cli.py:259
 msgid "Cleanup all temporary files."
 msgstr ""
 
-#: ../python/pakfire/cli.py:275
+#: ../python/pakfire/cli.py:265
 msgid "Check the system for any errors."
 msgstr ""
 
-#: ../python/pakfire/cli.py:281
+#: ../python/pakfire/cli.py:271
 msgid "Check the dependencies for a particular package."
 msgstr ""
 
-#: ../python/pakfire/cli.py:283
+#: ../python/pakfire/cli.py:273
 msgid "Give name of at least one package to check."
 msgstr ""
 
-#: ../python/pakfire/cli.py:359 ../python/pakfire/transaction.py:359
+#: ../python/pakfire/cli.py:346 ../python/pakfire/transaction.py:359
 msgid "Repository"
 msgstr ""
 
-#: ../python/pakfire/cli.py:359
+#: ../python/pakfire/cli.py:346
 msgid "Enabled"
 msgstr ""
 
-#: ../python/pakfire/cli.py:359 ../python/pakfire/cli.py:1039
+#: ../python/pakfire/cli.py:346 ../python/pakfire/cli.py:1036
 msgid "Priority"
 msgstr ""
 
-#: ../python/pakfire/cli.py:359 ../python/pakfire/cli.py:1084
+#: ../python/pakfire/cli.py:346 ../python/pakfire/cli.py:1081
 msgid "Packages"
 msgstr ""
 
-#: ../python/pakfire/cli.py:371
+#: ../python/pakfire/cli.py:358
 msgid "Cleaning up everything..."
 msgstr ""
 
-#: ../python/pakfire/cli.py:392
+#: ../python/pakfire/cli.py:379
 msgid "You cannot run pakfire-builder in a pakfire chroot."
 msgstr ""
 
-#: ../python/pakfire/cli.py:395 ../python/pakfire/cli.py:737
+#: ../python/pakfire/cli.py:382 ../python/pakfire/cli.py:728
 msgid "Pakfire builder command line interface."
 msgstr ""
 
-#: ../python/pakfire/cli.py:453
+#: ../python/pakfire/cli.py:440
 msgid "Update the package indexes."
 msgstr ""
 
-#: ../python/pakfire/cli.py:459 ../python/pakfire/cli.py:757
+#: ../python/pakfire/cli.py:446 ../python/pakfire/cli.py:748
 msgid "Build one or more packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:461 ../python/pakfire/cli.py:646
-#: ../python/pakfire/cli.py:759
+#: ../python/pakfire/cli.py:448 ../python/pakfire/cli.py:637
+#: ../python/pakfire/cli.py:750
 msgid "Give name of at least one package to build."
 msgstr ""
 
-#: ../python/pakfire/cli.py:465 ../python/pakfire/cli.py:763
-#: ../python/pakfire/cli.py:842
+#: ../python/pakfire/cli.py:452 ../python/pakfire/cli.py:754
+#: ../python/pakfire/cli.py:839
 msgid "Build the package for the given architecture."
 msgstr ""
 
-#: ../python/pakfire/cli.py:467 ../python/pakfire/cli.py:495
-#: ../python/pakfire/cli.py:765
+#: ../python/pakfire/cli.py:454 ../python/pakfire/cli.py:484
+#: ../python/pakfire/cli.py:756
 msgid "Path were the output files should be copied to."
 msgstr ""
 
-#: ../python/pakfire/cli.py:469 ../python/pakfire/cli.py:484
-#: ../python/pakfire/cli.py:767
+#: ../python/pakfire/cli.py:456 ../python/pakfire/cli.py:473
+#: ../python/pakfire/cli.py:758
 msgid "Mode to run in. Is either 'release' or 'development' (default)."
 msgstr ""
 
-#: ../python/pakfire/cli.py:471
+#: ../python/pakfire/cli.py:458
 msgid "Run a shell after a successful build."
 msgstr ""
 
-#: ../python/pakfire/cli.py:476
+#: ../python/pakfire/cli.py:460
+msgid "Do not perform the install test."
+msgstr ""
+
+#: ../python/pakfire/cli.py:465
 msgid "Go into a shell."
 msgstr ""
 
-#: ../python/pakfire/cli.py:478
+#: ../python/pakfire/cli.py:467
 msgid "Give name of a package."
 msgstr ""
 
-#: ../python/pakfire/cli.py:482
+#: ../python/pakfire/cli.py:471
 msgid "Emulated architecture in the shell."
 msgstr ""
 
-#: ../python/pakfire/cli.py:489
+#: ../python/pakfire/cli.py:478
 msgid "Generate a source package."
 msgstr ""
 
-#: ../python/pakfire/cli.py:491
+#: ../python/pakfire/cli.py:480
 msgid "Give name(s) of a package(s)."
 msgstr ""
 
-#: ../python/pakfire/cli.py:501
+#: ../python/pakfire/cli.py:489
 msgid "Create a build environment cache."
 msgstr ""
 
-#: ../python/pakfire/cli.py:511
+#: ../python/pakfire/cli.py:499
 msgid "Create a new build environment cache."
 msgstr ""
 
-#: ../python/pakfire/cli.py:516
+#: ../python/pakfire/cli.py:504
 msgid "Remove all cached build environments."
 msgstr ""
 
-#: ../python/pakfire/cli.py:593
+#: ../python/pakfire/cli.py:584
 #, python-format
 msgid "Removing environment cache file: %s..."
 msgstr ""
 
-#: ../python/pakfire/cli.py:599
+#: ../python/pakfire/cli.py:590
 #, python-format
 msgid "Could not remove file: %s"
 msgstr ""
 
-#: ../python/pakfire/cli.py:605
+#: ../python/pakfire/cli.py:596
 msgid "Pakfire server command line interface."
 msgstr ""
 
-#: ../python/pakfire/cli.py:644
+#: ../python/pakfire/cli.py:635
 msgid "Send a scrach build job to the server."
 msgstr ""
 
-#: ../python/pakfire/cli.py:648
+#: ../python/pakfire/cli.py:639
 msgid "Limit build to only these architecture(s)."
 msgstr ""
 
-#: ../python/pakfire/cli.py:654
+#: ../python/pakfire/cli.py:645
 msgid "Send a keepalive to the server."
 msgstr ""
 
-#: ../python/pakfire/cli.py:661
+#: ../python/pakfire/cli.py:652
 msgid "Update all repositories."
 msgstr ""
 
-#: ../python/pakfire/cli.py:667
+#: ../python/pakfire/cli.py:658
 msgid "Repository management commands."
 msgstr ""
 
-#: ../python/pakfire/cli.py:675
+#: ../python/pakfire/cli.py:666
 msgid "Create a new repository index."
 msgstr ""
 
-#: ../python/pakfire/cli.py:677
+#: ../python/pakfire/cli.py:668
 msgid "Path to the packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:679
+#: ../python/pakfire/cli.py:670
 msgid "Path to input packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:681
+#: ../python/pakfire/cli.py:672
 msgid "Key to sign the repository with."
 msgstr ""
 
-#: ../python/pakfire/cli.py:686
+#: ../python/pakfire/cli.py:677
 msgid "Dump some information about this machine."
 msgstr ""
 
-#: ../python/pakfire/cli.py:769
+#: ../python/pakfire/cli.py:760
 msgid "Do not verify build dependencies."
 msgstr ""
 
-#: ../python/pakfire/cli.py:796
+#: ../python/pakfire/cli.py:793
 msgid "Pakfire client command line interface."
 msgstr ""
 
-#: ../python/pakfire/cli.py:836
+#: ../python/pakfire/cli.py:833
 msgid "Build a package remotely."
 msgstr ""
 
-#: ../python/pakfire/cli.py:838
+#: ../python/pakfire/cli.py:835
 msgid "Give name of a package to build."
 msgstr ""
 
-#: ../python/pakfire/cli.py:847
+#: ../python/pakfire/cli.py:844
 msgid "Print some information about this host."
 msgstr ""
 
-#: ../python/pakfire/cli.py:853
+#: ../python/pakfire/cli.py:850
 msgid "Check the connection to the hub."
 msgstr ""
 
-#: ../python/pakfire/cli.py:858
+#: ../python/pakfire/cli.py:855
 msgid "Show information about build jobs."
 msgstr ""
 
-#: ../python/pakfire/cli.py:868
+#: ../python/pakfire/cli.py:865
 msgid "Show a list of all active jobs."
 msgstr ""
 
-#: ../python/pakfire/cli.py:873
+#: ../python/pakfire/cli.py:870
 msgid "Show a list of all recently finished of failed build jobs."
 msgstr ""
 
-#: ../python/pakfire/cli.py:878
+#: ../python/pakfire/cli.py:875
 msgid "Show details about given build job."
 msgstr ""
 
-#: ../python/pakfire/cli.py:879
+#: ../python/pakfire/cli.py:876
 msgid "The ID of the build job."
 msgstr ""
 
-#: ../python/pakfire/cli.py:884
+#: ../python/pakfire/cli.py:881
 msgid "Show information about builds."
 msgstr ""
 
-#: ../python/pakfire/cli.py:892
+#: ../python/pakfire/cli.py:889
 msgid "Show details about the given build."
 msgstr ""
 
-#: ../python/pakfire/cli.py:893
+#: ../python/pakfire/cli.py:890
 msgid "The ID of the build."
 msgstr ""
 
-#: ../python/pakfire/cli.py:941 ../python/pakfire/server.py:303
+#: ../python/pakfire/cli.py:938 ../python/pakfire/server.py:303
 msgid "Hostname"
 msgstr ""
 
-#: ../python/pakfire/cli.py:942
+#: ../python/pakfire/cli.py:939
 msgid "Pakfire hub"
 msgstr ""
 
-#: ../python/pakfire/cli.py:945
+#: ../python/pakfire/cli.py:942
 msgid "Username"
 msgstr ""
 
 #. Hardware information
-#: ../python/pakfire/cli.py:949 ../python/pakfire/server.py:307
+#: ../python/pakfire/cli.py:946 ../python/pakfire/server.py:307
 msgid "Hardware information"
 msgstr ""
 
-#: ../python/pakfire/cli.py:950 ../python/pakfire/server.py:308
+#: ../python/pakfire/cli.py:947 ../python/pakfire/server.py:308
 msgid "CPU model"
 msgstr ""
 
-#: ../python/pakfire/cli.py:951 ../python/pakfire/server.py:309
+#: ../python/pakfire/cli.py:948 ../python/pakfire/server.py:309
 msgid "Memory"
 msgstr ""
 
-#: ../python/pakfire/cli.py:953 ../python/pakfire/server.py:311
+#: ../python/pakfire/cli.py:950 ../python/pakfire/server.py:311
 msgid "Native arch"
 msgstr ""
 
-#: ../python/pakfire/cli.py:955
+#: ../python/pakfire/cli.py:952
 msgid "Default arch"
 msgstr ""
 
-#: ../python/pakfire/cli.py:957 ../python/pakfire/server.py:313
+#: ../python/pakfire/cli.py:954 ../python/pakfire/server.py:313
 msgid "Supported arches"
 msgstr ""
 
-#: ../python/pakfire/cli.py:970
+#: ../python/pakfire/cli.py:967
 msgid "Your IP address"
 msgstr ""
 
-#: ../python/pakfire/cli.py:975
+#: ../python/pakfire/cli.py:972
 msgid "You are authenticated to the build service:"
 msgstr ""
 
-#: ../python/pakfire/cli.py:981
+#: ../python/pakfire/cli.py:978
 msgid "User name"
 msgstr ""
 
-#: ../python/pakfire/cli.py:982
+#: ../python/pakfire/cli.py:979
 msgid "Real name"
 msgstr ""
 
-#: ../python/pakfire/cli.py:983
+#: ../python/pakfire/cli.py:980
 msgid "Email address"
 msgstr ""
 
-#: ../python/pakfire/cli.py:984
+#: ../python/pakfire/cli.py:981
 msgid "Registered"
 msgstr ""
 
-#: ../python/pakfire/cli.py:991
+#: ../python/pakfire/cli.py:988
 msgid "You could not be authenticated to the build service."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1012
+#: ../python/pakfire/cli.py:1009
 msgid "No ongoing jobs found."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1015
+#: ../python/pakfire/cli.py:1012
 msgid "Active build jobs"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1021
+#: ../python/pakfire/cli.py:1018
 msgid "No jobs found."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1024
+#: ../python/pakfire/cli.py:1021
 msgid "Recently processed build jobs"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1031
+#: ../python/pakfire/cli.py:1028
 #, python-format
 msgid "A build with ID %s could not be found."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1034
+#: ../python/pakfire/cli.py:1031
 #, python-format
 msgid "Build: %(name)s"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1038 ../python/pakfire/cli.py:1066
+#: ../python/pakfire/cli.py:1035 ../python/pakfire/cli.py:1063
 msgid "State"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1042
+#: ../python/pakfire/cli.py:1039
 msgid "Jobs"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1055
+#: ../python/pakfire/cli.py:1052
 #, python-format
 msgid "A job with ID %s could not be found."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1062
+#: ../python/pakfire/cli.py:1059
 #, python-format
 msgid "Job: %(name)s"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1067 ../python/pakfire/packages/base.py:107
+#: ../python/pakfire/cli.py:1064 ../python/pakfire/packages/base.py:107
 #: ../python/pakfire/transaction.py:358
 msgid "Arch"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1072 ../python/pakfire/packages/base.py:142
+#: ../python/pakfire/cli.py:1069 ../python/pakfire/packages/base.py:142
 msgid "Build host"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1077
+#: ../python/pakfire/cli.py:1074
 msgid "Time created"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1078
+#: ../python/pakfire/cli.py:1075
 msgid "Time started"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1079
+#: ../python/pakfire/cli.py:1076
 msgid "Time finished"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1080
+#: ../python/pakfire/cli.py:1077
 msgid "Duration"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1103
+#: ../python/pakfire/cli.py:1100
 msgid "Pakfire daemon command line interface."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1136
+#: ../python/pakfire/cli.py:1133
 msgid "Pakfire key command line interface."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1182
+#: ../python/pakfire/cli.py:1179
 msgid "Initialize the local keyring."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1188 ../python/pakfire/cli.py:1198
+#: ../python/pakfire/cli.py:1185 ../python/pakfire/cli.py:1195
 msgid "Import a key from file."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1190
+#: ../python/pakfire/cli.py:1187
 msgid "The real name of the owner of this key."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1192
+#: ../python/pakfire/cli.py:1189
 msgid "The email address of the owner of this key."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1200
+#: ../python/pakfire/cli.py:1197
 msgid "Filename of that key to import."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1206
+#: ../python/pakfire/cli.py:1203
 msgid "Export a key to a file."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1208
+#: ../python/pakfire/cli.py:1205
 msgid "The ID of the key to export."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1210
+#: ../python/pakfire/cli.py:1207
 msgid "Write the key to this file."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1216
+#: ../python/pakfire/cli.py:1213
 msgid "Delete a key from the local keyring."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1218
+#: ../python/pakfire/cli.py:1215
 msgid "The ID of the key to delete."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1224
+#: ../python/pakfire/cli.py:1221
 msgid "List all imported keys."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1230
+#: ../python/pakfire/cli.py:1227
 msgid "Sign one or more packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1232
+#: ../python/pakfire/cli.py:1229
 msgid "Key that is used sign the package(s)."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1234
+#: ../python/pakfire/cli.py:1231
 msgid "Package(s) to sign."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1240
+#: ../python/pakfire/cli.py:1237
 msgid "Verify one or more packages."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1244
+#: ../python/pakfire/cli.py:1241
 msgid "Package(s) to verify."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1255
+#: ../python/pakfire/cli.py:1252
 msgid "Generating the key may take a moment..."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1303
+#: ../python/pakfire/cli.py:1300
 #, python-format
 msgid "Signing %s..."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1320
+#: ../python/pakfire/cli.py:1317
 #, python-format
 msgid "Verifying %s..."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1330
+#: ../python/pakfire/cli.py:1327
 msgid "This signature is valid."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1333
+#: ../python/pakfire/cli.py:1330
 msgid "Unknown key"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1334
+#: ../python/pakfire/cli.py:1331
 msgid "Could not check if this signature is valid."
 msgstr ""
 
-#: ../python/pakfire/cli.py:1337 ../python/pakfire/keyring.py:114
+#: ../python/pakfire/cli.py:1334 ../python/pakfire/keyring.py:114
 #, python-format
 msgid "Created: %s"
 msgstr ""
 
-#: ../python/pakfire/cli.py:1341 ../python/pakfire/keyring.py:117
+#: ../python/pakfire/cli.py:1338 ../python/pakfire/keyring.py:117
 #, python-format
 msgid "Expires: %s"
 msgstr ""
@@ -917,7 +919,7 @@ msgstr ""
 msgid "Running pakfire-build in a pakfire container?"
 msgstr ""
 
-#: ../python/pakfire/errors.py:94 ../python/pakfire/transaction.py:427
+#: ../python/pakfire/errors.py:94 ../python/pakfire/transaction.py:425
 msgid "Transaction test was not successful"
 msgstr ""
 
@@ -1166,35 +1168,40 @@ msgstr ""
 msgid "Compressing database..."
 msgstr ""
 
-#: ../python/pakfire/repository/remote.py:154
+#: ../python/pakfire/repository/remote.py:155
 #, python-format
 msgid "Cannot update repository metadata for %s when in offline mode."
 msgstr ""
 
-#: ../python/pakfire/repository/remote.py:173
+#: ../python/pakfire/repository/remote.py:172
+#, python-format
+msgid "Could not update metadata for %s from any mirror server"
+msgstr ""
+
+#: ../python/pakfire/repository/remote.py:181
 msgid "The downloaded metadata was less recent than the current one."
 msgstr ""
 
-#: ../python/pakfire/repository/remote.py:212
+#: ../python/pakfire/repository/remote.py:220
 #, python-format
 msgid "Cannot download package database for %s in offline mode."
 msgstr ""
 
-#: ../python/pakfire/repository/remote.py:220
+#: ../python/pakfire/repository/remote.py:228
 #, python-format
 msgid "%s: package database"
 msgstr ""
 
-#: ../python/pakfire/repository/remote.py:294
+#: ../python/pakfire/repository/remote.py:302
 #, python-format
 msgid "Cannot download this file in offline mode: %s"
 msgstr ""
 
-#: ../python/pakfire/repository/remote.py:314
+#: ../python/pakfire/repository/remote.py:322
 msgid "The checksum of the downloaded file did not match."
 msgstr ""
 
-#: ../python/pakfire/repository/remote.py:315
+#: ../python/pakfire/repository/remote.py:323
 msgid "Trying an other mirror."
 msgstr ""
 
@@ -1305,37 +1312,37 @@ msgstr ""
 msgid "Freed size: %s"
 msgstr ""
 
-#: ../python/pakfire/transaction.py:402
+#: ../python/pakfire/transaction.py:400
 msgid "Is this okay?"
 msgstr ""
 
-#: ../python/pakfire/transaction.py:408
+#: ../python/pakfire/transaction.py:406
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../python/pakfire/transaction.py:420
+#: ../python/pakfire/transaction.py:418
 msgid "Transaction Test Succeeded"
 msgstr ""
 
 #. Make a nice progressbar.
-#: ../python/pakfire/transaction.py:449
+#: ../python/pakfire/transaction.py:451
 msgid "Verifying signatures..."
 msgstr ""
 
-#: ../python/pakfire/transaction.py:481
+#: ../python/pakfire/transaction.py:483
 #, python-format
 msgid "Found %s signature error(s)!"
 msgstr ""
 
-#: ../python/pakfire/transaction.py:486
+#: ../python/pakfire/transaction.py:488
 msgid "Going on because we are running in permissive mode."
 msgstr ""
 
-#: ../python/pakfire/transaction.py:487
+#: ../python/pakfire/transaction.py:489
 msgid "This is dangerous!"
 msgstr ""
 
-#: ../python/pakfire/transaction.py:507
+#: ../python/pakfire/transaction.py:509
 msgid "Running transaction"
 msgstr ""
 
index 18d9fc4f405ebd0f73f8cdfbd81ee5f5cb0e9e08..1e37f6069743d86c684211862212059d2de14bb2 100644 (file)
@@ -349,7 +349,7 @@ class ActionCleanup(Action):
                Action.__init__(self, *args, **kwargs)
 
                # XXX This is ugly, but works for the moment.
-               self.pkg = self.local.index.db.get_package_from_solv(self.pkg_solv)
+               self.pkg = self.local.db.get_package_from_solv(self.pkg_solv)
                assert self.pkg
 
        def check(self, check):
index e4a278b232a9bd7b3ed2f0748bc77f78e96b4787..9e57edd7a1c6819e55df786ec60cfb94762c11e8 100644 (file)
@@ -36,11 +36,6 @@ def resolvdep(pkgs, **pakfire_args):
 
        return pakfire.resolvdep(pkgs)
 
-def localinstall(files, **pakfire_args):
-       pakfire = Pakfire(**pakfire_args)
-
-       return pakfire.localinstall(files)
-
 def reinstall(pkgs, **pakfire_args):
        pakfire = Pakfire(**pakfire_args)
 
index 80c398ae78dfff3868349da7752dfde097afdd30..e9beb59c759b0fe0b51083d8b1dce620c3eb0e56 100644 (file)
@@ -280,88 +280,71 @@ class Pakfire(object):
                # Return the solver so one can do stuff with it...
                return solver
 
-       def install(self, requires, interactive=True, logger=None, **kwargs):
+       def install(self, requires, interactive=True, logger=None, signatures_mode=None, **kwargs):
                if not logger:
                        logger = logging.getLogger("pakfire")
 
-               # Do the solving.
-               request = self.create_request(install=requires)
-               solver  = self.solv(request, logger=logger, interactive=interactive, **kwargs)
-
-               if not solver.status:
-                       if not interactive:
-                               raise DependencyError
-
-                       logger.info(_("Nothing to do"))
-                       return
-
-               # Create the transaction.
-               t = solver.transaction
-
-               if interactive:
-                       # Ask if the user acknowledges the transaction.
-                       if not t.cli_yesno():
-                               return
-
-               else:
-                       t.dump(logger=logger)
+               # Pointer to temporary repository.
+               repo = None
 
-               # Run the transaction.
-               t.run(logger=logger)
+               # Sort out what we got...
+               files = []
+               relations = []
 
-       def localinstall(self, files, yes=None, allow_uninstall=False, logger=None):
-               if logger is None:
-                       logger = logging.getLogger("pakfire")
+               for req in requires:
+                       if isinstance(req, packages.Package):
+                               relations.append(req)
+                               continue
 
-               repo_name = repo_desc = "localinstall"
+                       # This looks like a file.
+                       if req.endswith(".%s" % PACKAGE_EXTENSION) and os.path.exists(req):
+                               files.append(req)
+                               continue
 
-               # Create a new repository that holds all packages we passed on
-               # the commandline.
-               repo = repository.RepositoryDir(self, repo_name, repo_desc,
-                       os.path.join(LOCAL_TMP_PATH, "repo_%s" % util.random_string()))
+                       # We treat the rest as relations. The solver will return any errors.
+                       relations.append(req)
 
-               # Register the repository.
-               self.repos.add_repo(repo)
+               # Redefine requires, which will be the list that will be passed to the
+               # solver.
+               requires = relations
 
                try:
-                       # Add all packages to the repository index.
-                       repo.add_packages(*files)
+                       # If we have got files to install, we need to create a temporary repository
+                       # called 'localinstall'.
+                       # XXX FIX TMP PATH
+                       if files:
+                               repo = repository.RepositoryDir(self, "localinstall", _("Local install repository"),
+                                       os.path.join(LOCAL_TMP_PATH, "repo_%s" % util.random_string()))
 
-                       # Break if no packages were added at all.
-                       if not len(repo):
-                               log.critical(_("There are no packages to install."))
-                               return
+                               # Register the repository.
+                               self.repos.add_repo(repo)
 
-                       # Create a new request that installs all solvables from the
-                       # repository.
-                       request = self.create_request(install=repo)
+                               # Add all packages to the repository index.
+                               repo.add_packages(*files)
 
-                       solver = self.solv(request, logger=logger, uninstall=allow_uninstall)
+                               # Add all packages to the requires.
+                               requires += repo
 
-                       # If solving was not possible, we exit here.
-                       if not solver.status:
-                               logger.info(_("Nothing to do"))
-                               return
+                       # Do the solving.
+                       request = self.create_request(install=requires)
+                       solver  = self.solv(request, logger=logger, interactive=interactive, **kwargs)
 
-                       # Create transaction.
+                       # Create the transaction.
                        t = solver.transaction
+                       t.dump(logger=logger)
 
-                       if yes is None:
-                               # Ask the user if this is okay.
-                               if not t.cli_yesno():
-                                       return
-                       elif yes:
-                               t.dump(logger=logger)
-                       else:
+                       # Ask if the user acknowledges the transaction.
+                       if interactive and not t.cli_yesno():
                                return
 
-                       # If okay, run the transcation.
-                       t.run(logger=logger)
+                       # Run the transaction.
+                       t.run(logger=logger, signatures_mode=signatures_mode)
 
                finally:
-                       # Remove the temporary copy of the repository we have created earlier.
-                       repo.remove()
-                       self.repos.rem_repo(repo)
+                       if repo:
+                               # Remove the temporary repository we have created earlier.
+                               repo.remove()
+                               self.repos.rem_repo(repo)
 
        def reinstall(self, pkgs, strict=False):
                """
@@ -370,6 +353,9 @@ class Pakfire(object):
                        If strict is True, only a package with excatly the same UUID
                        will replace the currently installed one.
                """
+               if logger is None:
+                       logger = logging.getLogger("pakfire")
+
                # XXX it is possible to install packages without fulfulling
                # all dependencies.
 
@@ -384,17 +370,17 @@ class Pakfire(object):
                                _pkgs.append(pkg)
 
                        if not _pkgs:
-                               log.warning(_("Could not find any installed package providing \"%s\".") \
+                               logger.warning(_("Could not find any installed package providing \"%s\".") \
                                        % pattern)
                        elif len(_pkgs) == 1:
                                reinstall_pkgs.append(_pkgs[0])
                                #t.add("reinstall", _pkgs[0])
                        else:
-                               log.warning(_("Multiple reinstall candidates for \"%(pattern)s\": %(pkgs)s") \
+                               logger.warning(_("Multiple reinstall candidates for \"%(pattern)s\": %(pkgs)s") \
                                        % { "pattern" : pattern, "pkgs" : ", ".join(p.friendly_name for p in sorted(_pkgs)) })
 
                if not reinstall_pkgs:
-                       log.info(_("Nothing to do"))
+                       logger.info(_("Nothing to do"))
                        return
 
                # Packages we want to replace.
@@ -419,7 +405,7 @@ class Pakfire(object):
                                        _pkgs.append(_pkg)
 
                        if not _pkgs:
-                               log.warning(_("Could not find package %s in a remote repository.") % \
+                               logger.warning(_("Could not find package %s in a remote repository.") % \
                                        pkg.friendly_name)
                        else:
                                # Sort packages to reflect repository priorities, etc...
@@ -462,13 +448,15 @@ class Pakfire(object):
                t.sort()
 
                if not t:
-                       log.info(_("Nothing to do"))
+                       logger.info(_("Nothing to do"))
                        return
 
+               t.dump(logger=logger)
+
                if not t.cli_yesno():
                        return
 
-               t.run()
+               t.run(logger=logger)
 
        def update(self, pkgs=None, check=False, excludes=None, interactive=True, logger=None, **kwargs):
                """
@@ -508,10 +496,10 @@ class Pakfire(object):
 
                # Create the transaction.
                t = solver.transaction
+               t.dump(logger=logger)
 
                # Just exit here, because we won't do the transaction in this mode.
                if check:
-                       t.dump(logger=logger)
                        return
 
                # Ask the user if the transaction is okay.
@@ -553,6 +541,7 @@ class Pakfire(object):
 
                # Create the transaction.
                t = solver.transaction
+               t.dump(logger=logger)
 
                if not t:
                        log.info(_("Nothing to do"))
@@ -573,6 +562,7 @@ class Pakfire(object):
 
                # Create the transaction.
                t = solver.transaction
+               t.dump()
 
                if not t:
                        log.info(_("Nothing to do"))
@@ -658,6 +648,7 @@ class Pakfire(object):
                        try:
                                # Build the package.
                                b.build(install_test=install_test)
+
                        except BuildError:
                                # Raise the error, if the user does not want to
                                # have a shell.
@@ -686,6 +677,7 @@ class Pakfire(object):
 
                try:
                        b.build()
+
                except Error:
                        raise BuildError, _("Build command has failed.")
 
@@ -763,6 +755,7 @@ class Pakfire(object):
 
                # Create the transaction.
                t = solver.transaction
+               t.dump()
 
                # Ask the user if okay.
                if not t.cli_yesno():
index d595a10b8bafd0f816e9fcab6b4c30bf0d14d4d0..81fe548889358d517308f78a65f6128081f2b8d5 100644 (file)
@@ -384,7 +384,7 @@ class BuildEnviron(object):
                if self.pkg:
                        self.pkg.extract(_("Extracting"), prefix=self.build_dir)
 
-       def install(self, requires):
+       def install(self, requires, **kwargs):
                """
                        Install everything that is required in requires.
                """
@@ -392,24 +392,16 @@ class BuildEnviron(object):
                if not requires:
                        return
 
-               try:
-                       self.pakfire.install(requires, interactive=False,
-                               allow_downgrade=True, logger=self.log)
-
-               # Catch dependency errors and log it.
-               except DependencyError, e:
-                       raise
-
-       def install_test(self):
-               try:
-                       self.pakfire.localinstall(self.find_result_packages(), yes=True, allow_uninstall=True, logger=self.log)
+               kwargs.update({
+                       "interactive" : False,
+                       "logger" : self.log,
+               })
 
-               # Dependency errors when trying to install the result packages are build errors.
-               except DependencyError, e:
-                       # Dump all packages (for debugging).
-                       self.dump()
+               if not kwargs.has_key("allow_downgrade"):
+                       kwargs["allow_downgrade"] = True
 
-                       raise BuildError, e
+               # Install everything.
+               self.pakfire.install(requires, **kwargs)
 
        def chrootPath(self, *args):
                # Remove all leading slashes
@@ -712,6 +704,10 @@ class BuildEnviron(object):
                try:
                        self.do(" ".join(build_command), logger=self.log)
 
+                       # Perform the install test after the actual build.
+                       if install_test:
+                               self.install_test()
+
                except Error:
                        self.log.error(_("Build failed."), exc_info=True)
 
@@ -725,13 +721,19 @@ class BuildEnviron(object):
                        # Do the signing...
                        self.sign(host_key)
 
-               # Perform install test.
-               if install_test:
-                       self.install_test()
-
                # Dump package information.
                self.dump()
 
+       def install_test(self):
+               self.log.info(_("Running installation test..."))
+
+               # Install all packages that were built.
+               self.install(self.find_result_packages(),
+                       uninstall=True, signatures_mode="disabled")
+
+               self.log.info(_("Installation test succeeded."))
+               self.log.info("")
+
        def shell(self, args=[]):
                if not util.cli_is_interactive():
                        self.log.warning("Cannot run shell on non-interactive console.")
@@ -766,7 +768,8 @@ class BuildEnviron(object):
                files = self.find_result_packages()
 
                # Create a progressbar.
-               p = util.make_progress(_("Signing files (%s)") % keyfp, len(files))
+               print _("Signing packages...")
+               p = util.make_progress(keyfp, len(files))
                i = 0
 
                for file in files:
@@ -784,6 +787,7 @@ class BuildEnviron(object):
                # Close progressbar.
                if p:
                        p.finish()
+                       print "" # Print an empty line.
 
        def dump(self):
                pkgs = []
index 04c7b8a27ad9fc0a65a8ddff1101eea59d9ca1d3..2353b84cc25797d16d2ccc89c6c949cf06d8d1f3 100644 (file)
@@ -60,7 +60,6 @@ class Cli(object):
                self.sub_commands = self.parser.add_subparsers()
 
                self.parse_command_install()
-               self.parse_command_localinstall()
                self.parse_command_reinstall()
                self.parse_command_remove()
                self.parse_command_info()
@@ -81,7 +80,6 @@ class Cli(object):
 
                self.action2func = {
                        "install"      : self.handle_install,
-                       "localinstall" : self.handle_localinstall,
                        "reinstall"    : self.handle_reinstall,
                        "remove"       : self.handle_remove,
                        "check_update" : self.handle_check_update,
@@ -150,14 +148,6 @@ class Cli(object):
                        help=_("Give name of at least one package to install."))
                sub_install.add_argument("action", action="store_const", const="install")
 
-       def parse_command_localinstall(self):
-               # Implement the "localinstall" command.
-               sub_install = self.sub_commands.add_parser("localinstall",
-                       help=_("Install one or more packages from the filesystem."))
-               sub_install.add_argument("package", nargs="+",
-                       help=_("Give filename of at least one package."))
-               sub_install.add_argument("action", action="store_const", const="localinstall")
-
        def parse_command_reinstall(self):
                # Implement the "reinstall" command.
                sub_install = self.sub_commands.add_parser("reinstall",
@@ -327,9 +317,6 @@ class Cli(object):
        def handle_install(self):
                pakfire.install(self.args.package, **self.pakfire_args)
 
-       def handle_localinstall(self):
-               pakfire.localinstall(self.args.package, **self.pakfire_args)
-
        def handle_reinstall(self):
                pakfire.reinstall(self.args.package, **self.pakfire_args)
 
@@ -469,6 +456,8 @@ class CliBuilder(Cli):
                        help=_("Mode to run in. Is either 'release' or 'development' (default)."))
                sub_build.add_argument("--after-shell", action="store_true",
                        help=_("Run a shell after a successful build."))
+               sub_build.add_argument("--no-install-test", action="store_true",
+                       help=_("Do not perform the install test."))
 
        def parse_command_shell(self):
                # Implement the "shell" command.
@@ -494,7 +483,6 @@ class CliBuilder(Cli):
                sub_dist.add_argument("--resultdir", nargs="?",
                        help=_("Path were the output files should be copied to."))
 
-
        def parse_command_cache(self):
                # Implement the "cache" command.
                sub_cache = self.sub_commands.add_parser("cache",
@@ -530,7 +518,10 @@ class CliBuilder(Cli):
                else:
                        raise FileNotFoundError, pkg
 
-               pakfire.build(pkg, builder_mode=self.args.mode,
+               # Check whether to enable the install test.
+               install_test = not self.args.no_install_test
+
+               pakfire.build(pkg, builder_mode=self.args.mode, install_test=install_test,
                        arch=self.args.arch, resultdirs=[self.args.resultdir,],
                        shell=True, after_shell=self.args.after_shell, **self.pakfire_args)
 
@@ -785,9 +776,15 @@ class CliBuilderIntern(Cli):
                else:
                        disable_repos = None
 
-               pakfire._build(pkg, builder_mode=self.args.mode, config=conf,
-                       disable_repos=disable_repos, arch=self.args.arch,
-                       resultdir=self.args.resultdir)
+               kwargs = {
+                       "arch"          : self.args.arch,
+                       "builder_mode"  : self.args.mode,
+                       "config"        : conf,
+                       "disable_repos" : disable_repos,
+                       "resultdir"     : self.args.resultdir,
+               }
+
+               pakfire._build(pkg, **kwargs)
 
 
 class CliClient(Cli):
index 598908ddbef2d56daabb83faff1cbc778c0a06bb..af2ad7c3d596562e13356530cd12aee324625c71 100644 (file)
@@ -240,6 +240,8 @@ class Keyring(object):
                return signature.getvalue()
 
        def verify(self, signature, cleartext):
+               assert signature, "Empty signature?"
+
                signature = io.BytesIO(signature)
                cleartext = io.BytesIO(cleartext)
 
index c1c8cb022ed44e27ca82a9265ec95bc33c8203f8..9aabddccbb084ad8586615b597bbc3337f270e0d 100644 (file)
@@ -21,6 +21,7 @@
 
 import tarfile
 
+from base import Package
 from file import BinaryPackage, FilePackage, InnerTarFile, SourcePackage
 from installed import DatabasePackage, InstalledPackage
 from solv import SolvPackage
index 464315d89ea1f528192648af479d3b23046cae84..e27c3f77b2b8295d769d18c735e0490b38876ad7 100644 (file)
@@ -355,7 +355,7 @@ class Package(object):
 
        @property
        def signatures(self):
-               raise NotImplementedError
+               return []
 
        @property
        def build_date(self):
index 412f7ca2af8cfb27e89f321068bbb936766a74e5..4f5696080bb691fbd0c44549da547b007accfaf0 100644 (file)
@@ -543,9 +543,12 @@ class FilePackage(Package):
 
                        # Get the content of the signature file.
                        f = a.extractfile(member.name)
-                       ret[key_id] = f.read()
+                       signature = f.read()
                        f.close()
 
+                       if signature:
+                               ret[key_id] = signature
+
                # Close the archive.
                a.close()
 
index 66d4f37c4d09b1fd9ebeab12c79f72f3e6ff0eb1..84c127d5a77f69d342bab1174b1fc7bacebb46d7 100644 (file)
@@ -248,8 +248,3 @@ class SolvPackage(base.Package):
        def get_scriptlet(self, type):
                # XXX TODO
                return None
-
-       #@property
-       #def signatures(self):
-       #       # Solv packages do not have any signatures.
-       #       return []
index 0ab7b8c77e8bd177211f7349585da20ebc86164c..98b3cd46878b1faf2e35632fe80806f34e0135e6 100644 (file)
@@ -396,9 +396,7 @@ class Transaction(object):
                for line in s:
                        logger.info(line)
 
-       def cli_yesno(self, logger=None):
-               self.dump(logger)
-
+       def cli_yesno(self):
                return util.ask_user(_("Is this okay?"))
 
        def check(self, logger=None):
@@ -426,11 +424,15 @@ class Transaction(object):
 
                raise TransactionCheckError, _("Transaction test was not successful")
 
-       def verify_signatures(self, logger):
+       def verify_signatures(self, mode=None, logger=None):
                """
                        Check the downloaded files for valid signatures.
                """
-               mode = self.pakfire.config.get("signatures", "mode", "strict")
+               if not logger:
+                       logger = log.getLogger("pakfire")
+
+               if mode is None:
+                       mode = self.pakfire.config.get("signatures", "mode", "strict")
 
                # If this disabled, we do nothing.
                if mode == "disabled":
@@ -487,7 +489,7 @@ class Transaction(object):
                        logger.warning(_("This is dangerous!"))
                        logger.warning("")
 
-       def run(self, logger=None):
+       def run(self, logger=None, signatures_mode=None):
                assert not self.__need_sort, "Did you forget to sort the transaction?"
 
                if logger is None:
@@ -499,7 +501,7 @@ class Transaction(object):
                self.download()
 
                # Verify signatures.
-               self.verify_signatures(logger=logger)
+               self.verify_signatures(mode=signatures_mode, logger=logger)
 
                # Run the transaction test
                self.check(logger=logger)