File: perl-cross-staging.1

package info (click to toggle)
perl-cross-debian 0.0.5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, sid, stretch
  • size: 2,932 kB
  • ctags: 190
  • sloc: sh: 15,846; makefile: 1,269; ansic: 846; xml: 408; perl: 159
file content (127 lines) | stat: -rw-r--r-- 6,055 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
'\" t
.\"     Title: PERL-CROSS-STAGING
.\"    Author: Neil Williams <codehelp@debian.org>
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\"      Date: 05/19/2013
.\"    Manual: perl-cross-staging User Manual
.\"    Source: perl-cross-staging
.\"  Language: English
.\"
.TH "PERL\-CROSS\-STAGING" "1" "05/19/2013" "perl-cross-staging" "perl-cross-staging User Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
perl-cross-staging \- Long term maintenance of cross\-build support for the Debian configuration of perl
.SH "SYNOPSIS"
.HP \w'\fBperl\-cross\-staging\fR\ 'u
\fBperl\-cross\-staging\fR
.PP
\fBperl\-cross\-staging\fR
takes no commands or options\&.
.SH "DESCRIPTION"
.PP
\fBperl\-cross\-staging\fR
supports the long term maintenance of cross\-build support for the Debian configuration of perl\&.
.PP
\fBperl\-cross\-staging\fR
assists in the producuction of config files from the current perl build tree to update existing perl\-cross\-debian support by staging native builds of perl patched to support
\fBperl\-cross\-staging\fR\&.
.PP
Config files generated by
\fBperl\-cross\-staging\fR
need substantial manual editing and updating before being usable for a cross\-build or inclusion into
\fBperl\-cross\-debian\fR\&.
.SH "UPDATING CROSS CONFIG FILES"
.PP
Each new version of perl introduces and rearranges the existing config values and the config\&.h and config\&.sh files for each variant need to be updated\&.
.PP
Some sections simply need to be moved around within the file for easier comparison, some sections will be new (and may need adjustment if the new values are architecture\-sensitive) and some may need to be removed\&. Some values include the version string of the perl version being built\&. Some values include the name of the compiler or preprocessor\&. There are values which specify the original build directory and these need to be replaced with PERL_BUILD_DIR:
.sp
.if n \{\
.RS 4
.\}
.nf
installarchlib=\*(AqPERL_BUILD_DIR/debian/tmp/usr/lib/perl/5\&.16\*(Aq
    
.fi
.if n \{\
.RE
.\}
.PP
Missing values will be easiest to spot as these cause the build to fail with invalid preprocessing directives\&.
.sp
.if n \{\
.RS 4
.\}
.nf
config\&.h:2229:3: error: invalid preprocessing directive #HAS_STATIC_INLINE
config\&.h:2766:3: error: invalid preprocessing directive #HAS_SOCKADDR_SA_LEN
config\&.h:2773:3: error: invalid preprocessing directive #HAS_SIN6_SCOPE_ID
config\&.h:3614:3: error: invalid preprocessing directive #HAS_PRCTL
config\&.h:3615:3: error: invalid preprocessing directive #HAS_PRCTL_SET_NAME
.fi
.if n \{\
.RE
.\}
.PP
Probably the biggest problem is reorganisation of the files which arises because the files are all generated, rather than edited\&. This can easily lead to sections being added in one place of the file and being repeated (with differing values) elsewhere\&. Use a comparison tool like
\fBmeld\fR
to push snippets in and out of the staged files with usable previous/next search/find regexp support\&.
.PP
Once one of the variant files has been updated, merge the changes into the other staged variants before comparing those with the files from the previous version of perl\&.
.PP
Old perl version strings also need to be updated\&.
.SH "ARCHITECTURE"
.PP
Typically,
\fBperl\-cross\-staging\fR
is run for the native architecture on the expectation that most of the updates to the staged files will include changes for the cross architecture\&. e\&.g\&. updates for 5\&.16\&.2 were prepared by staging amd64 and porting the updates into the cross architecture files for 5\&.14\&.2\&.
.PP
\fBperl\-cross\-staging\fR
does support attempting to stage a cross build but this has not been tested\&. Please report success or failure\&.
.SH "UPSTREAM SUPPORT"
.PP
Note that work is ongoing to get perl cross\-building upstream and this is not complete\&.
\fBperl\-cross\-staging\fR
will need changes once this work is complete\&. The aim is to make it easier to obtain the configuration value cache for architectures where real hardware or an emulation model can be accessed over a network\&. This work takes place at https://github\&.com/codehelp/perl/tree/jrobinson/configure\-for\-cross which is intermittently pulled into the main cross\-configure branch at https://github\&.com/castaway/perl/tree/jrobinson/configure\-for\-cross
.SH "BUGS"
.PP
Currently
\fBperl\-cross\-staging\fR
does not substitute the working directory for PERL_BUILD_DIR in the \&.sh scripts \- this is left as one of the manual steps required before including the generated files into
\fBperl\-cross\-debian\fR\&.
.SH "AUTHOR"
.PP
\fBNeil Williams\fR <\&codehelp@debian\&.org\&>
.RS 4
Wrote this manpage for the Debian system\&.
.RE
.SH "COPYRIGHT"
.br
Copyright \(co 2012 Neil Williams
.br
.PP
This manual page was written for the Debian system (and may be used by others)\&.
.PP
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation\&.
.PP
On Debian systems, the complete text of the GNU General Public License can be found in
/usr/share/common\-licenses/GPL\&.
.sp