Java/OracleSDK
Материал из ALT Linux Wiki
(→NOSRC In a Nutshell) |
(→Примечания) |
||
Строка 101: | Строка 101: | ||
=== Примечания === | === Примечания === | ||
+ | |||
+ | ; ключ " --nodeps " команды "rpmbuild -bs" позволяет выполнить ее без установки лишних зависимостей в хост-систему. | ||
+ | При этом, если в хост-системе не будет некоторых дополнительных | ||
+ | пакетов с макросами, именно, указанных в BuildRequires(pre): {{pkg|rpm-macros-alternatives browser-plugins-npapi-devel}}, | ||
+ | то rpmbuild будет выдавать предупреждения, связанные с отсутствием соответствующих макросов. | ||
+ | На это можно не обращать внимания, если сборка src.rpm пакета состоялась. | ||
+ | |||
; Если вы не осилили сборку в hasher, то надо делать так: | ; Если вы не осилили сборку в hasher, то надо делать так: | ||
Версия 20:26, 26 апреля 2015
Установка Oracle Java 6/7 SDK в ALTLinux
Содержание |
Лицензионные ограничения
jdk-6u26-linux является последним фирменным JDK, распространяемым под лицензией DLJ (Operating System Distributor License for Java version 1.1). Эта лицензия явно разрешает распространять JDK в составе дистрибутива. Таким образом, java-1.6.0-sun-1.6.0.26 является последним JDK от Sun/Oracle, входящим в состав Sisyphus.
Последующие версии Oracle JDK теперь распространяются под лицензией Oracle Binary Code License, в которой есть явное разрешение распространять JDK вместе с java приложениями, например, в составе LiveCD, но нет явного разрешения распространять JDK в одиночку, как отдельный пакет. Поэтому их нет в сизифе.
Однако ничто не мешает установить данные пакеты самостоятельно. Для безболезненной установки Oracle JDK под ALTLinux доступны .nosrc.rpm пакеты. В эти .nosrc.rpm пакеты собственно Oracle JDK не входит, его нужно отдельно скачать, после чего их можно пересобрать по инструкции ниже и получить обычные rpm пакеты, готовые к установке.
NOSRC In a Nutshell
Все действия этой инструкции проводим под оператором $.
Скачайте с
http://fly.osdn.org.ua/~mike/packages/java/java-1.8.0-oracle/ (для Oracle JDK 8)
с
http://fly.osdn.org.ua/~mike/packages/java/java-1.7.0-oracle/ (для Oracle JDK 7)
либо с
http://fly.osdn.org.ua/~mike/packages/java/java-1.6.0-oracle/ (для Oracle JDK 6)
соответствующий *.nosrc.rpm пакет.
Установите его командой вида:
$ rpm -i java-1.7.0-oracle-1.7.0.21-alt1.nosrc.rpm
После выполнения команды у вас появится новая директория "/home/"user_name"/RPM/" , в ней будет еще 2 папки: SOURCES и SPECS
Скачайте в папку SOURCES/ недостающий исходник JDK*.tar.gz для вашей архитектуры с сайта Oracle
Java SE Downloads, download.oracle.com, если ссылки устареют, поищите новые в google.
Например: для java-1.7.0-oracle-1.7.0.3 это будет файл:
(i586) http://download.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-i586.tar.gz
(x86_64) http://download.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-x64.tar.gz
Для java-1.7.0-oracle-1.7.0.21 это будут файлы jdk-7u21-linux-i586.tar.gz и jdk-7u21-linux-x64.tar.gz соответственно.
Публикация nosrc.rpm может отставать от выпуска новых релизов java.
Если на сайте Oracle доступна более свежая версия, чем имеющиеся *.nosrc.rpm необходимо внести поправки в файле java-1.7.0-oracle.spec, и только после этого приступать к сборке *.src.rpm
К примеру: У вас в файле java-1.7.0-oracle.nosrc.rpm в строке "define buildver" указана версия 17, а на оф.сайте уже доступна версия jdk-7u21-linux-**.tar.gz править нужно следующее: ( "-" - это строка для изменения, "+" - та же строка но уже с внесенными изменениями)
--- a/java-1.7.0-oracle.spec +++ b/java-1.7.0-oracle.spec @@ -38,7 +38,7 @@ %define origin oracle %define priority 16040 %define javaver %major.%minor -%define buildver 17 +%define buildver 21 %define jppname java-%{javaver}-%{origin} %define javaws_ver %{javaver} @@ -989,6 +989,9 @@ done %changelog +* Mon Apr 22 2013 Igor Vlasenko <viy@altlinux.ru> 0:1.7.0.21-alt1 +- nosrc spec file for java sdk 7u21 + * Fri Mar 08 2013 Igor Vlasenko <viy@altlinux.ru> 0:1.7.0.17-alt1 - nosrc spec file for java sdk 7u17
Далее:
установите в host-систему пакет rpm-build-java.
И в папке SPECS/ выполнить команду (для Oracle JDK 7):
$ rpmbuild -bs --nodeps java-1.7.0-oracle.spec
Полученный в результате java-1.7.0-oracle-1.7.0.21-alt1.src.rpm пересоберите в hasher.
Примечания
- ключ " --nodeps " команды "rpmbuild -bs" позволяет выполнить ее без установки лишних зависимостей в хост-систему.
При этом, если в хост-системе не будет некоторых дополнительных пакетов с макросами, именно, указанных в BuildRequires(pre): rpm-macros-alternatives browser-plugins-npapi-devel, то rpmbuild будет выдавать предупреждения, связанные с отсутствием соответствующих макросов. На это можно не обращать внимания, если сборка src.rpm пакета состоялась.
- Если вы не осилили сборку в hasher, то надо делать так
cd /home/user/RPM/SPEC rpmbuild -bs --nodeps java-1.8.0-oracle.spec cd /home/user/RPM/SRPMS apt-get build-dep java-1.8.0-oracle-1.8.0.31-alt1.src.rpm cd /home/user/RPM/SPEC rpmbuild -bs --nodeps java-1.8.0-oracle.spec
При этом в систему установятся пакеты, необходимые для сборки пакета. После сборки, их можно удалить из системы.
- В последней версии java-1.8.0-oracle.spec для JDK 8u45 (arh type i586), надо запретить сборку moz_plugin_classiс для 32-битной архитектуры (как уже сделано для 64-бит)
@@ -84,7 +84,7 %else %def_enable javaws %def_enable moz_plugin -%def_enable moz_plugin_classic +%def_disable moz_plugin_classic %def_enable desktop %endif %def_with gcc32_abi
Ссылки
Переключение на Oracle JDK
TODO: использование alternatives