Build scripts desktop clients

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Build scripts desktop clients

kwillems
Hi all,

As I experienced over the last year (cross) compiling the desktop clients some times is a real challenge. It's always a big search for the right dependencies, and so on.
So I've made a set of bash scripts to automate this process in our companies workflow. With these scripts one can build the various desktop clients, code sign them and produce the DSA signature, which is needed to get the Sparkle updater working. Furthermore ist's possible to theme the clients.

You can find them here: https://github.com/owncloud/administration/tree/master/build-clients

There is improvement possible, so pull requests will be highly appreciated.
I intend to keep the scripts in sync with each stable version of the desktop clients. The current set can be used to compile 1.6.0, 1.6.1 and 1.6.2.

At last I'd like to propose a vote of thanks for Daniel Molkentin, for his advice and his endless patience.
I hope you'll enjoy the scripts.

Koen Willems
Sendin B.V.
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

kwillems
The scripts provide a lot of options. Do 'makemac.sh -h' or 'makewinlin.sh -h' to see them.
See also the attached images.


Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

kwillems
I've just updated the scripts to build the 1.6.3 clients.

Hope you'll enjoy !

Koen Willems
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

kwillems
The build scripts have been updated to mirall 1.6.4

Cheers,
Koen Willems
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

paolo
Thanks a lot for sharing the scripts. I'm always fighting with dependencies!
I'd like to ask you if you run your script on OS X 10.10 -Yosemite- and if it works correctly.
I tried the script on a brand new OS X 10.10, it downloaded all the dependencies, it compiled the package perfectly but when I'm running the client for the first time it crashes on the last page of the setup wizard and if I try to run again it always crashes. It's my opinion (but I'm not totally sure) that there are some problems with neon library on Yosemite. Did you experienced problems like this?
Thanks
Paolo
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

kwillems
Hi paolo

I just compiled and builded the Mac client on a fresh virtual machine with OSX Mavericks. That went fine.
The client is up and running smooth on OSX Yosemite.

So far I did not run the building of the client on Yosemite itself, but on Mavericks. Perhaps that's causing your problem.

Good luck.

Koen Willems
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

paolo
Thank you for your answer.
I compiled on Mavericks and now it works fine on 10.9 and 10.10.
Cheers,
Paolo
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

paolo
Sorry to stress again...
I used the script to build ownCloud on a fresh installation of openSuSe 13.1 bu I have the same issue reported here:
http://forum.owncloud.org/viewtopic.php?f=14&t=24603

The problem is related to i686-w64-mingw32-windres I think.

Could I ask which version of openSuSe has been used to make ownCloud package ?

Thank you
 
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

nmarmsoler
I have the same problem

make[2]: *** No rule to make target `/home/mirall/administration/build-clients/uildenv/mirall/src/i686-w64-mingw32-windres', needed by `src/ownCloud_res.o'.  top.
make[1]: *** [src/CMakeFiles/owncloud.dir/all] Error 2
make: *** [all] Error 2
cp: cannot stat ‘/home/mirall/administration/build-clients/buildenv/windows/mirll-build/*.exe’: No such file or directory

I tried it on opensuse 13.1 and 13.2
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

kwillems
In reply to this post by kwillems
The build scripts have been updated to the 1.7 branch.

Furthermore I added an extra parameter -le.
By using that one no source files will be collected from Github. Instead, they should be locally present already.
This might come in handy if you want to adjust some files.

Have fun!

Koen Willems
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

Klaas Freitag-3
Am 21.11.2014 um 20:26 schrieb kwillems:
> The build scripts have been updated to the 1.7 branch.
>
> Furthermore I added an extra parameter -le.
> By using that one no source files will be collected from Github. Instead,
> they should be locally present already.
> This might come in handy if you want to adjust some files.


Thanks for your valuable contribution, Koen.

Take care,

Klaas


--
ownCloud GmbH, GF: Markus Rex, Holger Dyroff, Frank Karlitschek
Schloßäckerstrasse 26a, 90443 Nürnberg, HRB 28050 (AG Nürnberg)
_______________________________________________
User mailing list
[hidden email]
http://mailman.owncloud.org/mailman/listinfo/user
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

kwillems
An extra parameter -ni or --non-interactive is available when you build the Windows and Linux clients.
In enables zypper into non-interactive mode and has to be used combined with the parameters -d or -do.

When used no user interaction is required when all dependencies are collected.

Good luck!

Koen Willems
Reply | Threaded
Open this post in threaded view
|

Re: Build scripts desktop clients

DarrenWhite
This post has NOT been accepted by the mailing list yet.
Hi Koen,

I'm getting the following error's, please could you assist:

[ 21%] Building CXX object src/CMakeFiles/owncloudsync.dir/mirall/theme.cpp.o
In file included from /Users/darrenwhite/build-clients/buildenv/mirall/src/mirall/theme.cpp:15:
/Users/darrenwhite/build-clients/buildenv/mirall/src/mirall/theme.h:31:42: error:
      base class has incomplete type
class OWNCLOUDSYNC_EXPORT Theme : public QObject
                                  ~~~~~~~^~~~~~~
/usr/local/opt/qt5/lib/QtCore.framework/Headers/qobjectdefs.h:247:7: note:
      forward declaration of 'QObject'
class QObject;
      ^
/Users/darrenwhite/build-clients/buildenv/mirall/src/mirall/theme.cpp:38:19: error:
      assigning to 'Mirall::Theme *' from incompatible type
      'Mirall::ownCloudTheme *'
        _instance = new THEME_CLASS;
                  ^ ~~~~~~~~~~~~~~~
/Users/darrenwhite/build-clients/buildenv/mirall/src/mirall/theme.cpp:156:5: error:
      type 'QObject' is not a direct or virtual base of 'Mirall::Theme'
    QObject(0)
    ^~~~~~~
3 errors generated.
make[2]: *** [src/CMakeFiles/owncloudsync.dir/mirall/theme.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/owncloudsync.dir/all] Error 2
make: *** [all] Error 2
==============================================================================
ERROR:

Description:

Unable to copy item at path '/Users/darrenwhite/build-clients/buildenv/install/owncloud.app' because the item could not be found

Step:

Project > Distribution > Package 'ownCloud Client' > Payload > Assemble

Description:

Not enough memory to perform operation.
Step:

Project > Distribution > Package 'ownCloud Client' > Payload > Assemble

==============================================================================
Build Failed
Failed to create ownCloud-1.7.0.0.pkg