source: networking/netprogs/ncftp.xml@ c1e25d1

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since c1e25d1 was c1e25d1, checked in by Douglas R. Reno <renodr@…>, 11 months ago

Fix building ncftp with gcc-13 and clang-16

  • Property mode set to 100644
File size: 10.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 " ">
8 <!ENTITY ncftp-download-ftp "ftp://ftp.ncftp.com/ncftp/ncftp-&ncftp-version;-src.tar.xz">
9 <!ENTITY ncftp-md5sum "42d0f896d69a4d603ec097546444245f">
10 <!ENTITY ncftp-size "412 KB">
11 <!ENTITY ncftp-buildsize "6.6 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 &lfs113_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 <para condition="html" role="usernotes">User Notes:
89 <ulink url="&blfs-wiki;/ncftp"/></para>
90
91 </sect2>
92
93 <sect2 role="installation">
94 <title>Installation of NcFTP</title>
95
96 <para>
97 There are two ways to build <application>NcFTP</application>. The first
98 (and optimal) way builds most of the functionality as a shared library
99 and then builds and installs the program linked against this library.
100 The second method simply links all of the functionality into the binary
101 statically. This doesn't make the dynamic library available for linking
102 by other applications. You need to choose which method best suits you.
103 Note that the second method does <emphasis>not</emphasis> create an
104 entirely statically linked binary; only the <filename
105 class="libraryfile">libncftp</filename> parts are statically linked in,
106 in this case. Be aware that building and using the shared library is
107 covered by the Clarified Artistic License; however, developing
108 applications that utilize the shared library is subject to a different
109 license.
110 </para>
111
112 <para>
113 First, fix an issue caused by a change in behavior in GCC-10:
114 </para>
115
116<screen><userinput remap="pre">sed -i 's/^Bookmark/extern Bookmark/' sh_util/gpshare.c</userinput></screen>
117
118 <para>
119 Next, update the configure script to use modern C standards:
120 </para>
121
122<screen><userinput remap="pre">patch -Np1 -i ../ncftp-&ncftp-version;-configure_fixes-1.patch &amp;&amp;
123autoreconf -fiv -I autoconf_local</userinput></screen>
124
125 <para>
126 To install <application>NcFTP</application> using the
127 first (and optimal) method, run the following commands:
128 </para>
129
130<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
131make -C libncftp shared &amp;&amp;
132make</userinput></screen>
133
134 <para>
135 This package does not come with a test suite.
136 </para>
137
138 <para>
139 Now, as the <systemitem class="username">root</systemitem> user:
140 </para>
141
142<screen role='root'><userinput>make -C libncftp soinstall &amp;&amp;
143make install</userinput></screen>
144
145 <para>
146 To install <application>NcFTP</application> using the
147 second method (with the <filename class="libraryfile">libncftp</filename>
148 functionality linked in statically) run the following commands:
149 </para>
150
151<screen role="nodump"><userinput>./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
152make</userinput></screen>
153
154 <para>
155 This package does not come with a test suite.
156 </para>
157
158 <para>
159 Now, as the <systemitem class="username">root</systemitem> user:
160 </para>
161
162<screen role="nodump"><userinput>make install</userinput></screen>
163
164 </sect2>
165
166 <sect2 role="commands">
167 <title>Command Explanations</title>
168
169 <para>
170 <command>make -C ... &amp;&amp; make -C ...</command>:
171 These commands make and install the dynamic library <filename
172 class="libraryfile">libncftp</filename> which is then used to link
173 against when compiling the main program.
174 </para>
175
176 </sect2>
177
178 <sect2 role="configuration">
179 <title>Configuring NcFTP</title>
180
181 <sect3 id="ncftp-config">
182 <title>Config Files</title>
183
184 <para>
185 <filename>/etc/ncftp.*</filename> and
186 <filename>~/.ncftp/*</filename>; especially
187 <filename>/etc/ncftp.prefs_v3</filename> and
188 <filename>~/.ncftp/prefs_v3</filename>
189 </para>
190
191 <indexterm zone="ncftp ncftp-config">
192 <primary sortas="e-AA.ncftp/*">~/.ncftp/*</primary>
193 </indexterm>
194
195 <indexterm zone="ncftp ncftp-config">
196 <primary sortas="e-etc-ncftp.*">/etc/ncftp.*</primary>
197 </indexterm>
198
199 </sect3>
200
201 <sect3>
202 <title>Configuration Information</title>
203
204 <para>
205 Most <application>NcFTP</application> configuration is done while in
206 the program, and the configuration files are dealt with automatically.
207 One exception to this is <filename>~/.ncftp/prefs_v3</filename>. There
208 are various options to alter in there, including:
209 </para>
210
211<screen><literal>yes-i-know-about-NcFTPd=yes</literal></screen>
212
213 <para>
214 This disables the splash screen advertising the
215 <application>NcFTPd</application> server.
216 </para>
217
218 <para>
219 There are other options in the <filename>prefs_v3</filename> file.
220 Most of these are self-explanatory. Global defaults can be set in
221 <filename>/etc/ncftp.prefs_v3</filename>.
222 </para>
223
224 </sect3>
225
226 </sect2>
227
228 <sect2 role="content">
229 <title>Contents</title>
230
231 <segmentedlist>
232 <segtitle>Installed Programs</segtitle>
233 <segtitle>Installed Library</segtitle>
234 <segtitle>Installed Directories</segtitle>
235
236 <seglistitem>
237 <seg>ncftp, ncftpbatch, ncftpbookmarks, ncftpget,
238 ncftpls, ncftpput, and ncftpspooler</seg>
239 <seg>libncftp.so</seg>
240 <seg>None</seg>
241 </seglistitem>
242 </segmentedlist>
243
244 <variablelist>
245 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
246 <?dbfo list-presentation="list"?>
247 <?dbhtml list-presentation="table"?>
248
249 <varlistentry id="ncftp-prog">
250 <term><command>ncftp</command></term>
251 <listitem>
252 <para>
253 is a browser program for File Transfer Protocol
254 </para>
255 <indexterm zone="ncftp ncftp-prog">
256 <primary sortas="b-ncftp">ncftp</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 <varlistentry id="ncftpbatch">
262 <term><command>ncftpbatch</command></term>
263 <listitem>
264 <para>
265 is an individual batch FTP job processor
266 </para>
267 <indexterm zone="ncftp ncftpbatch">
268 <primary sortas="b-ncftpbatch">ncftpbatch</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry id="ncftpbookmarks">
274 <term><command>ncftpbookmarks</command></term>
275 <listitem>
276 <para>
277 is the <application>NcFTP</application> Bookmark Editor
278 (<application>NCurses</application>-based)
279 </para>
280 <indexterm zone="ncftp ncftpbookmarks">
281 <primary sortas="b-ncftpbookmarks">ncftpbookmarks</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="ncftpget">
287 <term><command>ncftpget</command></term>
288 <listitem>
289 <para>
290 is an internet file transfer program for scripts used to
291 retrieve files
292 </para>
293 <indexterm zone="ncftp ncftpget">
294 <primary sortas="b-ncftpget">ncftpget</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 <varlistentry id="ncftpls">
300 <term><command>ncftpls</command></term>
301 <listitem>
302 <para>
303 is an internet file transfer program for scripts used to
304 list files
305 </para>
306 <indexterm zone="ncftp ncftpls">
307 <primary sortas="b-ncftpls">ncftpls</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="ncftpput">
313 <term><command>ncftpput</command></term>
314 <listitem>
315 <para>
316 is an internet file transfer program for scripts used to
317 transfer files
318 </para>
319 <indexterm zone="ncftp ncftpput">
320 <primary sortas="b-ncftpput">ncftpput</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry id="ncftpspooler">
326 <term><command>ncftpspooler</command></term>
327 <listitem>
328 <para>
329 is a global batch FTP job processor daemon
330 </para>
331 <indexterm zone="ncftp ncftpspooler">
332 <primary sortas="b-ncftpspooler">ncftpspooler</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 </variablelist>
338
339 </sect2>
340
341</sect1>
Note: See TracBrowser for help on using the repository browser.