File: README.source

package info (click to toggle)
moarvm 2020.12%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 18,652 kB
  • sloc: ansic: 268,178; perl: 8,186; python: 1,316; makefile: 768; sh: 287
file content (128 lines) | stat: -rw-r--r-- 3,826 bytes parent folder | download
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
116
117
118
119
120
121
122
123
124
125
126
127
128
Why dfsg version ?
==================

Moar tarball comes from upstream with convenience copies of upstream
projects in 3rdparty directory. Moar offers the possibility to compile
without using some of these copies (Run 'perl Configure.pl --help' to
see the related options).

We are trying to use Debian versions when:
- the software is available in Debian
- the software was not heavily modified upstream

Here the status on the convenience copies:

- libatomic_ops libtommath libuv:
  source files are excluded. Moar is built with Debian packages

- dynasm
  Upstream hosts repos which are taken from an unknown location.
  They may be modified but I've found no way to check. 
  AFAIK, Debian does not provide these softwares.

- dyncall
  moar is now built with libffi. dyncall is now excluded

- uthash.h:
  file is provided by uthash-dev 1.9.9.1+git20151125-1
  moar's uthash is a year old and different from Debian version.

- tinymt
  Not provided by Debian

- cmp
  Not provided by Debian. Even though libmsgpack provides a similar
  functionality

- sha1
  Debian provides librhash-dev with sha1 function. But it's not a drop-in
  replacement for 3rdparty/sha1/

- msinttypes
  To be investigated

Lintian overrides
=================

The RPATH check in lintian needs to be overridden, since the path
/usr/share/perl6/site/lib will be used by Rakudo packages that need to
install NativeCall libraries.

Source managed with git-buildpackage
====================================

We will use similar tools as described in the Perl Git Guide[1].

Today, I only use git-buildpackage, but I hope the Perl6 team will
adapt and provide similar tools to those used by the Perl5 group.

Upstream sources are kept (in plain, uncompressed form) in the
“upstream” branch. The data needed to regenerate original source
tarballs from the upstream branch are kept with the help of the
pristine-tar(1) tool in the “pristine-tar” branch. Upstream sources
are merged with Debian-specific changes in the “master” branch, which
is the usual place to work in.

The debian/changelog is managed with “gbp dch”.

Minimal “everything is working fine” steps to provide a new version
-------------------------------------------------------------------

* Clone the repository.  If it is already cloned, make sure to have the
  “upstream/master” and “pristine-tar” branches

    $ gbp clone --all --pristine-tar git@salsa.debian.org:perl6-team/moarvm.git moarvm

* Integrate the new upstream tarball

    (master) $ gbp import-orig --uscan

* Update the debian/patches to make them apply without fuzzy

    (master) $ gbp pq rebase
    (master) $ gbp pq export
    (master) $ git add debian/patches/
    (master) $ git commit -m "Update patches"

* Make sure that cme is happy

  $ cme check dpkg

* Optional: update copyright data

  $ cme update dpkg-copyright

* Optional: Prepare the debian/changelog for UNRELEASED package.
  This can be done from time to time before the release and should be
  ignored by gbp-dch

    (master) $ gbp dch -a -S
    (master) $ git add debian/changelog
    (master) $ git commit -m "$(echo -e 'Update debian/changelog\n\nGbp-Dch: Ignore')"

* Build the package

    (master) $ gbp buildpackage

* Make sure lintian is happy

    (master) $ lintian -i -I -E --pedantic ../moarvm*.changes

* Release the debian/changelog

    (master) $ gbp dch -a -R
    (master) $ git add debian/changelog
    (master) $ git commit -m "Release debian/changelog"

* Create the Debian release tag

    (master) $ gbp buildpackage --git-tag-only

* Push git branches and tags

    (master) $ git push origin master pristine-tar upstream/<VERSION> debian/<VERSION>-1

Footnotes:
[1]  https://pkg-perl.alioth.debian.org/git.html

 -- Dominique Dumont <dod@debian.org>, Sat, 27 Jun 2020 12:31:25 +0200