Editing User:Jaffa/mud design

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
With the new [[Extras repository process definition|extras process]], [http://mud-builder.garage.maemo.org/ mud-builder] should be re-focused<ref>[https://garage.maemo.org/pipermail/mud-builder-users/2008-June/000255.html MUD Direction?], ''Andrew Flegg'', 26 June 2008</ref> and re-invigorated to help packaging in accordance with the Maemo Packaging Policy<ref>[https://maemo.org/forrest-images/pdf/maemo-policy.pdf Maemo Packaging Policy], ''Eero Tamminen'', 28 May 2008</ref> and [[Uploading to Extras-devel]].
+
With the new [[Extras repository process definition|extras process]], [http://mud-builder-garage.maemo.org/ mud-builder] should be re-focused[https://garage.maemo.org/pipermail/mud-builder-users/2008-June/000255.html] and re-invigorated to help packaging in accordance with the Maemo Packaging Policy[https://maemo.org/forrest-images/pdf/maemo-policy.pdf] and [[Uploading to extras]].
== Requirements ==
== Requirements ==
-
* Taking an upstream project (from somewhere) and applying zero or more patches for Maemo.
+
* Any package patched, or not from a existing deb source, needs to have a ''maemo'' version suffix.
-
** Automate creation of projects.
+
** 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.
-
** Take URL of upstream source deb info page (fish out .dsc, .diff.gz and .tar.gz).
+
** 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'''.
-
** Take URL of upstream tarball <strike>done</strike>
+
** 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.
-
* Provide easy in-life management, e.g. changelogs and maintaining the patch.
+
* Warnings should be given when uploading a package with "Section: user/(.*)" where <code>$1</code> is not in the accepted list.
-
* Proper debification and Maemo additions (like <code>Section: user/</code> and the icon) <strike>done</strike>
+
* It is an error to try and upload a package with no description.
-
* 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 <code>$1</code> 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
* 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 [https://bugs.maemo.org/show_bug.cgi?id=3354 #3354])
+
** Use scp to upload all the files, uploading .changes and .dsc ''last'', to avoid auto-builder issues (driven by .dsc files)
-
* Auto-determine Build-Depends <strike>r234</strike>
+
* 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.
 +
* Provide easy in-life management, e.g. changelogs.
== Examples ==
== Examples ==
Line 40: Line 36:
== Workflow ==
== Workflow ==
-
Use quilt<ref>[http://www.suse.de/~agruen/quilt.pdf "Introduction to Quilt", ''Andreas Gr¨unbacher'', June 12 2005</ref>?
 
-
 
TBC
TBC
== Internals ==
== Internals ==
-
 
+
Awaiting consensus on usage.
-
=== Package structure ===
+
-
Instead of having <code>''package''.xml</code>, <code>patches/''package''.patch</code> and <code>icon/''package''</code>, v2.0 of mud should have more consolidation:
+
-
 
+
-
''package''.pkg/
+
-
  mud.xml - required
+
-
  ''package''.png - optional icon, used if -nn not present
+
-
  ''package''-26.png - optional, if present copied to right place
+
-
  ''package''-64.png - optional, if present copied to right place
+
-
  ''package''.desktop - if present, auto-copied to right place
+
-
  ''package''.service - if present, auto-copied to right place
+
-
  extras.xml- optional specification of file destinations, modes, owners, groups etc.
+
-
  extras/ - copied to ''build-dir''/mud-extras
+
-
    ...
+
-
  patches/ - contains quilt patch set
+
-
    ...
+
-
    ...
+
-
 
+
-
Icon files, desktop and service files are auto-considered part of 'extras' with implicit rules for their destination.
+
-
 
+
-
<pre>
+
-
&lt;extras&gt;
+
-
  &lt;file name="foo.sh"&gt;
+
-
    &lt;destination path="/usr/bin/foo.sh" [mode="auto|0755" ][owner="..."][group="..." ]/&gt;
+
-
    &lt;destination path="/usr/bin/foo2.sh" /&gt;
+
-
  &lt;/file&gt;
+
-
&lt;/extras&gt;
+
-
</pre>
+
-
 
+
-
Mode is optional (set to 0644 if unspecified, unless the file starts #!). Owner and group default to root. <code>install -D</code> lines are auto-added to end of <code>debian/rules:install</code>.
+
=== Install steps ===
=== Install steps ===
 +
# Ensure mmap given permission in host OS.
# Add extras and extras-devel to /etc/apt/sources.list.d in Scratchbox
# Add extras and extras-devel to /etc/apt/sources.list.d in Scratchbox
# Install mud.
# Install mud.
Line 82: Line 48:
For example:
For example:
 +
echo 4096 | sudo tee /proc/sys/vm/mmap_min_addr
  /scratchbox/login
  /scratchbox/login
  for j in '' '-src'; do for i in '' '-devel'; do
  for j in '' '-src'; do for i in '' '-devel'; do
Line 91: Line 58:
  GPG_KEY=FC11178D
  GPG_KEY=FC11178D
  EOM
  EOM
-
 
-
=== Extras package ===
 
-
mud should be in Extras, and needs dependencies on:
 
-
* xsltproc
 
-
* devscripts
 
-
* gnupg
 
-
* sharutils
 
-
 
-
Suggests:
 
-
* imagemagick
 
-
 
-
== Notes ==
 
-
 
-
<references />
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)