From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: Getting everyone started with Pakfire Date: Mon, 04 Sep 2023 11:29:43 +0100 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7211467259286760768==" List-Id: --===============7211467259286760768== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Adolf, > On 2 Sep 2023, at 12:54, Adolf Belka wrote: >=20 > Hi, >=20 > On 02/09/2023 13:33, Michael Tremer wrote: >> Hello, >> Is there an easy way to install Archlinux in a VM without running through = this process manually? >> https://wiki.archlinux.org/title/Installation_guide > Unfortunately not that I am aware of, although it is not that complicated f= or just a command line based system. > Arch Linux don't have an installer anymore. >=20 > The only thing I can think of is that if you are able to use VirtualBox, I = could create a VirtualBox text interface only vm which I could then export fr= om my system as a file to send to you or place in my dropbox system for you t= o upload. >=20 > Would that be of any use? Probably, but I suppose we will both spend the same time then. I will just do the process as described on that wiki page. I was just surpris= ed how manual it all is. Best, -Michael >=20 > Regards, > Adolf. >> It might be quicker for me to reproduce the problem. >> -Michael >>> On 2 Sep 2023, at 12:11, Adolf Belka wrote: >>>=20 >>> Hi, >>>=20 >>> On 02/09/2023 13:02, Michael Tremer wrote: >>>> Hello, >>>>> On 2 Sep 2023, at 12:00, Adolf Belka wrote: >>>>>=20 >>>>>=20 >>>>>=20 >>>>> On 02/09/2023 12:53, Michael Tremer wrote: >>>>>> Hello Adolf, >>>>>>> On 2 Sep 2023, at 11:49, Adolf Belka wrote: >>>>>>>=20 >>>>>>> Hi Michael, >>>>>>>=20 >>>>>>> I went back to pakfire and looked through the config.log file from my= build. >>>>>>>=20 >>>>>>> From that I noticed the following defines >>>>>>>=20 >>>>>>> #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" >>>>>>>=20 >>>>>>> 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= =E2=80=99s home, because we cannot write to /var/lib/=E2=80=A6, etc. >>>>>>> I also read through the INSTALL file in the pakfire directory and it = said the following were required. >>>>>>>=20 >>>>>>> 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 Arc= h Linux except from their AUR which requires me to build them. >>>>>>>=20 >>>>>>> Also the mention of not Python 3.x as that is all that is available o= n Arch Linux. >>>>>>>=20 >>>>>>> Are the above requirements correct or out of date and should be ignor= ed? >>>>>> 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=E2=80=A6 And it looks like the database is there, but the schem= a is not being created. And even weirder is that Pakfire does not abort there= =E2=80=A6 >>>>>> Which versions of libarchive and SQLite do you have? >>>>> sqlite 3.43.0 >>>>> libarchive 3.7.1 >>>> I have libarchive 3.6.2 and sqlite 3.40.1, but I don=E2=80=99t think the= re are any significant differences here. >>>> Could you please pull again and check if the message about the missing f= ile is gone? >>> Did the pull, then re-ran the whole build instruction set again. I didn't= do a sudo make uninstall first. >>>=20 >>> Result was exactly the same error message. Nothing changed. >>>=20 >>> sudo pakfire-builder build beep/beep.nm >>> Database Error: SQL logic error: no such table: settings in "SELECT val F= ROM settings WHERE key =3D ?" >>> Database Error: SQL logic error: no such table: settings in "SELECT val F= ROM settings WHERE key =3D ?" >>> Package Database: testing 100% | 1.6M 00:00 >>> Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot stat >>> OSError: [Errno 25] Inappropriate ioctl for device >>>=20 >>> The above exception was the direct cause of the following exception: >>>=20 >>> Traceback (most recent call last): >>> File "/usr/bin/pakfire-builder", line 437, in >>> c() >>> File "/usr/bin/pakfire-builder", line 212, in __call__ >>> ret =3D args.func(args) >>> ^^^^^^^^^^^^^^^ >>> File "/usr/bin/pakfire-builder", line 233, in _build >>> p =3D self.pakfire(ns) >>> ^^^^^^^^^^^^^^^^ >>> File "/usr/bin/pakfire-builder", line 194, in pakfire >>> p =3D pakfire.Pakfire(arch=3Dns.arch, conf=3Dc, logger=3Dlogger.log) >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> SystemError: returned a result with an excepti= on set >>>=20 >>> Regards, >>> Adolf. >>>> -Michael >>>>>=20 >>>>> Adolf. >>>>>> -Michael >>>>>>> Regards, >>>>>>>=20 >>>>>>> Adolf. >>>>>>>=20 >>>>>>> On 02/09/2023 12:26, Adolf Belka wrote: >>>>>>>> Hi Michael, >>>>>>>>=20 >>>>>>>> On 02/09/2023 11:29, Michael Tremer wrote: >>>>>>>>> Hello Adolf, >>>>>>>>>=20 >>>>>>>>> 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 l= ittle bit of work ahead to make it work well. >>>>>>>> Yes, I was using an unprivileged user. I always do that unless the i= nstructions 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 m= ake install. >>>>>>>>=20 >>>>>>>> So tried it again with sudo and the error message was exactly the sa= me. >>>>>>>>=20 >>>>>>>> Tried >>>>>>>> sudo pakfire-builder --debug build beep/beep.nm >>>>>>>>=20 >>>>>>>> and the error message was exactly the same. >>>>>>>>=20 >>>>>>>> Tried sudo -s to get a root prompt and then ran the pakfire-builder = command and exactly the same error message. >>>>>>>>=20 >>>>>>>> As the first part of the error message is >>>>>>>>=20 >>>>>>>> Database Error: SQL logic error: >>>>>>>>=20 >>>>>>>> I confirmed that I do have sqlite installed. >>>>>>>>=20 >>>>>>>> There is also a line in the error >>>>>>>>=20 >>>>>>>> Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot st= at >>>>>>>>=20 >>>>>>>> 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 somethin= g that is required for the execution is not being correctly setup. >>>>>>>>=20 >>>>>>>> What files should the pakfire make install be creating? >>>>>>>>=20 >>>>>>>> Regards, >>>>>>>> Adolf >>>>>>>>=20 >>>>>>>>=20 >>>>>>>>>=20 >>>>>>>>> Otherwise, you can add =E2=80=94-debug to the command line and it s= hould write more detailed output into the journal. >>>>>>>>>=20 >>>>>>>>> Best, >>>>>>>>> -Michael >>>>>>>>>=20 >>>>>>>>>> On 1 Sep 2023, at 17:37, Adolf Belka wr= ote: >>>>>>>>>>=20 >>>>>>>>>> Hi Michael, >>>>>>>>>>=20 >>>>>>>>>> On 01/09/2023 18:23, Michael Tremer wrote: >>>>>>>>>>> Hello, >>>>>>>>>>> Yes, I believe this is what it does on my system. So this is alri= ght. >>>>>>>>>>> Did you try the other commands? >>>>>>>>>> Just tried them and got the following errors:- >>>>>>>>>>=20 >>>>>>>>>> pakfire-builder build beep/beep.nm >>>>>>>>>> Database Error: SQL logic error: no such table: settings in "SELEC= T val FROM settings WHERE key =3D ?" >>>>>>>>>> Database Error: SQL logic error: no such table: settings in "SELEC= T val FROM settings WHERE key =3D ?" >>>>>>>>>> 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 >>>>>>>>>>=20 >>>>>>>>>> The above exception was the direct cause of the following exceptio= n: >>>>>>>>>>=20 >>>>>>>>>> Traceback (most recent call last): >>>>>>>>>> File "/usr/bin/pakfire-builder", line 437, in >>>>>>>>>> c() >>>>>>>>>> File "/usr/bin/pakfire-builder", line 212, in __call__ >>>>>>>>>> ret =3D args.func(args) >>>>>>>>>> ^^^^^^^^^^^^^^^ >>>>>>>>>> File "/usr/bin/pakfire-builder", line 233, in _build >>>>>>>>>> p =3D self.pakfire(ns) >>>>>>>>>> ^^^^^^^^^^^^^^^^ >>>>>>>>>> File "/usr/bin/pakfire-builder", line 194, in pakfire >>>>>>>>>> p =3D pakfire.Pakfire(arch=3Dns.arch, conf=3Dc, logger=3Dlogge= r.log) >>>>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>>>>> SystemError: returned a result with an = exception set >>>>>>>>>>=20 >>>>>>>>>> Regards, >>>>>>>>>> Adolf. >>>>>>>>>>> -Michael >>>>>>>>>>>> On 1 Sep 2023, at 17:21, Adolf Belka = wrote: >>>>>>>>>>>>=20 >>>>>>>>>>>> Hi Michael, >>>>>>>>>>>>=20 >>>>>>>>>>>> On 01/09/2023 16:39, Michael Tremer wrote: >>>>>>>>>>>>> Hello Adolf, >>>>>>>>>>>>>> On 17 Aug 2023, at 12:20, Adolf Belka wrote: >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Hi Michael, >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> When I built pakfire I just installed the programs that were f= lagged up as missing during the configure section. >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> I have now gone through the filenames you listed from debian a= nd eventually found what the equivalent packages that contain those are calle= d in Arch Linux (most were easy but a few were convoluted to find). >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Everything was already installed on my laptop except for liblz= ma-dev which is lzlib in Arch Linux. >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> 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 n= one of the dependencies are optional. >>>>>>>>>>>>> Apologies for taking so long to reply, but I should finally hav= e a fix for the test suite: >>>>>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3D9eef= 0cb603bc51a5b34f042fced6e4d0bfa8d9d8 >>>>>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3Dc54b= afa7e74dbcb5b07bafe8fadf2ca830fd93d7 >>>>>>>>>>>>> Please just run =E2=80=9Cgit pull=E2=80=9D, then =E2=80=9Cmake= =E2=80=9D again and you should have a few tests pass. Not all of them are pas= sing at the moment. >>>>>>>>>>>> This time 20 passed out of 28 >>>>>>>>>>>>=20 >>>>>>>>>>>> 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 >>>>>>>>>>>>=20 >>>>>>>>>>>>> If pakfire-builder =E2=80=94-help runs fine, you could check ou= t 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 >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Adolf. >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> On 17/08/2023 12:18, Adolf Belka wrote: >>>>>>>>>>>>>>> Hi Michael, >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> I did a clean new install and took the log files from the tes= ts/libpakfire and tests/python directories. >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> The only one that passed this time was the test.py from the t= ests/python directory. All others failed. >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> I have archived them into an xz file that is attached. >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>> Adolf. >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> On 17/08/2023 11:38, Michael Tremer wrote: >>>>>>>>>>>>>>>> Hello Adolf, >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> Thank you very much for the quick feedback. >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> After running =E2=80=9Cmake check=E2=80=9D, could you email = me the =E2=80=9C*.log=E2=80=9D files in the test/libpakfire directory? Let=E2= =80=99s see what is going wrong there. For me a few tests fail, but a few sho= uld run just fine. >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> Best, >>>>>>>>>>>>>>>> -Michael >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> On 17 Aug 2023, at 10:36, Adolf Belka wrote: >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> I am using Arch Linux. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> I already do some building of my bacula client package on m= y laptop so it has the normal build tools installed. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> To get autogen.sh to run I had to install intltool >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> To get configure to run I had to additionally install. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> asciidoc, python-py-cpuinfo, python-pykerberos, python-syst= emd, python-tornado and libsolv >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> After that configure ran without any problems, as did make. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> 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 - te= st.py and progressbar.py >>>>>>>>>>>>>>>>> Further running of make check didn't change anything. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> make install went fine and after that I can run pakfire-bui= lder --help and get the help screen. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>> Adolf. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> On 16/08/2023 17:29, Michael Tremer wrote: >>>>>>>>>>>>>>>>>> Hello everyone, >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> For our meet-up that is starting soon, I would like everyo= ne to have a working installation of Pakfire - our new build system. >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> 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=E2=80=99t had one yet,= and maybe we even get a chance to update a few packages of the distribution = or something=E2=80=A6 >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> Because I don=E2=80=99t know which distributions you are u= sing, and because we don=E2=80=99t have any packages for any major distributi= on just yet, I would like to ask everyone to install Pakfire manually on thei= r systems in advance of our meet-up, so that we can start straight away. We s= hould also use the time to find any issues that might occur on other distribu= tions than Debian which is what I have been using. >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> Please find the source here: https://git.ipfire.org/?p=3Dp= akfire.git;a=3Dsummary >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> On Debian, I have to install these packages as dependencie= s (yes it is quite a lot): >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> * asciidoc, autoconf, automake, bison, build-essential, fl= ex, intltool, libarchive-dev, libcap-dev, libcurl4-openssl-dev, libelf-dev, l= ibgpgme-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-c= onfig, python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, py= thon3-setproctitle, uuid-dev >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> I have no idea what the package names will be for your dis= tribution, but I am sure you will all figure it out :) >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> You can use the usual three-clause build process after gen= erating the configure script: >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> ./autogen.sh >>>>>>>>>>>>>>>>>> ./configure =E2=80=94-prefix=3D/usr =E2=80=94-sysconfd= ir=3D/etc =E2=80=94-enable-debug >>>>>>>>>>>>>>>>>> make >>>>>>>>>>>>>>>>>> (make check) >>>>>>>>>>>>>>>>>> make install >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> After that, you should be able to run pakfire-builder =E2= =80=94-help. >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> 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 di= stribution. >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> All the best, >>>>>>>>>>>>>>>>>> -Michael >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> --=20 >>>>>>>>>>>>>>>>> Sent from my laptop >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> --=20 >>>>>>>>>>>>>> Sent from my laptop >>>>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>> --=20 >>>>>>>>>>>> Sent from my laptop >>>>>>>>>>=20 >>>>>>>>>> --=20 >>>>>>>>>> Sent from my laptop >>>>>>>>>=20 >>>>>>>>>=20 >>>>>>>>=20 >>>>>>>=20 >>>>>>> --=20 >>>>>>> Sent from my laptop >>>>>>>=20 >>>>>=20 >>>>> --=20 >>>>> Sent from my laptop >>>=20 >>> --=20 >>> Sent from my laptop >=20 > --=20 > Sent from my laptop --===============7211467259286760768==--