Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » Releasing U++ » Linux release coobook
Linux release coobook [message #13765] Sat, 26 January 2008 08:17 Go to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, I will try to describe raw process of .deb creation here, I hope anybody interested will fill in the missing parts:

First, get actual sources. Here the path has two options - either download "src", unzip and get package. Anyway, in the future, "src" should have makefile included, so it will linux releaser responsibility. Therefore, install Win32 version and take sources from it (e.g. dual boot). (Note: getting sources this way instead of uvs2/svn is essential in order to have the same code for all releases).

Now get previous .deb file. Read this:

http://www.linuxdevices.com/articles/AT8047723203.html

then read "dpkg" to learn how to "unpack" existing .deb package. Unpack old .deb, so that you will get all files and directory structure as required.

Replace sources (delete whole folders, then place new versions), recompile theide in optimal mode (check the size of result, should not be too different from previous version), replace theide. Then use dpkg to create .deb. Try to install it.

Create src package with makefile is sort of similar - only instead of compiling theide you use theide "Export makefile".

Now, what about .rpm?

Mirek
Re: Linux release coobook [message #13776 is a reply to message #13765] Sat, 26 January 2008 13:57 Go to previous messageGo to next message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
I guess the difficult stuff is not to make .deb or .rpm packages, but to make them on every supported platform.
Usually .deb created for ubuntu gutsy can have problems on feisty and on other debians. The same happns for rpms.
If you want to be sure to have packages for all distros, you must build one on each of them.
For example, I could make a .deb for ubuntu gutsy, but I've no time to make (and test) packages for other linuxes ....
The best would be to have a mantainer for each linux distribution. That could be done without much effort.

Another good solution would be to release souce tarballs with config/makefile, that could go well for all distros.

Ciao

Max
Re: Linux release coobook [message #13778 is a reply to message #13776] Sat, 26 January 2008 14:18 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
IMO, we cannot support any distro in existence. Let us support what most people use - and that is Ubuntu 7.10. The control file from recent release works for Ubuntu 6.10 - 7.10.

The rest of world can compile from sources. Sure, it would be nice to support RH & Novel too, but supporting current Ubuntu only is better than endless meditations about what cannot be done....

Mirek
Re: Linux release coobook [message #13783 is a reply to message #13778] Sat, 26 January 2008 17:36 Go to previous messageGo to next message
nixnixnix is currently offline  nixnixnix
Messages: 415
Registered: February 2007
Location: Kelowna, British Columbia
Senior Member
I agree. As a user, I will be happy to install whichever version of Ubuntu I need in order to have a working UPP under linux. (I currently use ubuntu 7.04 and kubuntu hardy heron alpha2)

just my 2c

Nick

EDIT: wow the new beta is shiny! it builds much faster and it doesn't crash horribly on exit Very Happy

[Updated on: Sat, 26 January 2008 17:45]

Report message to a moderator

Re: Linux release coobook [message #13784 is a reply to message #13783] Sat, 26 January 2008 17:48 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

Where can i read about rpm building?
I try to build rpm, but dependencies is not working.
After install rpm, I must install dev-packages.


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: Linux release coobook [message #13785 is a reply to message #13784] Sat, 26 January 2008 18:11 Go to previous messageGo to next message
nixnixnix is currently offline  nixnixnix
Messages: 415
Registered: February 2007
Location: Kelowna, British Columbia
Senior Member
I found this

http://www.rpm.org/RPM-HOWTO/build.html

I don't know if that helps
Re: Linux release coobook [message #13870 is a reply to message #13785] Wed, 30 January 2008 16:28 Go to previous messageGo to next message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
Well, looking for printer drivers howto I stumbled on this one :

http://www.linux-foundation.org/en/LSB

It looks quite interesting in order to deploy a single binary package that 'should' run an all major distros.
In synthesis, LSB describes a minimal software environment that all LSB compliant distros should have; apps should be compiled and DINAMICALLI linked *only* with that environment; libs and stuffs that are outside should be statically linked.
In the OpenPrinting site stays a detailed explanation of how it works, aimed to provide an environment for universal printer drivers :

http://www.linux-foundation.org/en/OpenPrinting/WritingAndPa ckagingPrinterDrivers

I think it's whorth to take a look at those !

Ciao

Max
Re: Linux release coobook [message #13871 is a reply to message #13870] Wed, 30 January 2008 17:30 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
mdelfede wrote on Wed, 30 January 2008 10:28

Well, looking for printer drivers howto I stumbled on this one :

http://www.linux-foundation.org/en/LSB

It looks quite interesting in order to deploy a single binary package that 'should' run an all major distros.
In synthesis, LSB describes a minimal software environment that all LSB compliant distros should have; apps should be compiled and DINAMICALLI linked *only* with that environment; libs and stuffs that are outside should be statically linked.
In the OpenPrinting site stays a detailed explanation of how it works, aimed to provide an environment for universal printer drivers :

http://www.linux-foundation.org/en/OpenPrinting/WritingAndPa ckagingPrinterDrivers

I think it's whorth to take a look at those !

Ciao

Max



Well, I had big hopes for LSB.... 4 years ago.

Mirek
Re: Linux release coobook [message #13872 is a reply to message #13871] Wed, 30 January 2008 17:39 Go to previous messageGo to next message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
luzr wrote on Wed, 30 January 2008 17:30



Well, I had big hopes for LSB.... 4 years ago.



It doesn't work ? From the web it seems that most major linux distros are LSB compliant...

Max
Re: Linux release coobook [message #13874 is a reply to message #13872] Wed, 30 January 2008 18:26 Go to previous messageGo to next message
guido is currently offline  guido
Messages: 169
Registered: April 2006
Experienced Member
mdelfede wrote on Wed, 30 January 2008 17:39

luzr wrote on Wed, 30 January 2008 17:30



Well, I had big hopes for LSB.... 4 years ago.



It doesn't work ? From the web it seems that most major linux distros are LSB compliant...

Max



The LSB exists, theoretically it works, but nobody wants it.

The official distro independent binaries of Firefox, OpenOffice, Acrobat, Flash don't bother with it - nobody does!

Dealing with the LSB build environment is a royal PITA.
And if you build that way, it won't work on the hundreds of non-LSB distros. Why would you do that, when all that is really needed is linking against an old version of the libc, and then the binary will work for everybody.
The LSB is a link-level fork - stupid IMHO.

Guido
Re: Linux release coobook [message #13875 is a reply to message #13874] Wed, 30 January 2008 19:03 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Quote:

Well, I had big hopes for LSB.... 4 years ago.

Quote:

The LSB exists, theoretically it works, but nobody wants it.

Me too! I was really fed up with a lot of binary incompatibility, endless recompiles from sources and back then I was quite the Linux enthusiast (I still like it today, and use it from time too time). The idea is good, the implementation is not that great and the adoption is horrible. Even if most of today's distros are LSB compliant, that only means that other LSB compliant software would find a working LSB runtime and would have no problem running. For a software to be LSB compliant, it must use the LSB core (which is very poorly placed in the filesystem IMO, reducing the flexibility of "system" paths) and all the libraries must either be LSB compliant or static linking must be used. The last time I checked, the number of LSB compliant applications and libraries was close to zero (I mean a relative closeness: with thousands of libraries if you have 20 done, you're close to zero), and static linking is practically impossible with any non trivial applications. Try static linking with dozens of libs and you'll get huge exe sizes and a great redundancy in the binary files.

But for U++, it would be easier to produce LSB compliant programs. Reliance on external libraries is very low (I believe only some optional gtk libs for skinning, which I don't really know if there are any LSB versions of) and the rest of system calls could be routed toward the LSB runtime by using their tools and some not to hard tweaking of the build process (please correct me if I'm wrong).

While this is possible, I think the question is: who cares? Most distros don't even have LSB selected by default on their general installation option.
Re: Linux release coobook [message #13876 is a reply to message #13875] Wed, 30 January 2008 19:41 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Actually, considering LSB, I think there is a new standard for desktop linux nowadays... It is called Ubuntu.

Mirek
Re: Linux release coobook [message #13877 is a reply to message #13875] Wed, 30 January 2008 19:46 Go to previous messageGo to next message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
cbpporter wrote on Wed, 30 January 2008 19:03



But for U++, it would be easier to produce LSB compliant programs. Reliance on external libraries is very low......


That's what I was thinking too... Upp is library that is almost self-contained, so should impose fery few requirements on external libs

Quote:


.........
While this is possible, I think the question is: who cares? Most distros don't even have LSB selected by default on their general installation option.



Well, I think it wouldn't be bad to try it. If it works for 4-5 major distros, it's much better than nothing. LSB environment is maybe poor, but it can work for Upp... maybe.

Ciao

Max

[Updated on: Wed, 30 January 2008 19:47]

Report message to a moderator

Re: Linux release coobook [message #13878 is a reply to message #13876] Wed, 30 January 2008 20:02 Go to previous messageGo to next message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
luzr wrote on Wed, 30 January 2008 19:41

Actually, considering LSB, I think there is a new standard for desktop linux nowadays... It is called Ubuntu.




Well, I agree that's the best distro available today, but you can't call it a standard. There are many RH and Novell users.
I don't know which part of all linux users has ubuntu... do you ?

Max

Re: Linux release coobook [message #13882 is a reply to message #13878] Wed, 30 January 2008 22:40 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
mdelfede wrote on Wed, 30 January 2008 14:02

luzr wrote on Wed, 30 January 2008 19:41

Actually, considering LSB, I think there is a new standard for desktop linux nowadays... It is called Ubuntu.




Well, I agree that's the best distro available today, but you can't call it a standard. There are many RH and Novell users.
I don't know which part of all linux users has ubuntu... do you ?

Max




That is not the end of story. There are many derivative distros of Ubuntu, with compatible .debs, reusing Ubuntu's repository.

Sure, same can be said for RH/Novell, but these are mostly server variant copies...

Mirek
Previous Topic: Minor releases?
Next Topic: Dev 712 or 2008.1 beta?
Goto Forum:
  


Current Time: Thu Mar 28 11:22:25 CET 2024

Total time taken to generate the page: 0.01142 seconds