Changes

Jump to: navigation, search

Debian

4,237 bytes added, 07:16, 27 May 2021
add language box
Instructions on creating {{languages|Debian}}= For version 4.x and newer = '''Testing .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 <tt>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== *'''WARNING'''** The launcher under ''/ttusr/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.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  python setup.py --command-packages=stdeb.command sdist_dsc --depends "python-gobject (> package for Ubuntu:= 3.3.2)" ===via customized options=== These options are set into ''/debian'' folder.
* Ensure you have a working build environment; for example, see [[Running a development version of Gramps]].
* 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
* Check out the necessary version; for example, to build the <tt>.deb</tt> file for GRAMPS version 2.2.9, you'll want to run:
mkdir ~/gramps
cd ~/gramps
svn co https://gramps.svn.sourceforge.net/svnroot/gramps/tags/gramps-2.2.9
* Confirm that everything builds:
./autogen.sh
make
* Create the <tt>.deb</tt> package:
cd debian
export DEBEMAIL='stephanecharette...@gmail.com..' export DEBFULLNAME='Stephane CharetteYour name' dch -v 2.2.9-1 "New upstream release"
cd ..
dch -v 4.0.0 "New upstream for 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/* Release the <tt>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/tt> filesCOPYING.gz W: gramps:package-contains-upstream-install-documentation usr/share/doc/gramps/INSTALL cd W: gramps: extra-license-file usr/share/doc/gramps/LICENSE.gz W: gramps: menu-icon-missing usr/share/pixmaps/gramps.xpm ==webapp package==  ls *.How to include Makefile into debpackage? setup.py: Note the 2 files   - package_data_webapp = ['webapp/*.sql', '<tt>gramps_2webapp/grampsdb/sql/*.2.9-1_allsql'] + package_data_webapp = ['webapp/*.deb</tt>sql', 'webapp/Makefile' and , 'webapp/grampsdb/sql/*.sql''<tt>] * Depends on python-django, python-sqlite Control:  Package: python-gramps-help_2webapp Architecture: all Depends: python-django, python-sqlite, ${misc:Depends}, ${python:Depends} Rules:  #!/usr/bin/make -f  # Uncomment this to turn on verbose mode.2 export DH_VERBOSE=1 export DH_OPTIONS=-v  %: dh [email protected] --with python2  # Override auto test because upstream do not use the standard unittest discover override_dh_auto_test:  # Override of auto_build override_dh_auto_build: python setup.9py -1_all-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: >'''= 3.2  Package: python3-gramps-webapp Architecture: all Depends: python3-django, python3-sqlite, ${misc:Depends}, both ${python3:Depends} Rules:  #!/usr/bin/make -f  # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 export DH_OPTIONS=-v  %: dh [email protected] --with python3  # Override auto test because upstream do not use the standard unittest discover override_dh_auto_test:  # Override of which need auto_build override_dh_auto_build: python3 setup.py --server build  # Override of auto_install to be uploaded remove information from package override_dh_auto_install: #dh_auto_install python3 setup.py --server install --root=debian/python3-gramps-webapp --install-layout=deb  # 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_*.css 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: #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>ftp.deb</tt> file for GRAMPS {{version}}, you'll want to run: 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]]
1,425
edits

Navigation menu