Недавно Oracle отозвала возможность дистрибутивов Linux переупаковывать Java и распространять свои собственные пакеты. Это было расценено как плохая идея. Я склонен согласиться.
Итак, давайте перемотаем старый файл deb sun-java6 с новым содержимым, содержащим последнюю версию 6u30 java.
Тебе понадобится:
- 1. Набор пакетов сборки (у меня есть набор для lucid, поэтому, если это не так, я найду способ их размещения.) С http://archive.canonical.com/ubuntu/pool/partner / с / ВС-java6 /
- Последние пакеты 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
- DCH. просто установите пакет devscripts, чтобы получить это.
- Некоторая идея о том, как работает упаковка в 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/