Changes

Jump to: navigation, search

Debian

3,893 bytes added, 07:16, 27 May 2021
add language box
{{languages|Debian}}= For version 4.0 x and newer =
'''TODOTesting .debs can be found in http://sourceforge.net/projects/gramps/files/Unstable/'''
{{man menu|Gramps 4 moved to setuptool/distutils installer.}} ==Dependency== * debian stuff  sudo apt-get install devscripts dpkg-dev fakeroot debhelper dh-linktree * [https://github.com/astraw/stdeb stdeb], which produces Debian source packages from Python packages via a new distutils command, sdist_dsc. Automatic defaults are provided for the Debian package, but many aspects of the resulting package can be customized. An additional command, bdist_deb, creates a Debian binary package, a .deb file. The debianize command builds a debian/ directory directly alongside your setup.py.  sudo apt-get install python-stdeb python3-all ==Build== For  *'''WARNING'''** The launcher under ''/usr/bin/gramps'' is using the '''same path''' for current stable release and this testing version . '''Backup your launcher''' if you want to install both versions. Translations might be also overwritten, you have been warned...** You need at least version '''3.3.2''' of python-gobject for Gramps '''4.x'''.** You cannot use greater version than '''2.28''' of python-gobject for Gramps '''3.4 and before.x'''. ===via a quick command line===  python setup.py --command-packages=stdeb.command bdist_deb * Custom tarball  python setup.py --command-packages=stdeb.command sdist_dsc or Instructions on creating the Debian <tt python setup.py --command-packages=stdeb.command sdist_dsc --depends "python-gobject (>= 3.deb<3.2)" ===via customized options=== These options are set into ''/tt> package for Ubuntu:debian'' folder.
* Ensure you have a working build environment
* For Ubuntu 7.04 or 7.10, install these tools:
sudo apt-get install devscripts dpkg-dev fakeroot debhelper libgconf2-dev
* For Ubuntu 8.04, install these tools:
sudo apt-get install devscripts dpkg-dev fakeroot debhelper libgconf2-dev python-xml
* For Ubuntu 12.04 install these tools:
sudo apt-get install devscripts dpkg-dev fakeroot debhelper libgconf2-dev
* Check out the necessary version; for example, to build the <tt>.deb</tt> file for GRAMPS version 3.4.3, you'll want to run:
mkdir ~/gramps
cd ~/gramps
svn co https://svn.code.sf.net/p/gramps/code/tags/gramps-3.4.3/
* Confirm that sudo apt-get install devscripts dpkg-dev fakeroot debhelper libgconf2-dev python-xml everything builds:
./autogen.sh
make
* Create the Changelog files:
svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
cd ..
* Create the <tt>.deb</tt> package:
cd debian
export DEBEMAIL='stephanecharette...@gmail.com..' export DEBFULLNAME='Stephane CharetteYour name'
cd ..
dch -v 34.40.3-3 0 "New upstream release, include two patchesfor Gramps 4.0.0"
dpkg-buildpackage -rfakeroot
: Remember to modify '''<tt>DEBEMAIL</tt>''' and '''<tt>DEBFULLNAME</tt>''' to reflect your e-mail and name.
===via Distutils=== Samples :  * https://github.com/astraw/stdeb/blob/master/stdeb/command/* https://github.com/kelvan/gotoVienna/blob/master/bdist_hdeb.py ==Test== $ lintian gramps_4.0.1-2_all.deb W: gramps: old-fsf-address-in-copyright-file W: gramps: extra-license-file usr/share/doc/gramps/COPYING.gz W: gramps: package-contains-upstream-install-documentation usr/share/doc/gramps/INSTALL W: gramps: extra-license-file usr/share/doc/gramps/LICENSE.gz W: gramps: menu-icon-missing usr/share/pixmaps/gramps.xpm ==webapp package== * How to include Makefile into deb package? setup.py:  - package_data_webapp = ['webapp/*.sql', 'webapp/grampsdb/sql/*.sql'] + package_data_webapp = ['webapp/*.sql', 'webapp/Makefile', 'webapp/grampsdb/sql/* Release .sql'] * Depends on python-django, python-sqlite Control:  Package: python-gramps-webapp Architecture: all Depends: python-django, python-sqlite, ${misc:Depends}, ${python:Depends} Rules:  #!/usr/bin/make -f  # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 export DH_OPTIONS=-v  %: dh $@ --with python2  # Override auto test because upstream do not use the <tt>standard unittest discover override_dh_auto_test:  # Override of auto_build override_dh_auto_build: python setup.py --server build  # Override of auto_install to remove information from package override_dh_auto_install: #dh_auto_install python setup.py --server install --root=debian/python-gramps-webapp --install-layout=deb<  # Make css style sheets and templates non-executable override_dh_fixperms: dh_fixperms chmod a-x $(CURDIR)/debian/python-gramps-webapp/usr/share/gramps/css/Web_*.css chmod a-x $(CURDIR)/debian/python-gramps-webapp/usr/share/gramps/templates/tt*.html  # Avoid compressing COPYING file so that it can appear in the "About" dialog override_dh_compress: #dh_compress -X COPYING * python 3 Control: X-Python3-Version: > files= 3.2  Package: python3-gramps-webapp Architecture: all Depends: python3-django, python3-sqlite, ${misc:Depends}, ${python3:Depends} Rules:  #!/usr/bin/make -f  # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 export DH_OPTIONS=-v  %: dh $@ --with python3  # Override auto test because upstream do not use the standard unittest discover override_dh_auto_test # Override of auto_build cd override_dh_auto_build: python3 setup.py --server build  # Override of auto_install to remove information from package override_dh_auto_install: #dh_auto_install python3 setup.py --server install --root=debian/python3-gramps-webapp --install-layout=deb  ls # Make css style sheets and templates non-executable override_dh_fixperms: dh_fixperms chmod a-x $(CURDIR)/debian/python3-gramps-webapp/usr/share/gramps/css/Web_*.debcss chmod a-x $(CURDIR)/debian/python3-gramps-webapp/usr/share/gramps/templates/*.html  # Avoid compressing COPYING file so that it can appear in the "About" dialog override_dh_compress: Note #dh_compress -X COPYING ==qml package== *Depends on python-pyside, gramps = Instructions on creating the Debian package for Ubuntu = * Check out the necessary version; for example, to build the '''<tt>gramps_3.4.3-3_all.deb</tt>''' filefor GRAMPS {{version}}, which needs you'll want to be uploaded to <tt>ftprun: git clone http://uploadgit.code.sourceforgesf.net/incomingp/gramps/source Gramps git checkout v{{version}} -b {{version}} * Create the Changelog files:  git log v{{version}}.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog git log v{{version}}.. --pretty --numstat --summary --no-merges -- po/*.po | git2cl > po/ChangeLog Using the <tt>Changelog</tt>files generated with <tt>git2cl</tt>, Modify <tt>MANIFEST.in</tt> + include ChangeLog + include po/ChangeLog
* The details on how things are going to be packaged into deb files, what are the dependencies, the pre- and post- install and removal scripts etc are under <tt>debian/</tt> directory. Please refer to the [http://www.debian.org/doc/maint-guide/ Debian New Maintainers' Guide] for further details.
[[Category:Developers/Packaging]]
3,019
edits

Navigation menu