User:Jaffa/mud design

m (Install steps: Remove stuff already part of INSTALL.txt)
m (Workflow: Add quilt link)
Line 40: Line 40:
== Workflow ==
== Workflow ==
 +
Use quilt<ref>[http://www.suse.de/~agruen/quilt.pdf "Introduction to Quilt", ''Andreas Gr¨unbacher'', June 12 2005</ref>?
 +
TBC
TBC

Revision as of 12:12, 7 July 2008

With the new extras process, mud-builder should be re-focused[1] and re-invigorated to help packaging in accordance with the Maemo Packaging Policy[2] and Uploading to extras.

Contents

Requirements

  • Taking an upstream project (from somewhere) and applying zero or more patches for Maemo.
    • Automate creation of projects.
    • Take URL of upstream source deb info page (fish out .dsc, .diff.gz and .tar.gz).
    • Take URL of upstream tarball done
  • Provide easy in-life management, e.g. changelogs and maintaining the patch.
  • Proper debification and Maemo additions (like Section: user/ and the icon) done
  • Conformant with the Maemo Packaging Policy:
    • Any package patched, or not from a existing deb source, needs to have a maemo version suffix.
      • For example, if the base version is 7.0, the package version from mud should be 7.0-0maemo1 for the first upload, 7.0-0maemo2 for the second, etc.
      • If the upstream package comes from Debian (with version 3.5-7) and is unpatched, the package uploaded from mud is also 3.5-7.
      • If the upstream package comes from Debian (with version 3.5-7) and is patched, the package uploaded from mud is 3.5-7maemo1 for the first upload, 3.5-7maemo2 for the second, etc.
    • Warnings should be given when uploading a package with "Section: user/(.*)" where $1 is not in the accepted list.
    • It is an error to try and upload a package with no description.
  • Auto-sign & upload to ...-extras-builder in one-step
    • Use scp to upload all the files, uploading .changes and .dsc last, to avoid auto-builder issues (driven by .dsc files and #3354)
  • Auto-determine Build-Depends r234

Examples

Create new packages within mud's packages/ directory. They can then be manipulated, built, edited and uploaded:

mud create http://packages.debian.org/source/lenny/cal
mud create http://packages.ubuntu.com/source/hardy/libgee
mud create http://download.gnome.org/sources/vala/0.3/vala-0.3.4.tar.bz2
mud create new-package

Take a package (for example, from the upstream deb source - in the above case - Ubuntu Hardy), build it; sign it and upload it to diablo-extras-builder:

mud build libgee
mud upload libgee

Typical workflow for getting a package, unpacking the source, editing it, checking the result and then cleaning out the working copy:

mud get vala
mud compile vala
...
mud diff vala
...
mud compile vala
mud clean vala

Workflow

Use quilt[3]?

TBC

Internals

Awaiting consensus on usage.

Install steps

  1. Add extras and extras-devel to /etc/apt/sources.list.d in Scratchbox
  2. Install mud.
  3. Create ~/.mudrc containing garage username and gnupg key to use

For example:

/scratchbox/login
for j in  '-src'; do for i in  '-devel'; do
  echo "deb$j http://repository.maemo.org/extras$i diablo free non-free" >>/etc/apt/sources.list.d/extras-repo.list
done; done
apt-get update && apt-get install mud
cat >~/.mudrc <<EOM
USERNAME=jaffa
GPG_KEY=FC11178D
EOM

Notes

Template:Refs


Cite error: <ref> tags exist, but no <references/> tag was found