source: networking/netprogs/ncftp.xml@ 89b9739

gimp3 trunk
Last change on this file since 89b9739 was 51772cc, checked in by Douglas R. Reno <renodr@…>, 6 weeks ago

ncftp: fix building with GCC-14.

  • Property mode set to 100644
File size: 10.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ncftp-download-http "https://www.ncftp.com/downloads/ncftp/ncftp-&ncftp-version;-src.tar.xz">
8 <!ENTITY ncftp-download-ftp " ">
9 <!ENTITY ncftp-md5sum "bbcb048d2412f4d62bc798818e703680">
10 <!ENTITY ncftp-size "416 KB">
11 <!ENTITY ncftp-buildsize "6.9 MB">
12 <!ENTITY ncftp-time "0.2 SBU">
13]>
14
15<sect1 id="ncftp" xreflabel="NcFTP-&ncftp-version;">
16 <?dbhtml filename="ncftp.html"?>
17
18
19<title>NcFTP-&ncftp-version;</title>
20
21 <indexterm zone="ncftp">
22 <primary sortas="a-NcFTP">NcFTP</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to NcFTP</title>
27
28 <para>
29 The <application>NcFTP</application> package contains
30 a powerful and flexible interface to the Internet standard File Transfer
31 Protocol. It is intended to replace or supplement the stock
32 <command>ftp</command> program.
33 </para>
34
35 &lfs121_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&ncftp-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&ncftp-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &ncftp-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &ncftp-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &ncftp-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &ncftp-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70<!--
71 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
72 <itemizedlist spacing="compact">
73 <listitem>
74 <para>
75 Required patch:
76 <ulink url="&patch-root;/ncftp-&ncftp-version;-configure_fixes-1.patch"/>
77 </para>
78 </listitem>
79 </itemizedlist>
80
81 <bridgehead renderas="sect3">NcFTP Dependencies</bridgehead>
82
83 <bridgehead renderas="sect4">Optional</bridgehead>
84 <para role="optional">
85 <xref linkend="llvm"/> (with Clang, used by default if installed)
86 </para>
87-->
88 </sect2>
89
90 <sect2 role="installation">
91 <title>Installation of NcFTP</title>
92
93 <para>
94 There are two ways to build <application>NcFTP</application>. The first
95 (and optimal) way builds most of the functionality as a shared library
96 and then builds and installs the program linked against this library.
97 The second method simply links all of the functionality into the binary
98 statically. This doesn't make the dynamic library available for linking
99 by other applications. You need to choose which method best suits you.
100 Note that the second method does <emphasis>not</emphasis> create an
101 entirely statically linked binary; only the <filename
102 class="libraryfile">libncftp</filename> parts are statically linked in,
103 in this case. Be aware that building and using the shared library is
104 covered by the Clarified Artistic License; however, developing
105 applications that utilize the shared library is subject to a different
106 license.
107 </para>
108
109 <para>
110 First, fix an issue with the configure script introduced by gcc-14:
111 </para>
112
113<screen><userinput remap="pre">sed -i 's/def HAVE_STDLIB_H/ 1/;s/extern select/extern int select/' configure</userinput></screen>
114
115 <para>
116 To install <application>NcFTP</application> using the
117 first (and optimal) method, run the following commands:
118 </para>
119
120<screen><userinput>CC=/usr/bin/gcc \
121./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
122make -C libncftp shared &amp;&amp;
123make</userinput></screen>
124
125 <para>
126 This package does not come with a test suite.
127 </para>
128
129 <para>
130 Now, as the <systemitem class="username">root</systemitem> user:
131 </para>
132
133<screen role='root'><userinput>make -C libncftp soinstall &amp;&amp;
134make install</userinput></screen>
135
136 <para>
137 To install <application>NcFTP</application> using the
138 second method (with the <filename class="libraryfile">libncftp</filename>
139 functionality linked in statically) run the following commands:
140 </para>
141
142<screen role="nodump"><userinput>./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
143make</userinput></screen>
144
145 <para>
146 This package does not come with a test suite.
147 </para>
148
149 <para>
150 Now, as the <systemitem class="username">root</systemitem> user:
151 </para>
152
153<screen role="nodump"><userinput>make install</userinput></screen>
154
155 </sect2>
156
157 <sect2 role="commands">
158 <title>Command Explanations</title>
159
160 <para>
161 <envar>CC=/usr/bin/gcc</envar>. This environment variable ensures
162 that <command>gcc</command> is used if <xref linkend="llvm"/> is
163 installed. The build procedure is broken if <command>gcc</command>
164 is not used.
165 </para>
166
167 <para>
168 <command>make -C ... &amp;&amp; make -C ...</command>:
169 These commands make and install the dynamic library <filename
170 class="libraryfile">libncftp</filename> which is then used to link
171 against when compiling the main program.
172 </para>
173
174 </sect2>
175
176 <sect2 role="configuration">
177 <title>Configuring NcFTP</title>
178
179 <sect3 id="ncftp-config">
180 <title>Config Files</title>
181
182 <para>
183 <filename>/etc/ncftp.*</filename> and
184 <filename>~/.ncftp/*</filename>; especially
185 <filename>/etc/ncftp.prefs_v3</filename> and
186 <filename>~/.ncftp/prefs_v3</filename>
187 </para>
188
189 <indexterm zone="ncftp ncftp-config">
190 <primary sortas="e-AA.ncftp/*">~/.ncftp/*</primary>
191 </indexterm>
192
193 <indexterm zone="ncftp ncftp-config">
194 <primary sortas="e-etc-ncftp.*">/etc/ncftp.*</primary>
195 </indexterm>
196
197 </sect3>
198
199 <sect3>
200 <title>Configuration Information</title>
201
202 <para>
203 Most <application>NcFTP</application> configuration is done while in
204 the program, and the configuration files are dealt with automatically.
205 One exception to this is <filename>~/.ncftp/prefs_v3</filename>. There
206 are various options to alter in there, including:
207 </para>
208
209<screen><literal>yes-i-know-about-NcFTPd=yes</literal></screen>
210
211 <para>
212 This disables the splash screen advertising the
213 <application>NcFTPd</application> server.
214 </para>
215
216 <para>
217 There are other options in the <filename>prefs_v3</filename> file.
218 Most of these are self-explanatory. Global defaults can be set in
219 <filename>/etc/ncftp.prefs_v3</filename>.
220 </para>
221
222 </sect3>
223
224 </sect2>
225
226 <sect2 role="content">
227 <title>Contents</title>
228
229 <segmentedlist>
230 <segtitle>Installed Programs</segtitle>
231 <segtitle>Installed Library</segtitle>
232 <segtitle>Installed Directories</segtitle>
233
234 <seglistitem>
235 <seg>ncftp, ncftpbatch, ncftpbookmarks, ncftpget,
236 ncftpls, ncftpput, and ncftpspooler</seg>
237 <seg>libncftp.so</seg>
238 <seg>None</seg>
239 </seglistitem>
240 </segmentedlist>
241
242 <variablelist>
243 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
244 <?dbfo list-presentation="list"?>
245 <?dbhtml list-presentation="table"?>
246
247 <varlistentry id="ncftp-prog">
248 <term><command>ncftp</command></term>
249 <listitem>
250 <para>
251 is a browser program for File Transfer Protocol
252 </para>
253 <indexterm zone="ncftp ncftp-prog">
254 <primary sortas="b-ncftp">ncftp</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="ncftpbatch">
260 <term><command>ncftpbatch</command></term>
261 <listitem>
262 <para>
263 is an individual batch FTP job processor
264 </para>
265 <indexterm zone="ncftp ncftpbatch">
266 <primary sortas="b-ncftpbatch">ncftpbatch</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="ncftpbookmarks">
272 <term><command>ncftpbookmarks</command></term>
273 <listitem>
274 <para>
275 is the <application>NcFTP</application> Bookmark Editor
276 (<application>NCurses</application>-based)
277 </para>
278 <indexterm zone="ncftp ncftpbookmarks">
279 <primary sortas="b-ncftpbookmarks">ncftpbookmarks</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="ncftpget">
285 <term><command>ncftpget</command></term>
286 <listitem>
287 <para>
288 is an internet file transfer program for scripts used to
289 retrieve files
290 </para>
291 <indexterm zone="ncftp ncftpget">
292 <primary sortas="b-ncftpget">ncftpget</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="ncftpls">
298 <term><command>ncftpls</command></term>
299 <listitem>
300 <para>
301 is an internet file transfer program for scripts used to
302 list files
303 </para>
304 <indexterm zone="ncftp ncftpls">
305 <primary sortas="b-ncftpls">ncftpls</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="ncftpput">
311 <term><command>ncftpput</command></term>
312 <listitem>
313 <para>
314 is an internet file transfer program for scripts used to
315 transfer files
316 </para>
317 <indexterm zone="ncftp ncftpput">
318 <primary sortas="b-ncftpput">ncftpput</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="ncftpspooler">
324 <term><command>ncftpspooler</command></term>
325 <listitem>
326 <para>
327 is a global batch FTP job processor daemon
328 </para>
329 <indexterm zone="ncftp ncftpspooler">
330 <primary sortas="b-ncftpspooler">ncftpspooler</primary>
331 </indexterm>
332 </listitem>
333 </varlistentry>
334
335 </variablelist>
336
337 </sect2>
338
339</sect1>
Note: See TracBrowser for help on using the repository browser.