forked from LinuxCNC/linuxcnc
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.source
More file actions
95 lines (62 loc) · 2.57 KB
/
README.source
File metadata and controls
95 lines (62 loc) · 2.57 KB
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
Debian packaging of LinuxCNC
============================
The following steps were performed to transform Upstream's git repository
into
- a source tarball and
- a debian subdirectory
for Debian's main distribution.
LinuxCNC is used across a wide span of releases, now supporting from
Squeeze up to the latest version of Ubuntu. Not too many changes are
required for Debian unstable.
Steps
-----
1. Generate the source tarball, This will use the version as specified
in the first line of tthe debian/changelog file. And maybe remove
anything outdated, just to avoid confusions:
If this is not the original tarball but an interim git tag/snapshot,
then set the version in debian/changelog. For git checkout, the
version stated in debian/changelog receives the suffix +gitYYYYMMDD.githash
rm -fi ../linuxcnc_*
debian/rules get-orig-source
unset WORKDIR
2. Prepare shell to work in temp directory
export WORKDIR=$(mktemp -d)
mv linuxcnc_*.orig.tar.xz ${WORKDIR}/
bash
pushd $WORKDIR
echo -n "I: Now working in "; pwd
3. Unpack
tar xJvf linuxcnc_*.orig.tar.xz
cd linuxcnc
4. Configure debian directory for the "uspace" packages that are
prepared for the Non-RTAI but preempt realtime kernels that are
distributed with Debian.
debian/configure
5. Slightly adapt for upload to d/unstable
sed -i '/^Standards-Version: /s/ [0-9.]*/ 4.6.0/' debian/control
sed -i '1s/ stable;/ unstable;/' debian/changelog
mkdir -p debian/source
echo "3.0 (quilt)" > debian/source/format
# debian version
if ! head -n 1 debian/changelog | grep -q -- "-1)"; then sed -i '1s/) /-1) /' debian/changelog; else echo "I: dversion already set"; fi
# no epoch
sed -i '1s/([0-9]:/(/' debian/changelog
6a. build Debian package if in doubt - optional
dpkg-buildpackage -rfakeroot
6b. build Debian source package, which is what is uploaded to Debian upon acceptance and for updates
dpkg-buildpackage -S
7. test build in cowbuilder
sudo cowbuilder --update
sudo cowbuilder --build ../linuxcnc_*.dsc
8. check that nothing avoidable slipped through
lintian -i /var/cache/pbuilder/results/linuxcnc_*.changes
8. get all the files just created
exit
mv ${WORKDIR}/linuxcnc_* ..
Above sketched differences are not impeding routine workflows of Debian
packaging. For instance we found that the routine-update script (from the
Debian Science team) deals with these adaptations just fine.
How to contribute
-----------------
LinuxCNC does not have a representation on salsa.debian.org.
Please join us on https://github.com/LinuxCNC/linuxcnc/ .