[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: package-config-tool >>> debian template


Le 03/12/2024 à 19:09, gbWilly a écrit :
Hi,

I had a first glance at the osb debian 12 recipe control file and no wonder it doesn't build.
It is a lot to digest, even with meld.

Let's start with a few biggies to make life a little easier:

 1. All dependencies of component in one sequential line. This is no
    problem for the building, but for my human eye.
    I have all dependencies line by line, makes maintaining my recipe easier
    This makes it difficult in meld to compare as all are seen as
    different and for me to check is very difficult
    If only 2 dependencies, it is doable, but when 10 or 20!? So, that
    makes comparing extra difficult

Indeed, I didn't think about that. I could have generate them one by line if I had been less lazy.

 2. Most almost all .install files differ but a few because of things
    like this:
    ME:
    usr/lib/gambas3/gb.args*
    usr/share/gambas3/info/gb.args*
    OSB:
    usr/lib/gambas3/gb.args.component
    usr/share/gambas3/info/gb.args.info
    usr/share/gambas3/info/gb.args.list
    usr/lib/gambas3/gb.args.gambas
    But I could change that on my side as well, no problem, it looks neater.

It's easier to generate the first one, and it is less risky not to use wildcards. You may package something unexpected with them.

 3. In control file you follow same order as me up to scripter.
    I then start with component gb-args in alphabetic order
    You do same, but have gb-desktop inbetween scripter and gb-args
    That makes comparing difficult

Components that have specific declarations come first. Look at the template.


The a few biggies that make sure they don't build:

 1. remove sql2 install and remove from control (last seen on debian 10)

OK.

 2. remove all qt4 install and remove from control (last seen on debian 10)

OK.

 3. all non gambas components need 'any' instead of 'all', only pure
    gambas components can use 'all'

OK.

 4. Add dependecies for qt6:
                     qt6-base-dev,
                     qt6-webengine-dev [amd64 arm64 armhf i386],
                     qt6-svg-dev,

OK.

 5. I can not say if you meet all dependencies on gambas3 and gambas-ide
    as my long list has to be compared with 1 long line or several lines
    (always 1 long included)
    Just make sure that qt4 is gone and qt6 is in

OK.

 6. disable qt6 and mongodb on debian 11 (remove from control +
    dependencies in control)

OK.

 7. use libwebkit2gtk-4.0-dev on debian11 (no libwebkit2gtk-4.1-dev on
    debian 11)

OK.


Then a few changes I did, to improve the recipe, I can see on first glance are following (there might be more):

 1. gambas3-runtime.links
    - 'usr/share/gambas3/icons/application-x-gambas3.png usr/share/
    icons/hicolor/256x256/...' instead of '64x64' as the refered .png is
    256x256 in size (debian doesn't like that)
 2. gambas3-scripter.links (same issue)
    - 'usr/share/gambas3/icons/application-x-gambasscript.png usr/share/
    icons/hicolor/256x256/...' instead of '64x64'
    - "usr/share/gambas3/icons/application-x-gambasserverpage.png usr/
    share/icons/hicolor/256x256/..." instead of '64x64'

These are not generated, so you can directly fix them in the template files in 'gambas-package-config'.

 3. control file addition:
    - 'Vcs-Git: https://gitlab.com/gambas/gambas.git <https://
    gitlab.com/gambas/gambas.git>' below Vcs-Browser
    --> this refers autobuilders to source code at master (I think osb
    will use it as well)
    --> Use 'Vcs-Git: https://gitlab.com/gambas/gambas.git <https://
    gitlab.com/gambas/gambas.git> -b stable' for 3.19.6 (tags can't be
    used!)

OK, but I think I won't package the stable version with 'gambas-package-config'. It will be use only from Gambas 3.20.

 4. . control file change to gambas3-dev (debian policy)
    Section: oldlibs   -> was optional
    Priority: optional  -> added
    'This is a dummy transitional package. It can safely be removed.'  -
     > word dummy added
 5. control file change to gambas3-dev (debian policy)
    Section: oldlibs   -> was optional
    Priority: optional  -> added
    'This is a dummy transitional package. It can safely be removed.'  -
     > word dummy added
 6. control file change to gambas3-dev-tools (debian policy)
    WAS:
    Breaks: gambas3-dev (<< 3.18.3), gambas3-devel (<< 3.18.3)
    Replaces: gambas3-dev, gambas3-devel
    Conflicts: gambas3-dev (<< 3.18.3), gambas3-devel (<< 3.18.3)
    IS
    Breaks: gambas3-dev (<< 3.15.0), gambas3-devel (<< 3.19.6)
    Replaces: gambas3-dev, gambas3-devel
    --> gambas3-dev last packaged on debian before 3.15.0
    --> gambas3-devel is still packaged by debian (3.19.5 on debian13,
    3.18.0 on debian12)
    --> Breaks and Conflicts should not be used together, in this case
    Breaks and Replaces is recommended
 7. control file gambas3-ide -> dependencies added (gambas wiki recommends)
              gzip,
              wget
    Suggests: pngquant,
                      translate-shell
    --> gzip (wget was already there) added and the 2 others are
    suggested upon install, so user can choose to use or not
 8. control file gambas3-scripter remove, Breaks already present
    Conflicts: gambas3-script (<< 3.15.0)

I'm not sure to understand entirely the five last points. I think you can do these change directly into the two 'control' files in 'gambas-package-config'.

I will do the seven first points, then I will see.

Regards,

--
Benoît Minisini.


Follow-Ups:
Re: package-config-tool >>> debian templategbWilly <gbWilly@xxxxxxxxxxxxxx>
Re: package-config-tool >>> debian templateBenoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>
References:
package-config-tool >>> debian templategbWilly <gbWilly@xxxxxxxxxxxxxx>