Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 359355 - app-dicts/aspell-is installs non-ASCII/non-UTF8 file usr/lib/aspell-0.60/�slenska.alias
Summary: app-dicts/aspell-is installs non-ASCII/non-UTF8 file usr/lib/aspell-0.60/�sle...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal QA (vote)
Assignee: Conrad Kostecki
URL:
Whiteboard:
Keywords: NeedPatch
: 470072 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-03-18 12:22 UTC by damage
Modified: 2021-03-13 00:36 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description damage 2011-03-18 12:22:43 UTC
equery files end with "!!! Internal portage error, terminating" !!! ascii" if there is a non ASCII filename.

Reproducible: Always

Steps to Reproduce:
1. emerge aspell-is
2. equery files app-dicts/aspell-is

Actual Results:  
[ Searching for packages matching app-dicts/aspell-is... ]
* Contents of app-dicts/aspell-is-0.51.1.0:
/usr
/usr/lib64
/usr/lib64/aspell-0.60
/usr/lib64/aspell-0.60/icelandic.alias
/usr/lib64/aspell-0.60/is.dat
/usr/lib64/aspell-0.60/is.multi
/usr/lib64/aspell-0.60/is.rws
/usr/lib64/aspell-0.60/is_phonet.dat
!!! Internal portage error, terminating
!!! ascii



# emerge --info
Portage 2.1.9.25 (default/linux/amd64/10.0, gcc-4.4.4, glibc-2.11.2-r3, 2.6.34-gentoo-r12 x86_64)
=================================================================
System uname: Linux-2.6.34-gentoo-r12-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4800+-with-gentoo-1.12.14
Timestamp of tree: Fri, 18 Mar 2011 01:00:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.6.6-r1, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.14-r1
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.65-r1
sys-devel/automake:  1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.1.2, 4.4.4-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.30-r1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -msse3 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5.2/ext-active/ /etc/php/cgi-php5.2/ext-active/ /etc/php/cli-php5.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -msse3 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.manitu.net/gentoo"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://mirror.manitu.net/gentoo-portage"
USE="3dnow 3dnowext acl amd64 apache2 bash-completion bzip2 clamav cli cracklib crypt ctype cxx daemon dri enscript exif fam fortran ftp gd gdbm geoip gif gpm hddtemp iconv imagemagick inifile ipv6 jpeg lm_sensors logrotate math mmx mmxext modules mpm-worker mudflap multilib mysql mysqli ncurses network-cron nls nptl nptlonly openmp pam pcre perl php png pppd python readline session slang snmp soap sockets sqlite sse sse2 ssl suexec sysfs syslog tcpd threads tidy truetype unicode vhosts vim-syntax virtual-users xml xmlreader xmlwriter xorg zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_dbd authn_default authn_file authz_default authz_host autoindex dav dav_fs dav_lock deflate dir expires headers include info log_config logio mime mime_magic negotiation proxy proxy_connect proxy_http rewrite setenvif so speling status vhost_alias authz_dbm authz_groupfile authz_owner authz_user filter unique_id dbd cgi cgid proxy_ajp" APACHE2_MPMS="worker" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-2" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS



# eix portage-ut
[I] app-portage/portage-utils
     Available versions:  0.3.1 ~0.4 ~0.5 {static}
     Installed versions:  0.3.1(22:26:53 25.11.2010)(-static)
     Homepage:            http://www.gentoo.org/
     Description:         small and fast portage helper tools written in C
Comment 1 Marcin Mirosław 2011-03-18 15:36:01 UTC
# equery f aspell-is
FEATURES variable contains unknown value(s): Xfail-clean, Xkeepwork
 * Searching for aspell-is ...
 * Contents of app-dicts/aspell-is-0.51.1.0:
/usr
/usr/lib64
/usr/lib64/aspell-0.60
/usr/lib64/aspell-0.60/icelandic.alias
/usr/lib64/aspell-0.60/is.dat
/usr/lib64/aspell-0.60/is.multi
/usr/lib64/aspell-0.60/is.rws
/usr/lib64/aspell-0.60/is_phonet.dat
/usr/lib64/aspell-0.60/�slenska.alias
/usr/share
/usr/share/doc
/usr/share/doc/aspell-is-0.51.1.0
/usr/share/doc/aspell-is-0.51.1.0/README.bz2
/usr/share/doc/aspell-is-0.51.1.0/info.bz2

Works for me, with version app-portage/gentoolkit-0.3.0_rc11-r3 . BTW you should start start summary line in this way:
<category>/<packag_name>-<version>
In your situtation:
app-portage/portage-utils-0.3.1

And last and most important, equery belongs to gentoolkit not to portage-utils!
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2011-03-18 16:53:47 UTC
$ ebuild /keeps/gentoo/portage/app-dicts/aspell-is/aspell-is-0.51.1.0.ebuild install
 * aspell-is-0.51.1-0.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                   [ ok ]
 * checking ebuild checksums ;-) ...                                            [ ok ]
 * checking auxfile checksums ;-) ...                                           [ ok ]
 * checking miscfile checksums ;-) ...                                          [ ok ]
 * checking aspell-is-0.51.1-0.tar.bz2 ;-) ...                                  [ ok ]
 * Package:    app-dicts/aspell-is-0.51.1.0
 * Repository: gentoo
 * Maintainer: app-dicts@gentoo.org
 * USE:        elibc_glibc kernel_linux userland_GNU x86
 * FEATURES:   distcc sandbox
>>> Unpacking source...
>>> Unpacking aspell-is-0.51.1-0.tar.bz2 to /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/work
>>> Source unpacked in /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/work
>>> Compiling source in /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/work/aspell-is-0.51.1-0 ...
Finding Dictionary file location ... /usr/lib/aspell-0.60
Finding Data file location ... /usr/lib/aspell-0.60
make -j3
/usr/bin/word-list-compress d < is.cwl | /usr/bin/aspell  --lang=is create master ./is.rws
>>> Source compiled.
>>> Test phase [not enabled]: app-dicts/aspell-is-0.51.1.0

>>> Install aspell-is-0.51.1.0 into /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image/ category app-dicts
mkdir -p /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image//usr/lib/aspell-0.60/
cp is.rws icelandic.alias is.multi �slenska.alias /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image//usr/lib/aspell-0.60/
cd /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image//usr/lib/aspell-0.60/ && chmod 644 is.rws icelandic.alias is.multi �slenska.alias
mkdir -p /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image//usr/lib/aspell-0.60/
cp is.dat is_phonet.dat /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image//usr/lib/aspell-0.60/
cd /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image//usr/lib/aspell-0.60/ && chmod 644 is.dat is_phonet.dat
>>> Completed installing aspell-is-0.51.1.0 into /var/tmp/portage/app-dicts/aspell-is-0.51.1.0/image/

 * This package installs one or more file names containing characters that
 * do not match your current locale settings. The current setting for
 * filesystem encoding is 'UTF-8'.
 * 
 *      usr/lib/aspell-0.60/�slenska.alias
 * 

Those are red asterisks, so we might say you had a fair warning if you ever saw this message. :)

Meanwhile, I don't think any other package installs non-UTF8 or non-ASCII files.
Comment 3 damage 2011-03-18 17:47:38 UTC
Oh sorry. I thought it was portage-utils. I addmit that I have not checked.

# eix gentoolkit
[I] app-portage/gentoolkit
     Available versions:  0.2.4.6.1-r1!t ~0.3.0_rc10-r1 ~0.3.0_rc11-r3 **9999
     Installed versions:  0.2.4.6.1-r1!t(22:02:19 10.05.2010)
     Homepage:            http://www.gentoo.org/proj/en/portage/tools/index.xml
     Description:         Collection of administration scripts for Gentoo

The problem are not non UTF-8 characters. The problem are multibyte charachters at all. Also a german "ä" (written in UTF-8) strikes out equery.

cheers
Daniel
Comment 4 damage 2011-03-18 17:49:38 UTC
Here is another similarly way to reproduce:

# touch /tmp/ä
# equery belongs /tmp/ä 
!!! Internal portage error, terminating
!!! ascii
Comment 5 PetaMem R&D 2011-08-02 07:42:52 UTC
Not only icelandic, but all other aliases containing non-ASCII characters also (portugese etc.)

This could be considered a bug, because UTF-8 is the default for FS locale.
Comment 6 damage 2011-08-02 08:39:37 UTC
(In reply to comment #5)
> Not only icelandic, but all other aliases containing non-ASCII characters also
> (portugese etc.)
> 
> This could be considered a bug, because UTF-8 is the default for FS locale.

Hi,
yes IMHO it is. BUT: Current assignee is "Spell checking utilities and dictionaries -- related bugs". As far as I understand this is a bug of equery NOT of aspell. But the equery guys didn't listen to me carefully :-(

cheers
Daniel
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2011-08-02 15:47:15 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > Not only icelandic, but all other aliases containing non-ASCII characters also
> > (portugese etc.)
> > 
> > This could be considered a bug, because UTF-8 is the default for FS locale.
> 
> Hi,
> yes IMHO it is. BUT: Current assignee is "Spell checking utilities and
> dictionaries -- related bugs". As far as I understand this is a bug of equery
> NOT of aspell. But the equery guys didn't listen to me carefully :-(

I don't think the app-portage/gentoolkit maintainers ever saw this bug report, but I'll CC them for you.
Comment 8 Brian Dolbec (RETIRED) gentoo-dev 2011-08-03 03:30:25 UTC
Thank, you for cc'ing us.  Actually as the error states it is not equery, but portage that is puking on the filename.  Equery uses portage for most of it's information retrieval.

quote: "!!! Internal portage error,..."

zmedico, is there anything you can do with portage about this?
Comment 9 Zac Medico gentoo-dev 2011-08-03 04:04:12 UTC
(In reply to comment #8)
> Thank, you for cc'ing us.  Actually as the error states it is not equery, but
> portage that is puking on the filename.  Equery uses portage for most of it's
> information retrieval.
> 
> quote: "!!! Internal portage error,..."
> 
> zmedico, is there anything you can do with portage about this?

I think that equery is passing a raw byte string to portage, and that causes the problem because portage expects unicode strings. For example, `portageq owners` converts command line arguments to unicode, and it does not cause an error with the same input:

$ portageq owners / /tmp/ä
None of the installed packages claim these files:
        /tmp/ä

Something like this should work for equery to decode it to unicode before passing it to portage (bytes type is availabe in python2.6 and later):

if isinstance(arg, bytes):
   arg = arg.decode('utf_8')
Comment 10 SpanKY gentoo-dev 2011-08-06 10:50:20 UTC
i dont think we currently mandate filesystem names.  equery shouldnt crash, so it sounds like we should fix that and ignore the other issue.
Comment 11 Pacho Ramos gentoo-dev 2016-08-20 13:39:39 UTC
*** Bug 470072 has been marked as a duplicate of this bug. ***
Comment 12 Larry the Git Cow gentoo-dev 2021-03-13 00:36:49 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8930adfee5ad9a29d306b9cc1b124c8daed258ed

commit 8930adfee5ad9a29d306b9cc1b124c8daed258ed
Author:     Conrad Kostecki <conikost@gentoo.org>
AuthorDate: 2021-03-13 00:34:29 +0000
Commit:     Conrad Kostecki <conikost@gentoo.org>
CommitDate: 2021-03-13 00:34:29 +0000

    app-dicts/aspell-is: fix qa error
    
    Closes: https://bugs.gentoo.org/359355
    Package-Manager: Portage-3.0.16, Repoman-3.0.2
    Signed-off-by: Conrad Kostecki <conikost@gentoo.org>

 app-dicts/aspell-is/aspell-is-0.51.1.0-r1.ebuild | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)