Please, fetch commit http://git.altlinux.org/people/viy/packages/?p=gcc4.7.git;a=commit;h=9b73c8c2bbaea20334f4005a21414611410b598f and publish a new release of gcc to restore %_datadir/java/gcj-endorsed according to Java Policy.
That commit is called "java bugfix", but I don't understand why. You said it has something to do with Java Policy but I don't see the link. Please help me to understand what's the matter.
Unversioned gcj directories should go to a version agnostics package, such as libgcj-common.
s/agnostics/agnostic/
Суть патча не в упаковке каких либо каталогов. оба варианта можно безболезненно выкинуть из спека -%_datadir/java/gcj%gcc_branch-endorsed +%_datadir/java/gcj-endorsed а %_datadir/java/gcj-endorsed запаковать в другом пакете, я только за. Суть патча в -- -DGCJ_ENDORSED_DIRS="\"$(jardir)/gcj-endorsed\"" \ -+ -DGCJ_ENDORSED_DIRS="\"$(jardir)/gcj$(gcc_version)-endorsed\"" \ без этого gcj не научится обратно смотреть в %_datadir/java/gcj-endorsed, как ему во всем мире и положено.
$(jardir)/gcj$(gcc_version)-endorsed не нужна,но если хочется ее видеть из эстетических или философских соображений, можно сделать так -- -DGCJ_ENDORSED_DIRS="\"$(jardir)/gcj-endorsed\"" \ -+ -DGCJ_ENDORSED_DIRS="\"$(jardir)/gcj-endorsed\":\"$(jardir)/gcj$(gcc_version)-endorsed\"" \ т.е. я согласен на любой мусор в DGCJ_ENDORSED_DIRS, лишь бы там присутствовал стандартный путь $(jardir)/gcj-endorsed.
в частности, gcj без этого не видит bouncycastle-* jars, которые у нас лежат в /usr/share/java/gcj-endorsed/.
Раньше это было не смертельно, так как раньше gcj находил их в classpath, а в gcj4.7 уже прикрутили гайки по безопастности, и теперь GCJ_ENDORSED_DIRS должно принимать осмысленное значение.
как бонус, опять станет собираться itext (сейчас он не собирается, так как криптомодули bouncycastle-* теперь ищутся только в GCJ_ENDORSED_DIRS, а в GCJ_ENDORSED_DIRS пути %_datadir/java/gcj-endorsed, где лежат bouncycastle-*, нет.
Резюмируя, в gcc4.7 закрутили гайки по безопастности, и теперь доверенный код откуда попало не загружается. Для этого кода у нас выделен каталог %_datadir/java/gcj-endorsed. Проблема в том, что у нас GCJ_ENDORSED_DIRS инициализируются левым значением, поэтому gcj жоверенный код не находит. надо, чтобы GCJ_ENDORSED_DIRS содержали %_datadir/java/gcj-endorsed.
(В ответ на комментарий №9) > Резюмируя, в gcc4.7 закрутили гайки по безопастности, > и теперь доверенный код откуда попало не загружается. > Для этого кода у нас выделен каталог > %_datadir/java/gcj-endorsed. > > Проблема в том, что у нас GCJ_ENDORSED_DIRS инициализируются левым значением, > поэтому gcj жоверенный код не находит. > надо, чтобы GCJ_ENDORSED_DIRS содержали %_datadir/java/gcj-endorsed. Оно у нас традиционно инициализировались левым значением, но раньше это не сказывалось на работе.
упростил патч, прошу взять здесь http://git.altlinux.org/people/viy/packages/?p=gcc4.7.git;a=commit;h=04b87129a56ecfe15b8e85f9150302dade0241a7 и выпусить новый релиз.
gcc4.7-4.7.2-alt6 -> sisyphus: * Wed Jan 09 2013 Dmitry V. Levin <ldv@altlinux> 4.7.2-alt6 - libgcj: fixed GCJ_ENDORSED_DIRS (by Igor Vlasenko; closes: #28319). - libgcj-jar: dropped /usr/share/java/gcj4.7-endorsed/.
спасибо!