#page created from wilecoyote
#LANGUAGE it
#format wiki
<
>
<>
<>
= Introduzione =
In '''Kubuntu 20.04''' e '''Lubuntu 20.04''', a causa di dipendenze non presenti nei [[Repository#Repository_ufficiali|repository ufficiali]], non può essere compilato il pacchetto '''Bup''' necessario a creare un backup incrementale con l'applicazione '''[[AmministrazioneSistema/BackupDelSistema/KupBackup|KupBackup]]'''.
Nel seguito viene mostrato come creare le dipendenze assenti, ricompilando i sorgenti presenti nel repository ufficiali, e tramite esse il pacchetto '''Bup''' medesimo.
= Preliminari =
Occorre installare molti pacchetti per svolgere le compilazioni e pacchettizzazioni, ma una volta completate tutte le operazioni molte sarà possibile [[#rimozione|rimuoverle]].
[[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://build-essential, dpkg-dev, checkinstall, python3.7-dev, python3-fuse, libpython2-dev, python3-pytest, python3-distutils, pkg-config, linux-libc-dev, libacl1-dev, gcc, make, acl, attr, rsync, python3-pytest-xdist, par2, libreadline-dev, python3-tornado, python3-all, python3-all-dev, python3-all-dbg, python3-setuptools, python3-sphinx, python-all, python-all-dev, debhelper-compat, python-all-dbg, python-setuptools|build-essential, dpkg-dev, checkinstall, python3.7-dev, python3-fuse, libpython2-dev, python3-pytest, python3-distutils, pkg-config, linux-libc-dev, libacl1-dev, gcc, make, acl, attr, rsync, python3-pytest-xdist, par2, libreadline-dev, python3-tornado, python3-all, python3-all-dev, python3-all-dbg, python3-setuptools, python3-sphinx, python-all, python-all-dev, debhelper-compat, python-all-dbg, python-setuptools]].
= Ricompilare pacchetti dipendenze =
[[https://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella `~/Python` in cui eseguire la compilazione dei pacchetti richiesti.
== Pacchetto python-pylibacl ==
0. Scaricare il sorgente [[http://ubuntu.mirror.garr.it/ubuntu/pool/main/p/python-pylibacl/python-pylibacl_0.5.4.orig.tar.gz|python-pylibacl_0.5.4.orig.tar.gz]] e la patch [[http://ubuntu.mirror.garr.it/ubuntu/pool/main/p/python-pylibacl/python-pylibacl_0.5.4-2.debian.tar.xz|python-pylibacl_0.5.4-2.debian.tar.xz.]] nella cartella `~/Python`.
0. [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] il sorgente `.tar.gz` nella cartella `~/Python`.
0. [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] la patch `.debian.tar.xz` nella cartella `~/Python/pylibacl_0.5.4`.
0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/Python/pylibacl_0.5.4/control`.
0. Copiare tra il primo e il secondo blocco d'istruzioni il seguente testo:{{{
Package: python-pylibacl
Architecture: any
Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}
Provides: ${python:Provides}
Suggests: python-pylibacl-dbg, python-pylibacl-doc
Description: module for manipulating POSIX.1e ACLs
pylibacl is a Python interface to the libacl library. It allows
manipulation of the POSIX.1e-compliant filesystem ACLs present
in some operating systems (GNU/Linux included).
.
This package contains the library for Python 2.
}}}
0. Salvare e chiudere l'editor.
0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/Python/pylibacl_0.5.4/changelog`.
0. Copiare in cima il seguente testo:{{{
python-pylibacl (0.5.4-3) stable; urgency=low
* Added python2 support
-- Ciuf-Ciuf Fri, 29 Apr 2022 23:25:10 -0200
}}}
{{{#!wiki tip
Il nome ed email «Ciuf-Ciuf » è solo un esempio, possono essere sostituiti con altri a piacere, purché venga rispettata la sinossi.}}}
0. Salvare e chiudere l'editor.
0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella `~/Python/pylibacl_0.5.4`.
0. Compilare e creare il pacchetto col comando:{{{
sudo dpkg-buildpackage -uc -us
}}}
== Pacchetto python-pyxattr ==
0. Scaricare il sorgente [[http://ubuntu.mirror.garr.it/ubuntu/pool/main/p/python-pyxattr/python-pyxattr_0.6.1.orig.tar.gz|python-pyxattr_0.6.1.orig.tar.gz]] e la patch [[http://ubuntu.mirror.garr.it/ubuntu/pool/main/p/python-pyxattr/python-pyxattr_0.6.1-2.debian.tar.xz|python-pyxattr_0.6.1-2.debian.tar.xz.]] nella cartella `~/Python`.
0. [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] il sorgente `.tar.gz` nella cartella `~/Python`.
0. [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] la patch `.debian.tar.xz` nella cartella `~/Python/pyaxattr_0.6.1-2`.
0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/Python/pyaxattr_0.6.1-2/control`.
0. Copiare tra il primo e il secondo blocco il seguente testo:{{{
Package: python-pyxattr
Architecture: any
Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}
Provides: ${python:Provides}
Suggests: python-pyxattr-dbg, python-pyxattr-doc
Description: module for manipulating filesystem extended attributes
pyxattr is a Python interface to the libattr library. It allows
manipulation of the filesystem extended attributes present in some
operating systems (GNU/Linux included).
.
This package contains the library for Python 2.
}}}
0. Salvare e chiudere l'editor.
0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/Python/pyaxattr_0.6.1-2/changelog`.
0. Copiare in cima il seguente testo:{{{
python-pyxattr (0.6.1-3) stable; urgency=low
* Added python2 support
-- Ciuf-Ciuf Fri, 29 Apr 2022 23:33:41 -0200
}}}
{{{#!wiki tip
Il nome ed email «Ciuf-Ciuf » è solo un esempio, possono essere sostituiti con altri a piacere, purché venga rispettata la sinossi.}}}
0. Salvare e chiudere l'editor.
0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella `~/Python/pyaxattr_0.6.1-2`.
0. Compilare e creare il pacchetto col comando:{{{
sudo dpkg-buildpackage -uc -us
}}}
== Installazione pacchetti compilati ==
0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella `~/Python/`
0. Installare i seguenti pacchetti creati col comando:{{{
sudo dpkg -i python-pylibacl_0.5.4-3_amd64.deb python3-pylibacl_0.5.4-3_amd64.deb python-pyxattr_0.6.1-3_amd64.deb python3-pyxattr_0.6.1-3_amd64.deb
}}}
{{{#!wiki note
Gli altri pacchetti creati non serve installarli.
}}}
= Pacchettizzare pacchetto Bup =
0. Scaricare il file sorgente in formato `tar.gz` [[https://github.com/bup/bup/archive/refs/tags/0.30.1.tar.gz|da qui]].
0. [[https://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella `~/Bup`.
0. [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] il contenuto dell'archivio `.tar.gz` nella cartella `~/Bup`.
0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella `~/Bup`.
0. [[AmministrazioneSistema/InstallareProgrammi/DaSorgenti#Script_di_configurazione|Configurare]] e [[AmministrazioneSistema/InstallareProgrammi/DaSorgenti#Compilazione|compilare]] il codice sorgente __senza installarlo__.
0. Pacchettizzare il compilato con [[Programmazione/Checkinstall|Checkinstall]].
{{{#!wiki tip
Alla richiesta della descrizione si può inserire questo testo:
'''highly efficient file backup system based on git.
bup is a backup tool which stores the backups in a system based around the packfile format from git.'''
}}}
0. Terminata la pacchettizzazione, installare il pacchetto `Bup` creato col comando suggerito a schermo.
<>
= Rimozione dipendenze compilazione =
0. Rimuovere i pacchetti per il debug col comando:{{{
sudo apt purge *-dbg
}}}
0. Rimuovere i pacchetti `pyython` per compilare col comando:{{{
sudo apt purge *python*-dev
}}}
----------
CategoryAmministrazione