Is there interest in an Arch32 Pup???

A home for all kinds of Puppy related projects
Message
Author
User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#61 Post by sc0ttman »

peebee wrote:
s243a wrote:One thing that I will be testing on arch32pup is Sc0ttman's package manager (i.e. pkg). If we get the repo update scripts working with pkg, then one could use arch repos in any puppy.
Replacing PPM with pkg is a possibility - but it still needs repo databases in a sensible format....
Pkg has separate scripts for converting various repo formats - adding a new one for Arch repos should be easy enough .. Prob two in fact - a slower one in shell, and a faster one in Awk...
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#62 Post by peebee »

s243a wrote:please let us know which packages aren't installing via the ppm.
Anything with : in its name fails to install - e.g. GTK3

gtk3-1:3.24.13-1.1-pentium4.pkg.tar.xz

cantarell-fonts-1:0.201-1.0-any.pkg.tar.zst
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#63 Post by rockedge »

I also can not install gtk3. It looks at first like the process is running as expected but then errors out. Probably the problem noted about the file names containing ":" (colon)

During attempts to get gtk3 package to install I lost eth0 and all connection to the network.

I am working with ArchPup+6

UPDATE: eth0 came back on it's own after a minute or 2

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#64 Post by rockedge »

On this set up I have 2 drives /dev/sda1 and /dev/sdb1 with ArchPup frugally installed on sdb1.

if I click on sda1 it mounts and the icon changes to indicate the mounted status. I can not umount the drive via the menu selections but if I open a terminal and manually umount /mnt/sda1, the icon changes immediately to indicate the un-mounted state of the partition.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#65 Post by s243a »

peebee wrote:
s243a wrote:please let us know which packages aren't installing via the ppm.
Anything with : in its name fails to install - e.g. GTK3

gtk3-1:3.24.13-1.1-pentium4.pkg.tar.xz

cantarell-fonts-1:0.201-1.0-any.pkg.tar.zst
In a debian repo that would be the epoch:

http://man7.org/linux/man-pages/man5/deb-version.5.html

For debian repos thee ppm strips the epoch out of the package name. I'll look into this but my guess is that the colon (i.e. ":") shows up in the download path of the repo db file but the actual file in the repo doesn't have the colon in the file name.

Again this is just a guess at this point but I'll look into it.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#66 Post by rockedge »

went for gold and installed gcc, cmake and automake with the PPM which seems to have worked...so I went and downloaded the source for pure-ftpd and attempted to compile it with this result:

Code: Select all

# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/root/Build/pure-ftpd-1.0.49':
configure: error: C compiler cannot create executables
See `config.log' for more details
I'll try another simple one like pUTTY

Code: Select all

# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-linux-gnu/9.2.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux32.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet gdc_include_dir=/usr/include/dlang/gdc --build=i686-pc-linux-gnu
Thread model: posix
gcc version 9.2.0 (GCC) 

Code: Select all

# make -v
GNU Make 4.3
Built for i686-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
**

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#67 Post by s243a »

s243a wrote:
peebee wrote:
s243a wrote:please let us know which packages aren't installing via the ppm.
Anything with : in its name fails to install - e.g. GTK3

gtk3-1:3.24.13-1.1-pentium4.pkg.tar.xz

cantarell-fonts-1:0.201-1.0-any.pkg.tar.zst
In a debian repo that would be the epoch:

http://man7.org/linux/man-pages/man5/deb-version.5.html

For debian repos thee ppm strips the epoch out of the package name. I'll look into this but my guess is that the colon (i.e. ":") shows up in the download path of the repo db file but the actual file in the repo doesn't have the colon in the file name.

Again this is just a guess at this point but I'll look into it.
assuming that I'm correct, here is some awk code to strip the epoch:

Code: Select all

function stripEpoch(s){
  sub(/^([0-9]*:)?/,"",s)
  return  s
}'
https://gitlab.com/s243a/Pkg/-/blob/f9c ... p_gawk#L30

something like this could be added to the 0setup code. I'll look into it and if I'm correct give it a try later.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#68 Post by peebee »

The download uri is:

https://mirror.archlinux32.org/pentium4 ... pkg.tar.xz

so the : needs to be changed to %3A

probably
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#69 Post by s243a »

peebee wrote:The download uri is:

https://mirror.archlinux32.org/pentium4 ... pkg.tar.xz

so the : needs to be changed to %3A

probably
Do we want to do this in bash or awk? I searched "url encode bash awk" on google and here is the first thing that came up:
https://gist.github.com/cdown/1163649

a pure awk approach would probably be faster but we can call bash from awk. See thread:
http://murga-linux.com/puppy/viewtopic.php?t=117985
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#70 Post by s243a »

s243a wrote:
peebee wrote:The download uri is:

https://mirror.archlinux32.org/pentium4 ... pkg.tar.xz

so the : needs to be changed to %3A

probably
Do we want to do this in bash or awk? I searched "url encode bash awk" on google and here is the first thing that came up:
https://gist.github.com/cdown/1163649

a pure awk approach would probably be faster but we can call bash from awk. See thread:
http://murga-linux.com/puppy/viewtopic.php?t=117985
After thinking about it, I think we should do it both ways. If the download fails, then we should try the encoded version of the URL. This is the bash/ash approach. However, we should also make sure the "repo db file" (aka repo doc file), has the correct url to begin with (this is the pure AWK approach). We only need one of these two thing to make this work but if we implement both then the code will be more maintainable.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#71 Post by peebee »

Amending the repo db with 0setup is not the answer as
the file downloads
but
its local name has :
and therefore does not match the db
and therefore petget thinks it has failed to download!
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#72 Post by s243a »

Yesterday the -Y option was working to X11 Forward from my sandbox run Arch32 pup (i.e. the +5 version). However, in the +6 version it's not. Here is some output:

Code: Select all

/usr/bin/xauth:  file /root/.Xauthority does not exist
/usr/bin/xauth: (stdin):1:  bad display name "dpupbuster64:10.0" in "remove" command
/usr/bin/xauth: (stdin):2:  bad display name "dpupbuster64:10.0" in "add" command
dpupbuster64 is the host for the sandbox.

Edit: I figured out the issue (see post), In short if you have the config option, "X11UseLocalhost no ", then xauth needs a way of looking up an ip address from a hostname. One way this can be done is to copy the resolv.conf file from the host system into the chroot folder .
Last edited by s243a on Sat 22 Feb 2020, 22:50, edited 2 times in total.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#73 Post by s243a »

peebee wrote:Amending the repo db with 0setup is not the answer as
the file downloads
but
its local name has :
and therefore does not match the db
and therefore petget thinks it has failed to download!
This will probabably shed some light on the issue:
50

The reason for the error you are seeing can be found in the GNU tar documentation:
If the archive file name includes a colon (‘:’), then it is assumed to be a file on another machine[...]
That is, it is interpretting SQliteManager-1.2.4.tar.gz?r=http as a host name and trying to resolve it to an IP address, hence the "resolve failed" error.

That same documentation goes on to say:
If you need to use a file whose name includes a colon, then the remote tape drive behavior can be inhibited by using the ‘--force-local’ option.
https://unix.stackexchange.com/a/13381

In /usr/local/petget/installpkg.sh we have:
*.t*z|*.tzst|*.tar.*z|*.tar.bz2|*.tar.zst) #slackware, arch, etc..
DLPKG_MAIN="`basename $DLPKG_BASE`" #remove directory - filename only
DLPKG_MAIN=${DLPKG_MAIN%*.tar.*} #remove .tar.xx extension
DLPKG_MAIN=${DLPKG_MAIN%.t[gx]z} #remove .t[gx]z extension
DLPKG_MAIN=${DLPKG_MAIN%.tzst} #remove .tzst extension
PFILES="`tar --list -a -f $DLPKG_BASE`" || exit 1
echo "$PFILES" | sed -e "s#^\.\/#\/#g" -e "s#^#\/#g" -e "s#^\/\/#\/#g" -e 's#^\/$##g' -e 's#^\/\.$##g' > /root/.packages/${DLPKG_NAME}.files
install_path_check
tar -x --directory=${DIRECTSAVEPATH}/ -f $DLPKG_BASE #120102. 120107
[ $? -ne 0 ] && clean_and_die
;;
So we need to add the "--force-local" option to the tar command. We also probably have to consider the .zst case seperatly.
The extention .zst means that the archive is compressed by zstd.

* https://github.com/facebook/zstd
The tar command has an option -I (--use-compress-program) to specify a command for compression/decompression.

You can use it as follows.

Code: Select all

$ tar -I zstd -xvf archive.tar.zst
https://stackoverflow.com/a/45704163

P.S. I found this out by selecting "download only" in the drop down list. I then tried the tar command that was failing. There is also a "download only" button , which doesn't seem to work. This button is probably also broken in woof-CE official.

P.S.2 The problematic packages were:

Code: Select all

cantarell-fonts-1:0.201-1.0-any.pkg.tar.zst #A dependency of gtk3-1
gtk3-1:3.24.13-1.1-pentium4.pkg.tar.xz
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#74 Post by s243a »

So I succeed in getting the above two pkg installed. In "/usr/local/peget/installpkg.sh" I have:

Code: Select all

 *.t*z|*.tzst|*.tar.*z|*.tar.bz2|*.tar.zst) #slackware, arch, etc..
  DLPKG_MAIN="`basename $DLPKG_BASE`" #remove directory - filename only
  DLPKG_MAIN=${DLPKG_MAIN%*.tar.*}    #remove .tar.xx extension
  DLPKG_MAIN=${DLPKG_MAIN%.t[gx]z}    #remove .t[gx]z extension
  DLPKG_MAIN=${DLPKG_MAIN%.tzst}    #remove .tzst extension
  if [ "$DLPKG_BASE" = *.zst ]; then
    PFILES="`tar --list --force-local -I zstd -a -f $DLPKG_BASE`" || exit 1
  else  
    PFILES="`tar --list --force-local  -a -f $DLPKG_BASE`" || exit 1
  fi
  echo "$PFILES" | sed -e "s#^\.\/#\/#g" -e "s#^#\/#g" -e "s#^\/\/#\/#g" -e 's#^\/$##g' -e 's#^\/\.$##g' > /root/.packages/${DLPKG_NAME}.files
  install_path_check
  if [ "$DLPKG_BASE" = *.zst ]; then
    tar -x --force-local -I zstd --directory=${DIRECTSAVEPATH}/ -f $DLPKG_BASE #120102. 120107
  else
    tar -x --force-local --directory=${DIRECTSAVEPATH}/ -f $DLPKG_BASE #120102. 120107
  fi
  [ $? -ne 0 ] && clean_and_die
 ;;
https://pastebin.com/TbviGVw8

I also added the following to "/usr/local/petget/verifypkg.sh

Code: Select all

	*.zst)
		tar --force-local -tf "$DLPKG" >/dev/null 2>&1
		exit $?
		;;		
https://pastebin.com/eCPVGVDA

I also added some other changes to make sure that the filename matched the expected filename for the download. However, I haven't posted these changes yet because I don't think they are necessary. Tomorrow, I will test without the changes that are not shown in this post.

Edit: I detail the changes that I think aren't relevant in another thread.
Last edited by s243a on Fri 21 Feb 2020, 06:23, edited 1 time in total.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#75 Post by mavrothal »

peebee wrote:Amending the repo db with 0setup is not the answer as
the file downloads
but
its local name has :
Just add "--force-local" in the tar commands

ooops that's what s243a said :oops:
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#76 Post by s243a »

mavrothal wrote:
peebee wrote:Amending the repo db with 0setup is not the answer as
the file downloads
but
its local name has :
Just add "--force-local" in the tar commands

ooops that's what s243a said :oops:
That's okay. It is good to have multiple people on it. I'm guessing your intuition here is faster than mine. I just learned about the "--force-local" option today. :)
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#77 Post by peebee »

Delta to +7 has the changes as per @Mav's github commit:
https://github.com/puppylinux-woof-CE/w ... 121104432e
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#78 Post by peebee »

Uploaded a ydrv to add Arch32 repos to ScPup-20.01 in the delta folder.

Sort of works.... installs packages (tested by installing and running a few games) but does get "confused" about the version number of some libs

Test at your own risk.
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#79 Post by mavrothal »

In 0setup you may want to change the |999| (or "|%sK|" in original) awk field to "|%0.fK|" so will be an integers-only number for the installed size that instalpreview.sh can handle

BTW is the rest of PPM the current woof version? (Looks pretty broken and with less functionality)
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#80 Post by s243a »

Testing 20.02+7. in a sandbox,

Via the ppm (auto-install mode):
* git appears to in stall successfully in a sandbox (not tested yet)
* openssh apears to install sucsfully in a sandbox (not tested yet)

I tried the following command:

Code: Select all

bash -x /etc/rc.d/rc.update 2
I noted some things in the following output:

Code: Select all

+ update-desktop-database /usr/share/applications
Could not parse file "/usr/share/applications/config_libinput.desktop": Key file does not start with a group
Warning in file "/usr/share/applications/gnumeric.desktop": usage of MIME type "zz-application/zz-winassoc-xls" is discouraged ("zz-application/zz-winassoc-xls" should be replaced with "application/vnd.ms-excel")
Error in file "/usr/share/applications/pmediainfo.desktop": "application_vnd.ms-asf" is an invalid MIME type ("application_vnd.ms-asf" does not contain a subtype)
Warning in file "/usr/share/applications/xarchive.desktop": usage of MIME type "multipart/x-zip" is discouraged ("multipart" is a media type that probably does not make sense in this context)
I think that these errors are minor. Also in this output:

Code: Select all

touch /var/local/full_install_1st_boot
The sandbox looks like a full install. I'm going to try booting with the savefile created by my sandbox script. I searched woof-CE and I don't think that the file "full_install_1st_boot" is used anywhere oustide of this script, so I'll eave it in my save file for now.

I also tried quicksetup but it won't work in my sandbox since the kernal used in arch32pup doesn't match that of dpup buster 64:

Code: Select all

sandbox# quicksetup
xwininfo: can not set locale properly

(process:1399): Gtk-WARNING **: 14:26:32.770: Locale not supported by C library.
	Using the fallback 'C' locale.
modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.19.23
iptables v1.8.4 (legacy): can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
grep: /etc/X11/xorg.conf: No such file or directory
grep: /var/log/Xorg.0.log: No such file or directory
grep: /var/log/Xorg.0.log: No such file or directory

** (gtkdialog:1562): ERROR **: 14:26:43.914: gtkdialog: Error in line 1017, near token '</frame>': syntax error
I'll now try rebooting with my save file.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

Post Reply