← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~hjd/widelands/debian-changelog into lp:widelands

 

Hans Joachim Desserud has proposed merging lp:~hjd/widelands/debian-changelog into lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~hjd/widelands/debian-changelog/+merge/300877

One of the things I have been thinking about for a long time is to document the changes we have done to the Debian packaging. This will make it easier for the Debian maintainers to see what has happened when a new release is done, and it also make it easier for us to keep track of our delta compared to what exists in the Debian archive. The usual way to document packaging changes and improvements is in the debian/changelog. 

I've therefore added a changelog entry for us, documenting what we have done since 1:18-3 landed in Debian. I gave this entry the version number 1:18-3widelands1 to state it contains all of the Debian release, plus some of our changes. This is built upon the same pattern Ubuntu uses when they sync packages from Debian, but have Ubuntu-specific changes. See for instance 
http://changelogs.ubuntu.com/changelogs/pool/universe/libs/libsdl2/libsdl2_2.0.4+dfsg1-2ubuntu2/changelog for an example for additional changes Ubuntu has in the libsdl2 packages. Note that they increment the package number each time more changes are applied, but I haven't done this for our changelog. Since the PPA sets its own version number I don't think it is actually used, so it would just add complexity and make it harder to summarize the changes in our case. (Say for instance some change is added, but then removed. Instead of having two separate entries on this, we could simply remove the line from the changelog.)

Mainly I've gone through the history for both the old debian branch as well as after it was merged to document what we have done. If anything is missing, or could benefit from a longer description, let me know.

I've also done some minor tweaks to reduce the delta and make it easier to spot the changes. These mainly consist of undoing earlier changes, reverting to original state. See commit messages for details.

This has built successful for the currently supported Ubuntu releases (except 12.04 which lacks SDL2-packages), see https://code.launchpad.net/~hjd/+recipe/widelands-test for details.


Once this lands in trunk, any change to the debian directory should be covered by a line in the changelog describing the change. (There is of course no need to add a new line if the change falls under an existing bullet point.)
-- 
Your team Widelands Developers is requested to review the proposed merge of lp:~hjd/widelands/debian-changelog into lp:widelands.
=== modified file 'debian/changelog'
--- debian/changelog	2016-01-22 07:20:01 +0000
+++ debian/changelog	2016-07-22 12:49:08 +0000
@@ -1,3 +1,27 @@
+widelands (1:18-3widelands1) UNRELEASED; urgency=medium
+
+  * Merged Debian packaging of Widelands 1:18-3. Remaining changes:
+    - Disabled all Debian-patches since some caused conflicts when applied to 
+      latest trunk. They mostly concern architectures which we don't have
+      access to build/test with normally, so they would be hard to maintain.
+        - The kFreeBSD-patch was removed entirely since it has been included.
+    - Build dependencies changed from SDL to SDL2.
+    - New build dependencies: boost-regex, boost-test
+    - Removed build dependencies: lua, sdl(2)-gfx
+    - Reduce complexity by reducing the number of paths configured during build
+      to just the datadir. 
+    - Install new binaries; wl_map_info, wl_map_object_info and wl_render_richtext
+    - Always use our bundled fonts
+    - Updated copyright file
+    - Updated man page
+    - Moved all data-related directories into a new "data" directory.
+      Various paths have been updated to reflect this.
+    - Added added widelands.appdata.xml for debian desktops. 
+    - Made widelands.desktop localizable.
+    - Translations for appdata and desktop file.
+
+ -- Widelands <mail@xxxxxxxxxxx>  Thu, 21 Jul 2016 21:25:36 +0200
+
 widelands (1:18-3) unstable; urgency=medium
 
   Packaging cleanup version only, no user-visible changes.

=== modified file 'debian/control'
--- debian/control	2016-02-13 10:21:18 +0000
+++ debian/control	2016-07-22 12:49:08 +0000
@@ -7,20 +7,20 @@
   Enrico Tassi <gareuselesinge@xxxxxxxxxx> 
 Standards-Version: 3.9.5
 Build-Depends: debhelper (>= 9), 
+  cmake, 
+  doxygen, 
+  imagemagick,
+  libboost-dev, 
+  libboost-regex-dev, 
+  libboost-test-dev, 
+  libglew1.6-dev | libglew-dev,
+  libpng-dev, 
   libsdl2-dev, 
   libsdl2-image-dev, 
   libsdl2-mixer-dev, 
   libsdl2-net-dev, 
   libsdl2-ttf-dev, 
   python, 
-  libboost1.48-dev | libboost-dev, 
-  libboost-regex1.48-dev | libboost-regex-dev, 
-  libboost-test1.48-dev | libboost-test-dev, 
-  doxygen, 
-  cmake, 
-  imagemagick,
-  libglew1.6-dev | libglew-dev,
-  libpng-dev, 
   zlib1g-dev
 Vcs-Git: git://git.debian.org/git/pkg-games/widelands.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-games/widelands.git
@@ -32,6 +32,7 @@
 Depends: widelands-data (= ${source:Version}), 
   ${shlibs:Depends}, 
   ${misc:Depends}, 
+  fonts-freefont-ttf, fonts-dejavu-core, fonts-dejavu-extra,
 Description: fantasy real-time strategy game
  Widelands is a strategy game aiming for gameplay similar to Settlers II by
  BlueByte.
@@ -44,7 +45,8 @@
 
 Package: widelands-data
 Architecture: all
-Depends: ${misc:Depends}
+Depends: fonts-freefont-ttf,
+  ${misc:Depends}
 Description: fantasy real-time strategy game (data files)
  This package contains the graphics and levels for Widelands.
  .

=== added directory 'debian/patches'
=== added file 'debian/patches/dbg_symbols'
--- debian/patches/dbg_symbols	1970-01-01 00:00:00 +0000
+++ debian/patches/dbg_symbols	2016-07-22 12:49:08 +0000
@@ -0,0 +1,20 @@
+Description: compile with -g so that the dbg package contains something
+Forwarded-Upstream: n/a (upstream strips dbg symbols on purpose from  releases)
+
+---
+ CMakeLists.txt |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: b/CMakeLists.txt
+===================================================================
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -273,7 +273,7 @@
+   ENDIF (WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.1" OR WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.2")
+ ENDIF (CMAKE_COMPILER_IS_GNUCXX)
+ 
+-set (CMAKE_CXX_FLAGS_RELEASE "${WL_COMPILERFLAG_CXXSTD} ${WL_COMPILERFLAG_OPTIMIZATIONS} -DNDEBUG${WL_COMPILERFLAG_OLDSTYLECAST}${WL_COMPILERFLAG_GENERICWARNINGS}${WL_COMPILERFLAG_EXTRAWARNINGS}${WL_COMPILERFLAG_GCCWARNINGS}${WL_COMPILERFLAG_STRICT}" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
++set (CMAKE_CXX_FLAGS_RELEASE "${WL_COMPILERFLAG_CXXSTD} -g ${WL_COMPILERFLAG_OPTIMIZATIONS} -DNDEBUG${WL_COMPILERFLAG_OLDSTYLECAST}${WL_COMPILERFLAG_GENERICWARNINGS}${WL_COMPILERFLAG_EXTRAWARNINGS}${WL_COMPILERFLAG_GCCWARNINGS}${WL_COMPILERFLAG_STRICT}" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
+ 
+ #If building with MSVC, then check for 3rdparty libs
+ if (DEFINED MSVC)

=== added file 'debian/patches/hurd_PATH_MAX_missing'
--- debian/patches/hurd_PATH_MAX_missing	1970-01-01 00:00:00 +0000
+++ debian/patches/hurd_PATH_MAX_missing	2016-07-22 12:49:08 +0000
@@ -0,0 +1,39 @@
+Author: Enrico Tassi <gareuselesinge@xxxxxxxxxx>
+Description: define PATH_MAX if not defined (i.e. on hurd)
+Forwarded-Upstream: should be
+
+---
+ src/io/filesystem/filesystem.cc |    4 ++++
+ src/wlapplication.cc            |    4 ++++
+ 2 files changed, 8 insertions(+)
+
+Index: b/src/io/filesystem/filesystem.cc
+===================================================================
+--- a/src/io/filesystem/filesystem.cc
++++ b/src/io/filesystem/filesystem.cc
+@@ -60,6 +60,10 @@
+ #define PATH_MAX MAX_PATH
+ #endif
+ 
++#ifndef PATH_MAX /* This happens, for example on the Hurd architecture */
++ #define PATH_MAX 1024
++#endif
++
+ FileSystem::FileSystem()
+ {
+ 	m_root = "";
+Index: b/src/wlapplication.cc
+===================================================================
+--- a/src/wlapplication.cc
++++ b/src/wlapplication.cc
+@@ -92,6 +92,10 @@
+ #endif
+ #endif
+ 
++#ifndef PATH_MAX /* This happens, for example on the Hurd architecture */
++ #define PATH_MAX 1024
++#endif
++
+ #define MINIMUM_DISK_SPACE 250000000lu
+ #define SCREENSHOT_DIR "screenshots"
+ 

=== added file 'debian/patches/mips_gcc_ICE_with-03'
--- debian/patches/mips_gcc_ICE_with-03	1970-01-01 00:00:00 +0000
+++ debian/patches/mips_gcc_ICE_with-03	2016-07-22 12:49:08 +0000
@@ -0,0 +1,31 @@
+Description: Set compilation level to -02 on mips (it's -03 by default upstream)
+ .
+ Optimizing further drives gcc nuts and produce ICE.
+ .
+ https://buildd.debian.org/status/fetch.php?pkg=widelands&arch=mips&ver=1%3A18-1&stamp=1393243179
+Author: Martin Quinson
+Forwarded-Upstream: should be
+
+---
+ CMakeLists.txt |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+Index: b/CMakeLists.txt
+===================================================================
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -264,10 +264,12 @@
+     OUTPUT_VARIABLE WLBUILD_COMPILERVERSION
+   )
+   STRING(REGEX REPLACE ".*(4)\\.(5)\\.([0-9]).*" "\\1.\\2.\\3" WLBUILD_COMPILERVERSION_REP ${WLBUILD_COMPILERVERSION})
+-  IF (WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.1" OR WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.2")
+-    message("Detected gcc ${WLBUILD_COMPILERVERSION_REP}")
++  IF (WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.1" OR WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.2" OR PROCESSOR_ARCHITECTURE STREQUAL "mips64" OR PROCESSOR_ARCHITECTURE STREQUAL "mips")
++    message("Detected gcc ${WLBUILD_COMPILERVERSION_REP} on ${PROCESSOR_ARCHITECTURE}")
+     message("Suffering from gcc bug, disabling -O3")
+     set (WL_COMPILERFLAG_OPTIMIZATIONS "-O2")
++  else (WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.1" OR WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.2" OR PROCESSOR_ARCHITECTURE STREQUAL "mips64" OR PROCESSOR_ARCHITECTURE STREQUAL "mips")
++    message("Detected architecture: ${PROCESSOR_ARCHITECTURE}")
+   ENDIF (WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.1" OR WLBUILD_COMPILERVERSION_REP STREQUAL "4.5.2")
+ ENDIF (CMAKE_COMPILER_IS_GNUCXX)
+ 

=== added file 'debian/patches/s390_new_architecture'
--- debian/patches/s390_new_architecture	1970-01-01 00:00:00 +0000
+++ debian/patches/s390_new_architecture	2016-07-22 12:49:08 +0000
@@ -0,0 +1,52 @@
+Description: Port the game to the s390 architecture
+Forwarded-Upstream: should be
+
+---
+ src/logic/widelands.h |   20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+Index: b/src/logic/widelands.h
+===================================================================
+--- a/src/logic/widelands.h
++++ b/src/logic/widelands.h
+@@ -78,6 +78,13 @@
+ 	{
+ 		assert(I < std::numeric_limits<value_t>::max());
+ 	}
++#if (defined(__s390__) && !defined(__s390x__))
++	explicit _Index(uintptr_t  const I)
++		: i(static_cast<value_t>(I))
++	{
++		assert(I < std::numeric_limits<value_t>::max());
++	}
++#endif
+ 
+ 	/// For compatibility with old code that use int32_t for building index
+ 	/// and use -1 to indicate invalidity.
+@@ -116,6 +123,17 @@
+ 	value_t i;
+ };
+ 
++#if (defined(__s390__) && !defined(__s390x__)) 
++#define DEFINE_INDEX(NAME)                                                    \
++   struct NAME : public _Index<NAME> {                                        \
++      NAME(NAME const & other = Null()) : _Index<NAME>(other) {}              \
++      explicit NAME(value_t const I) : _Index<NAME>(I) {}                     \
++      explicit NAME(size_t  const I) : _Index<NAME>(I) {}                     \
++      explicit NAME(int32_t const I) __attribute__((deprecated));             \
++      explicit NAME(uintptr_t  const I) : _Index<NAME>(I) {}                  \
++   };                                                                         \
++
++#else
+ #define DEFINE_INDEX(NAME)                                                    \
+    struct NAME : public Index_<NAME> {                                        \
+       NAME(const NAME & other = Null()) : Index_<NAME>(other) {}              \
+@@ -124,6 +142,8 @@
+       explicit NAME(int32_t const I) __attribute__((deprecated));             \
+    };                                                                         \
+ 
++#endif /* s390 architecture */
++
+ DEFINE_INDEX(Building_Index)
+ DEFINE_INDEX(Ware_Index)
+ 

=== added file 'debian/patches/series'

Follow ups