From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sat, 1 Dec 2007 23:15:31 +0200 (EET) From: Igor Vlasenko To: ALT Devel discussion list Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=KOI8-R Content-Transfer-Encoding: 8BIT Received-SPF: pass (dad.imath.kiev.ua: domain of vlasenko@dad.imath.kiev.ua designates 127.0.0.1 as permitted sender) receiver=dad.imath.kiev.ua; client-ip=127.0.0.1; helo=localhost; envelope-from=vlasenko@dad.imath.kiev.ua; x-software=spfmilter 0.95 http://www.acme.com/software/spfmilter/ with libspf2; Cc: ALT Linux Sisyphus discussion list Subject: [devel] java-1.5.0-poisoning announce X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Dec 2007 21:15:37 -0000 Archived-At: List-Archive: List-Post: Java - изменения в политике. Уважаемые коллеги! До ноября 2007 года основными javac компиляторами, использовавшимися у нас для сборки java пакетов, были javac из java-1.4.2-{sun,blackdown}. Технически это было связано с тем, что для получения гарантированно рабочего на старых JVM кода опций -source и -target недостаточно, простые примеры, обьясняющие почему это так, см. ((http://www.javaworld.com/javaworld/javaqa/2003-05/02-qa-0523-version.html?page=1)) и наиболее простым и надежным способом получения совместимости была сборка с помощью старого компилятора. Идейная причина была в gcj. В настоящее время у нас пакеты собираются без поддержки gcj, но я хотел сохранить возможность в любой момент безболезненно (gcj не поддерживал диалект java >= 5) начать работу по его внедрению. Эта же причина сдерживала основные апстримы от использования java5, поэтому такая политика проблем не создавала. Однако появление openjdk, а также недавний gcj, который стал понимать java5, произвели брожение в апстримах. Скоро в Сизиф хлынет поток софта, написанного на java5. Появление в репозитории свежего eclipse знаменует его начало. Проблема здесь следующая. javac из java-1.4.2-{sun,blackdown} не сможет слинковать класс, если в classpath попадется хотя бы один class с версией 49.0 и выше (java >=5). Получается что-то вроде GPL virus или `java 1.5 poisoning`. Это означает, что новые пакеты придется в массе собирать javac = 1.5.0. Напомню, установку -source и -target это не отменяет, их, как и прежде, желательно ставить в минимальные разумные значения. Однако сборка с javac = 1.5.0 уже не гарантирует работоспособность под java-1.4.2 по вышеизложенным причинам. Для тех, кому позарез нужна именно java-1.4.2, будет retroweaver ((http://retroweaver.sourceforge.net/)) с оберткой, которая локально в системе будет перекомпилировать байткод установленных пакетов под java-1.4.2. Что же касается старых пакетов, то в какой-то момент их сборка рассыпется. Это не страшно, так как они не несут прямых зависимостей на java-1.4.2, а зависят от jpackage-1.4-compat, вытягивающий java-1.4.2. В какой-то момент я его подменю пакетом, вытягивающим java5. Этот же прием рекомендую людям, желающим выпустить замкнутый по сборочным зависимостям дистрибутив, который бы не таскал с собой старые java. Но пока сборка старых пакетов не рассыпалась, очень прошу уважаемых инкомингеров исполнить заявку #13481 ((https://bugzilla.altlinux.org/show_bug.cgi?id=13481)) и переложить орду указанных пакетов в branch. Также, начиная с этого анонса, неработоспособность под java 1.4.2 не желательна, но больше не считается BUG. -- Dr. Igor Vlasenko -------------------- Topology Department Institute of Math Kiev, Ukraine