{% extends "Default/default.html" %} {% block content %}
The Smart Package Manager (aka "smart") aims to create smart and portable algorightms for solving the problem of managing software upgrades and installations. It supports RPM packages and is able to handle inconsistent states, downgrade packages when necessary, and won't force you to fix unsastisfied dependecies unless necessary. For all of the detailed commands one can simply enter "smart --help" into the terminal.
If you want to simply update the packages to the latest, you may do so using smart on the Smart Package Update page.
Below will be a number of sections explaining how to: search for packages, update packages, add/remove packages, and an example of using packages.
The following command will show a list of all of the packages. There are a lot of packages so it is recommended to pipe this command into a file. You can also add an optional command afterwards of the package_name to narrow down the results.
smart query <package_name>
To update the packages and install a specific one follow the following commands:
smart update
smart install <package_name>
Alternatively you can accomplish this on the webapp by going to the Smart Update page and selecting what packages you wish to update.
We will show an example of how to update, install, and then use one of the packages that we install. This example specifically will enable us to play the game OpenTyrian.
smart update
smart install opentyrian
opentyrian
Now you will be able to play the game (only shows up on the desktop).
In this section we will explain how to write a simple "Hello World" application, compile it, and create a RPM package with CMake, install/remove it with "smart", and run it. This will demonstrate the ease of installing and removing packages with "smart".
smart install rpm-build
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("hello world\n");
return 0;
}
cmake_minimum_required(VERSION 2.6)
PROJECT(HelloWorld)
ADD_EXECUTABLE(hello hello.c)
INSTALL(TARGETS hello DESTINATION /usr/bin)
SET(CPACK_GENERATOR "RPM")
INCLUDE(CPack)
# Build
mkdir build
cd build
cmake ..
make package
# Install package
smart install HelloWorld-0.1.1-Linux.rpm
# Run
hello
# Remove package
smart remove helloworld