Java/OracleSDK: различия между версиями
Строка 93: | Строка 93: | ||
<source lang=text> | <source lang=text> | ||
cd /home/user/RPM/SPEC | |||
rpmbuild -bs --nodeps java-1.8.0-oracle.spec | rpmbuild -bs --nodeps java-1.8.0-oracle.spec | ||
Строка 99: | Строка 100: | ||
cd /home/user/RPM/SPEC | cd /home/user/RPM/SPEC | ||
rpmbuild - | rpmbuild -bs --nodeps java-1.8.0-oracle.spec | ||
</source> | </source> | ||
При этом в систему установятся пакеты, необходимые для сборки пакета. После сборки их можно удалить из системы. | При этом в систему установятся пакеты, необходимые для сборки пакета. После сборки их можно удалить из системы. |
Версия от 13:56, 17 февраля 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 пакет. Например, http://fly.osdn.org.ua/~mike/packages/java/java-1.7.0-oracle/java-1.7.0-oracle-1.7.0.21-alt1.nosrc.rpm
Установите его командой вида
rpm -i java-1.7.0-oracle-1.7.0.21-alt1.nosrc.rpm
Скачайте в папку SOURCES/ недостающий исходник для вашей архитектуры с сайта 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 по инструкции. Внизу дан пример правки spec файла.
--- 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/, поправьте при необходимости версию в spec-файле, и выполните команду (для 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
При этом в систему установятся пакеты, необходимые для сборки пакета. После сборки их можно удалить из системы.
Ссылки
Переключение на Oracle JDK
TODO: использование alternatives