Difference between revisions of "Gpredict Packaging Status"

From MyLabWiki
Jump to: navigation, search
(Libcurl)
(New versions)
 
(19 intermediate revisions by one user not shown)
Line 1: Line 1:
== General ==
+
== Ubuntu ==
  
# Mac OS X: Build, Bundle, and Integrate, see http://gtk-osx.sourceforge.net/
+
All dependencies are available. It is just a matter of creating a DEB and uploading to PPA.
# Wintendo, see http://www.gtk.org/download-windows.html - though we want cross compilation, right. Build+installer. Compatibility matrix XP, Vista, 7. Is it enough with one 32 bit binary?
+
# Ubuntu: build+debs, use PPA? Latest on 32 and 64
+
  
== Goocanvas ==
+
* https://help.launchpad.net/Packaging
 +
* https://wiki.ubuntu.com/PackagingGuide → https://wiki.ubuntu.com/PackagingGuide/Complete
 +
 
 +
There are two videos explaining the basics of packaging using a simple example:
 +
* http://www.youtube.com/watch?v=zKLabbXTqMc
 +
* http://www.youtube.com/watch?v=SwTp1YnehoI
 +
* See complete list: https://wiki.ubuntu.com/MOTU/Videos
 +
 
 +
=== Tips ===
 +
 
 +
Since Gpredict is fully GNU autotools compliant and does not require any options to be specified, we can build using [https://wiki.ubuntu.com/PackagingGuide/Complete#Packaging%20with%20CDBS CDBS].
 +
 
 +
Using CDBS for Ubuntu packages is very easy, if the software you are packaging can be configured and built using the GNU autoconf tools (the "configure-make-make install" idiom). After adding cdbs to the Build-Depends in debian/control, a basic debian/rules file using CDBS can fit in 2 lines. For a simple C/C++ application with no extra rules, such as hello, debian/rules can look like this:
 +
 
 +
#!/usr/bin/make -f
 +
                         
 +
include /usr/share/cdbs/1/rules/debhelper.mk
 +
include /usr/share/cdbs/1/class/autotools.mk
 +
 
 +
That is all you need to build the program! CDBS handles installing and cleaning. You can then use the .install and .info files to tune your package with the usual debhelper functions in the various sections for debian/rules.
 +
 
 +
=== Result ===
 +
 
 +
Following the video tutorial steps I managed to create both the source (required for the PPA) and a binary .deb. I was using the cdbs trick above.
 +
 
 +
The binary was created using pbuilder. Before pbuilder is useful it has to be set up:
 +
 
 +
sudo pbuilder create
 +
 
 +
Moreover, since goocanvas is in universe it has to be enabled, otherwise it will not be able to resolve the dependency:
 +
 
 +
sudo pbuilder update --components "main restricted universe multiverse" --override-config
 +
 
 +
=== New versions ===
 +
 
 +
Packaging new versions is now much easier based on the existing template:
 +
# Create the gpredict_x.y.orig.tar.gz and unpack it
 +
# Copy the debian folder from the previous version
 +
# Update the files in there (at least the changelog must be updated)
 +
# Run "debuild -S -sa" in the gpredict-x.y/ directory
 +
#* In case of signature problems (more than one key for same email address), use "debuild -S -sa -kKEYID"
 +
# Must be executed on the computer that contains the proper PGP key for signing (or else a new key must be uploaded to the keyserver)
 +
# Upload the necessary files to the PPA builder: "dput ppa:gpredict-team/ppa gpredict_1.2-ppa1+jaunty_source.changes"
 +
 
 +
== Mac OS X ==
 +
 
 +
=== Gtk+ ===
 +
 
 +
Build, Bundle, and Integrate, see http://gtk-osx.sourceforge.net/
 +
 
 +
Note: gedit comes as native OS X package
 +
 
 +
=== Goocanvas ===
  
 
Should be able to build as regular Gtk+-based library
 
Should be able to build as regular Gtk+-based library
  
== Libcurl ==
+
=== Libcurl ===
  
* For windows there are pre-compiled binaries at http://curl.haxx.se/download.html
 
 
* For Mac I only see it via Mac ports. See however this Mac developer site: http://www.opensource.apple.com/ – MacPorts might be an option but I don't really want X11...
 
* For Mac I only see it via Mac ports. See however this Mac developer site: http://www.opensource.apple.com/ – MacPorts might be an option but I don't really want X11...
 +
 +
 +
=== Hamlib ===
 +
 +
== Wintendo ==
 +
 +
=== Gtk+ ===
 +
 +
http://www.gtk.org/download-windows.html - though we want cross compilation, right. Build+installer. Compatibility matrix XP, Vista, 7. Is it enough with one 32 bit binary? Fortunately, Joop has figured it out http://cvs.savannah.gnu.org/viewvc/xlog/xlog/
 +
 +
=== GooCanvas ===
 +
 +
Should be able to build once Gtk+ is set up for build.
 +
 +
=== Libcurl ===
 +
 +
* For windows there are pre-compiled binaries at http://curl.haxx.se/download.html
 +
 +
 +
=== Hamlib ===
 +
 +
Latest hamlib is avaialble as win32 package.
 +
 +
 +
== Generic Linux ==
 +
 +
tgz that can be unpacked anywhere. Needs mod to compat.h for locating data files.
  
  
 
[[Category:Gpredict]]
 
[[Category:Gpredict]]

Latest revision as of 15:59, 6 March 2011

Contents

Ubuntu

All dependencies are available. It is just a matter of creating a DEB and uploading to PPA.

There are two videos explaining the basics of packaging using a simple example:

Tips

Since Gpredict is fully GNU autotools compliant and does not require any options to be specified, we can build using CDBS.

Using CDBS for Ubuntu packages is very easy, if the software you are packaging can be configured and built using the GNU autoconf tools (the "configure-make-make install" idiom). After adding cdbs to the Build-Depends in debian/control, a basic debian/rules file using CDBS can fit in 2 lines. For a simple C/C++ application with no extra rules, such as hello, debian/rules can look like this:

#!/usr/bin/make -f
                          
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk

That is all you need to build the program! CDBS handles installing and cleaning. You can then use the .install and .info files to tune your package with the usual debhelper functions in the various sections for debian/rules.

Result

Following the video tutorial steps I managed to create both the source (required for the PPA) and a binary .deb. I was using the cdbs trick above.

The binary was created using pbuilder. Before pbuilder is useful it has to be set up:

sudo pbuilder create

Moreover, since goocanvas is in universe it has to be enabled, otherwise it will not be able to resolve the dependency:

sudo pbuilder update --components "main restricted universe multiverse" --override-config

New versions

Packaging new versions is now much easier based on the existing template:

  1. Create the gpredict_x.y.orig.tar.gz and unpack it
  2. Copy the debian folder from the previous version
  3. Update the files in there (at least the changelog must be updated)
  4. Run "debuild -S -sa" in the gpredict-x.y/ directory
    • In case of signature problems (more than one key for same email address), use "debuild -S -sa -kKEYID"
  5. Must be executed on the computer that contains the proper PGP key for signing (or else a new key must be uploaded to the keyserver)
  6. Upload the necessary files to the PPA builder: "dput ppa:gpredict-team/ppa gpredict_1.2-ppa1+jaunty_source.changes"

Mac OS X

Gtk+

Build, Bundle, and Integrate, see http://gtk-osx.sourceforge.net/

Note: gedit comes as native OS X package

Goocanvas

Should be able to build as regular Gtk+-based library

Libcurl

  • For Mac I only see it via Mac ports. See however this Mac developer site: http://www.opensource.apple.com/ – MacPorts might be an option but I don't really want X11...


Hamlib

Wintendo

Gtk+

http://www.gtk.org/download-windows.html - though we want cross compilation, right. Build+installer. Compatibility matrix XP, Vista, 7. Is it enough with one 32 bit binary? Fortunately, Joop has figured it out http://cvs.savannah.gnu.org/viewvc/xlog/xlog/

GooCanvas

Should be able to build once Gtk+ is set up for build.

Libcurl


Hamlib

Latest hamlib is avaialble as win32 package.


Generic Linux

tgz that can be unpacked anywhere. Needs mod to compat.h for locating data files.