Bug 212125 - korean/man-doc - Encoding errors in manual pages
Summary: korean/man-doc - Encoding errors in manual pages
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs mailing list
URL:
Keywords: needs-patch
Depends on:
Blocks:
 
Reported: 2016-08-25 01:22 UTC by Ben Bullock
Modified: 2019-02-19 11:46 UTC (History)
3 users (show)

See Also:
koobs: maintainer-feedback? (hyun)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Bullock 2016-08-25 01:22:13 UTC
There are multiple encoding errors in the Korean language manual pages. Running the following Perl script on the Korean language manual pages reveals about twenty files with encoding errors:

-----

use warnings;
use strict;
use utf8;
use FindBin '$Bin';
my @files = <$Bin/man*/*.gz>;
my $fakefile = 'guff';
for my $file (@files) {

    # Using /dev/null results in "Inappropriate ioctl for device" errors
    # from iconv.
    my $status = system ("gzcat $file | iconv -f \"EUC-KR\" -t \"UTF-8\" > $fakefile");
    if ($status) {
	print "Bad file $file.\n";
    }
}
unlink $fakefile or die $!;

-----

iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/gcc.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/gdb.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/patch.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/ps.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/sed.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/systat.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/tcsh.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/top.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man1/troff.1.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man2/kldload.2.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man2/mount.2.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man2/unmount.2.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man3/siginterrupt.3.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man3/tempnam.3.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man3/tmpfile.3.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man3/tmpnam.3.gz.
iconv: warning: invalid characters: 1
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man4/atkbd.4.gz.
iconv: warning: invalid characters: 1
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man4/psm.4.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man4/speaker.4.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man4/spkr.4.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man4/vinum.4.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man4/vn.4.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man5/fstab.5.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man5/printcap.5.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man5/rc.conf.5.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man5/termcap.5.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man5/terminfo.5.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man7/groff.7.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man7/tuning.7.gz.
iconv: warning: invalid characters: 2
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man8/dhclient.8.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man8/fixmount.8.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man8/mountd.8.gz.
iconv: warning: invalid characters: 1
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man8/moused.8.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man8/sysinstall.8.gz.
iconv: iconv(): Illegal byte sequence
Bad file /usr/home/ben/projects/manpages/manserver/man/ko/man8/vinum.8.gz.

-----

I carefully confirmed that there is indeed an error in the Korean gcc manual page, where it contains bytes \x82 and \xC1 on line 1875. These don't map into the EUC-KR encoding. I don't speak Korean so I cannot suggest what characters were intended to be placed here. I have not confirmed the encoding errors in the other pages.
Comment 1 Hyun Hwang 2017-11-26 05:38:19 UTC
Hello,

I looked into the document gcc.1. It seems like the document was machine translated from Japanese (judging by the RCS ID) to Korean and I cannot grasp the context around that line even if I'm a native speaker; not even a single idea on what that broken character would have been. Translation is that bad.
Comment 2 commit-hook freebsd_committer 2018-10-20 13:07:02 UTC
A commit references this bug:

Author: tobik
Date: Sat Oct 20 13:06:26 UTC 2018
New revision: 482496
URL: https://svnweb.freebsd.org/changeset/ports/482496

Log:
  Deprecate korean/man-doc

  It is unmaintained, was last updated in 2002, some files have
  encoding errors [1], some appear to be machine translated [1], and
  it documents commands that have changed significantly since then
  with flags that no longer exist, new flags that are not documented,
  etc.

  PR:		212125 [1], 217826, 218176

Changes:
  head/korean/man-doc/Makefile
Comment 3 Hyun Hwang 2019-02-19 00:32:59 UTC
Hi,

I am trying to make a new version of this port made from scratch. I am considering among these two options:
* retire this port now, and try to create again later with finished one, or
* close this ticket as WONTFIX, and let the port sit there until I bring a new version.

Any opinions?

(This also applies to bug 217826 and bug 218176.)
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2019-02-19 11:46:52 UTC
(In reply to Hyun Hwang from comment #3)

If the updated version will fix the referenced bugs, then its best to leave them open in lieu of the update.

I would however, encourage/recommend addressing the issues individually, rather than creating a new port from scratch.

The issue in all three referenced bugs are content related, not porting/packaging related, and appear to be minor edits related to a small number of characters, and syntax errors.

Deleting the port may be an alternative, but involves more work to ressurect at a later date, and the content issues still need to be resolved, hence the original recommendation