mailing-list for TeXmacs Users

Text archives Help


Re: [TeXmacs] texmacs and debian package


Chronological Thread 
  • From: Karl Hegbloom <address@hidden>
  • To: marc lalaude-labayle <address@hidden>
  • Cc: texmacs-users <address@hidden>
  • Subject: Re: [TeXmacs] texmacs and debian package
  • Date: Mon, 21 Mar 2016 18:31:26 +0000

Use svn to check out a copy of it:

mkdir ~/src
cd ~/src
svn co svn://svn.savannah.gnu.org/texmacs/trunk texmacs-svn-trunk

Apply the attached patch (optional) which I have not submitted to the project yet but is obviously freely available the same as TeXmacs so if anyone wants to use it or look it over and incorporate it that's fine.

cd ~/src/texmacs-svn-trunk
patch -p1 < /path/to/karlhegs-deb-packaging-patch.diff

Set up the build environment:

cd ~/src/
vi ./setup_build_env.sh

8<------------------------------------------------------------------------->8
export GUILE_CFLAGS="`pkg-config --static --cflags guile-1.8`"
export GUILE_LDFLAGS="`pkg-config --static --libs guile-1.8`"
export GUILE_DATA_PATH="`pkg-config --variable=datadir guile-1.8`"
export GUILE_VERSION="`pkg-config --modversion guile-1.8`"

#export CCACHE_PREFIX=/usr/bin/distcc
#export DISTCC_HOSTS="localhost/8 192.168.1.64/4"
#export DEB_BUILD_OPTIONS=parallel=12
export DEB_BUILD_OPTIONS=parallel=8
8<------------------------------------------------------------------------->8

... and adapt that to your environment. I used to use distcc and had a server running on the desktop machine this laptop was on the same network with. The laptop has an i7 hyperthreading quad-core processor, so I run the build with 8 threads. The desktop had 4 cores, so I added 4 more when using distcc. Those lines are commented off now since I'm on the road right now.

Load that environment with:
. ./setup_build_env.sh

Link the debian directory to here so you can use it:

ln -s packages/debian .

Check to be sure you have everything installed that it will require:

dpkg-checkbuilddeps

If it prints anything, use sudo apt-get install to install the missing dependencies. Don't forget to do "sudo -k" after you are done to lock it again. Build with "fakeroot", not with "sudo":

fakeroot debian/rules clean binary

If all goes well, you'll have a deb package in the ~/src/texmacs-svn-trunk directory. If you have pkg-create-dbgsym installed, you'll also have a matching dbgsym package. Use: sudo dpkg -i packagefilename.deb  to install it.

On Mon, Mar 21, 2016 at 12:02 PM marc lalaude-labayle <address@hidden> wrote:
Hi Karl,

could you remind me, please, all the different steps to build a debian package for texmacs ?

Thx,

ML
diff --git a/src/configure b/src/configure
index df9e912..766ecd9 100755
--- a/src/configure
+++ b/src/configure
@@ -2930,8 +2930,14 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking current Subversion revision number" >&5
 $as_echo_n "checking current Subversion revision number... " >&6; }
 SVNREV=`svnversion -n . 2>/dev/null`
-SVNREV=${SVNREV/:/_}
-if { test "$SVNREV" = "" || test "$SVNREV" = "exported" ; } ; then
+SVNREV=${SVNREV/:/-}
+if { test "$SVNREV" = "Unversioned directory"; } ; then
+   SVNREV=`(git svn info | grep '^Revision' | cut -f2 -d' ') 2>/dev/null`
+   if { ! test "$SVNREV" = ""; } ; then
+      SVNREV="$SVNREV"-gitsvn-`git log --oneline | wc -l`-`git log -n 1 --oneline | cut -f1 -d' '`;
+   fi;
+fi
+if { test "$SVNREV" = "" || test "$SVNREV" = "exported"; } ; then
   SVNREV=`cat $srcdir/SVNREV`
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SVNREV" >&5
 $as_echo "$SVNREV" >&6; }
diff --git a/src/configure.in b/src/configure.in
index 79b0b2d..05fbc8f 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -21,8 +21,14 @@ AC_CANONICAL_HOST
 
 AC_MSG_CHECKING(current Subversion revision number)
 SVNREV=`svnversion -n . 2>/dev/null`
-SVNREV=${SVNREV/:/_}
-if { test "$SVNREV" = "" || test "$SVNREV" = "exported" ; } ; then 
+SVNREV=${SVNREV/:/-}
+if { test "$SVNREV" = "Unversioned directory"; } ; then
+   SVNREV=`(git svn info | grep '^Revision' | cut -f2 -d' ') 2>/dev/null`
+   if { ! test "$SVNREV" = ""; } ; then
+      SVNREV="$SVNREV"-gitsvn-`git log --oneline | wc -l`-`git log -n 1 --oneline | cut -f1 -d' '`;
+   fi;
+fi
+if { test "$SVNREV" = "" || test "$SVNREV" = "exported"; } ; then 
   SVNREV=`cat $srcdir/SVNREV`
   AC_MSG_RESULT($SVNREV, read from $srcdir/SVNREV)
 else 
diff --git a/src/packages/debian/rules b/src/packages/debian/rules
index 4cf08f5..4c53720 100755
--- a/src/packages/debian/rules
+++ b/src/packages/debian/rules
@@ -11,3 +11,6 @@ export DH_VERBOSE=1
 
 %:
 	dh --parallel $@ 
+
+override_dh_auto_configure:
+	dh_auto_configure -- --enable-debug=-ggdb #--enable-guile2
diff --git a/src/packages/debian/changelog.in b/src/packages/debian/changelog.in
index 99f045a..f0be075 100644
--- a/src/packages/debian/changelog.in
+++ b/src/packages/debian/changelog.in
@@ -1,4 +1,5 @@
-texmacs (@DEVEL_VERSION@-@DEVEL_RELEASE@) unstable; urgency=low
+texmacs (2:@DEVEL_VERSION@-@DEVEL_RELEASE@-@SVNREV@) unstable; urgency=low
 
   * TeXmacs Debian Package
+
  -- dndiatta <address@hidden>  Fri, 08 Apr 2011 15:21:31 +0200



Archive powered by MHonArc 2.6.19.

Top of page