From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adolf Belka To: development@lists.ipfire.org Subject: Re: Getting everyone started with Pakfire Date: Mon, 04 Sep 2023 13:43:33 +0200 Message-ID: <6f050023-dd8d-4169-9f18-83ca3adec4e8@ipfire.org> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8721738537592082301==" List-Id: --===============8721738537592082301== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Michael, On 04/09/2023 12:29, Michael Tremer wrote: > Hello Adolf, >=20 >> On 2 Sep 2023, at 12:54, Adolf Belka wrote: >> >> Hi, >> >> 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 = for just a command line based system. >> Arch Linux don't have an installer anymore. >> >> 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 f= rom my system as a file to send to you or place in my dropbox system for you = to upload. >> >> Would that be of any use? >=20 > Probably, but I suppose we will both spend the same time then. >=20 > I will just do the process as described on that wiki page. I was just surpr= ised how manual it all is. I have found an Arch Linux wiki page about an installation helper. That=20 might make it a bit easier. It is not graphical but text based but it=20 takes you through and asks the various questions. Apparently the=20 defaults are different than described in the normal installation guide. https://wiki.archlinux.org/title/Archinstall Regards, Adolf. >=20 > 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: >>>> >>>> Hi, >>>> >>>> On 02/09/2023 13:02, Michael Tremer wrote: >>>>> Hello, >>>>>> On 2 Sep 2023, at 12:00, Adolf Belka wrote: >>>>>> >>>>>> >>>>>> >>>>>> On 02/09/2023 12:53, Michael Tremer wrote: >>>>>>> Hello Adolf, >>>>>>>> On 2 Sep 2023, at 11:49, Adolf Belka wrot= e: >>>>>>>> >>>>>>>> Hi Michael, >>>>>>>> >>>>>>>> I went back to pakfire and looked through the config.log file from m= y 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 itsel= f 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. >>>>>>>> >>>>>>>> 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 Ar= ch 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 igno= red? >>>>>>> Please ignore. If configure went through without complaining, you hav= e everything you need. >>>>>>> What I find very interesting are those SQL errors. When Pakfire start= s, it is creating an internal SQLite database to store package information an= d other things=E2=80=A6 And it looks like the database is there, but the sche= ma is not being created. And even weirder is that Pakfire does not abort ther= e=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 th= ere are any significant differences here. >>>>> Could you please pull again and check if the message about the missing = file is gone? >>>> Did the pull, then re-ran the whole build instruction set again. I didn'= t do a sudo make uninstall first. >>>> >>>> Result was exactly the same error message. Nothing changed. >>>> >>>> sudo pakfire-builder build beep/beep.nm >>>> Database Error: SQL logic error: no such table: settings in "SELECT val = FROM settings WHERE key =3D ?" >>>> Database Error: SQL logic error: no such table: settings in "SELECT val = FROM 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 >>>> >>>> The above exception was the direct cause of the following exception: >>>> >>>> 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 except= ion set >>>> >>>> Regards, >>>> Adolf. >>>>> -Michael >>>>>> >>>>>> Adolf. >>>>>>> -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 s= ame. >>>>>>>>> >>>>>>>>> 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 s= tat >>>>>>>>> >>>>>>>>> I checked and there is no pakfire directory under /var/lib/ >>>>>>>>> Is there supposed to be? Maybe something is not working right durin= g the pakfire build on my system. The build is working okay but maybe somethi= ng 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 =E2=80=94-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 w= rote: >>>>>>>>>>> >>>>>>>>>>> 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 alr= ight. >>>>>>>>>>>> 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 "SELE= CT val FROM settings WHERE key =3D ?" >>>>>>>>>>> Database Error: SQL logic error: no such table: settings in "SELE= CT 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 >>>>>>>>>>> >>>>>>>>>>> The above exception was the direct cause of the following excepti= on: >>>>>>>>>>> >>>>>>>>>>> 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=3Dlog= ger.log) >>>>>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>>>>>> SystemError: returned a result with an= exception set >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> Adolf. >>>>>>>>>>>> -Michael >>>>>>>>>>>>> On 1 Sep 2023, at 17:21, Adolf Belka = wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Hi Michael, >>>>>>>>>>>>> >>>>>>>>>>>>> On 01/09/2023 16:39, Michael Tremer wrote: >>>>>>>>>>>>>> Hello Adolf, >>>>>>>>>>>>>>> On 17 Aug 2023, at 12:20, Adolf Belka 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 call= ed in Arch Linux (most were easy but a few were convoluted to find). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Everything was already installed on my laptop except for libl= zma-dev which is lzlib in Arch Linux. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Just to check, I installed lzlib and re-did the make check an= d 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 ha= ve a fix for the test suite: >>>>>>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3D9ee= f0cb603bc51a5b34f042fced6e4d0bfa8d9d8 >>>>>>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3Dc54= bafa7e74dbcb5b07bafe8fadf2ca830fd93d7 >>>>>>>>>>>>>> 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 >>>>>>>>>>>>> >>>>>>>>>>>>> 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 =E2=80=94-help runs fine, you could check o= ut 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 te= sts/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 =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 = should run just fine. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Best, >>>>>>>>>>>>>>>>> -Michael >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On 17 Aug 2023, at 10:36, Adolf Belka 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-sys= temd, 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 - t= est.py and progressbar.py >>>>>>>>>>>>>>>>>> Further running of make check didn't change anything. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> make install went fine and after that I can run pakfire-bu= ilder --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 every= one 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=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 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Because I don=E2=80=99t know which distributions you are = using, and because we don=E2=80=99t have any packages for any major distribut= ion just yet, I would like to ask everyone to install Pakfire manually on the= ir 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 distrib= utions than Debian which is what I have been using. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Please find the source here: https://git.ipfire.org/?p=3D= pakfire.git;a=3Dsummary >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Debian, I have to install these packages as dependenci= es (yes it is quite a lot): >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> * asciidoc, autoconf, automake, bison, build-essential, f= lex, 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, libsol= v-dev, libsqlite3-dev, libssl-dev, libsystemd-dev, libtool, libzstd-dev, pkg-= config, python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, p= ython3-setproctitle, uuid-dev >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I have no idea what the package names will be for your di= stribution, but I am sure you will all figure it out :) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> You can use the usual three-clause build process after ge= nerating the configure script: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ./autogen.sh >>>>>>>>>>>>>>>>>>> ./configure =E2=80=94-prefix=3D/usr =E2=80=94-syscon= fdir=3D/etc =E2=80=94-enable-debug >>>>>>>>>>>>>>>>>>> make >>>>>>>>>>>>>>>>>>> (make check) >>>>>>>>>>>>>>>>>>> make install >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> After that, you should be able to run pakfire-builder =E2= =80=94-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 d= istribution. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> All the best, >>>>>>>>>>>>>>>>>>> -Michael >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> --=20 >>>>>>>>>>>>>>>>>> Sent from my laptop >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> --=20 >>>>>>>>>>>>>>> Sent from my laptop >>>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> --=20 >>>>>>>>>>>>> Sent from my laptop >>>>>>>>>>> >>>>>>>>>>> --=20 >>>>>>>>>>> Sent from my laptop >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> --=20 >>>>>>>> Sent from my laptop >>>>>>>> >>>>>> >>>>>> --=20 >>>>>> Sent from my laptop >>>> >>>> --=20 >>>> Sent from my laptop >> >> --=20 >> Sent from my laptop >=20 >=20 --=20 Sent from my laptop --===============8721738537592082301==--