Commit graph

146 commits

Author SHA1 Message Date
Dirk Hohndel
400cc01c26 Add patch to the Ubuntu build process for 12.04
We need to build with Qt4 on 12.04.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 17:42:32 -08:00
Dirk Hohndel
5e0abd8829 Finally deal with incrementing the serial number of the build
I know, I know. This should never have been hard coded.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 14:15:30 -08:00
Dirk Hohndel
90f931dabe Attempt to build for Ubuntu 12.04 as well
And fix a silly typo in the Debian/Ubuntu control file

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 13:02:52 -08:00
Dirk Hohndel
3212bfdf99 Small tweaks to the Mac package making scripts
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-02 22:26:36 -08:00
Dirk Hohndel
4ce3c1e8b8 Remove the 32/64 bit warning in the Windows installer
We now have perfectly fine 32bit binaries with Qt5 so no more reason to
steer people towards 64bit binaries. Actually, I don't plan to make 64bit
binaries for the next release.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-01 16:45:24 -08:00
Dirk Hohndel
b8af46a33e Another tiny change for OBS
As expected, switching to subsurfacedaily as package name turned out to be a
massive PITA.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 12:24:16 -08:00
Dirk Hohndel
72a78f6c2d Next attempt to get the OBS subsurfacedaily naming right
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 11:41:06 -08:00
Dirk Hohndel
1d39df0922 Add a new script to create cross built Windows installer
This script is based on the mxe package and builds everything from source
instead of using the mingw packages from Fedora as I did in the past.

I'm keeping the old script around for now, but eventually I should remove it as
this is the current way to create a working installer that supports both 32 and
64 bit Windows and is Qt5 based.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 10:20:28 -08:00
Dirk Hohndel
1169d7dd35 Add the current OBS spec file for daily builds
This is simply here for people to look at. It will age immediately and it makes
no sense to try to keep it current here as it is maintained in OBS. But I think
it might be a useful starting point for others who want to package daily builds
of Subsurface.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 10:05:28 -08:00
Dirk Hohndel
38278c9c71 Revert "Make the daily builds on OBS distinct from the releases"
This reverts commit 7a7ce2c5e0.

Shouldn't have pushed that one :-)

The fix was to modify the spec file, not the name of the directory and tar
file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 10:03:47 -08:00
Dirk Hohndel
7a7ce2c5e0 Make the daily builds on OBS distinct from the releases
This way there should be less confusion

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 09:19:06 -08:00
Dirk Hohndel
c246432092 Remove some way way way outdated files
From the very earliest packaging attempts. Definitely not useful anymore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:48:27 -08:00
Dirk Hohndel
f42a83f4b2 Linux package generation: integrate and automate OBS and Ubuntu PPA
This is still quite fragile and isn't enough for anyone to run it, but it
captures where I am in the automation process.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:48:27 -08:00
Dirk Hohndel
b9d146bab3 Fix more references to the ReleaseNotes
This should be all of them.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-17 12:45:45 -08:00
Dirk Hohndel
fb500f7056 Update Mac make package script
This reflects the switch to the custom name for the marble widget.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-17 11:29:40 -08:00
Dirk Hohndel
028bd1e235 Ubuntu packaging: this works better for changelog
Tiny change, specify the version as the tools get it wrong by default

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 14:52:32 -08:00
Dirk Hohndel
6da5775c05 Ubuntu packaging: more tweaks
* only build a static libdivecomputer
* only build the libgit2 library, not the executable
* don't echo all the symlinks when fake-installing libmarblewidget

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 12:09:38 -08:00
Dirk Hohndel
5e9c491f19 Ubuntu packaging: add support for better changelog tracking
This now assumes that a running changelog is maintained in
src/debian.changelog, i.e., at the same level as the subsurface tree; the
organization now should look like this:

src/debian.changelog
src/subsurface                 # subsurface git checkout
src/subsurface/libdivecomputer # libdivecomputer git Subsurface-xx branch
src/subsurface/marble-source   # marble git Subsurface-xx branch
src/subsurface/libgit2         # libgit2 git checkout

Instead of running dh_make to create all new debian build files, we add the
necessary files in our script.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 10:21:23 -08:00
Dirk Hohndel
f559f6c870 Ubuntu packaging: Create the correct libdivecomputer version
Since we strip the .git data from the source tree (to conserve space and not
violate the packaging guidelines - or at least not violate THAT packaging
guideline) we need to create the correct revision before the tar file of sources
is packaged.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12 11:39:46 -08:00
Dirk Hohndel
c9f927d547 Updates to Ubuntu package building process
Marble can't be static, so instead we build a shared library but give it a
different name so it can be installed in parallel with the "real"
libmarblewidget.so.

Also make sure that the correct libusb is installed so that Atomics Aquatics
dive computers are supported.

Fixes #782

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10 13:08:35 -08:00
Dirk Hohndel
18159b6265 Minor tweak to Ubuntu package building
12.04 can't build our Qt5 based package, so let's just drop it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10 09:45:53 -07:00
Miika Turkia
bac2b92860 Add utopic and precise to Ubuntu packaging
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-07 09:42:14 -06:00
Dirk Hohndel
8f224c1737 Ubuntu packaging: move support files into debian directory
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-03 09:39:57 -08:00
Dirk Hohndel
89c333e4b6 Ubuntu packaging: remove .git trees from sources
Oops, I thought I had done that but that was flat out wrong.
Now the source upload shrinks from over 70MB to around 26MB. Much better.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 22:11:23 -08:00
Dirk Hohndel
43a8287779 Ubuntu packaging: switch to Qt5
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 21:03:06 -08:00
Dirk Hohndel
eba18ff5e9 Ubuntu packaging: get git version without including the full git tree
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 18:31:42 -08:00
Dirk Hohndel
a1cd230625 Ubuntu packaging: include static libmarblewidget
Still all Qt4 based. Baby steps.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 18:31:36 -08:00
Dirk Hohndel
fabdb6b65c Make sure Ubuntu package built script is started from the right directory
I kept starting it from within the subsurface directory which of course failed
but left clutter around.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 11:04:37 -08:00
Dirk Hohndel
589f277477 Adjust version numbering for Ubuntu package
Let's use all four digits as 'version'.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 10:55:52 -08:00
Dirk Hohndel
ebd22b9abc Allow static libgit2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 08:51:32 -08:00
Dirk Hohndel
74447d6389 Add Ubuntu packaging instructions
These files knowingly (one might say, intentionally) violate the spirit
and letter of the Debian / Ubuntu packaging rules. They are intended to be
able to create our own packages that include their own libdivecomputer,
libgit2 and (later) libmarble. Especially for daily builds this is WAY
easier than fighting with whatever may be the current version of these
packages in Ubuntu (especially since this allows us to use our private
libdivecomputer branch).

This assumes that the user runs the make-package.sh script from a
directory below which we have
subsurface/                <- Subsurface checked out git tree
subsurface/libdivecomputer <- desired libdivecomputer sources
subsurface/libgit2         <- desired libgit2 source

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 08:51:32 -08:00
Dirk Hohndel
d2567f761a Windows installer: move the 32/64 bit check earlier
It makes more sense to do this on init and not have the user go through
any other screens in case this is the wrong binary.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-30 12:40:03 -07:00
Dirk Hohndel
1291d100f6 Ugly hack to work around broken Qt5.3.2 for Windows cross builds
Checking this in to make sure I don't end up creating broken installers
again. I doubt that this is useful for anyone but me - but then, I don't
think anyone but me creates Windows installers.

Background - when Fedora 20 updated the cross-built version of Qt for
Win64 something broke. Subsurfae installed with those DLLs will crash.
Replacing the older 5.3.1 DLLs fixes this for now, so I have a directory
with just those DLLs and simply replace them in the staging directory
before calling makensis.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29 15:10:32 -07:00
Dirk Hohndel
0e0d6135af Don't install Windows 64bit binaries on 32bit system
Also warn people installing 32bit binaries on a 64bit system

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29 13:01:19 -07:00
Dirk Hohndel
28800622f0 Minor changes to Windows build and packaging
With these changes we link statically against libusb and libdivecomputer
but don't add the .a files to our installers.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-09-25 20:50:14 -07:00
Dirk Hohndel
c477f56029 Update my Mac packaging scripts for Qt5
I have no idea why libmarble isn't handled correctly by macdeployqt...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-04 22:54:02 -07:00
Dirk Hohndel
6c15647858 Allow cross-building 64 bit binaries for Windows
This also makes sure that we package the Qt5 translations, not the Qt4
translations.

There was an odd issue that somehow a 32bit search path ended up being
used by win-dll which resulted in the wrong DLLs being packaged.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-02 15:08:22 -07:00
Miika Turkia
c43708bc8e Remove theme directory when uninstalling on Windows
I assume the theme directory should be deleted on uninstall the same way
e.g. Documentation directory is deleted.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-07-13 21:39:42 -07:00
Dirk Hohndel
bded22f2f6 HTML export: fix packaging of theme dir
I was confused by the function name getSubsurfaceDataPath() - it does not
find paths relative to the "data" folder, if finds the path where we might
install folders like "data", "translations", or "theme".
"data" is for some reason where we install the "marbledata" files.
Therefore on both Mac and Windows we need to put the "theme" directory
next to the "data" directory, not below it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08 07:54:11 -07:00
Dirk Hohndel
72362d0993 Build tools: allow debuggable cross builds for Windows
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-07 19:39:50 -07:00
Dirk Hohndel
049b6c0426 Prepare for Qt4 / Qt5 cross builds of Windows binaries
Admittedly I believe I'm the only one using this script (and related .nsi
file), it still seems to make sense to keep it up to date in the
repository.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-06 09:18:13 -07:00
Dirk Hohndel
d461780369 Windows out of tree cross build: stage package in correct folder
When doing an out of tree build you don't want to stage the package with
the source but under your current directory. So let's make sure we
distinguish between source and target here... and instead of putting
things into packaging/windows they now end up in staging which is much
more consistent. And to make my life even easier, the installer .exe ends
up in the base dir in which you build the package.

Also, we link statically against libdivecomputer, so don't pack the dll.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-21 12:16:56 -07:00
Dirk Hohndel
986309b108 Windows cross build: use the correct objdump
This one was silly but took me a while to track down.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-21 11:08:10 -07:00
Dirk Hohndel
4c8369a7ba More cross building stuff
This is all mostly to make my life easier.
I'm not thrilled with the marble changes - as Linus pointed out before the
way we do these "LIBxxxDEVEL" changes is broken as it will still first
link against any library installed in the system. But since I have removed
any globally installed copies of these libraries this actually works for
me and it does help when experimenting with different build options for
the main libraries that we depend on.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-21 08:54:04 -07:00
Dirk Hohndel
01a185979e Out of tree cross build for Windows
This way I can have a different directory from where I build Windows
binary without interfering with my native build in the source directory.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-19 11:46:50 -07:00
Dirk Hohndel
4edf37f9be Update cross building for Windows on Linux
This updates the instructions and the plumbing to be able to link against
a locally built libgit2

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-07 16:33:00 -08:00
Thiago Macieira
68d80e7a9d Update the Mac Info.plist structure
The bundle signature is not a necessary property in any of the OS X
versions we support. And the current bundle version identifier is 6.0,
not 1.0.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-26 17:17:50 -08:00
Thiago Macieira
28d0cb8e2c Set the NSPrincipalClass in Info.plist
This is required to enable HiDPI support for the Retina displays. The
Info.plist that comes with Qt had this, but the one we supply with
Subsurface didn't.

Done-with: Jake Petroules <jake.petroules@petroules.com>
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-25 17:35:20 -08:00
Dirk Hohndel
7c8a39015a Enable https for Windows binaries
This requires the ssleay32.dll and libeay32.dll to be copied into
packaging/windows, first.

Fixes #367

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28 21:04:07 -08:00
Dirk Hohndel
a0b9daf63b Improve signing script, adjust flags for gcc-4.2
On one of my machines codesign doesn't find my signing key by hash, but
does find it by name. Go figure.
Also on that same system (32bit Mac Mini with running Snow Leopard / 10.6)
gcc 4.2 doesn't support the -unused-result warning. So let's only turn
that on for more modern versions of gcc

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-19 20:42:59 -08:00