--- ebook-dev-alp-200407.orig/debian/changelog
+++ ebook-dev-alp-200407/debian/changelog
@@ -0,0 +1,54 @@
+ebook-dev-alp (200407-3) unstable; urgency=medium
+
+ * Policy bumped to 4.5.1, no changes.
+ * Debhelper level set to current (13).
+ * Reformatted long description.
+ * Avoid to compress pdf file. (closes: #463318)
+ * Added errata.html page (closes: #445318)
+
+ -- Francesco Paolo Lovergine Thu, 14 Jan 2021 20:41:05 +0100
+
+ebook-dev-alp (200407-2) unstable; urgency=medium
+
+ * Policy bumped to 3.9.7.
+ * Debhelper level set to current (9).
+ (closes: #800188)
+ * Removed [EBOOK-DEV] tag in short description.
+
+ -- Francesco Paolo Lovergine Mon, 07 Mar 2016 11:47:16 +0100
+
+ebook-dev-alp (200407-1) unstable; urgency=high
+
+ * Moved to non-free. See http://www.debian.org/legal/licenses/dls-005-opl
+ for an adivisory on OPL 1.0
+ * Revised orig tarball for building problems which caused FTBFS.
+ * Added xpdf-viewer as real pdf-viewer in control file.
+
+ -- Francesco Paolo Lovergine Wed, 7 Jul 2004 10:38:30 +0200
+
+ebook-dev-alp (200106-3) unstable; urgency=low
+
+ * Policy bumped to 3.6.1
+ * Copyright file revised.
+ * Rebuilt to remove /usr/doc link
+
+ -- Francesco Paolo Lovergine Tue, 28 Oct 2003 11:23:07 +0100
+
+ebook-dev-alp (200106-2) unstable; urgency=low
+
+ * Recommends: tag moved in binary section :-/
+ * Mispelling corrected in control file.
+ (closes: #124590)
+
+ -- Francesco Paolo Lovergine Tue, 18 Dec 2001 11:49:10 +0100
+
+ebook-dev-alp (200106-1) unstable; urgency=low
+
+ * Initial Release.
+ (closes: #116633)
+
+ -- Francesco Paolo Lovergine Mon, 19 Nov 2001 14:02:47 +0200
+
+Local variables:
+mode: debian-changelog
+End:
--- ebook-dev-alp-200407.orig/debian/control
+++ ebook-dev-alp-200407/debian/control
@@ -0,0 +1,21 @@
+Source: ebook-dev-alp
+Section: non-free/doc
+Priority: optional
+Maintainer: Francesco Paolo Lovergine
+Build-Depends: debhelper-compat (=13)
+Standards-Version: 4.5.1
+
+Package: ebook-dev-alp
+Architecture: all
+Recommends: xpdf-reader | pdf-viewer
+Depends: ${misc:Depends}
+Description: Advanced Linux Programming
+ If you are a developer for the GNU/Linux system, this book will help you to:
+ .
+ Develop GNU/Linux software that works the way users expect it to. Write
+ more sophisticated programs with features such as multiprocessing,
+ multi-threading, interprocess communication, and interaction with
+ hardware devices. Improve your programs by making them run faster,
+ more reliably, and more securely. Understand the peculiarities of a
+ GNU/Linux system, including its limitations, special capabilities, and
+ conventions.
--- ebook-dev-alp-200407.orig/debian/copyright
+++ ebook-dev-alp-200407/debian/copyright
@@ -0,0 +1,190 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Advanced Linux Programming
+Source: http://www.advancedlinuxprogramming.com/
+Comments: Advanced Linux Programming is published under the Open Publication
+ License, Version 1, no options exercised. (Due to an oversight in final
+ production, the copyright notice on the book is incorrect.)
+
+Files: *
+Copyright: 2001, CodeSourcery LLC
+ 2001, New Riders Publishing
+License: OPL-1
+ .
+ Open Publication License Draft v1.0, 8 June 1999 (text version)
+ .
+ I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
+ .
+ The Open Publication works may be reproduced and distributed in whole or
+ in part, in any medium physical or electronic, provided that the terms
+ of this license are adhered to, and that this license or an
+ incorporation of it by reference (with any options elected by the
+ author(s) and/or publisher) is displayed in the reproduction.
+ .
+ Proper form for an incorporation by reference is as follows:
+ Copyright (c) by . This material may
+ be distributed only subject to the terms and conditions set forth in the
+ Open Publication License, vX.Y or later (the latest version is presently
+ available at http://www.opencontent.org/openpub/). The reference must be
+ immediately followed with any options elected by the author(s) and/or
+ publisher of the document (see section VI).
+ .
+ Commercial redistribution of Open Publication-licensed material is
+ permitted.
+ .
+ Any publication in standard (paper) book form shall require the citation
+ of the original publisher and author. The publisher and author's names
+ shall appear on all outer surfaces of the book. On all outer surfaces of
+ the book the original publisher's name shall be as large as the title of
+ the work and cited as possessive with respect to the title.
+ .
+ .
+ II. COPYRIGHT
+ .
+ The copyright to each Open Publication is owned by its author(s) or
+ designee.
+ .
+ .
+ III. SCOPE OF LICENSE
+ .
+ The following license terms apply to all Open Publication works, unless
+ otherwise explicitly stated in the document.
+ .
+ Mere aggregation of Open Publication works or a portion of an Open
+ Publication work with other works or programs on the same media shall
+ not cause this license to apply to those other works. The aggregate work
+ shall contain a notice specifying the inclusion of the Open Publication
+ material and appropriate copyright notice.
+ .
+ SEVERABILITY. If any part of this license is found to be unenforceable
+ in any jurisdiction, the remaining portions of the license remain in
+ force.
+ .
+ NO WARRANTY. Open Publication works are licensed and provided "as is"
+ without warranty of any kind, express or implied, including, but not
+ limited to, the implied warranties of merchantability and fitness for a
+ particular purpose or a warranty of non-infringement.
+ .
+ .
+ IV. REQUIREMENTS ON MODIFIED WORKS
+ .
+ All modified versions of documents covered by this license, including
+ translations, anthologies, compilations and partial documents, must meet
+ the following requirements:
+ .
+ The modified version must be labeled as such.
+ The person making the modifications must be identified and the
+ modifications dated.
+ Acknowledgement of the original author and publisher if applicable must
+ be retained according to normal academic citation practices.
+ The location of the original unmodified document must be identified.
+ The original author's (or authors') name(s) may not be used to assert or
+ imply endorsement of the resulting document without the original
+ author's (or authors') permission.
+ V. GOOD-PRACTICE RECOMMENDATIONS
+ .
+ In addition to the requirements of this license, it is requested from
+ and strongly recommended of redistributors that:
+ .
+ If you are distributing Open Publication works on hardcopy or CD-ROM,
+ you provide email notification to the authors of your intent to
+ redistribute at least thirty days before your manuscript or media
+ freeze, to give the authors time to provide updated documents. This
+ notification should describe modifications, if any, made to the
+ document.
+ All substantive modifications (including deletions) be either clearly
+ marked up in the document or else described in an attachment to the
+ document.
+ Finally, while it is not mandatory under this license, it is considered
+ good form to offer a free copy of any hardcopy and CD-ROM expression of
+ an Open Publication-licensed work to its author(s).
+ VI. LICENSE OPTIONS
+ .
+ The author(s) and/or publisher of an Open Publication-licensed document
+ may elect certain options by appending language to the reference to or
+ copy of the license. These options are considered part of the license
+ instance and must be included with the license (or its incorporation by
+ reference) in derived works.
+ .
+ A. To prohibit distribution of substantively modified versions without
+ the explicit permission of the author(s). "Substantive modification" is
+ defined as a change to the semantic content of the document, and
+ excludes mere changes in format or typographical corrections.
+ .
+ To accomplish this, add the phrase `Distribution of substantively
+ modified versions of this document is prohibited without the explicit
+ permission of the copyright holder.' to the license reference or copy.
+ .
+ B. To prohibit any publication of this work or derivative works in whole
+ or in part in standard (paper) book form for commercial purposes is
+ prohibited unless prior permission is obtained from the copyright
+ holder.
+ .
+ To accomplish this, add the phrase 'Distribution of the work or
+ derivative of the work in any standard (paper) book form is prohibited
+ unless prior permission is obtained from the copyright holder.' to the
+ license reference or copy.
+ .
+ .
+ OPEN PUBLICATION POLICY APPENDIX:
+ .
+ (This is not considered part of the license.)
+ .
+ Open Publication works are available in source format via the Open
+ Publication home page at http://works.opencontent.org/.
+ .
+ Open Publication authors who want to include their own license on Open
+ Publication works may do so, as long as their terms are not more
+ restrictive than the Open Publication license.
+ .
+ If you have questions about the Open Publication License, please contact
+ David Wiley, and/or the Open Publication Authors' List at
+ opal@opencontent.org, via email.
+ .
+ To subscribe to the Open Publication Authors' List:
+ Send E-mail to opal-request@opencontent.org with the word "subscribe"
+ in the body.
+ .
+ To post to the Open Publication Authors' List:
+ Send E-mail to opal@opencontent.org or simply reply to a previous post.
+ .
+ To unsubscribe from the Open Publication Authors' List:
+ Send E-mail to opal-request@opencontent.org with the word "unsubscribe"
+ in the body.
+
+Files: listings/*
+Copyright: 2001 New Riders Publishing
+License: GPL-2+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
+Files: debian/*
+Copyright: 2016 Francesco Paolo Lovergine
+License: GPL-2+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
--- ebook-dev-alp-200407.orig/debian/docs
+++ ebook-dev-alp-200407/debian/docs
@@ -0,0 +1 @@
+debian/errata.html
--- ebook-dev-alp-200407.orig/debian/errata.html
+++ ebook-dev-alp-200407/debian/errata.html
@@ -0,0 +1,424 @@
+
+
+
+
+
+
+
+ Advanced Linux Programming
+
+
+
+
+
+
+
+
+
In Listing 1.1, add #include <stdlib.h> since atoi is used.
+
+
+
+ page 8
+
The first paragraph of Section 1.2.2 should refer to reciprocal.cpp,
+ not utilties.cpp.
+
+
+
+ page 31
+
In the third paragraph, the third sentence should read:
+
+ You should still always check for invalid input and produce sensible error
+ messages in response to such input.
+
+ The words "to such" are missing in the book as printed.
+
+
+
+
+ page 34
+
In the code, the comment for case ENOENT should
+ read PATH does not exist.
+
+
+
+
+ page 38
+
+ The first sentence in Section 2.3.2 should refer to an archive
+ rather than a archive.
+
+
+
+
+ page 38
+
In the last sentence of the text, omitting the sidebar, the
+ resulting object file is test1.o, not test.o.
+
+
+
+
+ page 39
+
In the first paragraph, the linker stops searching
+ directories.
+
+
+
+
+ page 41
+
In the paragraph beginning with "Static libraries", modify
+ "If decide to link" to "If you decide to link".
+
+
+
+
+ page 41
+
When linking statically, linking in the math library is
+ also required. Thus, the compilation line becomes
+ gcc -static -o tifftest tifftest.c -ltiff -ljpeg -lz -lm.
+
+
+
+
+ page 43
+
The indented line of code near the bottom of the page should refer to my_function, not foo.
+
+
+
+
+ page 48
+
In the first paragraph, the first technique has "considerable risks",
+ not "considerably risks".
+
+
+
+
+ page 53
+
The word "it" in the last sentence of the second paragraph
+ should instead be "is".
+ In particular, the sentence should read:
+
+ The default disposition for these signals is to terminate the process
+ and produce a core file.
+
+
+
+ page 57
+
The word "is" in the last sentence should instead be "it."
+ In particular, the sentence should read:
+
+ Instead, when a child process terminates, it becomes a zombie process.
+
+
+
+ page 60
+
The code in clean_up_child_process would not work correctly if there were more
+ than one child process. The Linux kernel will only call the signal handler once if two or more
+ child processes terminate at almost the same time. Therefore, if there is may be more than one child
+ process, the signal handler must repeatedly call waitpid (or one of the other
+ related functions) with the WNOHANG option until waitpid returns zero.
+
+
+
+ page 73
+
In the first paragraph, the second argument is for pthread_key_create, not
+ pthread_key_t. Thus, the pthread_key_create function takes two arguments:
+ a pointer to a pthread_key_t variable and a cleanup function.
+
+
+
+ page 98
+
The example code for calling shmget should use S_IWUSR, not
+ S_IWUSER. This write permission flag is spelled correctly throughout the
+ rest of the page. For a list of available flags, see the section 2 stat man page.
+
+
+
+ page 108
+
In Listing 5.6, the function used to parse the string
+ should be sscanf, not scanf.
+
+
+
+ page 110
+
The last sentence of section 5.4.1 should read:
+
+ Data written to the file descriptor write_fd can be read back from read_fd.
+
+
+ The identifiers write_fd and read_fd are
+ swapped in the text as printed.
+
+
+
+ page 117
+
In section 5.5.2, the list of system calls should mention
+ close, not closes.
+
+
+
+ page 120
+
In Listing 5.10, text should be checked for the
+ quit message before it is freed. The consequent of the
+ strcmp should be free (text); return 1. Its
+ alternative should be free (text). The standalone
+ free statement should be omitted.
+
+
+
+ page 121
+
In Listing 5.10, the client_name_len variable in
+ the do-loop should be initialized to
+ sizeof(client_name) before being passed to
+ accept.
+
+
+
+
+ page 121
+
In Listing 5.10, the call to bind on the ninth
+ line of this page should cast the second argument to a
+ struct sockaddr *. That is, the bind
+ call should be
+
In Listing 5.11, the call to connect on the sixth
+ line from the end should cast the second argument to a
+ struct sockaddr *. That is, the connect
+ call should be
+
In Listing 5.12, the call to connect on the second
+ line should cast the second argument to a
+ struct sockaddr *. That is, the connect
+ call should be
+
+ Note that the operator for the second half of the conditional should
+ be != rather than ==.
+
+
+
+
+ page 171
+
In the third paragraph, use F_SETLKW, not F_SETLCKW. This
+ LK abbreviation differs from the LCK abbreviation in F_RDLCK and
+ F_WRLCK.
+
+
+
+
+ page 174
+
The first sentence of the third paragraph of section 8.5
+ should end with "pointer to a struct rlimit", rather
+ than "pointer to a structrlimit" as printed. Note
+ the space between struct and rlimit.
+
+
+
+ page 181
+
The description of tv_nsec should read "tv_nsec,
+ an additional number of nanoseconds" rather than "tv_nsec,
+ an additional number of milliseconds."
+
+
+
+ page 183
+
The third parameter in the call to readlink should
+ be sizeof (target_path) - 1 to allow for the terminating
+ NUL character.
+
+
+
+ page 185
+
The file presented in Listing 8.11 should be named "itimer.c".
+
+
+
+ page 186
+
The sysinfo manual page describes struct
+ sysinfo, not structsysinfo.
+
+
+
+ page 188
+
The file presented in Listing 8.11 should end with a ".c", i.e.,
+ "print-uname.c".
+
+
+
+ page 191
+
The assembly instructions shown corresponding to the asm
+ should be:
+
+
+#APP
+ mycool_asm %ecx, %edx
+#NOAPP
+
+
+ reflecting the fact that foo and bar are
+ in separate registers.
+
+
+
+
+ page 206
+
In the beginning of 10.4.1, the root process impersonates
+ another user, not another process.
+
+
+
+ page 212
+
The prototype of the GNU extension getline
+ function differs from that presented. To use the GNU extension,
+ modify the code to