# File lib/dister/core.rb, line 56
    def create_appliance(name, template, basesystem, arch)
      match = check_template_and_basesystem_availability(template, basesystem)
      exit 1 if match.nil?

      @db_adapter = get_db_adapter
      app = Utils::execute_printing_progress "Cloning appliance" do
        StudioApi::Appliance.clone(match.appliance_id, {:name => name,
                                                        :arch => arch})
      end
      @options.appliance_id = app.id
      ensure_devel_languages_ruby_extensions_repo_is_added

      default_packages = %w(devel_C_C++ devel_ruby
                            rubygem-bundler rubygem-passenger-apache2)

      self.add_packages(default_packages)
      self.add_packages(@db_adapter.packages) unless @db_adapter.nil?

      Utils::execute_printing_progress "Uploading build scripts" do
        upload_configurations_scripts
      end
      puts "SUSE Studio appliance successfull created:"
      puts "  #{app.edit_url}"
      app
    end