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++ » Working on new release system...
Working on new release system... [message #20365] Sat, 14 March 2009 12:09 Go to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I have started much needed work on new flexible release system, I have decided to put some description and notes here, as sort of "release system blog".

First, Win32 build system.

It will be supposed to run on "U:" drive, with "U:\upp.src" being the svn trunk.

Build method used will MSC9.

Now important think, also for other releases. We need to finally have some means describing what belongs to the release. That is why
in U:\upp.src\uppsrc (which is normal svn uppsrc) folder are now files:

packages - contains a list of subdirectories of u:\uppsrc\uppsrc that are supposed to be in release, including "deep" subdirectories

packages1 - same, but without subdirectories

assemblies - list of assemblies to put into release excluding uppsrc (means, examples, reference, tutorial, bazaar).

(more to follow... Smile
Re: Working on new release system... [message #20367 is a reply to message #20365] Sun, 15 March 2009 01:00 Go to previous messageGo to next message
tojocky is currently offline  tojocky
Messages: 607
Registered: April 2008
Location: UK
Contributor

luzr wrote on Sat, 14 March 2009 13:09

I have started much needed work on new flexible release system, I have decided to put some description and notes here, as sort of "release system blog".

First, Win32 build system.

It will be supposed to run on "U:" drive, with "U:\upp.src" being the svn trunk.

Build method used will MSC9.
... Smile


How about to ask the user where need unpack upp.src? By default will be nice in "U:\upp.src". Same situation will be nice add for examples, reference, tutorial and bazaar! Not only for MyApps!
Re: Working on new release system... [message #20370 is a reply to message #20367] Sun, 15 March 2009 13:34 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
tojocky wrote on Sat, 14 March 2009 20:00

luzr wrote on Sat, 14 March 2009 13:09

I have started much needed work on new flexible release system, I have decided to put some description and notes here, as sort of "release system blog".

First, Win32 build system.

It will be supposed to run on "U:" drive, with "U:\upp.src" being the svn trunk.

Build method used will MSC9.
... Smile


How about to ask the user where need unpack upp.src? By default will be nice in "U:\upp.src". Same situation will be nice add for examples, reference, tutorial and bazaar! Not only for MyApps!



User? What user? This work is for U++ infrastructure server...

Mirek
Re: Working on new release system... [message #20430 is a reply to message #20370] Wed, 18 March 2009 11:36 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Nightly builds should now be working.

The key point to define builds is in svn:

uppbox/Scripts/all

and this script calls several subscripts to perform builds. As there is standard build environment and wine, script can compile U++ projects and use them as tools...

The output of the process is implemented as:

- build script or code stores files that is to be uploaded to "~/upload" directory

- then performs ~/bin/upload

Mirek

[Updated on: Wed, 18 March 2009 11:36]

Report message to a moderator

Re: Working on new release system... [message #21830 is a reply to message #20430] Sun, 07 June 2009 22:31 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
One question: the automated build system is great and all, but why have only sources, Windows exe and 64-bit Debian. For starters, couldn't we have 32 bit debs also for the ones that didn't climb on to the 64 bit wagon yet.

And a RPM would be great also. I know that with RPMs it is a lot more difficult, since there is not single distro to target, but with just a little luck and no automatic dependency management we could get a fairly general RPM. There were posts with scripts that worked very well for specific distros. Couldn't we integrate these in the automatic build process?
Re: Working on new release system... [message #21831 is a reply to message #21830] Sun, 07 June 2009 22:45 Go to previous messageGo to next message
andrei_natanael is currently offline  andrei_natanael
Messages: 262
Registered: January 2009
Experienced Member
The problem is for 32bit build because it's not that easy to have a 32bit environment on 64bit system. I know it's simple with chroot or bootstrap but the final executable will link with 64 bit ld-linux-x86-64.so, even if you build your program with 32bit option. It may be some options out there but are hard to implement.
Re: Working on new release system... [message #21835 is a reply to message #21830] Sun, 07 June 2009 23:47 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cbpporter wrote on Sun, 07 June 2009 16:31

One question: the automated build system is great and all, but why have only sources, Windows exe and 64-bit Debian. For starters, couldn't we have 32 bit debs also for the ones that didn't climb on to the 64 bit wagon yet.

And a RPM would be great also. I know that with RPMs it is a lot more difficult, since there is not single distro to target, but with just a little luck and no automatic dependency management we could get a fairly general RPM. There were posts with scripts that worked very well for specific distros. Couldn't we integrate these in the automatic build process?


I would be happy for supporting more targets, but that requires maintainers.

Perhaps we could release more targets for "major" releases? - Those announced on sf.net, and upload there as well?

Mirek
Re: Working on new release system... [message #21844 is a reply to message #21835] Mon, 08 June 2009 10:36 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3356
Registered: August 2008
Senior Veteran
Hello all

I have updated Ubuntu 32 in my computer so if you give me the script to do .deb, I can make them and upload where and when necessary.

Best regards
Koldo


Best regards
Iñaki
Re: Working on new release system... [message #21850 is a reply to message #21844] Mon, 08 June 2009 12:07 Go to previous messageGo to next message
andrei_natanael is currently offline  andrei_natanael
Messages: 262
Registered: January 2009
Experienced Member
koldo wrote on Mon, 08 June 2009 11:36

Hello all

I have updated Ubuntu 32 in my computer so if you give me the script to do .deb, I can make them and upload where and when necessary.

Best regards
Koldo


Scripts exists in svn in linux_scripts.
Re: Working on new release system... [message #21875 is a reply to message #21850] Mon, 08 June 2009 23:35 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3356
Registered: August 2008
Senior Veteran
Hello all

Well, Massimo Del Fedele has done the scripts and are ready to be used.

So If it is ok for you every release announcement -about every two weeks- I can get the Google Code .tar.gz and from that to get the 32 bits .deb and upload it to SF or other place.

If there is no opinion against it I will do it on next announcement.

Best regards
Koldo


Best regards
Iñaki
Re: Working on new release system... [message #21891 is a reply to message #21875] Tue, 09 June 2009 15:08 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Specific build are fine, but they are some extra work for specific individuals. Having it automated would be better.

Wouldn't it be possible to run a virtual 32 bit machine on the build machine and it would generate the build? This would work if the build machine is a server which is always running.
Re: Working on new release system... [message #21938 is a reply to message #21891] Thu, 11 June 2009 19:30 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cbpporter wrote on Tue, 09 June 2009 09:08

Specific build are fine, but they are some extra work for specific individuals. Having it automated would be better.

Wouldn't it be possible to run a virtual 32 bit machine on the build machine and it would generate the build? This would work if the build machine is a server which is always running.



Well, virtual machine is somewhat more diffult, but possible.

Anyway, I still believe it should be possible to build it without VMs... If I can build win32 version on ubuntu64, I guess ubuntu32 should be possible as well....

Mirek
Re: Working on new release system... [message #21946 is a reply to message #20365] Thu, 11 June 2009 23:08 Go to previous messageGo to next message
cocob is currently offline  cocob
Messages: 156
Registered: January 2008
Experienced Member
what about gcc -m32 ?
Re: Working on new release system... [message #21947 is a reply to message #21946] Thu, 11 June 2009 23:09 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cocob wrote on Thu, 11 June 2009 17:08

what about gcc -m32 ?


I believe that should work.

Anyway, there are still problems:

- libraries

- .deb

Mirek
Re: Working on new release system... [message #21954 is a reply to message #21831] Fri, 12 June 2009 08:22 Go to previous messageGo to next message
andrei_natanael is currently offline  andrei_natanael
Messages: 262
Registered: January 2009
Experienced Member
luzr wrote on Fri, 12 June 2009 00:09

cocob wrote on Thu, 11 June 2009 17:08

what about gcc -m32 ?


I believe that should work.
Mirek

andrei_natanael wrote on Sun, 07 June 2009 23:45

the final executable will link with 64 bit ld-linux-x86-64.so, even if you build your program with 32bit option.

I've tried to build theide with -m32 option for 32bit but it's still linking with 64 bit version of ld-linux-x86-64.so as i said in a previous post. I think it's possible not to link with it but you will loose the dynamic loading of *.so, it means that we will not be able to use DLI for runtime.
Re: Working on new release system... [message #22037 is a reply to message #20365] Mon, 15 June 2009 09:00 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3356
Registered: August 2008
Senior Veteran
Hello all

I have seen your efforts to get a 32 bit .deb.

Waiting for having that automated, I think that we would have to do it manually.

I agree that automated builds is the best solution, but meanwhile the worst solution is to have no 32 bits build at all.

Best regards
Koldo


Best regards
Iñaki
Re: Working on new release system... [message #22048 is a reply to message #22037] Mon, 15 June 2009 14:31 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
koldo wrote on Mon, 15 June 2009 03:00

Hello all

I have seen your efforts to get a 32 bit .deb.

Waiting for having that automated, I think that we would have to do it manually.

I agree that automated builds is the best solution, but meanwhile the worst solution is to have no 32 bits build at all.

Best regards
Koldo


Maybe we could limit nightly builds to win32 / src and upload various versions to sf.net only by maintainers?

Mirek
Re: Working on new release system... [message #22079 is a reply to message #21954] Tue, 16 June 2009 21:20 Go to previous messageGo to next message
cocob is currently offline  cocob
Messages: 156
Registered: January 2008
Experienced Member
Do you use -m32 for linking stage ?
The 32 bit libs are installed ?

cocob
Re: Working on new release system... [message #22253 is a reply to message #20365] Sat, 27 June 2009 23:51 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
For rpm automatic release, we need a script to generate standard Makefile without theide.

Ultimate++ still doesn't have a great command line configure/build system like cmake, automake/autoconf, ant or qmake/tmake. I understood that you didn't want extra dependencies.

Are you searching for / wanting a bash script that compute .upp files to generate Makefiles?
Re: Working on new release system... [message #22254 is a reply to message #20365] Sun, 28 June 2009 00:11 Go to previous messageGo to previous message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Virtual machines are the easier way to have a complete and good automatic build/test system. Already said this a few months ago.

On Linux or Windows, try http://www.virtualbox.org

Just share a directory in your VMs with read/write access, add needed packages, add a script in your VM to automatically copy and build your new source code from this shared directory and save the binary and logs in this directoy, do a snapshot and then run the VMs with VirtualBox command line tools.

To have up to date Linux release, the script should be able to get updates and then halt the VM before doing a new snapshot with the VirtualBox command line tool (if the script see a "doupdate" file in the shared directory for example).

With multiple VM and with a correct configuration script supporting .upp files configuration, pkg-config and default build directories, all will be automated for good and you will be able to release src, rpm, deb, pkg, exe, 32 bit packages, 64 packages, whatever.

[Updated on: Sun, 28 June 2009 08:53]

Report message to a moderator

Previous Topic: Regular releases reactivated
Next Topic: Releasing deb package issue
Goto Forum:
  


Current Time: Tue Apr 16 10:11:19 CEST 2024

Total time taken to generate the page: 0.01220 seconds