Статьи

Сборка обновленных пакетов для sun-java6 6u30

Недавно Oracle отозвала возможность дистрибутивов Linux переупаковывать Java и распространять свои собственные пакеты. Это было расценено как плохая идея. Я склонен согласиться.

Итак, давайте перемотаем старый файл deb sun-java6 с новым содержимым, содержащим последнюю версию 6u30 java.

Тебе понадобится: 

 

  1. 1. Набор пакетов сборки (у меня есть набор для lucid, поэтому, если это не так, я найду способ их размещения.) С http://archive.canonical.com/ubuntu/pool/partner / с / ВС-java6 /
  2. Последние пакеты Java:  http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-i586.bin и  http://download.oracle.com/otn-pub /java/jdk/6u30-b12/jdk-6u30-linux-x64.bin
  3. DCH. просто установите пакет devscripts, чтобы получить это. 
  4.  Некоторая идея о том, как работает упаковка в Debian / Ubuntu.

 

Давайте начнем.

mkdir package-build
cd package-build
wget http://archive.canonical.com/ubuntu/pool/partner/s/sun-java6/sun-java6_6.26-2lucid1.dsc
wget http://archive.canonical.com/ubuntu/pool/partner/s/sun-java6/sun-java6_6.26-2lucid1.debian.tar.gz
wget http://archive.canonical.com/ubuntu/pool/partner/s/sun-java6/sun-java6_6.26.orig.tar.gz
wget http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-i586.bin
wget http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-x64.bin
tom.oconnor@charcoal-black:~/package-build$ ls -1
jdk-6u30-linux-x64.bin
jdk-6u30-linux-i586.bin
sun-java6_6.26-2lucid1.debian.tar.gz
sun-java6_6.26-2lucid1.dsc
sun-java6_6.26.orig.tar.gz
tom.oconnor@charcoal-black:~/package-build$ dpkg-source -x *.dsc
gpgv: Signature made Tue 13 Dec 2011 22:31:53 GMT using RSA key ID CC559573
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./sun-java6_6.26-2lucid1.dsc
dpkg-source: info: extracting sun-java6 in sun-java6-6.26
dpkg-source: info: unpacking sun-java6_6.26.orig.tar.gz
dpkg-source: info: unpacking sun-java6_6.26-2lucid1.debian.tar.gz
tom.oconnor@charcoal-black:~/package-build$ cd sun-java6-6.26/
tom.oconnor@charcoal-black:~/package-build/sun-java6-6.26$ ls
debian  jdk-6u26-dlj-linux-amd64.bin  jdk-6u26-dlj-linux-i586.bin
tom.oconnor@charcoal-black:~/package-build/sun-java6-6.26$ rm *.bin
tom.oconnor@charcoal-black:~/package-build/sun-java6-6.26$ ../jdk-6u30-linux-i586.bin jdk-6u30-dlj-linux-i586.bin
tom.oconnor@charcoal-black:~/package-build/sun-java6-6.26$ ../jdk-6u30-linux-x64.bin jdk-6u30-dlj-linux-amd64.bin
tom.oconnor@charcoal-black:~/package-build/sun-java6-6.26$ vim debian/rules

Идите вниз к блоку «# проверьте, являются ли источники» одинаковыми «

Затем найдите и прокомментируйте блок, следующий за ним, так что вы получите это.

#       : # check if the sources are the "same"
#       set -e; set -- $(all_archs); a1=$$1; shift; \
#       unzip -q -d tmp-$$a1/src $$a1-jdk/src.zip; \
#       for a2; do \
#         unzip -q -d tmp-$$a2/src $$a2-jdk/src.zip; \
#         echo "Comparing sources: tmp-$$a1/src tmp-$$a2/src ..."; \
#         echo "    diff -ur $(diff_ignore)"; \
#         diff -ur $(diff_ignore) tmp-$$a1/src tmp-$$a2/src; \
#       done

Сохраните этот файл и запустите:

dch -v 6.30

Это создаст запись журнала изменений для версии 6.30 и откроет $ EDITOR для редактирования записи журнала изменений. 

Введите заглушку. 

Я поставил что-то вроде 

* Updating internal contents to 6u30

.. Есть какой-то вывод, но вы можете проигнорировать это.

dch warning: New package version is Debian native whilst previous version was not
dch warning: your current directory has been renamed to:
../sun-java6-6.30
dch warning: no orig tarball found for the new version.

 

tom.oconnor@charcoal-black:~/package-build/sun-java6-6.26$ cd ..
tom.oconnor@charcoal-black:~/package-build$ cd sun-java6-6.30/
tom.oconnor@charcoal-black:~/package-build/sun-java6-6.30$ dpkg-buildpackage -b -uc

… МНОГО ВЕЩЕЙ …

tom.oconnor@charcoal-black:~/package-build/sun-java6-6.30$ cd ..
tom.oconnor@charcoal-black:~/package-build$ ls
ia32-sun-java6-bin_6.30_amd64.deb     sun-java6_6.26-2lucid1.dsc  sun-java6-6.30                sun-java6-bin_6.30_amd64.deb   sun-java6-fonts_6.30_all.deb   sun-java6-jdk_6.30_amd64.deb  sun-java6-plugin_6.30_amd64.deb
sun-java6_6.26-2lucid1.debian.tar.gz  sun-java6_6.26.orig.tar.gz  sun-java6_6.30_amd64.changes  sun-java6-demo_6.30_amd64.deb  sun-java6-javadb_6.30_all.deb  sun-java6-jre_6.30_all.deb    sun-java6-source_6.30_all.deb

 

Woo. Деб.

Что вы хотите сделать с ними сейчас, зависит от вас. Следующий пост в блоге, я собираюсь перейти к созданию репозитория пакетов с prespro.

 

Спасибо @mibus за его аналогичную статью , на которой это частично основано.

Источник:  http://tomoconnor.eu/blogish/building-updated-packages-sun-java6-6u30/