Java/OracleSDK: различия между версиями
м (→NOSRC In a Nutshell: 1.7.0.21 nosrc.rpm ещё не совсем на ftp, но скоро будет, в отличие от fly...) |
|||
Строка 27: | Строка 27: | ||
Все действия этой инструкции проводим под оператором $. | Все действия этой инструкции проводим под оператором $. | ||
Скачайте с | Скачайте с http://ftp.altlinux.org/pub/people/mike/packages/java/ соответствующий *.nosrc.rpm пакет. | ||
Например: http://ftp.altlinux.org/pub/people/mike/packages/java/java-1.7.0-oracle-1.7.0.80-alt2.nosrc.rpm | |||
Например: http:// | |||
Установите его командой вида: | Установите его командой вида: | ||
$ <code> rpm -Uhv java-1.7.0-oracle-1.7.0. | $ <code> rpm -Uhv java-1.7.0-oracle-1.7.0.80-alt2.nosrc.rpm </code> | ||
После выполнения команды у вас появится новая директория "{{path|/home/"user_name"/RPM/}}", в ней будет еще 2 папки: {{path|SOURCES}} и {{path|SPECS}} | |||
Скачайте в папку {{path|SOURCES/}} недостающий исходник JDK*.tar.gz для вашей архитектуры с сайта Oracle | |||
[http://www.oracle.com/technetwork/java/javase/downloads/index.html Java SE Downloads], | [http://www.oracle.com/technetwork/java/javase/downloads/index.html Java SE Downloads], | ||
Строка 49: | Строка 43: | ||
если ссылки устареют, поищите новые в google. | если ссылки устареют, поищите новые в google. | ||
Например: для java-1.7.0-oracle-1.7.0. | Например: для java-1.7.0-oracle-1.7.0.21 это будет файл: | ||
(i586) http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-i586.tar.gz | |||
(x86_64) http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-x64.tar.gz | |||
<!-- Для java-1.7.0-oracle-1.7.0.21 это будут файлы {{pkg|jdk-7u21-linux-i586.tar.gz}} и {{pkg|jdk-7u21-linux-x64.tar.gz}} соответственно. | |||
--> | |||
Публикация nosrc.rpm может отставать от выпуска новых релизов java. | Публикация nosrc.rpm может отставать от выпуска новых релизов java. | ||
Если на сайте Oracle доступна более свежая версия, | Если на сайте Oracle доступна более свежая версия, | ||
чем имеющиеся *.nosrc.rpm необходимо внести поправки в файле java-1.7.0-oracle.spec, | чем имеющиеся *.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 | К примеру: У вас в файле java-1.7.0-oracle.nosrc.rpm в строке "define buildver" указана версия 17, а на оф.сайте уже доступна версия jdk-7u21-linux-**.tar.gz | ||
Строка 94: | Строка 87: | ||
установите в host-систему пакет rpm-build-java. | установите в host-систему пакет rpm-build-java. | ||
И в папке {{path|SPECS/}} | И в папке {{path|SPECS/}} выполните команду (для Oracle JDK 7): | ||
$ rpmbuild -bs --nodeps java-1.7.0-oracle.spec | $ rpmbuild -bs --nodeps java-1.7.0-oracle.spec |
Версия от 00:34, 13 октября 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://ftp.altlinux.org/pub/people/mike/packages/java/ соответствующий *.nosrc.rpm пакет.
Например: http://ftp.altlinux.org/pub/people/mike/packages/java/java-1.7.0-oracle-1.7.0.80-alt2.nosrc.rpm
Установите его командой вида:
$ rpm -Uhv java-1.7.0-oracle-1.7.0.80-alt2.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.21 это будет файл:
(i586) http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-i586.tar.gz
(x86_64) http://download.oracle.com/otn-pub/java/jdk/7u21-b11/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 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