ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] java-1.5.0-poisoning announce
@ 2007-12-01 21:15 Igor Vlasenko
  0 siblings, 0 replies; only message in thread
From: Igor Vlasenko @ 2007-12-01 21:15 UTC (permalink / raw)
  To: ALT Devel discussion list; +Cc: ALT Linux Sisyphus discussion list

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




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-12-01 21:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-01 21:15 [devel] java-1.5.0-poisoning announce Igor Vlasenko

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git