SliTaz SliTaz Forum

You are not logged in.

#1 2024-06-13 20:43:26

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Contribution pour nouveaux paquets

Bonjour à tous les membres et en particulier aux administrateurs,

Depuis que Slitaz 64 est passé à la vitesse supérieure en passant sur un noyau 5.X.X (branche current), j'aimerais vraiment apporter ma contribution pour mettre à jour des paquets.

Dans un premier temps, j'aimerais me tester sur des petits applicatifs tel que abiword ou gnumeric.

Les tazpkg correspondants commençant à dater un peu, respectivement en version 2.8.6 et 1.12.53, je voudrais les proposer en version 3.0.5 et 1.12.57, à partir du code source mais j'avoue que l'utilisation du wok me semble hyper complexe, je me suis beaucoup documenté mais cela me semble malgré tout difficile à mettre en œuvre. Aussi je pensais qu'il serait plus facile de débuter avec des applis qui ont peu de dépendances et dont les paquets tazpkg existants me serviraient de modèle. Pourriez vous m'aider avec un tuto simple, une arborescence et des exemples concrets ?

D'avance merci beaucoup pour le temps consacré et votre aide précieuse car j'aimerais beaucoup apprendre à les construire et pourquoi pas apporter à ma manière une petite contribution.

Offline

#2 2024-06-14 06:45:04

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

Hello Sonycrokett,

Petit howto sur la mise en place d'un environnement de build.

# Installation de tazdev et aufs

# tazdev permet de créer un environnement de build qui sera isolé du système.

# aufs module noyau pour la gestion des couches systèmes

[c]tazpkg -gi tazdev && tazpkg -gi aufs[/c]

# Création de l'environnement de build avec la version current

# tadev gen-chroot <nom_chroot> <version>, si <nom_chroot> est différent de la version il faut utiliser en plus l'argument --mirror=http://mirror.slitaz.org/packages/<version>

# [c]tazdev gen-chroot bbcurrent current --mirror=http://mirror.slitaz.org/packages/current[/c]

[c]tazdev gen-chroot current current[/c]

root@slitaz:~# tazdev gen-chroot bbcurrent current --mirror=http://mirror.slitaz.org/packages/current

Generating new chroot in: /home/slitaz/bbcurrent/chroot

===========================================================================================================================================================================================================

Mirror URL: mirror.slitaz.org/packages/current                                                                                                                                                  [ Done ]

Installing: slitaz-base-files                                                                                                                                                                   [ Done ]

Installing: busybox                                                                                                                                                                             [ Done ]

Installing: cookutils                                                                                                                                                                           [ Done ]

Installing: tazpkg                                                                                                                                                                              [ Done ]

Installing: lzma                                                                                                                                                                                [ Done ]

mkdir: can't create directory '/home/slitaz/bbcurrent/chroot/etc': File exists

Creating resolv.conf...                                                                                                                                                                         [ Done ]

Creating TZ...                                                                                                                                                                                  [ Done ]

Restoring host packages list...                                                                                                                                                                 [ Done ]

===========================================================================================================================================================================================================

Ready to chroot with: tazdev -c bbcurrent

root@slitaz:~#

# On rentre dans le chroot

[c]tazdev -c bbcurrent[/c]

root@slitaz:~# tazdev -c bbcurrent

Mounting virtual filesystems...                                                                                                                                                                 [ Done ]

Chrooting to: /home/slitaz/bbcurrent/chroot

root@slitaz:/#

# On prépare notre plan de travail smile

[c]cook setup[/c]

root@slitaz:/# cook setup

/usr/bin/cook: line 60: can't create /home/slitaz/cache/activity: nonexistent directory

Setting up your environment

===========================================================================================================================================================================================================

Creating directories structure in "/home/slitaz"

Creating DB files in "/home/slitaz/cache"

Checking for packages to install...

slitaz-toolchain-6.0 100% |********************************|  4668  0:00:00 ETA

Tracking dependencies for package "slitaz-toolchain"

===========================================================================================================================================================================================================

Missing package "binutils"

Missing package "linux-api-headers"

Missing package "glibc-dev"

Missing package "gcc"

Missing package "make"

Missing package "elfkickers"

===========================================================================================================================================================================================================

6 missing packages to install.

[...]

Installation of package "tazlito"

===========================================================================================================================================================================================================

SliTaz Live Tool.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Copying package...                                                                                                                                                                                Done

Extracting package...                                                                                                                                                                             Done

Remember modified packages...                                                                                                                                                                     Done

Saving configuration files...                                                                                                                                                                     Done

Installing package...                                                                                                                                                                             Done

Removing all tmp files...                                                                                                                                                                         Done

Update system databases...                                                                                                                                                                        Done

===========================================================================================================================================================================================================

Package "tazlito" (537) is installed.

Adding group "slitaz"

Setting permissions for group "slitaz"...

===========================================================================================================================================================================================================

All done, ready to cook packages :-)

root@slitaz:/#

# On install cacerts, nécessaire pour pouvoir utiliser https.

[c]tazpkg -gi cacerts[/c]

root@slitaz:/# tazpkg -gi cacerts

cacerts-20231019.taz 100% |********************************|  324k  0:00:00 ETA

Installation of package "cacerts"

===========================================================================================================================================================================================================

Certificate Authority Certificates.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Copying package...                                                                                                                                                                              [ Done ]

Extracting package...                                                                                                                                                                           [ Done ]

Remember modified packages...                                                                                                                                                                   [ Done ]

Installing package...                                                                                                                                                                           [ Done ]

Removing all tmp files...                                                                                                                                                                       [ Done ]

Execute post-install commands...                                                                                                                                                                [ Done ]

===========================================================================================================================================================================================================

Package "cacerts" (20231019) is installed.

# On récupère le livre de recettes

[c]hg clone https://hg.slitaz.org/wok-current /home/slitaz/wok[/c]

root@slitaz:/# hg clone https://hg.slitaz.org/wok-current /home/slitaz/wok

requesting all changes

adding changesets

adding manifests

adding file changes

added 25713 changesets with 76338 changes to 11786 files

new changesets 36917db46db6:4f280129f9f2

updating to branch default

9948 files updated, 0 files merged, 0 files removed, 0 files unresolved

root@slitaz:/#

Nous sommes fin prêt pour commencer.

root@slitaz:/# cd /home/slitaz/wok

root@slitaz:/home/slitaz/wok#

Pour construire un paquet il faut utiliser la commande [c]cook <pkg>[/c]

Cette dernière va :

- récupérer les dépendances nécessaire à la compilation

- télécharger l'archive source

- patcher les sources si nécessaire

- lancer la compilation

- installer le programme dans un dossier temporaire (install)

- créer le paquet

Pour monter de version un paquet il faut éditer le fichier receipt présent dans le dossier du paquet.

Prenons comme exemple zlib qui est en 1.2.13 actuellement (côté upstream 1.3.1).

# SliTaz package receipt.

PACKAGE="zlib"

VERSION="1.2.13"

On édite zlib/receipt pour changer en VERSION="1.3.1" et on lance [c]cook zlib[/c]

root@slitaz:/home/slitaz/wok# vi zlib/receipt

root@slitaz:/home/slitaz/wok# cook zlib

nodev    aufs

Setup aufs chroot...

/usr/bin/cook: line 1616: can't open /home/slitaz/cache/cooktime: no such file

Cook: zlib 1.3.1

===========================================================================================================================================================================================================

QA: checking package receipt...

Connecting to zlib.net (85.187.148.2:80)

saving to '/home/slitaz/src/zlib-1.3.1.tar.xz'

zlib-1.3.1.tar.xz     29% |*********                       |  375k  0:00:02 ETA

zlib-1.3.1.tar.xz    100% |********************************| 1275k  0:00:00 ETA

'/home/slitaz/src/zlib-1.3.1.tar.xz' saved

Extracting source archive "zlib-1.3.1.tar.xz"

Executing: compile_rules

CFLAGS   : -march=i486 -Os -pipe -fomit-frame-pointer

Checking for gcc...

Checking for shared library support...

Building shared library libz.so.1.3.1 with gcc.

Checking for size_t... Yes.

Checking for off64_t... Yes.

Checking for fseeko... Yes.

Checking for strerror... Yes.

Checking for unistd.h... Yes.

Checking for stdarg.h... Yes.

Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().

Checking for vsnprintf() in stdio.h... Yes.

Checking for return value of vsnprintf()... Yes.

Checking for attribute(visibility) support... Yes.

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o adler32.o adler32.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o crc32.o crc32.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o deflate.o deflate.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o infback.o infback.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o inffast.o inffast.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o inflate.o inflate.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o inftrees.o inftrees.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o trees.o trees.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o zutil.o zutil.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o compress.o compress.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o uncompr.o uncompr.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzclose.o gzclose.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzlib.o gzlib.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzread.o gzread.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzwrite.o gzwrite.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/adler32.o adler32.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/crc32.o crc32.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/deflate.o deflate.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/infback.o infback.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/inffast.o inffast.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/inflate.o inflate.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/inftrees.o inftrees.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/trees.o trees.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/zutil.o zutil.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/compress.o compress.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/uncompr.o uncompr.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzclose.o gzclose.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzlib.o gzlib.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzread.o gzread.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzwrite.o gzwrite.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c

ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -o example example.o -L. libz.a

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -o minigzip minigzip.o -L. libz.a

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -o minigzip64 minigzip64.o -L. libz.a

gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.3.1 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo  -lc

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -o example64 example64.o -L. libz.a

rm -f libz.so libz.so.1

ln -s libz.so.1.3.1 libz.so

ln -s libz.so.1.3.1 libz.so.1

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o  -L. libz.so.1.3.1

gcc -march=i486 -Os -pipe -fomit-frame-pointer -fno-tree-vectorize -DUNALIGNED_OK -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o  -L. libz.so.1.3.1

rm -f /home/slitaz/wok/zlib/install/usr/lib/libz.a

cp libz.a /home/slitaz/wok/zlib/install/usr/lib

chmod 644 /home/slitaz/wok/zlib/install/usr/lib/libz.a

cp libz.so.1.3.1 /home/slitaz/wok/zlib/install/usr/lib

chmod 755 /home/slitaz/wok/zlib/install/usr/lib/libz.so.1.3.1

rm -f /home/slitaz/wok/zlib/install/usr/share/man/man3/zlib.3

cp zlib.3 /home/slitaz/wok/zlib/install/usr/share/man/man3

chmod 644 /home/slitaz/wok/zlib/install/usr/share/man/man3/zlib.3

rm -f /home/slitaz/wok/zlib/install/usr/lib/pkgconfig/zlib.pc

cp zlib.pc /home/slitaz/wok/zlib/install/usr/lib/pkgconfig

chmod 644 /home/slitaz/wok/zlib/install/usr/lib/pkgconfig/zlib.pc

rm -f /home/slitaz/wok/zlib/install/usr/include/zlib.h /home/slitaz/wok/zlib/install/usr/include/zconf.h

cp zlib.h zconf.h /home/slitaz/wok/zlib/install/usr/include

chmod 644 /home/slitaz/wok/zlib/install/usr/include/zlib.h /home/slitaz/wok/zlib/install/usr/include/zconf.h

===========================================================================================================================================================================================================

Installing (web/cache): advancecomp-2.3

Compressing man pages...                                                                                                                                                                          Done

  Time: 1.26s. Size: 4476 B -> 2043 B. Save: 2 KB. Cache hit: 0/1.

===========================================================================================================================================================================================================

Running testsuite

===========================================================================================================================================================================================================

ELF Header:

  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

  Class:                             ELF32

  Data:                              2's complement, little endian

  Version:                           1 (current)

  OS/ABI:                            UNIX - System V

  ABI Version:                       0

  Type:                              DYN (Shared object file)

  Machine:                           Intel 80386

  Version:                           0x1

  Entry point address:               0x2300

  Start of program headers:          52 (bytes into file)

  Start of section headers:          90764 (bytes into file)

  Flags:                             0x0

  Size of this header:               52 (bytes)

  Size of program headers:           32 (bytes)

  Number of program headers:         10

  Size of section headers:           40 (bytes)

  Number of section headers:         37

  Section header string table index: 36

===========================================================================================================================================================================================================

Build dependencies to remove: 1

Removing: advancecomp

Pack: zlib 1.3.1

===========================================================================================================================================================================================================

Executing: genpkg_rules

Copying "receipt"...                                                                                                                                                                              Done

Copying "description.txt"...                                                                                                                                                                      Done

Executing strip on all files...                                                                                                                                                                   Done

  Time: 0.08s. Size: 92244 B -> 83532 B. Save: 9 KB.

Creating the list of files...                                                                                                                                                                     Done

Creating md5sum of files...                                                                                                                                                                       Done

Compressing the FS...                                                                                                                                                                             Done

Updating receipt sizes...                                                                                                                                                                         Done

Creating full cpio archive...                                                                                                                                                                     Done

Restoring original package tree...                                                                                                                                                                Done

QA: checking for empty package...                                                                                                                                                                 Done

===========================================================================================================================================================================================================

Package "zlib-1.3.1.tazpkg" created

Summary for: zlib 1.3.1

===========================================================================================================================================================================================================

Source dir  : 5.7M

Src file    : zlib-1.3.1.tar.xz

Src size    : 1.2M

Produced    : 336.0K

Packed      : 116.0K

Compressed  : 36.3K

Files       : 3

Cook time   : 4s

Cook date   : 2024-06-14 06:37

Host arch   : i486

===========================================================================================================================================================================================================

Leaving aufs chroot...

Updating i486 chroot environment...

Installation of package "zlib"

===========================================================================================================================================================================================================

Compression library

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Copying package...                                                                                                                                                                                Done

Extracting package...                                                                                                                                                                             Done

Remember modified packages...                                                                                                                                                                     Done

Installing package...                                                                                                                                                                             Done

Removing old files...                                                                                                                                                                             Done

Removing all tmp files...                                                                                                                                                                         Done

===========================================================================================================================================================================================================

Package "zlib" (1.3.1) is installed.

root@slitaz:/home/slitaz/wok#

On viens de mettre à jour zlib en 1.3.1 sur notre environnement de construction et le paquet est disponible dans /home/slitaz/packages

root@slitaz:/home/slitaz/wok# ls /home/slitaz/packages/

zlib-1.3.1.tazpkg

Dans le cas de zlib, ce dernier est simple car ne dépend que de la glibc, pour d'autre cela peut être plus complexe car la montée de version implique soit de nouveau paquets ou des versions différentes voir même une compilation différente (meson, cmake au lieu de ./configure && make && make install)

Par exemple si tu souhaite passer abiword de 2.8.6 à 3.0.5, on passe de la branche 2.x à 3.x, il est donc possible que des ajustements soit à faire.

Offline

#3 2024-06-14 09:05:26

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

Spoiler pour abiword 3.0.5 smile

Minus quelque ajustement nécessaire pour qu'abiword se compile correctement celui-ci tourne sur currrent.

Pour t'aiguiller :

Le site abisource n'existe plus, il faut utiliser le site fossies.org pour avoir la source en 3.0.5.

Les dépendances et dépendances de build sont à revoir, tu peux check ce qui est fait sur Archlinux pour abiword (on utilise gtk2).

De plus une des dépendances à son url de source à changer.

Un fix est nécessaire pour abiword dans la partir compile_rules() suite à l'utilisation d'une version récente de GCC

[c]export CXXFLAGS="$CXXFLAGS -fpermissive"[/c]

Ainsi que des ajustements pour la partie où l'on copie les icones.

[attachment=52421,3551]

Offline

#4 2024-06-14 12:12:02

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Bonjour shann,

A nouveau un immense merci pour tout le temps que tu passes à transmettre ton savoir.

Loin de moi l'idée de devenir un cador sur Slitaz mais j'aime tellement cette distribution que j'utilise depuis 10 ans maintenant que cela me frustre de ne pas comprendre tous les mécanismes de la construction des paquets.

Bien sur que j'utilise Archlinux qui est vraiment la référence en la matière en terme de paquets, on trouve un catalogue immense et mis à jour régulièrement, sans compter AUR qui est un trésor.

La philosophie de Slitaz est bien différente et tu l'as bien rappelé en mettant en avant le compromis entre des paquets les plus récents possible et le fait de garder un os le plus léger possible.

Dans tous les cas tu es un puits de science et je te remercie encore pour toute l'aide apportée.

Je vais passer du temps à lire tout ce que tu viens de répondre, à plus smile

Offline

#5 2024-06-15 06:25:31

gibor
Moderator
Registered: 2011-04-30
Posts: 1,067

Re: Contribution pour nouveaux paquets

Hi Shann and Sonycrockett,

to summarize tazdev in compiling a package starts from a standard similar to a linux from scratch, getting to filter files and rules decided by the developer of the so slitaz.

Put in a nutshell it automates the process, but basically to compile a source you need to know what you need first, and then possibly correct tazdev if it fails.

-------------------------------------------------------------------------

Ciao Shann e Sonycrockett,

per riassumere tazdev nella compilazione di un pacchetto parte da uno standard simile ad un linux from scratch, arrivando a filtrare file e regole decise dallo sviluppatore del so slitaz.

Messo in poche parole si automatizza il processo, ma di fondo per compilare un sorgente occorre prima sapere cosa serve, e poi eventualmente si corregge il tazdev nel caso fallisca.

Offline

#6 2024-06-16 11:25:15

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Hello shann,

J'ai commencé à suivre avec attention ton petit howto et je me rend compte que ce n'est quand même pas facile et pas à la portée de tous. Je vais faire de mon mieux mais ça me semble compliqué.

J'ai en // voulu tester du coup ton paquet abiword 3.0.5 que tu as finalisé, je l'ai testé sur la dernière current mais contrairement à toi, il ne se lance pas, le curseur de souris présente un petit sablier (petite sphère) puis rien !

Tu es sur qu'il fonctionne ? Tes captures d'écran semblent dire que oui alors je ne comprends pas.

As-tu une idée ?

Merci et bon dimanche.

Offline

#7 2024-06-16 11:41:19

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Shann,

Oublie ce que je viens d'écrire au sujet de ton paquet, il se lance bien sur la toute dernière current d'aujourd'hui datée du 16/06/2024 smile

Bonne journée !

Offline

#8 2024-06-16 14:14:33

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

Hello Sonycrokett,

Pas de soucis, pour Abiword j'avais vendredi vu un soucis dans les dependances, normalement je l'avais fixé (bizarre que tu es eu un soucis).

J'ai constaté que j'avais quelque break suite au split de Mesa, en refaisant un test vendredi, tazweb ne voulais pas se lancer (lié à webkitgtk qui avais libGL.so et libEGL.so manquantes), fixé hier et iso refaite ce matin.

Merci, bon dimanche smile.

Offline

#9 2024-06-17 20:01:28

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Bonsoir shann,

Décidément c'est parfois obscure !

Je te confirme donc que ton paquet abiword 3.0.5 fonctionne bien sur la dernière current mais pas le paquet gnumeric 1.12.53 présent sur les dépôts

Inversement, sur la dernière rolling, gnumeric 1.12.53 se lance mais pas abiword 3.0.5

J'avoue ne pas comprendre.

Qu'en penses tu ?

2ème question: objectivement, est-il plus facile de construire un paquet tazpkg (ou mettre à jour un existant) ou plutôt écrire un script du type get-paquet.tazpkg qui se charge de télécharger ce qu'il faut, de compiler et d'installer en silencieux ?

get-OpenOffice4.tazpkg par exemple a-t-il été plus facile à réaliser plutôt que de construire intégralement le paquet correspondant ?

Merci beaucoup par avance et bonne soirée.

Offline

#10 2024-06-18 05:58:09

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

Bonjour sonycrokett,

Alors de ce que j'ai vérifier.

rolling abiword, lié à libpng16 qui n'est pas présent, en effet c'est libpng 1.2.56 vs 1.6.37 (current) :

tux@slitaz:~$ abiword

abiword: error while loading share libraries: libpng16.so.16: cannot open shared object file: No such file or directory

Pour gnumeric qui ne se lance pas sur current, lié à goffice qui n'est pas présent sur current

tux@slitaz:~$ gnumeric

gnumeric: error while loading share libraries: libgoffice-0.10.so.10: cannot open shared object file: No such file or directory

Je vois ce midi pour faire le nécessaire pour gnumeric sur current.

Concernant les paquet get-paquet.tazpkg, c'est plutôt réserver au paquets assez volumineux ou des restrictions (openOffice, LibreOffice firmware non-free)

Les scripts get-paquet ne font pas de compilation, on construit un paquet tazpkg depuis un autre format (deb, rpm, ..) ou pour le cas des firmwares on créer un paquet.

Offline

#11 2024-06-18 11:40:22

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

J'ai fait le nécessaire pour gnumeric.

Ainsi que reconstruit slitaz-i18n afin d'avoir gnumeric en français smile.

Gnumeric étant gtk3 only il y a des artefacts lié au theme/icones gtk2 sad

[attachment=52429,3552]

Offline

#12 2024-06-18 13:43:07

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Franchement merci shann pour ta réactivité, c'est impressionnant smile

Je poursuis la découverte de construction des paquets, @+

Cordialement,

sonycrokett

Offline

#13 2024-06-19 08:15:11

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Bonjour shann,

J'ai suivi ton tuto dans son intégralité et grâce à toi j'ai pu construire mon premier paquet avec succès !

Il s'agit de la mise à jour de smplayer qui commençait à dater puisque la version remontait à 2022.

Du coup, le paquet smplayer-22.07.tazpkg a vécu et j'ai réussi à créer smplayer-24.5.0.tazpkg qui fonctionne !

Comment je peux l'uploader sur un miroir pour le mettre à disposition de tout le monde ?

Encore merci smile

Offline

#14 2024-06-21 06:35:28

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

Bonjour sonycrokett,

De rien, j'ai vu pour fixer le soucis d'icones avec les apps gtk3 (gnumeric, firefox-official).

les deux paquets ont adwaita-icon-theme en dépendance et j'ai inclus le settings.ini pour gtk3 dans slitaz-configs-base.

J'ai vu qu'on a mpv en 0.32.0, je vais voir pour le passer 0.38.0 ainsi que ffmpeg-compat 0.10.12 en 2.3.6  (pas sûr qu'on est encore besoin de celui-ci pour mpv).

On a pas de dépôt similaire ppa ou aur, en revanche je peut voir pour te créer un compte sur people afin que puisse y déposer dans ton espace ton paquet.

Je peut également faire un commit pour le mettre à jour sur current smile

Je regarderais tout ça dimanche quand je rentre wink.

Offline

#15 2024-06-21 07:26:33

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Bonjour shann,

Merci beaucoup, c'est parfait tout ça !

Bonne journée smile

Offline

#16 2024-06-24 18:19:46

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

Bonsoir Sonycrokett,

j'ai mis à jour smplayer, pour mpv passer en 0.38.0 implique d'avoir liplacebo ainsi que spirv.

Pour spirv, je n'ai pas réussi à générer le paquet, soucis qui serait lié à la version de gcc, j'ai tenté un workaround mais sans succès :

make LDLIBS="$LDLIBS -lstdc++fs"

ERROR: cook failed

collect2: error: ld returned 1 exit status

objdump.cpp:(.text.startup+0xc41): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'

Donc on a smplayer 24.5.0 avec mpv 0.32.0, et ffmpeg-compat mis à jour en 2.3.6

Offline

#17 2024-06-25 09:42:13

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Bonjour shann,

Merci beaucoup pour ces modifications !

C'est nickel.

J'aimerais aussi si tu es d'accord m'intéresser à un outil que j'utilisais beaucoup sur slitaz mais qui ne se lance plus pour moi depuis des lustres: audacity.

Les paquets présents sur les dépôts semblent corrompus et les versions proposées sont vraiment datées maintenant.

Tu penses qu'on peut rendre quelle version fonctionnelle ? /l a plus récente possible smile

Bonne journée.

Offline

#18 2024-06-25 15:29:23

shann
Administrator
Registered: 2011-04-01
Posts: 1,296
Website

Re: Contribution pour nouveaux paquets

Bonsoir Sonycrokett,

Pour audacity, la version 2.3.2 a besoin de wxWidgets v3.1.x, on a la 3.2.0.

la version 3.0.5 requière conan, version 2.4.2 et 3.2.4 échoue sur une histoire de flag inconnu [c]-msse -fmpmath=sse[/c]

j'ai réussi à compiler la version 3.0.2, en utilisant la version wxWidgets spécifique.

Il faut que je regarde si je peut activer gstreamer.

[attachment=52436,3553]

Offline

#19 2024-06-25 19:27:16

sonycrokett2000
Member
Registered: 2015-05-19
Posts: 111

Re: Contribution pour nouveaux paquets

Bonsoir shann,

C'est déjà fantastique d'obtenir une version 3.x.x fonctionnelle !

Félicitations pour cet effort.

Bonne soirée.

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.022 seconds, 7 queries executed - Memory usage: 1.68 MiB (Peak: 1.77 MiB) ]