LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices



Reply
 
Search this Thread
Old 10-15-2006, 06:32 PM   #1
markg85
LQ Newbie
 
Registered: Dec 2003
Posts: 25

Rep: Reputation: 15
Gread idea for YUM package system only better (i think.. like emerge but different)


hey,

at this moment i`ve just done some minor editing in a spec file (only changed the version number) and i`m compiling the thing (mysql 5.0.26) as i`m typing this message.. while it`s compiling i was bored and started thinking a bit about a better linux compile or package system that can prevent those spec editing by third parties (me in this case)..

oke.. the yum system as it is now..
it`s slow.. does it`s work fine but must be able to be faster.. alot faster and than i mean with getting those headers and such..

my first idea for yum
my idea for that is to have all the packages for fedora in a mysql/postgresql/sqlite database with all the descriptions in there.. make crontabs and make mysql .tar.gz files with all those file information tables and compress it with the highest compression.. that way it`s probly one or 2 MB for ALL the packages that are currently avalible for fedora.. and to keep it smaller you can probly even leave out the description and only send: filename, fileversion, dependencies and get the description when needed from the mysql server.

once the tar file has been downloaded let the computer where it`s downloaded on do the rest meaning that it will extract the file, import it in mysql/postgresql/sqlite and use the information!! once it`s on the harddrive it should be working like lightning speed when you want to update :P

furthermore i think it`s best to have that let client computers update only once a week with the database tables and once a day with the security database (should be verry small as in 100kb or less.. just the latest security updates for the packages that you have on your hdd)

what does this idea mean for yum
well.. yum will need to be completely rewritten in order do do what i want but when it`s done yum will be far better than any update system currently existing to my knowledge.. the speed of yum will be slow with the first time but once it`s collected it will be extremely fast.. i know that yum currently downloads those headers and is fast once it has them but that header part is really time consuming...

this will probly require more changes than just yum... the entire update method of fedora and all fedora based systems will need to be changed alot if not changed completely.. better is that it will most likely give the user friendly stuff of the fedora update system a boost in the right direction.. and if this gets implanted in yum, apt and emerge it will be THE biggest success of linux in some years i think (though compix/xgl/aiglx is major aswell)

now for the developers idea (compiling packages like emerge)
you would be amazed what a mind can think of in just a minute.. the typing of it takes about 15 minutes :P o well.. here it goos.

when i was editing the mysql.spec file i really wondered WHY THE HELL i couldn`t find a mysql.spec file for fedora core 6 (development fase) or fedora core 5 for mysql 5.0.26 so i downloaded the latest mysql.src.rpm that i could find for fedora and grabbed the .spec file from there.. than it was just adjusting the version from 5.0.22 to 5.0.26 in the spec file and away it goos so it is actually verry simple but noone has done it or shared it..

Now to get this sorted out better i think it would be good if a database was setup with ALL .spec files in it of all software packages available in fedora core 6 and any packages that got updated on the site but not in the fedora trees yet.. (like mysql) so that a community of people manages the database where all the specs are in and adds new specs if they need to be in. this way you can always make the latest stuff for fedora yourself by using the specs files and you can probly increase the fedora speed alot because it`s compiling it all for your pc. (this would greatly improve fedora in all ways)

also when a updates gets released and no .src.rpm or a .rpm gots released BUT a source file (.tar.gz or anything like it) gets released it`s pritty easy to make a spec file for it, store it in the database and let some users install/test it.. once it`s tested and considered working it can find it`s way to the precompiled rpm`s for users that don`t want to waste hours of compiling time.

the conclusion
i think those 2 idea`s would greatly improve fedora itself and yum and all update related systems in fedora.. also i think the current yum system is good but just to slow!! and no options to compile packages directly from yum. (please correct me if i`m wrong on that)
o well.. what more can i say.. in my eyes it`s only improving something i like alot : The open source world and most of all LINUX

how to make all this stuff come true
what i can do: making a database layout and a web interface for it..
what i can`t do is doing the c++ stuff simply because i don`t know how to do it..

what is needed for this is a team with a good motivation to get started on this and really make something good out of it also it`s needed (my opinion) that the biggest distribution are gathering arrount a table (distributions: gentoo, (open)suse, mandriva, fedora, debian, redhat, slackware (i must forgot some big ones.. )) and just talk about the new system.. the advantages and disadvantages over there current update systems (apt, yum and emerge) best of all in this stuff is that (if it happens) pritty much the entire linux world starts working with ONE type of package system.. that`s the ultimate yum and it all distributions are using .spec files... guess they are all using it at this moment for compiling but lets take gentoo for example.. it also has e-builds.. handy or not.. it`s gonna be gone if my idea because reality..

Another thing that`s needed for this is about 100 servers world wide all moving in sync with a few (max 10) master servers.. so all those 110 servers should be spreaded all over the world so that anyone can get his/her fastest speed while downloading the needed information.. the thing that will be most difficult to realize is probly this BECAUSE there is money involved in this stuff.. programming can be done for free or in your free time but this server stuff can`t.. unless the server stuff is gonna be teared apart as well and setup a giant p2p network that shares parts of all files on every single pc that is connected to the internet though this sounds like a virus and unwanted stuff to me but if the majority of the linux community wants it i would be happy to join it

o and a verry small detail about those spec things.. in my idea there is 1 spec file for one release/build thing and the database in combination with some coding software makes the right spec file for example fedora or mandriva or debian or whatever.. also it should be possible for anyone to join!! no closed **** like microsoft..

note.. i started typing on this about one hour ago.. the mysql stuff is installed by now BUT still not working how i want it.. :@ i need this new system :P

so.. what do you guys think of it? it would be nice to get ALOT reply`s here about this.. i just hope everyone likes this idea

Edit 1
some more stuff i didn`t even mention yet.. the administration stuff
i think there should be serveral hunderds of admins who manage there own part.. like a few for fedora.. a few for gentoo.. a few for debian.. all those guys should do is check to see what`s added isn`t pay stuff and test the added stuff out to see if it works on there computers.. all the those parts they manage DON`T contain .spec files only but they contain the adjustments for a program.. for example firefox.. so lets say you use debian and someone finds out that the fedora .spec file to compile and install firefox doesn`t work on debian and submits a dependency ticket where he lists what dependencies should be added/removed for debian users.. so the next time a debian user downloads the .spec file for firefox the server software (where all the spec files are) will see what needs to be changed in the .spec file inorder to get it working on debian.. (same with any other distribution that is in there) so that stuff is part of the admins job.

For the developers.. i think there shouldn`t be to much developers for a program like this.. about 5 or 10 must be more than enough

for a website interface.. that is a must have users of any os can use that search to find if a package they want to have is available for them and if it is they can use the commando`s subscribed in there to install that software.. though the best would be if all distributions could use the same spec files... would surely remove the need to have much admins (for each distribution a handfull of admins) and would remove the need of having software that needs to build those spec files for the distribution where they need to run..

that`s it for edit 1 i will most likely come up with more stuff and that will go in edit 2 or 3 or 4.. depends on it..

Original posted here
 
Old 10-16-2006, 04:35 PM   #2
markg85
LQ Newbie
 
Registered: Dec 2003
Posts: 25

Original Poster
Rep: Reputation: 15
a reply would be very nice cause i would like to know the opinion of you just to see how you would like this or if you have a totally different opinion.
 
Old 10-17-2006, 02:49 AM   #3
shawnbishop
Member
 
Registered: Dec 2005
Location: South Africa
Distribution: CentOS,Ubuntu,Fedora
Posts: 249

Rep: Reputation: 30
Hi

Go for it....
 
Old 10-17-2006, 02:54 AM   #4
markg85
LQ Newbie
 
Registered: Dec 2003
Posts: 25

Original Poster
Rep: Reputation: 15
@shawnbishop

thanx :P the problem is that i can`t make software.. till now i can only do php, mysql and html
but if i could do it i would!!! simply because my idea is way more powerful than yum or emerge... my idea just kinda combines the 2 and adds something (a database) to have tho option to install new software on any os
 
Old 10-17-2006, 04:08 AM   #5
odcheck
Member
 
Registered: Aug 2006
Distribution: Fedora, CentOS, RHEL, Debian
Posts: 978

Rep: Reputation: 30
An advice from my side would be to mail that to Field Commander Wieers.
http://dag.wieers.com

regards
 
Old 10-17-2006, 07:33 AM   #6
Amr_not_Amr
LQ Newbie
 
Registered: Jun 2005
Location: Egypt
Distribution: OpenSuSE, CentOS
Posts: 23

Rep: Reputation: 15
A great idea I think
I would like to help by testing ... I'm just a system administrator not a programmer
 
Old 10-17-2006, 09:21 AM   #7
markg85
LQ Newbie
 
Registered: Dec 2003
Posts: 25

Original Poster
Rep: Reputation: 15
@odcheck Thanx for the advise. looks very interesting

@Amr_not_Amr WOW nice to see a reply of a system administrators that likes my idea

And a small update on the idea..
Dependencies
In the main post i forget one major thing.. linux has something called dependencies.. which means that some packages will need to be installed before you can install the package you actually wanted to install.

No my idea on this can be done in 2 ways. 1. you give a command to the server that again return a mysql table (or just a file) with a rough list of possible dependencies that are needed to install the pack.. than when the file is on your pc it gets extracted.. bla bla bla the same like my main idea with the difference than when it is done with exrtacting and stuff it will look at your currently installed packages and see what dependencies are needed to install that pack.. than the rest of the idea in the main post.

The other way how this could be done is serverside.. so sending your os type and version to the server together with your full currently installed package list (rpm -qa to get that stuff) and let the server calculate all packages that need to be installed.. this is probly alot faster than downloading a file.. extracting it.. calculating dependencies and than upload the results again to install the new packages.. or that depends on the speed of the server/workstation..

smart saving/installing
now WTF is this? well.. i tought of this when creating this topic but i didn`t put it in because i wasn`t completely sure if it would be handy to have..

The idea in this is that if you for example want to install Firefox 2.0 RC3 the package update program will send your package information, os and os version to the server and does some calculations to see what dependencies are needed after that it saves the results . now these results can be used again when someone else wants to install the same package and has the same packages installed as when you typed: ??? install Firefox 2.0 RC2..

so what first needs to be done when you want to install a update is checking if it`s been done before with the same packages installed.

or.. somehow i`m not really sure about this section..

what will be the name of this?
Well.. it`s opensource so i only want to choose a name if the majority of the "voters" says OK to the name
since this idea must be something like: "Multiple Distribution Update Service"
or "Linux Update System"

So the name can be : MDUS or LUS or anything the majority likes and NOT yum or emerge or a combination of those 2 the name must mean something.

i personally like to vote for: MDUS though LUS is easyer to remember and type :P
 
Old 10-20-2006, 03:25 PM   #8
gkiagia
Member
 
Registered: Oct 2003
Location: Greece
Distribution: Debian sid
Posts: 248

Rep: Reputation: 30
It's a great idea to merge the rpm management system with gentoo's portage. I'd love to use stable opensuse rpms with custom-built rpms that were built with just one command like in emerge.

In my point of view, however, it is difficult to implement it. You should talk with distribution developers that have experience with these package management systems.
 
Old 10-20-2006, 04:44 PM   #9
markg85
LQ Newbie
 
Registered: Dec 2003
Posts: 25

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by gkiagia
It's a great idea to merge the rpm management system with gentoo's portage. I'd love to use stable opensuse rpms with custom-built rpms that were built with just one command like in emerge.

In my point of view, however, it is difficult to implement it. You should talk with distribution developers that have experience with these package management systems.
your completely right it`s very hard to make this but that again.. (almost) all new idea`s are hard to realize. and for your opensuse example..

with my idea it would indeed be possible to do that BUT only if someone else made a .spec file of that same package for the operating system you use. only than it can be compiled and installed on your system.

and for your suggestion to talk with linux distributors.. i would love to do that... there is only one problem, what i`m actually doing is suggesting them to remove there current system and implant mine.. and i don`t think they like that idea very much so if i`m even gonna try and contact them i will first need to get some working samples online.. or make a distribution of my own that uses this stuff but it will probably take years before a idea like this is realized.. that`s why i posted it as just a idea here and with the hope that some programmers will contact me (got one already) that are willing to put time in this and try to realize this stuff.
 
Old 10-21-2006, 04:46 PM   #10
gkiagia
Member
 
Registered: Oct 2003
Location: Greece
Distribution: Debian sid
Posts: 248

Rep: Reputation: 30
I'd like to help, but I am still a student and I don't know much more that just using ready-made C++ classes to create functional programs. I could create a user interface for KDE and GNOME, but someone else would have to implement the backend that will take care of the dependencies... Is anybody interested?

Oh, and something else: I am pretty sure that this package management system could use some ready-made code from existing package management systems like portage, yum, smart, etc, and only make modifications to it. So, it won't be that difficult! But still I can't do it...
 
Old 10-22-2006, 10:14 AM   #11
markg85
LQ Newbie
 
Registered: Dec 2003
Posts: 25

Original Poster
Rep: Reputation: 15
lol than you know more than i currently know of c++ my current c++ knowledge is close to 0
and i`m also a student!!
 
Old 10-22-2006, 02:36 PM   #12
gkiagia
Member
 
Registered: Oct 2003
Location: Greece
Distribution: Debian sid
Posts: 248

Rep: Reputation: 30
Quote:
Originally Posted by markg85
lol than you know more than i currently know of c++ my current c++ knowledge is close to 0
and i`m also a student!!
Good. Well, I knew C and C++ before I go to university. I learned C from an ebook and C++ by practicing and with the help of Trolltech's Qt Designer and Assistant (i.e. the Qt library documentation)
Here is my greatest practice: http://qtwine.sf.net
I created this program just to help myself with wine and also to learn using C++ Classes (here Qt4 classes) in functional programs. So, I think I now know C++ and I can handle any library with classes like Qt.

To get back to the new package management system, I think you can count on me for creating a user interface, if there are volunteers to help with everything else. (Well it's difficult, I know...)
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Yum Error: Transaction Check Error package x(which is newer than package y)... godsk Linux - Newbie 0 06-05-2006 08:13 AM
gentoo: emerge system: crap! lyonsd Linux - Distributions 4 02-14-2005 09:35 PM
apt-get, emerge, yum subaruwrx Linux - Newbie 11 08-11-2004 08:07 AM
Gentoo: emerge system fails AncAlAgoN Linux - Laptop and Netbook 2 05-23-2004 10:55 PM
package.debain.org - any idea for when it will up again?? Joe_Zhu Debian 4 12-05-2003 09:57 PM


All times are GMT -5. The time now is 10:10 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration