Nie jesteś zalogowany na forum.

#1 2015-10-23 12:13:55

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 2,056
WWW

Wczesne wersje LibreOffice

Ze względu na wczesne wersje LO, które tutaj od czasu do czasu zaprezentuję, istnieje prawdopodobieństwo graniczące z pewnością, że nie będą się one nadawały do codziennego używania. Prezentuję albowiem ktoś z nas być może będzie miał czas i ochotę włączyć się na wczesnym etapie rozwoju pakietu i choćby jedynie zgłaszać błędy nadchodzącego wydania najpopularniejszego otwarto źródłowego pakietu biurowego. W dużej mierze jakość oprogramowania OS zależy od nas samych. Róbmy zatem to co możemy, umiemy zamiast narzekać potem, gdy już ukaże się jakaś wersja, że coś nie działa.
Poniżej pierwszy z takich PKGBUILDów umożliwiający budowę LO w wersji deweloperskiej. Prezentowane skrypty będą zawsze (dopóki czegoś nie zmienię) opierały się o następujące założenia:
- skrypt buduje wyłącznie pakiet w wersji 64 bitowej (jeśli ktoś chciałby wersję 32 bitową, to może go zmienić we własnym zakresie, albo niech się zgłosi do mnie),
- skrypt nie buduje pakietu ze źródeł, a prowadzi konwersję udostępnianych przez Document Foundation paczek w formacie RPM,
- skrypt buduje spolszczoną wersję pakietu (znów - jeśli ktoś chciałby wersję anglojęzyczną to albo może sobie go samemu dostosować, albo niech się zgłosi do mnie),
- skrypt instaluje wersję testową w /opt/ i wersja ta nie koliduje z libreoffice-fresh bądź libreoffice-still - mogą sobie oba pakiety spokojnie koegzystować na jednym dysku i można z nich zamiennie korzystać; skrypt nie powinien zmieniać przyporządkowania plików MIME, ale proszę sobie to sprawdzić, czy domyślnie środowisko nie przyporządkuje nowszej wersji do otwierania danego rodzaju plików,
- ze względu na to, że udostępniałem wersje RC różnych wydań LO, to prezentowane oprogramowanie (libreofficedev-rpm-pl) jest w konflikcie z owymi RC (libreoffice-rpm-rc-pl); podczas instalacji, jeśli wykryte zostanie oprogramowanie pochodzące z tamtych skryptów (umieszczane były na archlike.darmowefora.pl), to podczas instalacji, po potwierdzeniu, dokonane zostanie odinstalowanie pakietu RC i wgranie pakietu Dev (podobne założenia przyjmę w przypadku RC - też nie będzie ich można zainstalować obok Dev i też instalacja dokona odinstalowania - wówczas Dev i instalacji RC).
Ze względu na to, że zarówno pliki źródłowe, jak i sama paczka są duże, należy budowę paczki przeprowadzać mając wystarczająco dużo miejsca na partycji, gdzie to nastąpi. Trzeba się liczyć z około 1GB zapotrzebowaniem na pamięć dyskową.
Przyjęte rozwiązanie - konwersja z rpm, a nie bezpośrednie budowanie ze źródeł - ma dwie zalety i jedną wadę. Wadą jest, że mimo wszystko nie jest to program budowany ze źródeł, czyli jest m.in. obarczony ustawieniami kompilacji użytymi w Document Foundation. Zaletą jest stosunkowa szybkość budowy paczki oraz to, że otrzymujemy program w takiej wersji, jaką chcą udostępnić deweloperzy.

Skrypt nie jest moim autorskim pomysłem, a zmienionym nieco skryptem dostępnego w AUR https://aur.archlinux.org/packages/libr … fresh-rpm/.

Ewentualne błędy w poniższym skrypcie (tylko dotyczące poprawnego budowania paczki w Archu) proszę zgłaszać tutaj. Błędy dotyczące funkcjonowania pakietu proszę zgłaszać bezpośrednio LO - po to ten pakiet jest w ogóle robiony.

Prezentowana poniżej wersja umożliwia obecnie wgranie następującej wersji LO:

Wersja: 5.1.0.0.alpha1
Build ID: a8e4f75fe264f6ece37c154951cff53f2f4fa3e4
Ustawienia regionalne: pl-PL (pl_PL.UTF-8)

PKGBUILD

pkgname=libreofficedev-rpm-pl
pkgver=5.1.0.0.alpha1
_pkgver=5.1.0.0
pkgrel=1
pkgdesc="LGPL Office Suite installed from rpms"
arch=('any')
url='http://www.libreoffice.org'
license=('LGPL')
conflicts=('libreoffice-fresh-rpm' 'libreoffice-rpm-rc-pl')
depends=('glibc>=2.5' 'gtk2>=2.10.4' 'xorg-server')
makedepends=('curl' 'awk')
optdepends=('jre7-openjdk' 'gtk3' 'gst-plugins-base' 'gst-plugins-good' 'gst-plugins-bad' 'gst-plugins-ugly')
source=(
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_${_pkgver}.alpha1_Linux_x86-64_rpm.tar.gz"
#"http://download.documentfoundation.org/libreoffice/testing/5.0.3/rpm/x86_64/LibreOffice_5.0.3.1_Linux_x86-64_rpm.tar.gz"
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_5.1.0.0.alpha1_Linux_x86-64_rpm_helppack_pl.tar.gz"
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_5.1.0.0.alpha1_Linux_x86-64_rpm_langpack_pl.tar.gz"
#"http://download.documentfoundation.org/libreoffice/testing/5.0.3/rpm/x86_64/LibreOffice_5.0.3.1_Linux_x86-64_rpm_helppack_pl.tar.gz"
#"http://download.documentfoundation.org/libreoffice/testing/5.0.3/rpm/x86_64/LibreOffice_5.0.3.1_Linux_x86-64_rpm_langpack_pl.tar.gz"
)

package() {   ## package function

## check kernel version to allow arbitrarily patched kernels
min_kernMajor=2;
min_kernMinor=6;
min_kernRelease=18;
## in bash, we need to split kernVer assigning into 2 steps
tmp_kernVer=$(uname -r);
new_kernVer=${tmp_kernVer%%-*}
kernVer=(${new_kernVer//./ });
## remove temporary variables
unset new_kernVer tmp_kernVer;

if [ ${kernVer[0]} -le $min_kernMajor ]; then
   if [ ${kernVer[1]} -le $min_kernMinor ]; then
      if [ ${kernVer[2]} -lt $min_kernRelease ]; then
         msg "The kernel version needs to be at least 2.6.18. The current kernel version is $(uname -r). Please update your linux kernel";
         exit;
      fi;
   fi;
fi;

cd ${srcdir};  ## enter the package source directory
## extract rpms and install them
for a in $(ls -d */); do  ## loop for all directories found
  cd "${srcdir}/${a}/RPMS";  ## enter the RPMS directory
  for b in *.rpm; do  ## loop for all rpm files found
    bsdtar -xf $b;  ## extract the rpm files
  done;
  
  cp -rf */ ${pkgdir}/;  ## copy and merge all found directories to the package directory

  ## change the permissions for files that shouldn't be executable
  declare -a wrongexec=("opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/CREDITS.fodt" "opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/LICENSE.fodt" "opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/NOTICE");  ## set the array to change permissions
  for a in ${wrongexec[@]}; do
  chmod 644 ${pkgdir}/$a; ## change permissions to read/write for root, read only for users
  done;
done;
}
md5sums=('2eb303cb1cfbbd9547054e060f2b5920'
         '34d278a089e5d68b687f40d58103115b'
         '0d289ef83bfe60b0e22c370ce69cc263')

Hardware: AMD: A8-7410 APU with Radeon R5; Arch testing+kde-unstable, kernel linux-pb, KDE+poprawki, kf5.65rc; kernel własny zawsze z najnowszej linii
https://deviantart.com/pavbaranov/ https://pavbaranov.blogspot.com https://linux-pavbaranov.blogspot.com

Offline

#2 2015-11-27 20:43:16

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 2,056
WWW

Odp: Wczesne wersje LibreOffice

Założenia dokładnie te same co wyżej. Wersję alpha zastępuje wersja beta. Obecna to:

Wersja: 5.1.0.0.beta1-buildfix1
Build ID: 13010a13177025f633c9b85adcb3edf6920e44e3
Threads 2; Ver: 4.3; Render: default;
Ustawienia regionalne: pl-PL (pl_PL.UTF-8)

PKGBUILD

pkgname=libreofficedev-rpm-pl
pkgver=5.1.0.0.beta1
_pkgver=5.1.0.0
pkgrel=1
pkgdesc="LGPL Office Suite installed from rpms"
arch=('any')
url='http://www.libreoffice.org'
license=('LGPL')
conflicts=('libreoffice-fresh-rpm' 'libreoffice-rpm-rc-pl')
depends=('glibc>=2.5' 'gtk2>=2.10.4' 'xorg-server')
makedepends=('curl' 'awk')
optdepends=('jre7-openjdk' 'gtk3' 'gst-plugins-base' 'gst-plugins-good' 'gst-plugins-bad' 'gst-plugins-ugly')
source=(
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_${_pkgver}.beta1-buildfix1_Linux_x86-64_rpm.tar.gz"
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_5.1.0.0.beta1-buildfix1_Linux_x86-64_rpm_helppack_pl.tar.gz"
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_5.1.0.0.beta1-buildfix1_Linux_x86-64_rpm_langpack_pl.tar.gz"
)

package() {   ## package function

## check kernel version to allow arbitrarily patched kernels
min_kernMajor=2;
min_kernMinor=6;
min_kernRelease=18;
## in bash, we need to split kernVer assigning into 2 steps
tmp_kernVer=$(uname -r);
new_kernVer=${tmp_kernVer%%-*}
kernVer=(${new_kernVer//./ });
## remove temporary variables
unset new_kernVer tmp_kernVer;

if [ ${kernVer[0]} -le $min_kernMajor ]; then
   if [ ${kernVer[1]} -le $min_kernMinor ]; then
      if [ ${kernVer[2]} -lt $min_kernRelease ]; then
         msg "The kernel version needs to be at least 2.6.18. The current kernel version is $(uname -r). Please update your linux kernel";
         exit;
      fi;
   fi;
fi;

cd ${srcdir};  ## enter the package source directory
## extract rpms and install them
for a in $(ls -d */); do  ## loop for all directories found
  cd "${srcdir}/${a}/RPMS";  ## enter the RPMS directory
  for b in *.rpm; do  ## loop for all rpm files found
    bsdtar -xf $b;  ## extract the rpm files
  done;
  
  cp -rf */ ${pkgdir}/;  ## copy and merge all found directories to the package directory

  ## change the permissions for files that shouldn't be executable
  declare -a wrongexec=("opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/CREDITS.fodt" "opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/LICENSE.fodt" "opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/NOTICE");  ## set the array to change permissions
  for a in ${wrongexec[@]}; do
  chmod 644 ${pkgdir}/$a; ## change permissions to read/write for root, read only for users
  done;
done;
}
md5sums=('83654a834d56064eddb5f27e3bf2d98a'
         '9467fbfd8b66dbdd8202a1de7968bcaf'
         '2a28b7f5f07cb272e1fffa6c0a2476c3')

Hardware: AMD: A8-7410 APU with Radeon R5; Arch testing+kde-unstable, kernel linux-pb, KDE+poprawki, kf5.65rc; kernel własny zawsze z najnowszej linii
https://deviantart.com/pavbaranov/ https://pavbaranov.blogspot.com https://linux-pavbaranov.blogspot.com

Offline

#3 2015-12-06 17:46:23

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 2,056
WWW

Odp: Wczesne wersje LibreOffice

Na oficjalnej stronie LO wylądowała już wersja Beta 1 nadchodzącego LO5.1. Odpowiada ona co do zasady wersji z przedstawionego wyżej PKGBUILDu. Niemniej jednak dostępna jest już również wersja beta2. PKGBUILD dla niej prezentuję poniżej (oczywiście zasady, jakie przyjąłem na początku nie zostały zmienione):

pkgname=libreofficedev-rpm-pl
pkgver=5.1.0.0.beta2
_pkgver=5.1.0.0
pkgrel=1
pkgdesc="LGPL Office Suite installed from rpms"
arch=('any')
url='http://www.libreoffice.org'
license=('LGPL')
conflicts=('libreoffice-fresh-rpm' 'libreoffice-rpm-rc-pl')
depends=('glibc>=2.5' 'gtk2>=2.10.4' 'xorg-server')
makedepends=('curl' 'awk')
optdepends=('jre7-openjdk' 'gtk3' 'gst-plugins-base' 'gst-plugins-good' 'gst-plugins-bad' 'gst-plugins-ugly')
source=(
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_${_pkgver}.beta2_Linux_x86-64_rpm.tar.gz"
#"http://download.documentfoundation.org/libreoffice/testing/5.0.3/rpm/x86_64/LibreOffice_5.0.3.1_Linux_x86-64_rpm.tar.gz"
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_5.1.0.0.beta2_Linux_x86-64_rpm_helppack_pl.tar.gz"
"http://dev-builds.libreoffice.org/pre-releases/rpm/x86_64/LibreOfficeDev_5.1.0.0.beta2_Linux_x86-64_rpm_langpack_pl.tar.gz"
#"http://download.documentfoundation.org/libreoffice/testing/5.0.3/rpm/x86_64/LibreOffice_5.0.3.1_Linux_x86-64_rpm_helppack_pl.tar.gz"
#"http://download.documentfoundation.org/libreoffice/testing/5.0.3/rpm/x86_64/LibreOffice_5.0.3.1_Linux_x86-64_rpm_langpack_pl.tar.gz"
)

package() {   ## package function

## check kernel version to allow arbitrarily patched kernels
min_kernMajor=2;
min_kernMinor=6;
min_kernRelease=18;
## in bash, we need to split kernVer assigning into 2 steps
tmp_kernVer=$(uname -r);
new_kernVer=${tmp_kernVer%%-*}
kernVer=(${new_kernVer//./ });
## remove temporary variables
unset new_kernVer tmp_kernVer;

if [ ${kernVer[0]} -le $min_kernMajor ]; then
   if [ ${kernVer[1]} -le $min_kernMinor ]; then
      if [ ${kernVer[2]} -lt $min_kernRelease ]; then
         msg "The kernel version needs to be at least 2.6.18. The current kernel version is $(uname -r). Please update your linux kernel";
         exit;
      fi;
   fi;
fi;

cd ${srcdir};  ## enter the package source directory
## extract rpms and install them
for a in $(ls -d */); do  ## loop for all directories found
  cd "${srcdir}/${a}/RPMS";  ## enter the RPMS directory
  for b in *.rpm; do  ## loop for all rpm files found
    bsdtar -xf $b;  ## extract the rpm files
  done;
  
  cp -rf */ ${pkgdir}/;  ## copy and merge all found directories to the package directory

  ## change the permissions for files that shouldn't be executable
  declare -a wrongexec=("opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/CREDITS.fodt" "opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/LICENSE.fodt" "opt/libreofficedev$(echo $pkgver | awk -F'.' 'OFS="." {print $1,$2}')/NOTICE");  ## set the array to change permissions
  for a in ${wrongexec[@]}; do
  chmod 644 ${pkgdir}/$a; ## change permissions to read/write for root, read only for users
  done;
done;
}
md5sums=('94ad9d6699b226addc890c0d6c4beb0f'
         'e431c6522eb7cdc11ee60928fe6fd453'
         '94cffeedaa54aed50b7b922ead4f28be')

Hardware: AMD: A8-7410 APU with Radeon R5; Arch testing+kde-unstable, kernel linux-pb, KDE+poprawki, kf5.65rc; kernel własny zawsze z najnowszej linii
https://deviantart.com/pavbaranov/ https://pavbaranov.blogspot.com https://linux-pavbaranov.blogspot.com

Offline

#4 2015-12-17 22:04:18

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 2,056
WWW

Odp: Wczesne wersje LibreOffice

LO 5.1.0 RC1 - tym razem już na moim blogu: http://linux-pavbaranov.blogspot.com/20 … linux.html
Jak zwykle proszę o włączenie się w testowanie tak samego programu (i zgłaszanie dostrzeżonych błędów deweloperom LO), jak i testowanie samego PKGBUILDu i zgłaszanie wszelkich problemów i potrzeb z nim związanych mi.


Hardware: AMD: A8-7410 APU with Radeon R5; Arch testing+kde-unstable, kernel linux-pb, KDE+poprawki, kf5.65rc; kernel własny zawsze z najnowszej linii
https://deviantart.com/pavbaranov/ https://pavbaranov.blogspot.com https://linux-pavbaranov.blogspot.com

Offline

Stopka

Forum oparte na FluxBB