| Summary: | korean/man-doc - Encoding errors in manual pages | ||
|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Ben Bullock <benkasminbullock> |
| Component: | Individual Port(s) | Assignee: | Dmitry Marakasov <amdmi3> |
| Status: | Closed Overcome By Events | ||
| Severity: | Affects Only Me | CC: | amdmi3, hyun, koobs, rene, w.schwarzenfeld |
| Priority: | --- | Keywords: | needs-patch |
| Version: | Latest | Flags: | koobs:
maintainer-feedback?
(hyun) |
| Hardware: | Any | ||
| OS: | Any | ||
| See Also: |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217826 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218176 |
||
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. 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 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.) (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 Nothing has changed here for 2 years and none of reported issues have been addressed. I think it would be practical to remove this port after all. I'm re-marking it as deprecated and expiring in two weeks, and adding a comment mentioning 3 existing issues so this knowledge is not lost if the port gets resurrected. A commit references this bug: Author: amdmi3 Date: Tue Feb 16 12:04:00 UTC 2021 New revision: 565396 URL: https://svnweb.freebsd.org/changeset/ports/565396 Log: Deprecate korean/man-doc These manpages are around 2 decades outdated and were reported to be of poor quality such as being machine translated and having a lot of encoding errors. PR: 212125 Suggested by: hyun@caffeinated.codes (maintainer) Changes: head/korean/man-doc/Makefile Removing expired port. |
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.