NEWS

SURVEY

Cooperation between companies and communities in open source mobile Linux projects:

I let you fill that survey someone promoted on irc but here is my suggestion in case you have no idea

First thing would be to list overlapping activities (ie: distro core, packaging, html5 api, qt/qml commponents, etc)

reinventing the wheel is energy waste isnt it ?

Related Links :

PKG

Here is a draft about a past meego session in KL malaysia. It was a bit too technical for the audiance so I kept is as draft… and talked about the general idea of cooperation and openness…

It may worth a read if youre facing deb vs rpm questions …

COOPERATION

MeeGo is a RpM based distro, but derived of MaemO which is a fork of DebiaN and uses deb package format, so what ?

  • start the “deb vs rpm” holy eternal war ? no way
  • respect divergence, that's the base of FreeDom
  • let's focus on cooperation, it will pay in the end

Debian:

  • large community driven distro and used by its project maemo
  • powerful packaging tools : ie git-buildpackage
  • enhance collaboration with upstream (nice patches stack)
  • future proof community : feedback : patches bug etc
  • deb based distros (harmattan qtmoko ubuntu linaro etc)

RPM :

  • moblin, fedora, suse etc
  • single spec file
  • may be simpler than deb but less powerful AFIK

RPM source package can be be created easily from deb source package, and then we can provide the best of both world …

FeedBack :

DEB PACKAGING

Meego Harmattan or maemo , can rebuild debian packages from source packages with no changes so look if someone started that job if not then the world is waiting for you to :

Unpack archive

cd package-0.0.0

Add a least 3 files

  • debian/control
  • debian/rules
  • debian/copyright
dh_make

Now build the package to a deb file :

debuild

If it fails to create a deb file you may need to :

  • install extra packages and then update debian/control BuildDepends flag …
  • patch the source code ie tweek the makefiles

Once its ok you'll have to build a source package :

debuild -S

Will produce a .orig.tar.* symlink to the archive you unpacked And a diff.gz or debian.tar.gz file of the debian files created before

Now you can try to rebuild it on a minimal system or upload to a compilation factory (ie: obs )

Reference : http://www.debian.org/doc/maint-guide/

Now you can deploy it and test it on harmattan or plain debian or derived distro : ubuntu, mint etc

RPM MEEGO

Half way done, please dont stop here or skip previous step, now let's build a rpm on the same base, just create a spec file to reuse previous debian output files

%define patchversion 0~rzr3
Name: p-uae
Version: 0.0.20110702
Source0: http://rzr.online.fr/ubuntu/pool/main/p/p-uae/%{name}_%{version}.orig.tar.gz
Patch0: http://rzr.online.fr/ubuntu/pool/main/p/p-uae/%{name}_%{version}-%{patchversion}.diff.gz
...
  
%prep  
%setup -q -n p-uae-%{version}
%patch0 -p1  
...

Note, this way we're only reuse patches not the dependencies or build rule, I am sure this can be factorized but I havent investigated enough …

PUBLISHING

Final step is to publish the sources to online builder (obs) and check for issues …

https://build.pub.meego.com/project/show?project=home%3Arzr

Last but not least promote the project on the forums and wait for feedback

GOING FURTHER

You may ask me to build snapshot versions of your project and be hosted into the shared repo of harmattan, and other meego ones and if possible on other distros too

WORKFLOW

  • someone create a software
  • the program is published as opensource (libre is prefered)
  • debian patch is created and published
  • rpm metafile is created: .spec file that refer the 2 previous files
  • files are uploaded to obs and builder create the wanted binary packages
  • announce is made on your favorite forum
  • users set up their system and install those fantastic software
  • users report issues or enhancements or join the project for documentation etc
  • enjoy your time to relax while others are doing the same as you did

MISC

MORE

pkg.txt · Last modified: 2022/04/16 12:23 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki