This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Compile Packages, Certification

24

Votes
34
10
Tags: khotnewstuff, knewstuff, kde-apps khotnewstuff, knewstuff, kde-apps khotnewstuff, knewstuff, kde-apps
(comma "," separated)
The User
KDE Developer
Posts
647
Karma
0
OS
Hi!

Notice: This idea primarily wants to improve existing KNewStuff-use-cases like downloading Plasmoids and allow downloading other KDE-plugins like Konqueror-plugins. (which are primarily written in C++)

There could be a simple and secure way to allow packages written in C++ etc. in KNewStuff:
For compilation, analyze the package:
For installation as root (using kdesu) you could try all these commands:
1. ./install.sh
2. When there\'s CMakeLists.txt:
cmake . -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_PREFIX=`kde4-config --prefix`
make
make install
3. When there\'s a autogen.sh
./autogen.sh
continue with 4.
4. When there\'s a configure or configure.sh
./configure(.sh)
make
make install
5. When there\'s a .pro file
qmake
make
make install

There should be an alternative to install the package locally.

Store the sources in a folder, so you \'ll be able to uninstall the app. Maybe KNewStuff could use checkinstall.

Certification:
It would be good to be able to certificate applications. This doesn\'t provide full security, but it should be good enough:
1. First of all there are opendesktop-admins who can mantaine apps.
They - and maybe a few volunteers - could become certifiers.
2. When there\'s a new app, certifiers can say "this app is okay" (maybe from KNewStuff).
3. When an app is certified by 3 persons, it\'s marked as certified.
4. For uncertified apps there would be a warning. (you should have a look on the source-code) For certified apps there would only be a small warning in normal installation dialog.
5. Somebody who has created 5 certified apps would become a certifier.
6. After some time there would be enough certifiers, so it wouldn\'t take much time.
7. There should be a "report"-button in KNewStuff. Then an admin could delete it, when the software is really evil.

Of course this system couldn\'t provide full security, but it could provide more security than normal package-managers.
But first of all the support for compilation (and also binaries) should be implemented. The certification would be also useful for scripts.

The User

Last edited by The User on Mon Aug 03, 2009 10:09 am, edited 1 time in total.
User avatar
JanGerrit
Moderator
Posts
647
Karma
3
OS
The compiling idea is great. But it isn't for KDE-apps.org only. KDE-look.org has got Plasmoids which have to be compiled, too.
The last thing is about openDesktop.org so you could report it there? (The Certification idea is great, too ;))
:)


Image
The User
KDE Developer
Posts
647
Karma
0
OS
You're right. KDE-look.org is important.
User avatar
robertm
KDE Developer
Posts
14
Karma
0
OS
This reminds me of OpenSuse\'s 1-click install idea. Of course, that is designed to be used with RPMs, not with source packages.

I think this would run into all sorts of problems, though:

1. It doesn\'t provide any way to handle dependencies.

2. It circumvents the distribution\'s normal packaging, which could leading to problems with PATH and other environment variables (i.e. the user thinks he\'s running the system-installed app, but is really running a locally installed package).

3. Even with certificates, this isn\'t that secure. It would be very easy to insert a trojan horse into the install script.

I think this could be a good idea if it were restricted to plasmoids or other KDE objects. There would be a much smaller chance of any of those problems happening and because there would be fewer packages, it would be easier for a small group of admins to validate and encrypt/sign them.
The User
KDE Developer
Posts
647
Karma
0
OS
But it\'s more secure than normal package management.
And it\'s even more secure than blind, manual compilation.

Look at the existing implementation to download scripted Plasmoids: You can put evil code into your .rb or .py scripts, you don\'t have any dependency-resolution. But this system is accepted. So why not integrate such compilation.

KNewStuff needs support for non-scripted extensions like Plasmoids or Konqueror-addons.

Package management:
1. Package managers normally don\'t modify contents of $HOME. So for local installation there\'s never a package-manager.
2. For global installation you could run checkinstall, insert title and description from kde-look or kde-apps and install the package using packagekit.
3. When there\'s a package at kde-look or kde-apps for your distribution, KNewStuff could use it.

It is already restricted to few KDE object. Only few applications use KNewStuff - for example Plasma - and they would take advantages from certification and compilation. But it would also be useful for application which don\'t use KNewStuff yet. (for example Konqueror) But first of all those features should affect the existing use-cases.
User avatar
aseigo
KDE Developer
Posts
124
Karma
2
this would end up being a _nightmare_ as you\'d have to deal with dependencies, devel headers and then the inevitable breakage when something underneath it updates.

scripts are manageable (and sandboxable, depending on the language), compiled code not so much.


aseigo, proud to be a member of KDE forums since 2008-Oct.
User avatar
JanGerrit
Moderator
Posts
647
Karma
3
OS
And if there would be a standard to add files:
dependencies: kde4-workspace
installcommands: cmake . ; make ; kdesu make install

So that there is information to install which could be used by the computer.


Image
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Unfortunately different distributions use different names, so that may not always be correct.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
JanGerrit
Moderator
Posts
647
Karma
3
OS
And by library or headerfile names?


Image
The User
KDE Developer
Posts
647
Karma
0
OS
I don\'t understand your problems.
Also Ruby-packages can have dependencies. But you can install Ruby-Plasmoids and it just works.

I think it shold be possible with library and headerfile names. The "provide" information should be independent. Add library file names to checkinstall, then install it. But even without such information it should usually work.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
The preferred form of scripting is QtScript which is a form of ECMAScript ( or Javascript ) which is safe and has access to most of the Plasma API, as well as being included in Qt directly.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
The User
KDE Developer
Posts
647
Karma
0
OS
Plasma and Ruby aren\'t safe and they can also be installed directly.
majewsky
KDE Developer
Posts
46
Karma
0
OS
The User wrote:I don't understand your problems.
Also Ruby-packages can have dependencies. But you can install Ruby-Plasmoids and it just works.

I think it shold be possible with library and headerfile names. The "provide" information should be independent. Add library file names to checkinstall, then install it. But even without such information it should usually work.


Scanning dependencies by libraries or even header-file names is not possible because some (all?) package managers do not have lists of all files in all available packages. How should the package manager then know that "#include <Plasma/PopupApplet>" maps to kdelibs4?

checkinstall is also not an option, because newstuff should only install stuff for the current user, and therefore not fiddle around with the system-global package management.

Then, what are you going to do on Windows? There is nothing like a package management. The same is true for some Linux-based Live DVDs, where I still want to be able to test GetHotNewStuff.


Proud kdegames developer since 2008, and member of the KDE forums since March 2009
User avatar
JanGerrit
Moderator
Posts
647
Karma
3
OS
The packages which have to be compiled aren't downloadable at the moment, as far as I know...


Image


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]