summaryrefslogtreecommitdiffstats
path: root/dev/pkg/spf-2.0.mdwn
blob: c982b4aee32ef8ff649e16d446631db304cdba0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
[[!meta title="SPF 2.0 Packaging Transition"]]

The [specification for source package format 2.0][spf-2.0] is being drafted.
[SPF 1.0][spf-1.0] is deprecated, and no distribution build system in ProteanOS
1.0 will support it.

opkhelper 3.0 is in development, and opkhelper 1.0 will not be included in
ProteanOS 1.0.

Many packages in ProteanOS still use SPF 1.0 and opkhelper 1.0.  They need to be
updated to SPF 2.0 and opkhelper 3.0 to be released with ProteanOS 1.0.

[spf-1.0]: http://specs.proteanos.com/source-package-format-1.0.html
[spf-2.0]: http://specs.proteanos.com/spf-2.0/


Packages
========

The following packages currently need to be upgraded:

Unclaimed Packages
------------------

  * `alsa-lib`
  * `alsa-utils`
  * `dbus`
  * `glib`
  * `mpd`

Claimed Packages
----------------

In-Progress Packages
--------------------

Finished Packages
-----------------

  * `base-files`
  * `build-essential`
  * `busybox`
  * `eglibc`
  * `expat`
  * `fakeroot`
  * `gcc-defaults`
  * `gettext`
  * `linux-libre`
  * `ncurses`
  * `opkg`
  * `opkhelper-3.0`
  * `opkhelper-default`
  * `zlib`


Changes Necessary
=================

See the SPF 2.0 specification for [a list of changes][spf-changes] introduced
since SPF 1.0.

These are the most common changes to update packages to SPF 2.0:

  * Remove the old `Source` and `Version` [source package fields][spf-fields-s].
  * Remove the old `Package` [binary package field][spf-fields-b].
  * Add a `Platform` [binary package field][spf-fields-b] (usually with the
    value "`all`").
  * Rewrite [`build` makefiles][spf-build] to use the new `build` and `install`
    targets.
  * Add [a file called "`docs`"][spf-docs] to exactly one binary package
    metadata directory.  This file may be empty.

See the manual pages for opkhelper 3.0 utilities to learn more about their
options.

These are the most common changes to update packages to opkhelper 3.0 and to use
multiarch library directories:

  * Remove calls to obsolete opkhelper 1.0 utilities, e.g. `oh-installdocs`,
    `oh-gencontrol`, and `oh-buildopk`.
  * Update arguments given to opkhelper utilities.  `oh-installfiles` no longer
    needs a list of packages, and `oh-strip` no longer needs a list of files.
  * Use new `oh-auto*` build system utilities.
  * Change commands like "`rm -f /usr/lib/lib….la`" to
    "`rm -f /usr/lib/*/lib….la`".
  * Rename `<binpkg>.pkg/install` to `<binpkg>.pkg/files`.
  * Change "`/usr/lib/lib….so…`" patterns to "`/usr/lib/*/lib….so…`" in
    `<binpkg>.pkg/files`.
  * Add "`opkhelper-3.0`" to `Build-Depends`.

Finally, add a [`changelog` entry][spf-changelog] documenting the changes.  Be
sure to add "`trunk`" (the distribution) to the end of the first line of the new
entry.  Also make sure the version identifier is [properly formed][spf-ver].
Following is an example changelog entry (from [zlib][zlib-changelog]):

    zlib (1.2.7+sip1-1) trunk
    
      * New upstream version.
      * Update to SPF 2.0 and opkhelper 3.0.
      * Use multiarch library directories.
      * Don't distribute IETF RFCs (SIP compliance).
    
     -- "P. J. McDermott" <pjm@nac.net> Wed, 03 Apr 2013 15:06:09 -0400

See [this commit][zlib-update] for an example of the changes.

[spf-changes]: http://specs.proteanos.com/spf-2.0/about.html#changes
[spf-fields-s]: http://specs.proteanos.com/spf-2.0/fields.html#fields-src
[spf-fields-b]: http://specs.proteanos.com/spf-2.0/fields.html#fields-bin
[spf-build]: http://specs.proteanos.com/spf-2.0/buildsys.html#build
[spf-docs]: http://specs.proteanos.com/spf-2.0/metadata.html#docs
[spf-changelog]: http://specs.proteanos.com/spf-2.0/metadata.html#changelog
[spf-ver]: http://specs.proteanos.com/spf-2.0/metadata.html#src-ver
[zlib-changelog]: http://git.proteanos.com/pkg/zlib.git/tree/changelog?id=03828eb2
[zlib-update]: http://git.proteanos.com/pkg/zlib.git/commit/?id=791200f2