Giter Site home page Giter Site logo

pombredanne / server-side-dependency-solving Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rh-lab-q/remote-dependency-solving

0.0 1.0 0.0 899 KB

License: GNU General Public License v3.0

CMake 2.90% C 93.20% Makefile 0.84% C++ 3.02% Objective-C 0.04%

server-side-dependency-solving's Introduction

server-side-dependency-solving - SSDS

Description

Solving dependencies when installing new packages is a process that in some cases can be computationally very intensive. SSDS is designed to overcome this issue. Client device gathers information about installed packages and enabled repos which are then sent to a server. The server then takes care of dependency solving and the result is sent back to client device as a list of packages that are needed to proceed with the install process and without dependency solving on client.

Dependencies

Required packages needed for successfull compilation and build.

  • gcc
  • gcc-c++
  • cmake
  • libsolv
  • librepo-devel
  • hawkey-devel
  • glib2-devel
  • json-glib
  • json-glib-devel
  • check-devel

Installation

This section describes how to install and compile SSDS project

There is new module in librepo, but it is not among updates yet so this is what needs to be done to be able to use it: -from http://koji.fedoraproject.org/koji/taskinfo?taskID=8948750 download these: librepo, python-librepo, librepo-devel - all in the right architecture these three should be ebough but just in case you can download also librepo-debuinfo and python3-librepo there is new version with some fixes - 1.7.13-4.fc21.x86_64 -install these packages at the same time like this: $sudo dnf update <pkg.rpm> <pkg.rpm> ... - put them all into the same command

Now everything should be in order to build rds: -enter build/ and type:

	$mkdir build

	$cd build/

		$cmake ..

		$make

-two files are created - rds-client and rds-server -to test type in build/ dir:

	$ctest
	
-alternatively (if $ctest runs only one test) you can run test from build/tests/ dir:

	$./test_main

Enjoy :)

Valgrind

If you want to test the program with valgrind, there are lots of warnings and errors that are not caused by this program. Basically these errors are couased by various shared libraries and there is nothing we can do about them. To suppress all these warnings and errors the client program needs to be run with suppression file suppress-cl.supp. The server program has suppress-srv.supp. Both files are located in the build folder. Just run the program with valgrind like this:

$valgrind --suppressions=suppress-cl.supp ./rds-client ...
$valgrind --suppressions=suppress-srv.supp ./rds-server ...

server-side-dependency-solving's People

Contributors

brumlablo avatar jridky avatar mruprich avatar phracek avatar simonmatej avatar wscherfel avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.