Age | Commit message (Collapse) | Author |
|
This patch will setup Docker containers to build the source and Debian
packages. The script will use the private key under gpg-keys folder to
sign the Debian packages. If the folder is not there or doesn’t exist
then the build will fail. Keys are expected to be in .asc format,
unencrypted and not password protected.
Added .dockerignore file to avoid copying the cache files to the
container. The output is stored in out/ folder and the folder structure
is ready for update_debian_repo.sh script.
SWIFT_PACKAGE_PLATFORMS defines the platforms that it will be build for.
Default values are: ubuntu:bionic ubuntu:cosmic debian:stretch
debian:sid.
DOCKERRUNEXTRAFLAGS variable can set additional flags for Docker
builders. Currently is set to --privileged to avoid an issue during
build with Qt5.11.1 https://bugreports.qt.io/browse/QTBUG-64490.
Updated the Debian repo scripts to new distributions and Docker changes.
Test-Information:
Run the script and created source & binaries for all the distributions.
Verified that changelog, compact, control, copyright, rules and
source/format exist under the Debian folder when building the Debian
package. Created tags and generated dev builds, rc builds, and release
builds to test the output of the different release channels.
Created a container, tested the Swift and Swiften packages, and the
installations:
Tested the following debs with piuparts in a docker container of the
system they are build for. No errors raised and a few warnings related
with chroot (which fails within a docker container)
*libswiften-dev-dbgsym*.deb,
*libswiften-dev_*.deb
*libswiften5-dbgsym_*.deb
*libswiften5_*.deb
*swift-im-dbgsym_*.deb
*swift-im_*.deb
Installed the above packages and verified the install with swift-im
–version, headers exist in /usr/include/Swiften/ and libSwiften.so under
/usr/lib/. Verified the gpg signatures on the .changes and .buildinfo
files. Tested the output with the update_debian_repo.sh and the import
was successful.
Verified the .changes and .buildinfo files with lintion which reported
the following errors and warnings (there are differences between
different channels release, beta, development):
E: swift-im changes: bad-distribution-in-changes-file development
E: swift-im changes: multiple-distributions-in-changes-file beta development
W: libswiften5: new-package-should-close-itp-bug
W: libswiften-dev: new-package-should-close-itp-bug
W: swift-im: new-package-should-close-itp-bug
Tested that the man page exists after installing in a docker container
(ubuntu xenial, debian stetch, debian sid).
Change-Id: Ic28d2731bbca34716645e76e7e7e7e8183dea4f8
|
|
This patch will fix an issue that occurs when generating the man pages
for swift-im. The man page is generated from the Swiften library using
help2man. The issue occurs when the library cannot be found during build
time and help2man is generating a man page with the output of that
error, ignoring the return error code from swift-im. To avoid this
happening in future builds, swift-im --help is run before generating the
page and checked if the execution was successful. If yes we proceed with
the generation, if not we stop the build and throw an error.
swiften-config man page generation was not affected by this issue.
Test-Information:
Build with ubuntu 18.04 on a machine that hasn’t got Swift or Swiften
installed. Build the Debian package for Debian stretch with pbuilder,
and installed on a clean docker container (Debian stretch). Repeated the
test with Debian sid but with packages build from docker containers.
Change-Id: Icf8a84ba7f4810c87e5835e5ac1a91d1324ddac8
|
|
* branch 'swift-4.x':
Update for Debian
Don't crash on missing bookmark result
Add missing include for QAbstractItemModel
Update Debian changelog
Fix convertToWindowsVersion() function to handle more RCs
Fix error response handling when requesting VCards
Test-Information:
./scons test=all succeeded on macOS 10.14.2.
Change-Id: I99d20a8b0e1b0be501fbbe95adebbff15f510184
|
|
Fix UTF-8 handling issues in
BuildTools/SCons/Tools/textfile.py .
Test-Information:
Tested that ./scons test=unit Swift works on Debain
Unstable (sid) and macOS 10.14.2. Tested that
build_for_debian.sh runs successfully on latest Debian
Unstable (sid).
Change-Id: I29d8c97ce3b4eb3e4fd680bdc814fb0c911262ff
|
|
For the upcoming update to Scons 3, which works with Python 2
and Python 3, this change makes our code compatible with
Python 3 so that it still works with Python 2.
Test-Information:
Tested these changes with SCons 3.0.1 on macOS 10.13.6 with
Python 2.7.15 and Python 3.7.0.
Change-Id: Idb5207b179a79a0dbe89d7e620d182a7d2f1ca6c
|
|
Closed two further bugs from the Debian bug tracker in the
changelog entry for 4.0.2.
Test-Information:
None.
Change-Id: I74dd7350990ddd1627b2b9c64b322ed84f3a6186
|
|
* swift-4.x: (44 commits)
Test-Information:
Builds on macOS 10.13.3 with clang trunk.
Change-Id: If50381f103b0ad18d038b920d3d43537642141cb
|
|
This patch will allow the installer to perform per-user installations that
doesn't require elevated rights. If the Visual Studio prerequisites are
missing, the installer will ask the user if he wants to install them. If
the user chooses not to, the installer will deploy the necessary files in
the installation folder. Installations for all users (per machine) are
still available.
Upon upgrading in per-user installs from previous versions, the user can
still access the settings that were stored in the registry, but
not the settings stored in system-settings.xml.
Test-Information:
Build and tested with Wix3.11, Qt 5.8 and Visual Studio 2015 on Windows
10 and Windows 7.
Tested fresh install and upgrade, for per-machine and
per-user installations.
Tested the vcredist install and the dll deployment when the installation
is not present.
Verified that the installer uses the registry settings in per-user
installations.
Change-Id: I1879e2fb7ee347dab58852eb73d4ddddec15b35d
|
|
This patch updates the build scripts and documentation for newer
distributions of Debian (9) and Ubuntu (17.10).
Test-Information:
Tested packaging scripts on Ubuntu 16.04.4 for Debian stretch and Ubuntu
artful distributions.
Change-Id: Id567d75bdf3c6abe3cf08a2fd617363a5c1c987f
|
|
This patch fixes an issue that occurs with help2man when building the
debian package.
It appears that swifts output is interpreted as invalid, so we are adding
the no-discard-stderr to bypass the error.
Test-Information:
Tested packaging scripts on Ubuntu 16.04.4 for jessie and stretch distributions.
Change-Id: I87f48c720e0132aeaad00e6accd37eee44cdcb7b
|
|
Pass help2man=1 to have scons build man page sources via
help2man.
Adjusted package.sh to use scons to build man pages.
Test-Information:
Tested on Ubuntu 16.04 and it generated man page sources
when help2man=1.
Tested package_all_platforms on Ubuntu 16.04. The build does
not fail due to missing man pages anymore.
Change-Id: I6c62bc3f666ffd9f926038045672eb6e456082e5
|
|
This will use the distro_version instead of the distro_name variable
in the script. This fixes an error that was introduced in commit
2b185f0b25aede6e2f40a678647c78bb8e7f8638
Test-Information:
None
Change-Id: I943a680c49f70310ff525ee60f31b23641ccb2f5
|
|
This patch uses SWIFT_PACKAGE_PLATFORMS variable and only updates the
repositories that are defined there.
Test-Information
Tested the script on Ubuntu 16.04 when the variable is/not defined
Change-Id: Ie8f65441f558e3ac663eb8493cedd8c0d2630753
|
|
This patch introduces SWIFT_PACKAGE_PLATFORMS variable which defines the
platforms that package_all_platforms.sh will package Swift. If not defined,
it will default to xenial yakkety jessie sid.
Test-Information
Tested the script on Ubuntu 16.04 when the variable is/not defined
Change-Id: I9ba4fbd68ad18e28cbd2d8c1feb50e6d63e44e06
|
|
This patch will make the installer remove each file component, before
deploying the new version of the file.
This is to avoid potentials issues with the installer, when trying to
deploy a new version of a file that happens to have the same version
information as the original file. The default behaviour of the MSI
installer in a case like this is to skip the deployment of the new file.
This issue occurs when Visual Studio gets upgraded, and we need to redeploy
3rd party components of the same version but build with the new version of
the compiler.
Test-information:
Generated an installer and tested fresh install and upgrade from Swift
3.0. Tested with Windows 10 and Windows 7, normal and quiet installations.
Verified that the Qt DLLs deployed have the correct VS redist
dependencies.
Change-Id: I6f68126ee63968aad066901704a409b6ebada14f
|
|
Adding two scripts that will test Ubuntu(xenial – yakkety)
and Debian(jessie - sid) distributions.
The script will create a base system of the distribution
and then add the swift distribution channels.
It will then test the version of the binary and source
packages that are available in the channel, and then it
will attempt to install swift and all its dependencies.
Test-Information:
Tested on Ubuntu 16.04 (host)
Change-Id: I977e72223a4688672d64b39c22c966aa143bc060
|
|
* Adjust script to support older Python version, 2.6.6
* Add ability to include arbitrary libs in AppImage
* Make debuglink via objcopy optional
Test-Information:
Tested on 64-bit CentOS 6.9 with non-system g++ 4.9.4 and
tested generated AppImage on 64-bit Ubuntu 16.04.
Change-Id: Ib75b07b30e1b1cdf875ec0b45c9f7bab91c59fbf
|
|
Run this script to generate a self-contained AppImage that
will run on any Linux distribution that has the same or newer
Linux kernel and the same or newer GLib.
The script will generate an AppImage for the same architecture
it is executed on.
By default it will use Qt5. Specify --qt5=False to create
an AppImage with Qt4.
The resulting .appimage and .debug files are copied to
./Packages/Swift
Test-Information:
Latest iteration of the script was tested with building an
AppImage on 64-bit Ubuntu 16.04 and running it on 64-bit
Debian Sid.
Earlier version of the script was tested on 32-bit SUSE Linux
Enterprise 11.
Change-Id: I14477ada3558109fe73a77f7e7fe1ee8ef629d5f
|
|
This provides two mechanisms, one via Docker and one via copying
and running scripts. The Dockerfile will build with 64bit CentOS 6.8
only, which isn't useful for truly ancient systems. The scripts are
tested on 32bit CentOS 6.0. In both cases they provide an appimage
that runs on some systems.
Change-Id: I84ca453e355eb2653d3cd703d2c6c8bb60340ec0
|
|
Test-Information:
Tested the changes on our repository server. It removes
the dbgsym packages, that debuild automatically builds since
sid, from the .changes file. This way reprepro will not
complain about them and add the usual packages to the repository.
Change-Id: I1e4d956ecdc76bd9256cf502bd561abcd0968252
|
|
The purpose of the script is as follows:
Based on an incoming folder of Debian binary and source
packages for multiple distributions and versions structured
as incoming_folder/$distribution/$version, the script will
create apt repositories using reprepro and fill it with
packages from the incoming folder structure.
If the repositories are already present, they will be updated
instead of created.
Test-Information:
Tested it on Debian 8.7 with Swift development packages
produced by our CI machine.
Change-Id: Ic0270bc954ec9609c0567d2707825fbab89e7b3a
|
|
Test-Information:
Tested under CentOS.
Run script to generate a package under Linux, swift-im.1 and swiften-config.1 are generated.
Change-Id: Idf0b159a94e05349b196f019bbc91127095a1d16
|
|
Test-Information:
None.
Change-Id: Iaa0bad47c104b9407329d69329f3409af0d62e6d
|
|
Test-Information:
Tested this manually on our Debian builder. With this fix
it stops complaining about missing Qt packages.
Change-Id: I5fb25714f7e1b726f893f9475fded17c36677cef
|
|
* swift-3.x:
- Fix building Swift on 32-bit Linux distributions
- Remove optional_fwd.hpp use; workaround for Boost Bug #12179
- Split COPYING.thirdparty in contributions/dependencies
- Fixes for building packages on Debian
Conflicts:
BuildTools/SCons/SConstruct
Sluift/Console.h
Sluift/ITunesInterface.h
Sluift/Terminal.h
Swift/Packaging/Debian/debian/control.in
Swift/QtUI/SConscript
Swiften/Elements/Stanza.h
Swiften/FileTransfer/FileTransferTransporter.h
Swiften/FileTransfer/IBBReceiveSession.h
Swiften/JID/JID.h
Swiften/Network/BoostConnectionServer.h
Swiften/Network/ConnectionServer.h
Swiften/Parser/AttributeMap.h
Test-Information:
Builds on macOS 10.12.1 with clang trunk.
Change-Id: I9f41ab199f227bc106721627ea994313c68e5cfe
|
|
Test-Information:
Ran package.sh on Debian unstable/sid. Without this fix,
building in package.sh failed due to missing zlib header
files. With this patch it complains about missing zlib1g-dev
package, and after installation of it successfully builds
Swiften/Swift.
Change-Id: I9babcd1a5f9e21c01b9c6e9a51a80200d7998538
|
|
This removes resource forks from our template disk image.
Add custom InstallWithSymLinks command that does behave
similar to the default env.Install command, however preserves
relative symbolic links inside an installed directory.
This is needed because the Sparkle.framework internally
uses symbolic links and codesign utility fails if these
links are replaced by copies of the original files.
Test-Information:
Verified dist=1 builds with and without code signing on macOS
10.12. Verified that on change of presence of the
codesign_identity SCons argument or its value, a new package
is build. If it does not change nothing is built again.
Change-Id: Iade94811b7d608cb7520662e2820be3b128ee90b
|
|
Change-Id: If5a6acae4beaf29334536ab1481550b28bf02f83
|
|
Change-Id: I9ece784373b5d019cd635d9e33593fb3fa2e4fc6
|
|
Change-Id: I9ece784373b5d019cd635d9e33593fb3fa2e4fc5
|
|
If the gpg tool is found in the PATH and a key exists for
Swift's signing identity, package.sh will generated a GPG
signature (.asc) file alongside the tarball.
Test-Information:
Created a new GPG key with Swift's signing identity,
ran package.sh script and correctly verified the generated
signature with GPG.
Tested both with and without --nosign flag.
Tested on Debian 8.5 with GPG 1.4.18.
Change-Id: I7e6c8b6a7c900b68e53ece97a59eba33a2de565d
|
|
Test-Information:
Verified that ./package.sh builds a Swift package with
spellchecking support enabled on Debian 8.
Change-Id: I31bce4be6a3cc35e9c9bbeca1ec146ec179a3bb8
|
|
Test-Information:
Tested that package.sh generates .deb packages on Debian 8.
Change-Id: I6a75cb186c00f6c8f19a7dbfc34e1d8d153fa57f
|
|
Added Qt image format plugin packages and Qt SVG image format
plugin to InstallSwiftDependencies.sh script and Debian
packaging.
Test-Information:
Tested that macdeployqt now adds the image format plugin for
SVG to the deployable app bundles.
Change-Id: Id1ce265073cb8adb9315cb40da032ee11ea8761d
|
|
Test-Information:
None.
Change-Id: I22ce5f200d156856d67f902b28ac07f091019101
|
|
15.10 wasn't LTS, so no need to keep building
Change-Id: Id395dadab3a1523c3eaeb9e2e1f5d89d187405e3
|
|
Change-Id: If42f50bf0ffbabee5e2c03fd99b3154362230189
|
|
See DEVELOPMENT.md for instructions.
Test-Information:
Tested using a self-signed code signing certificate created
using Keychain Access.app.
Compared the output of 'codesign -vvv -d' on Swift.app with
preinstall apps. The output looks much the same except for
the signing authority.
Change-Id: Idbb3209ad917091c371ced61ec8a77e3e5d18884
|
|
Our Hunspell support has not been finished and thoroughly
tested yet. This commit disabled building with Hunspell
by default, even if the dependencies for it are installed
on the system.
Remove libhunspell-dev from the build depends in Debian
packaging.
Test-Information:
Tested on Debian 8.
Tested with and without the hunspell_enable=True flag.
With the spellchecking options are shown and however spell
checking is not stable.
Without it the spellchecking options are not shown and
spellchecking is disabled in general, as expected.
Change-Id: I100582852cbe128149fdb2e2a28d4ae407398be6
|
|
Swifttob used to be an initial approach of a XMPP bot using
Swiften. Today such a bot would probably use Sluift.
Test-Information:
./scons test=system passes on OS X 10.11.3.
Change-Id: I976f26d906f3007b4395e90fdd966e2c00cb1c2c
|
|
Requires GNU tar, which isn't installed by default on OS X.
Test-Information:
Tested on Debian 8 and OS X 10.11 with Homebrew gnu-tar.
Change-Id: I2165654489bd01223f1366a71f62fd7fe4187e11
|
|
Test-Information:
Ran the script until it started building (then cancelled it).
Change-Id: I803f8aae2b042dea9870491dfd46bbc5a6fd88f6
|
|
Test-Information:
Built using the script
Change-Id: Id4f6dd0d36e975341b5b30298db4541fbe018b2e
|
|
Test-Information:
Generated (unsigned) debs on Ubuntu 15.10
Change-Id: Ibacee5d63c0662d2a9cfbc61e0d0f2c48fd93736
|
|
Test-Information:
Verified that the debug symbols are gone from the Swift.app
bundle in the packaged DMG image.
Change-Id: Iefb2a5b8eb18587f35143ff344336acb2e69fa1a
|
|
Our packaging procedure temporarily needs more space on the disk
image as it first copies the application bundle and frameworks on
the image and afterwards removes debugging symbols and other files
not required by the end user.
The package.sh script reported this error of not having enough space
left on the disk image.
Test-Infromation:
Verified that the disk image is still build, the package.sh error
is gone and the packaged Swift.app works.
Change-Id: Iba853bd30eb63f74f07cdda08b93e76dd89368bb
|
|
This is a workaround for QTBUG-34641. The Qt bearer API for
detecting network changes will poll for available wireless networks
every 30 seconds or so, resulting in needless CPU load.
This patch removes the plugins for this API from the installation
package, which will disable the constant polling for available
wireless networks.
Test-Information:
Verified that the plugins are removed from the application bundle
in the final installation DMG.
Change-Id: If46d03ca5623885879ecc10e06a29cec96e7caa4
|
|
Previously every time WiX heat.exe ran it generated new GUIDs for all
the file components that MSI was going to install. Windows installer
deletes components if there is no software/component left that is
referencing it.
This patch uses the -ag flag instead of the -gg flag for heat.exe so
it will generate deterministic GUIDs based on the filename and other
things instead of completely random new one on each run.
In addition we schedule the upgrade to run after the new version has
been installed. This way old files are first replaced with the new
ones, shortcuts remain and are not deleted, pinned shortcuts remain
usable. Afterwards MSI uninstalls the old version, specifically the
components that are not reference anymore.
Test-Information:
Tested (a) two version upgrade with this patch and (b) an upgrade from
a version without this patch to a version with this patch.
a) The upgrade works as expected. MSI installs the new version and then
uninstalls the old version. The pinned shortcut stays alive and works.
b) In this case during the deinstallation files of the new installation
are deleted, since there are two components with different GUIDs which
however use the same filenames.
Running a repair on this installation, or first deinstalling the old
version and then the new one manually fixes this.
Change-Id: I842a288d837962e77efaa15b17d3877e923c7e49
|
|
Change-Id: Idb6ef5fa191b1465c0bf46c47e63b695de07fa0b
|
|
Change-Id: I499db0b68cc5e492a35d931b146094446e183682
|