• no perl compilation

    From Kai Richter@2:240/77 to All on Sat Jun 3 12:02:30 2023
    Hello All!

    I would like to compile husky in FreeBSD jails with a minimum setup.
    I've cloned the repo with gitup and have the init_build and build.sh scripts from github huskybse of today and adjusted the huskymak.cfg to "=0" for all variables. I removed the "util" module from the list of programms too but i still (even with hpt only) get:

    To build util, you must install Perl
    and Perl modules 'Module::Build' and 'Test::More'

    How to compile without perl?

    Regards

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: Monobox (2:240/77)
  • From Michael Dukelsky@2:5020/1042 to Kai Richter on Sat Jun 3 19:06:30 2023
    Hello Kai,

    Saturday June 03 2023, Kai Richter wrote to All:

    I would like to compile husky in FreeBSD jails with a minimum setup.
    I've cloned the repo with gitup and have the init_build and build.sh scripts from github huskybse of today and adjusted the huskymak.cfg to "=0" for all variables. I removed the "util" module from the list of programms too but i still (even with hpt only) get:

    To build util, you must install Perl
    and Perl modules 'Module::Build' and 'Test::More'

    It looks like there was some mistake in the sequence of actions you did. Instead of looking for the mistake, it may be easier to start from the beginning. Create a new directory and copy the init_build there. Change to the directory and run

    ./init_build -d YOUR_DIRECTORY

    where YOUR_DIRECTORY is the full path of the directory you have just created. After that update the huskymak.cfg that has just been created in the directory and run

    ./build.sh

    Michael

    ... node (at) f1042 (dot) ru
    --- GoldED+/LNX 1.1.5-b20230221
    * Origin: Moscow, Russia (2:5020/1042)
  • From Kai Richter@2:240/77 to Michael Dukelsky on Sun Jun 4 06:28:02 2023
    Hello Michael!

    03 Jun 23, Michael Dukelsky wrote to Kai Richter:

    It looks like there was some mistake in the sequence of actions you
    did.

    I found a backup for my raspberry pi:
    Mem: 1332K Active, 9400K Inact, 125M Wired, 98M Buf, 778M Free
    # uname -a
    FreeBSD generic 13.0-RELEASE FreeBSD 13.0-RELEASE #0 releng/13.0-n244733-ea31abc261f: Fri Apr 9 06:33:09 UTC 2021 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm

    where the compilation did work. My approach was the sequence that worked then. (Starting with edit of huskymak.cfg and compilation of huskylib.) That build used gmake and clang: huskylib # gmake
    clang -Wall -c -O3 -fomit-frame-pointer -fPIC -DUNIX -DHAS_POPEN -Ihuskylib src/calendar.c

    Instead of looking for the mistake, it may be easier to start
    from the beginning.

    Ok, i dropped my requirements of no git no perl in my testing jail. testing:~/worf% df -h
    Filesystem Size Used Avail Capacity Mounted on
    testing 845G 2,5G 842G 0% /

    Create a new directory and copy the init_build
    there. Change to the directory and run

    ./init_build -d YOUR_DIRECTORY

    # ./init_build -d ~/worf/
    DO NOT run this as root

    Fixed.

    To build util, you must install Perl
    and Perl modules 'Module::Build' and 'Test::More'

    Reading/learning/found cpanm:

    +++++
    testing:~/worf% cpanm Test::More
    !
    ! Can't write to /usr/local/lib/perl5/site_perl and /usr/local/bin: Installing modules to /home/test/perl5
    ! To turn off this warning, you have to do one of the following:
    ! - run me as a root or with --sudo option (to install to /usr/local/lib/perl5/site_perl and /usr/local/bin)
    ! - Configure local::lib in your existing shell to set PERL_MM_OPT etc.
    ! - Install local::lib by running the following commands
    !
    ! cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
    +++++

    There is no sudo in FreeBSD jails, so back to root:

    cpanm Module::Build
    cpanm Test::More

    It worked. Back to user and build.

    where YOUR_DIRECTORY is the full path of the directory you have just created. After that update the huskymak.cfg that has just been created

    Btw when i did several tries to get the init_build done the renaming of huskymak.cfg.old to huskymak.cfg was a little workflow breaker.

    in the directory and run

    ./build.sh

    Generating hptzip/cvsdate.h
    Please install 'makeinfo' program

    got root, pkg search makeinfo, not found, read INSTALL.asciidoc, installed texinfo. I got interrupted and when i continued i forgot to keep reporting. But finaly the build finished. After changing to root gmake install worked.

    Well, i had no doubt that it does. But now i have a git perl installation. I know i will need that anyway if i ever would be able to contribute but for my jail system i would still like to do a no perl no git installation first.

    Regards

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: Monobox (2:240/77)
  • From Michael Dukelsky@2:5020/1042 to Kai Richter on Tue Jun 6 12:58:28 2023
    Hello Kai,

    Sunday June 04 2023, Kai Richter wrote to Michael Dukelsky:

    I'm sorry to be late with the reply.

    [...]
    ... now i have a git perl
    installation. I know i will need that anyway if i ever would be able
    to contribute but for my jail system i would still like to do a no
    perl no git installation first.

    If you want to install Husky in a jail or generally in a computer without installed git, please do the following.

    The installation will be done in two steps. At the first step you need a computer with access to Internet and with installed git. Here you obtain the full sources including cvsdate.h files. After that you copy that to the computer where the installation should be done (or to the jail) and build and install Husky there.

    Step 1. Create a new directory, for example 'husky_build'. Copy 'init_build' to the directory. Change to the directory and run

    ./init_build -d husky_build

    Modify the created huskymak.cfg to your liking. If you do not want to use Perl, delete 'util' from the PROGRAMS list and set PERL=0. Now run

    gmake update

    Step 2. After that copy the whole husky_build directory to the jail. Be sure to install all the necessary programs in the jail. Which programs to install depends on the settings you use in huskymak.cfg. See huskybse/INSTALL.asciidoc. Change to the husky_build directory inside the jail and run

    ./build.sh --offline

    After Husky is built, you may install it.


    Michael

    ... node (at) f1042 (dot) ru
    --- GoldED+/LNX 1.1.5-b20230221
    * Origin: Moscow, Russia (2:5020/1042)
  • From Kai Richter@2:240/77 to Michael Dukelsky on Wed Jun 7 23:41:56 2023
    Hello Michael!

    06 Jun 23, Michael Dukelsky wrote to Kai Richter:

    I'm sorry to be late with the reply.

    Don't worry, you are not. ;)

    If you want to install Husky in a jail or generally in a computer
    without installed git, please do the following.

    Thanks. I will give that a try. Some health issues caught me and summer is calling. It's good to know that i can run husky on freebsd, some kind of little milestone for me. Would like to continue immediately but i really need some sleep now.

    What kind of job does pearl during the make process?

    I found some parts that looked like building the cvsdate.h. Anything else?

    Regards

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: Monobox (2:240/77)
  • From Michael Dukelsky@2:5020/1042 to Kai Richter on Thu Jun 8 16:53:56 2023
    Hello Kai,

    Wednesday June 07 2023, Kai Richter wrote to Michael Dukelsky:

    Some health issues caught me and summer is calling.

    Get well!

    What kind of job does pearl during the make process?
    I found some parts that looked like building the cvsdate.h. Anything
    else?

    It seems that Perl is used during 'update' phase only and it is not used during 'build' and 'install' phases (if PERL=0 in huskymak.cfg and 'util' is not present in PROGRAMS list).

    Michael

    ... node (at) f1042 (dot) ru
    --- GoldED+/LNX 1.1.5-b20230221
    * Origin: Moscow, Russia (2:5020/1042)
  • From Kai Richter@2:240/77 to Michael Dukelsky on Sun Jun 11 17:28:24 2023
    Hello Michael!

    06 Jun 23, Michael Dukelsky wrote to Kai Richter:

    If you want to install Husky in a jail or generally in a computer
    without installed git, please do the following.

    The installation will be done in two steps. At the first step you need
    a computer with access to Internet and with installed git. Here you
    obtain the full sources including cvsdate.h files. After that you copy that to the computer where the installation should be done (or to the jail)

    Done. I used the already existing directory. Because the git jail and the node jail have the same OS and compiler version the output should be the same.

    and build and install Husky there.

    Modify the created huskymak.cfg to your liking. If you do not want to
    use Perl, delete 'util' from the PROGRAMS list and set PERL=0. Now run

    gmake update

    Done and moved to the node jail. Because i've chosed dynlib=0 the executables in the Build dirctories should work without libs installation. Do they? I haven't tested yet ...one moment please...

    /bin% tparser
    tparser/fbsd 1.9.0-cur 2021-05-02
    Could not find Config-file

    They do. ;-)

    Step 2. After that copy the whole husky_build directory to the jail.
    Be sure to install all the necessary programs in the jail. Which
    programs to install depends on the settings you use in huskymak.cfg.

    ./build.sh --offline

    Done. I wasn't surprised that i didn't see any output and that build command was completed immediately. But when i adjusted the path to the fidoconfig and built again there was no output too. I'm surprised. Isn't the default config path compiled into the executables? Ah, no. I found the documentation for the environment variable FIDOCONFIG.

    Interesting. My fresh git jail with husky is ~250MB smaller than my proposed node jail. Looks like i should reset the node jail to get rid of unnecessary stuff. Thanks a lot for your help! We reached another little milestone on my todo list.

    For today one last question only. I read the progit book last year and can do the basics like add, commit and status to my local .git. I noticed all git clones of husky do have the actual time stamp but not the dates as visible as on github.com. Is this normal or did i miss a configuration setting?

    Regards

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: Monobox (2:240/77)
  • From Michael Dukelsky@2:5020/1042 to Kai Richter on Sun Jun 11 22:41:56 2023
    Hello Kai,

    Sunday June 11 2023, Kai Richter wrote to Michael Dukelsky:

    For today one last question only. I read the progit book last year and
    can do the basics like add, commit and status to my local .git. I
    noticed all git clones of husky do have the actual time stamp but not
    the dates as visible as on github.com. Is this normal or did i miss a configuration setting?

    When you clone a repo, all the files have current date and time and not the commit date and time. This is normal.

    Michael

    ... node (at) f1042 (dot) ru
    --- GoldED+/LNX 1.1.5-b20230221
    * Origin: Moscow, Russia (2:5020/1042)