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: Sat, 02 Sep 2023 12:33:20 +0100 Message-ID: <6F09E6AF-36DC-4129-BFBC-4E35114A91AC@ipfire.org> In-Reply-To: <50ae1fb9-d7ed-4f57-b2d4-f24da14a8a84@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3628772424938807884==" List-Id: --===============3628772424938807884== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, Is there an easy way to install Archlinux in a VM without running through thi= s process manually? https://wiki.archlinux.org/title/Installation_guide 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 b= uild. >>>>>=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/pa= kfire are not present on the system. >>>> That should be correct. Pakfire should create those directories itself i= f 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 sa= id 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 Arch = 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 on = Arch Linux. >>>>>=20 >>>>> Are the above requirements correct or out of date and should be ignored? >>>> Please ignore. If configure went through without complaining, you have e= verything 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 o= ther things=E2=80=A6 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= =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 there= are any significant differences here. >> Could you please pull again and check if the message about the missing fil= e is gone? > Did the pull, then re-ran the whole build instruction set again. I didn't d= o 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 FRO= M settings WHERE key =3D ?" > Database Error: SQL logic error: no such table: settings in "SELECT val FRO= M 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 exception= 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 al= l working as an unprivileged user at the moment. I think there might be a lit= tle bit of work ahead to make it work well. >>>>>> Yes, I was using an unprivileged user. I always do that unless the ins= tructions say to use sudo or if the program comes back and says it must be ru= n with root privileges. Or if I know that it has to be run with sudo like mak= e install. >>>>>>=20 >>>>>> So tried it again with sudo and the error message was exactly the same. >>>>>>=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 co= mmand 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 stat >>>>>>=20 >>>>>> I checked and there is no pakfire directory under /var/lib/ >>>>>> Is there supposed to be? Maybe something is not working right during t= he pakfire build on my system. The build is working okay but maybe something = 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 sho= uld write more detailed output into the journal. >>>>>>>=20 >>>>>>> Best, >>>>>>> -Michael >>>>>>>=20 >>>>>>>> On 1 Sep 2023, at 17:37, Adolf Belka wrot= e: >>>>>>>>=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 alrigh= t. >>>>>>>>> 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 "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 >>>>>>>> Package Database: bootstrap 100% | 2.1M 00:00 >>>>>>>> Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot st= at >>>>>>>> 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 ex= ception set >>>>>>>>=20 >>>>>>>> Regards, >>>>>>>> Adolf. >>>>>>>>> -Michael >>>>>>>>>> On 1 Sep 2023, at 17:21, Adolf Belka wr= ote: >>>>>>>>>>=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 fla= gged up as missing during the configure section. >>>>>>>>>>>>=20 >>>>>>>>>>>> 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). >>>>>>>>>>>>=20 >>>>>>>>>>>> Everything was already installed on my laptop except for liblzma= -dev which is lzlib in Arch Linux. >>>>>>>>>>>>=20 >>>>>>>>>>>> Just to check, I installed lzlib and re-did the make check and t= he same problems occurred. >>>>>>>>>>> The configure script will complain if something is missing as non= e 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=3Dpakfire.git;a=3Dcommitdiff;h=3D9eef0c= b603bc51a5b34f042fced6e4d0bfa8d9d8 >>>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3Dc54baf= a7e74dbcb5b07bafe8fadf2ca830fd93d7 >>>>>>>>>>> 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 passin= g 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 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 >>>>>>>>>>>>=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 tests= /libpakfire and tests/python directories. >>>>>>>>>>>>>=20 >>>>>>>>>>>>> The only one that passed this time was the test.py from the tes= ts/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 my = 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-system= d, 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 p= ass 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. >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> make install went fine and after that I can run pakfire-build= er --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 everyone= 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 ge= nerally there will be an intro for everyone who hasn=E2=80=99t had one yet, a= nd 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 usi= ng, and because we don=E2=80=99t 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 sho= uld also use the time to find any issues that might occur on other distributi= ons than Debian which is what I have been using. >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> Please find the source here: https://git.ipfire.org/?p=3Dpak= fire.git;a=3Dsummary >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> On Debian, I have to install these packages as dependencies = (yes it is quite a lot): >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> * asciidoc, autoconf, automake, bison, build-essential, flex= , intltool, libarchive-dev, libcap-dev, libcurl4-openssl-dev, libelf-dev, lib= gpgme-dev, libjson-c-dev, liblzma-dev, libmagic-dev, libmount-dev, libnl-3-de= v, libnl-route-3-dev, libpcre2-dev, libpython3-dev, libseccomp-dev, libsolv-d= ev, libsqlite3-dev, libssl-dev, libsystemd-dev, libtool, libzstd-dev, pkg-con= fig, python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, pyth= on3-setproctitle, uuid-dev >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> I have no idea what the package names will be for your distr= ibution, but I am sure you will all figure it out :) >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> You can use the usual three-clause build process after gener= ating the configure script: >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> ./autogen.sh >>>>>>>>>>>>>>>> ./configure =E2=80=94-prefix=3D/usr =E2=80=94-sysconfdir= =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 an= d please file a bug if changes are required to make Pakfire work on your dist= ribution. >>>>>>>>>>>>>>>>=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 --===============3628772424938807884==--