Hello Adolf,
On 2 Sep 2023, at 11:49, Adolf Belka adolf.belka@ipfire.org wrote:
Hi Michael,
I went back to pakfire and looked through the config.log file from my build.
From that I noticed the following defines
#define PAKFIRE_CONFIG_DIR "/etc/pakfire" #define PAKFIRE_CACHE_DIR "/var/cache/pakfire" #define PAKFIRE_PRIVATE_DIR "/var/lib/pakfire" #define PAKFIRE_SCRIPTS_DIR "/lib/pakfire" #define PAKFIRE_TMP_DIR "/var/tmp"
After running sudo make install then /var/lib/pakfire and /var/cache/pakfire are not present on the system.
That should be correct. Pakfire should create those directories itself if it is running as root.
For unprivileged users, it will create a cache directory in the user’s home, because we cannot write to /var/lib/…, etc.
I also read through the INSTALL file in the pakfire directory and it said the following were required.
Requirements:
- Python 2.6 or greater (not Python 3.x)
- python-argsparse (included in Python 2.7)
- libcap
- libsolv
- xz
- beecrypt (requires libgomp)
- popt
- libelf
- elfutils
This is old and I will remove this as soon as possible :)
I don't have beecrypt or libgomp installed and not available from Arch Linux except from their AUR which requires me to build them.
Also the mention of not Python 3.x as that is all that is available on Arch Linux.
Are the above requirements correct or out of date and should be ignored?
Please ignore. If configure went through without complaining, you have everything you need.
What I find very interesting are those SQL errors. When Pakfire starts, it is creating an internal SQLite database to store package information and other things… And it looks like the database is there, but the schema is not being created. And even weirder is that Pakfire does not abort there…
Which versions of libarchive and SQLite do you have?
-Michael
Regards,
Adolf.
On 02/09/2023 12:26, Adolf Belka wrote:
Hi Michael,
On 02/09/2023 11:29, Michael Tremer wrote:
Hello Adolf,
Have you been running this as root? I am not sure how well this is all working as an unprivileged user at the moment. I think there might be a little bit of work ahead to make it work well.
Yes, I was using an unprivileged user. I always do that unless the instructions say to use sudo or if the program comes back and says it must be run with root privileges. Or if I know that it has to be run with sudo like make install.
So tried it again with sudo and the error message was exactly the same.
Tried sudo pakfire-builder --debug build beep/beep.nm
and the error message was exactly the same.
Tried sudo -s to get a root prompt and then ran the pakfire-builder command and exactly the same error message.
As the first part of the error message is
Database Error: SQL logic error:
I confirmed that I do have sqlite installed.
There is also a line in the error
Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot stat
I checked and there is no pakfire directory under /var/lib/ Is there supposed to be? Maybe something is not working right during the pakfire build on my system. The build is working okay but maybe something that is required for the execution is not being correctly setup.
What files should the pakfire make install be creating?
Regards, Adolf
Otherwise, you can add —-debug to the command line and it should write more detailed output into the journal.
Best, -Michael
On 1 Sep 2023, at 17:37, Adolf Belka adolf.belka@ipfire.org wrote:
Hi Michael,
On 01/09/2023 18:23, Michael Tremer wrote:
Hello, Yes, I believe this is what it does on my system. So this is alright. Did you try the other commands?
Just tried them and got the following errors:-
pakfire-builder build beep/beep.nm Database Error: SQL logic error: no such table: settings in "SELECT val FROM settings WHERE key = ?" Database Error: SQL logic error: no such table: settings in "SELECT val FROM settings WHERE key = ?" Package Database: testing 100% | 1.6M 00:00 Package Database: bootstrap 100% | 2.1M 00:00 Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot stat OSError: [Errno 25] Inappropriate ioctl for device
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/usr/bin/pakfire-builder", line 437, in <module> c() File "/usr/bin/pakfire-builder", line 212, in __call__ ret = args.func(args) ^^^^^^^^^^^^^^^ File "/usr/bin/pakfire-builder", line 233, in _build p = self.pakfire(ns) ^^^^^^^^^^^^^^^^ File "/usr/bin/pakfire-builder", line 194, in pakfire p = pakfire.Pakfire(arch=ns.arch, conf=c, logger=logger.log) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SystemError: <class '_pakfire.Pakfire'> returned a result with an exception set
Regards, Adolf.
-Michael
On 1 Sep 2023, at 17:21, Adolf Belka adolf.belka@ipfire.org wrote:
Hi Michael,
On 01/09/2023 16:39, Michael Tremer wrote: > Hello Adolf, >> On 17 Aug 2023, at 12:20, Adolf Belka adolf.belka@ipfire.org wrote: >> >> Hi Michael, >> >> When I built pakfire I just installed the programs that were flagged up as missing during the configure section. >> >> I have now gone through the filenames you listed from debian and eventually found what the equivalent packages that contain those are called in Arch Linux (most were easy but a few were convoluted to find). >> >> Everything was already installed on my laptop except for liblzma-dev which is lzlib in Arch Linux. >> >> Just to check, I installed lzlib and re-did the make check and the same problems occurred. > The configure script will complain if something is missing as none of the dependencies are optional. > Apologies for taking so long to reply, but I should finally have a fix for the test suite: > https://git.ipfire.org/?p=pakfire.git;a=commitdiff;h=9eef0cb603bc51a5b34f042... > https://git.ipfire.org/?p=pakfire.git;a=commitdiff;h=c54bafa7e74dbcb5b07bafe... > Please just run “git pull”, then “make” again and you should have a few tests pass. Not all of them are passing at the moment. This time 20 passed out of 28
PASS: tests/libpakfire/main PASS: tests/libpakfire/arch PASS: tests/libpakfire/archive FAIL: tests/libpakfire/build FAIL: tests/libpakfire/cgroup PASS: tests/libpakfire/compress PASS: tests/libpakfire/config PASS: tests/libpakfire/db PASS: tests/libpakfire/dependencies PASS: tests/libpakfire/digest PASS: tests/libpakfire/downloader PASS: tests/libpakfire/file FAIL: tests/libpakfire/jail PASS: tests/libpakfire/key FAIL: tests/libpakfire/makefile PASS: tests/libpakfire/package PASS: tests/libpakfire/packager PASS: tests/libpakfire/parser PASS: tests/libpakfire/progressbar PASS: tests/libpakfire/repo PASS: tests/libpakfire/snapshot PASS: tests/libpakfire/string FAIL: tests/libpakfire/util FAIL: tests/python/keys.py FAIL: tests/python/jail.py FAIL: tests/python/package.py PASS: tests/python/progressbar.py PASS: tests/python/test.py
> If pakfire-builder —-help runs fine, you could check out the IPFire 3.x repository and run this: > git clone https://git.ipfire.org/pub/git/ipfire-3.x.git > cd ipfire-3.x > pakfire-builder build beep/beep.nm > Please let me know how that is going. > -Michael >> >> Regards, >> >> Adolf. >> >> >> On 17/08/2023 12:18, Adolf Belka wrote: >>> Hi Michael, >>> >>> I did a clean new install and took the log files from the tests/libpakfire and tests/python directories. >>> >>> The only one that passed this time was the test.py from the tests/python directory. All others failed. >>> >>> I have archived them into an xz file that is attached. >>> >>> Regards, >>> Adolf. >>> >>> On 17/08/2023 11:38, Michael Tremer wrote: >>>> Hello Adolf, >>>> >>>> Thank you very much for the quick feedback. >>>> >>>> After running “make check”, could you email me the “*.log” files in the test/libpakfire directory? Let’s see what is going wrong there. For me a few tests fail, but a few should run just fine. >>>> >>>> Best, >>>> -Michael >>>> >>>>> On 17 Aug 2023, at 10:36, Adolf Belka adolf.belka@ipfire.org wrote: >>>>> >>>>> I am using Arch Linux. >>>>> >>>>> I already do some building of my bacula client package on my laptop so it has the normal build tools installed. >>>>> >>>>> To get autogen.sh to run I had to install intltool >>>>> >>>>> To get configure to run I had to additionally install. >>>>> >>>>> asciidoc, python-py-cpuinfo, python-pykerberos, python-systemd, python-tornado and libsolv >>>>> >>>>> After that configure ran without any problems, as did make. >>>>> >>>>> Although make check is in brackets I gave it a go but got 1 pass and 26 fails. The only pass was for test.py >>>>> I ran the make check a second time and then two passed - test.py and progressbar.py >>>>> Further running of make check didn't change anything. >>>>> >>>>> make install went fine and after that I can run pakfire-builder --help and get the help screen. >>>>> >>>>> Regards, >>>>> Adolf. >>>>> >>>>> >>>>> On 16/08/2023 17:29, Michael Tremer wrote: >>>>>> Hello everyone, >>>>>> >>>>>> For our meet-up that is starting soon, I would like everyone to have a working installation of Pakfire - our new build system. >>>>>> >>>>>> I am not sure yet in what way we are going to use it, but generally there will be an intro for everyone who hasn’t had one yet, and maybe we even get a chance to update a few packages of the distribution or something… >>>>>> >>>>>> Because I don’t know which distributions you are using, and because we don’t have any packages for any major distribution just yet, I would like to ask everyone to install Pakfire manually on their systems in advance of our meet-up, so that we can start straight away. We should also use the time to find any issues that might occur on other distributions than Debian which is what I have been using. >>>>>> >>>>>> Please find the source here: https://git.ipfire.org/?p=pakfire.git;a=summary >>>>>> >>>>>> On Debian, I have to install these packages as dependencies (yes it is quite a lot): >>>>>> >>>>>> * asciidoc, autoconf, automake, bison, build-essential, flex, intltool, libarchive-dev, libcap-dev, libcurl4-openssl-dev, libelf-dev, libgpgme-dev, libjson-c-dev, liblzma-dev, libmagic-dev, libmount-dev, libnl-3-dev, libnl-route-3-dev, libpcre2-dev, libpython3-dev, libseccomp-dev, libsolv-dev, libsqlite3-dev, libssl-dev, libsystemd-dev, libtool, libzstd-dev, pkg-config, python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, python3-setproctitle, uuid-dev >>>>>> >>>>>> I have no idea what the package names will be for your distribution, but I am sure you will all figure it out :) >>>>>> >>>>>> You can use the usual three-clause build process after generating the configure script: >>>>>> >>>>>> ./autogen.sh >>>>>> ./configure —-prefix=/usr —-sysconfdir=/etc —-enable-debug >>>>>> make >>>>>> (make check) >>>>>> make install >>>>>> >>>>>> After that, you should be able to run pakfire-builder —-help. >>>>>> >>>>>> Please let me know if that works for you up to this point and please file a bug if changes are required to make Pakfire work on your distribution. >>>>>> >>>>>> All the best, >>>>>> -Michael >>>>> >>>>> -- >>>>> Sent from my laptop >>>>> >>>> >>> >> >> -- >> Sent from my laptop >>
-- Sent from my laptop
-- Sent from my laptop
-- Sent from my laptop