Author |
Message |
peebee

Joined: 21 Sep 2008 Posts: 4391 Location: Worcestershire, UK
|
Posted: Tue 12 Mar 2019, 15:16 Post subject:
|
|
FYI:
https://github.com/puppylinux-woof-CE/woof-CE/commit/bde3db932dfed7768f4944b3a694749fc62d8ee1
_________________
LxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64
|
Back to top
|
|
 |
wiak
Joined: 11 Dec 2007 Posts: 2075 Location: not Bulgaria
|
Posted: Sun 17 Mar 2019, 02:34 Post subject:
|
|
Hi sc0ttman,
I thought you might find XBPS package manager used in Void Linux interesting since it is an independently developed package management system (though not, in its present form, for Puppy, but who knows what might be done with it should devs here make a fork of it). I briefly describe my recent look at Void Linux here:
http://www.murga-linux.com/puppy/viewtopic.php?p=1022151#1022151
wiak
_________________ WeeDogLinux forum: https://weedoglinux.rockedge.org/viewforum.php?f=4
Tiny Linux Blog: https://www.tinylinux.info/
Check Firmware: http://murga-linux.com/puppy/viewtopic.php?p=1022797
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Wed 29 May 2019, 15:33 Post subject:
|
|
Hello S0ttman,
since you discovered my thread, I'll start reporting issues. I haven't reported any yet because my original plan was to troubleshoot first, since I don't know what errors might be due to me installing pkg wrong vs a bug in pkg.
In the following example pkg appears to download the pacakge (to /root/pkg) but some of the paths look worng,. They have a "//".
Code: |
pkg --download geany_1.29-1
wget --no-check-certificate --progress=dot -O /root/pkg/geany_1.29-1_i386.deb -4 -c http://deb.devuan.org/merged/pool/DEBIAN/main/g/geany/geany_1.29-1_i386.deb
...
Downloaded: /root/pkg/geany_1.29-1_i386.deb
...
+ case $1 in
++ func_list
++ '[' -f /tmp/pkg//func_list ']'
++ tr '\t' ' '
++ cat /tmp/pkg//func_list
++ cut -f2 '-d '
++ grep -m1 '^geany_1.29-1()'
++ sort
++ exit 0
...
++ user_pkgs_list=/root/.packages/user-installed-packages
++ '[' true '!=' true -a -f /root/.packages/devx-only-installed-packages ']'
++ '[' true '!=' true ']'
++ '[' '!' '' ']'
++ cut -f1 '-d|' /root/.packages/user-installed-packages
++ grep -vE '^\$|^pkg\-'
++ return 0
+ '[' yes = yes -a 'file_5.30-1+deb9u2_i386
libmagic1_5.30-1+deb9u2_i386
libsystemd0_232-25+deb9u11_i386' '!=' '' ']'
+ clean_pkgs
+ rm /tmp/pkg//PKGSDONE
+ LANG=en_CA.UTF-8
+ LC_ALL=
+ exit 0
+ cleanup 1 0
+ rm -f '/tmp/pkg/missing_dep*' '/tmp/pkg/installed_pkg*' '/tmp/pkg/all_dep*' /tmp/pkg/DEP_DONE /tmp/pkg/list_deps_busy /tmp/pkg/pkg_file_list /tmp/pkg//dependents_list /tmp/pkg/DEP_DONE /tmp/pkg/ldd_file_list
...
|
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Wed 29 May 2019, 15:58 Post subject:
|
|
Now if I delete the downloaded file and do the following command:
Code: |
pkg --get geany_1.29-1
|
I get output like and an infinite loop.
Code: |
Install package geany_1.29-1_i386:
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/woof-installed-packages: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/woof-installed-packages: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/woof-installed-packages: No such file or directory
|
I think what I see being printed is from these lines:
Code: |
# get pkg size, category and description
[ "$PKGCAT" = '' ] && PKGCAT=`LANG=C grep -m1 "|${PKGNAME_ONLY}|" "${HOME}/.packages/${REPOFILE}" 2>/dev/null | cut -f5 -d'|' | head -1`
[ "$PKGCAT" = '' ] && PKGCAT=`LANG=C grep -m1 "^${PKGNAME}|" "${HOME}/.packages/${REPOFILE}" 2>/dev/null | cut -f5 -d'|' | head -1`
[ "$PKGDESC" = '' ] && PKGDESC=`LANG=C grep -m1 "|${PKGNAME_ONLY}|" "${HOME}/.packages/${REPOFILE}" 2>/dev/null| cut -f10 -d'|' | head -1`
[ "$PKGDESC" = '' ] && PKGDESC=`LANG=C grep -m1 "^${PKGNAME}|" "${HOME}/.packages/${REPOFILE}" 2>/dev/null| cut -f10 -d'|' | head -1`
[ "$PKGSIZE" = '' ] && PKGSIZE=`LANG=C du -s -k ${CURDIR}/${PKG} 2>/dev/null | cut -f1`
# get pkg version
PKGVER="`LANG=C echo "$PKGNAME" | sed -e 's/^[^0-9]*-//g'`"
|
https://gitlab.com/sc0ttj/Pkg/blob/master/usr/sbin/pkg#L4923
It looks like that one needs the package version to break the loop but the pkg version is in the file name. Also the download was sucesfull so it could look inside the package (i.e. the control file) to get the version.
The issue here might in part due to that in devian/devuan package names are seperated with an underscore character ("_") whereas in other pkg files package names are seperated by a dash ("-") in the file name. PKG should not need to look in the pkg database files for the version because the version is contained in the file name.
I also see that it is not looking in Packages-devuan-ascii-contrib and I see that I'm missing woof-installed-packages (I think I forgot to sync).
Anyway, I'll try syncing and see if I get the same error. I'll Also check why it isn't looking for files like "Packages-devuan-ascii-contrib"
Edit 1
/ # sync_pet_specs_fm_dpkg.sh
Code: |
...
/ # pkg --get geany_1.29-1
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
Package geany already installed.
Use the -f option to force installation: pkg add geany -f
|
P.S. I'll look into why sync_pet_specs_fm_dpkg.sh failed in my build script.
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Wed 29 May 2019, 16:12 Post subject:
|
|
I think that pkg might be sourcing the wrong pkgrc file.
I see the following code;
here is what I have:
Code: |
# get current repo ($REPOFILE)
. ${PKGRC}
|
/usr/sbin/pkg#L2055
Here is what I have or /root/.pkg/pkgrc
Code: |
WORKDIR=/root/pkg
REPONAME=ascii-main
EX=deb
REPOFILE=Packages-devuan-ascii-main
REPOURL1=http://deb.devuan.org/merged/
REPOURL2=
REPOURL3=
REPOURL4=
PKGSEARCH="list_pkg_names"
PKGSEARCHEXACT="pkg -ne"
DEPSEARCH="list_all_pkg_names"
DEPSEARCHEXACT="pkg -nea"
REPOFALLBACKS="noarch common ascii ascii-backports ascii-contrib ascii-multimedia ascii-non-free stretch-main stretch-backports stretch-contrib stretch-multimedia dpup upup "
PKGSCOPE="one"
DEPSCOPE="all"
BLEDGE="no"
RDCHECK="yes"
AUTOCLEAN="yes"
BUILDTOOL=petbuild
|
Looking more at the code I see that PKGRC is set here:
Code: |
[ -z "$PKGRC" ] && export PKGRC=${HOME}/.pkg/pkgrc # config file for this script
|
/usr/sbin/pkg#L46
This part looks relevant:
Code: |
local all_supported_repofiles
# all repo files, full paths
all_supported_repofiles=`repo_file_list | sed "s#^#$HOME/.packages/#" | tr '\n' ' '`
|
/usr/sbin/pkg#L754
doing some more searching:
Code: |
repo_file_list(){ # list available repo files, $1 optional FUNCLIST
# we need to list these repos in the order defined in the RC file
# so Pkg can 'fall back' to other repos in that order
# get current config
. ${PKGRC}
# set vars for this func
local list=''
local repo_file=''
local repo_files=`cut -f3 -d'|' ${HOME}/.pkg/sources`
local current_fallback_list=`grep "^$REPONAME|" ${HOME}/.pkg/sources | cut -f8 -d'|' | grep -v "^\$"`
# get current repo fallback list order.. note if repo not listed in fallback list, it will be appended after
for line in $current_fallback_list
do
# get the repo file
repo_file="`grep "^$line|" ${HOME}/.pkg/sources | cut -f3 -d'|'`"
# add it to the list
[ "$repo_file" != "" ] && list="$list$repo_file "
done
# now add all other avail repos to the end of fallback list
for repo_file in $repo_files
do
#if not blank, not already in the repo list and not the current repo ($REPONAME from rc file) then add to list
[ "$repo_file" != "" -a "`echo "$list" | grep "$repo_file "`" = "" -a "$repo_file" != "$REPOFILE" ] && list="$list$repo_file "
done
# list the current repo first
echo $REPOFILE
# then the other repos
echo "$list" | tr ' ' '\n' | grep -v "^\$"
}
|
/usr/sbin/pkg#L1178
I checked and my $HOME variable is valid. Here is my /root/.pkg/sources file:
Code: | ascii-main|deb|Packages-devuan-ascii-main|http://deb.devuan.org/merged/||||noarch common ascii ascii-backports ascii-contrib ascii-multimedia ascii-non-free stretch-main stretch-backports stretch-contrib stretch-multimedia dpup upup
noarch|pet|Packages-puppy-noarch-official|http://ftp.nluug.nl/os/Linux/distr/puppylinux/pet_packages-noarch/|http://distro.ibiblio.org/puppylinux/pet_packages-noarch/|||common32 common64 common quirky wary5 wary53x wary51x lucid dpup akita puppy5 puppy4 puppy3 puppy2 slacko slacko14
common|pet|Packages-puppy-common-official|http://ftp.nluug.nl/os/Linux/distr/puppylinux/pet_packages-common/|http://distro.ibiblio.org/puppylinux/pet_packages-common/|||noarch quirky wary5 wary53x wary51x lucid dpup akita puppy5 puppy4 puppy3 puppy2 slacko slacko14 saluki
ascii-contrib|deb|Packages-devuan-ascii-contrib|http://deb.devuan.org/merged/|http://|||noarch common common32 common64 ascii ascii-main ascii-backports ascii-multimedia ascii-non-free stretch-main stretch-backports stretch-contrib stretch-multimedia dpup upup
ascii-non-free|deb|Packages-devuan-ascii-non-free|http://deb.devuan.org/merged/||||noarch common common32 common64 ascii ascii-main ascii-backports ascii-contrib ascii-multimedia stretch-main stretch-backports stretch-contrib stretch-multimedia dpup upup
|
anyway... I'm going to take a break for this issue from now and report a new issue.
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Wed 29 May 2019, 16:27 Post subject:
|
|
reserved
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Wed 29 May 2019, 16:28 Post subject:
|
|
Here is some output for a different issue:
Code: |
/ # pkg -f --get geany_1.29-1
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
Download geany from ascii-main repo:
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
Downloading geany_1.29-1_i386.deb. Please wait: 100%
Downloaded: /root/pkg/geany_1.29-1_i386.deb
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
Install package geany_1.29-1_i386:
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
Installed: geany_1.29-1_i386
cut: /root/.packages/Packages-puppy-noarch-official: No such file or directory
cut: /root/.packages/Packages-puppy-common-official: No such file or directory
Resolving dependencies..
Dependencies to get: geany-common libc6
Download geany-common from ascii-main repo:
Downloading geany-common_1.29-1_all.deb. Please wait: 100%
Downloaded: /root/pkg/geany-common_1.29-1_all.deb
Install package geany-common_1.29-1_all:
Installed: geany-common_1.29-1_all
Download libc6 from ascii-main repo:
|
Note that libc6 shouldn't be downloaded and we still have the issue with the pkg database files here.
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Wed 29 May 2019, 16:46 Post subject:
|
|
Here is a different issue. PKG might have issues with redirects to mirrors
I think I"m wrong here:
Quote: |
...although this could be due to devuan using countermeasures to prevent people from scraping their site. I'm guessing this because we are using the --spider option in wget.
|
but I don't see the mirror url in the output:
Code: |
bash -x pkg -f --get leafpad 2>&1 | tee pkg_get_leafpad.log
...
++ wget -S --spider http://deb.devuan.org/merged/pool/DEBIAN/main/l/leafpad/leafpad_0.8.18.1-5_i386.deb
++ sort -u /tmp/pkg/all_deps_1
++ grep -m1 'HTTP/1.1 404 Not Found'
...
++ PKGNAME_ONLY=leafpad
++ '[' leafpad_0.8.18.1-5 = '' -o leafpad = '' ']'
+++ find /root/.packages/ -name leafpad_0.8.18.1-5.files
++ check=
++ '[' '' = '' ']'
+++ find /root/.packages/ -name 'leafpad_0.8.18.1-5_*.files'
++ check=/root/.packages/leafpad_0.8.18.1-5_i386.files
++ '[' /root/.packages/leafpad_0.8.18.1-5_i386.files = '' ']'
++ '[' /root/.packages/leafpad_0.8.18.1-5_i386.files = '' ']'
++ '[' /root/.packages/leafpad_0.8.18.1-5_i386.files = '' ']'
++ '[' /root/.packages/leafpad_0.8.18.1-5_i386.files = '' ']'
++ '[' /root/.packages/leafpad_0.8.18.1-5_i386.files = '' ']'
++ '[' /root/.packages/leafpad_0.8.18.1-5_i386.files = '' ']'
++ '[' /root/.packages/leafpad_0.8.18.1-5_i386.files '!=' '' ']'
++ echo true
...
++ get_pkg_name_only leafpad_0.8.18.1-5
+ local PKGNAME_ONLY=leafpad
++ is_builtin_pkg leafpad
+ local pkg_is_builtin=false
++ LANG=C
++ grep -m1 '^leafpad$' /tmp/pkg//PKGSDONE
+ local pkg_already_done=
++ is_blacklisted_pkg ''
+ local 'pkg_is_blacklisted=
Usage: [1mpkg installed PKGNAME[0m
Returns true if PKGNAME is user installed,
or a builtin, or in the devx.
Returns false if package not installed.'
+ '[' false = true -a true = true ']'
+ '[' '
Usage: [1mpkg installed PKGNAME[0m
Returns true if PKGNAME is user installed,
or a builtin, or in the devx.
Returns false if package not installed.' = true ']'
+ '[' '' '!=' '' -a true = false ']'
+ echo -n 'Resolving dependencies..'
Resolving dependencies..+ '[' -f /tmp/pkg/list_deps_busy ']'
+ echo
+ '[' -f /tmp/pkg//leafpad_0.8.18.1-5_dep_list ']'
++ cat /tmp/pkg//leafpad_0.8.18.1-5_dep_list
|
Here is the correct link to the mirror download:
http://cdn-fastly.deb.debian.org/debian/pool/main/l/leafpad/leafpad_0.8.18.1-5_i386.deb
I get the correct link by copying the entire path except the file name and then I get redirected to the mirror.
Anyway, pkg seems to have installed leafpad and dependencies but it seems to fail at detecting that the package was installed.
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
mistfire
Joined: 04 Nov 2008 Posts: 1424 Location: PH
|
Posted: Thu 30 May 2019, 06:35 Post subject:
|
|
@sc0ttman I sent merge request to your gitlab. I filled some missing parts on your source code
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15588 Location: Paradox Realm
|
Posted: Thu 30 May 2019, 20:18 Post subject:
|
|
Is this packaging system compiled/available for 64bit eg Puppy8 BionicPup?
Sounds very useful
Puppy Linux
Smaller, faster, Run Free
_________________ Puppy Raspup 8.2 Final
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html 
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Thu 30 May 2019, 21:03 Post subject:
|
|
Lobster wrote: | Is this packaging system compiled/available for 64bit eg Puppy8 BionicPup?
Sounds very useful
Puppy Linux
Smaller, faster, Run Free |
I think it's all script based...so no need to compile
....
there is one exception though. I does utilize compiled tools from puppies package manager (i.e. petget) to convert a Debian repo database file into the puppy format.
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
wiak
Joined: 11 Dec 2007 Posts: 2075 Location: not Bulgaria
|
Posted: Wed 05 Jun 2019, 07:49 Post subject:
|
|
pkg worked to some extent at least in a quick very experimental test in FirstRib:
http://www.murga-linux.com/puppy/viewtopic.php?p=1029849#1029849
I have lots of other things I want to get on with so won't be taking pkg use in FirstRib further, but it does look maybe possible that a FirstRib Puppy flavour could be built using pkg as the package manager rather than Void Linux's xbps package manager. Depends how standalone (from actual Puppy) pkg could be made. As I mention in above thread, it would be nice if pkg could have fewer full util dependencies (i.e. work with busybox alone). Very promising though!
wiak
_________________ WeeDogLinux forum: https://weedoglinux.rockedge.org/viewforum.php?f=4
Tiny Linux Blog: https://www.tinylinux.info/
Check Firmware: http://murga-linux.com/puppy/viewtopic.php?p=1022797
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Thu 06 Jun 2019, 15:28 Post subject:
|
|
pkg tries to download the following file (which doesn't exist):
http://deb.devuan.org/merged/pool/DEBIAN/main/w/wayland/libwayland-client0_1.12.0-1_i386.deb
the correct path should be:
http://deb.devuan.org/merged/pool/DEBIAN/main/w/wayland/libwayland-client0_1.12.0-1+deb9u1_i386.deb
This might not be a fault of package but might be instead due to how petget converts the debian package database to the puppy format. The "deb9u1_" might not be part of the version field in the debian package database.
**I'll look into this more later.
_________________ Find me on minds and on pearltrees.
Last edited by s243a on Thu 06 Jun 2019, 18:12; edited 1 time in total
|
Back to top
|
|
 |
wiak
Joined: 11 Dec 2007 Posts: 2075 Location: not Bulgaria
|
Posted: Thu 06 Jun 2019, 17:52 Post subject:
|
|
s243a wrote: | pkg tries to download the following file (which doesn't exist):
http://deb.devuan.org/merged/pool/DEBIAN/main/w/wayland/libwayland-client0_1.12.0-1_i386.deb
the correct path should be:
http://cdn-fastly.deb.debian.org/debian/pool/main/w/wayland/libwayland-bin_1.12.0-1+deb9u1_i386.deb
This might not be a fault of package but might be instead due to how petget converts the debian package database to the puppy format. |
If that proves to be the case I hope that fix gets appropriately prioritised since that conversion/filter is pretty much mission critical for reliable Debian-based Puppy builds.
wiak
_________________ WeeDogLinux forum: https://weedoglinux.rockedge.org/viewforum.php?f=4
Tiny Linux Blog: https://www.tinylinux.info/
Check Firmware: http://murga-linux.com/puppy/viewtopic.php?p=1022797
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2626
|
Posted: Thu 06 Jun 2019, 20:38 Post subject:
|
|
wiak wrote: | s243a wrote: | pkg tries to download the following file (which doesn't exist):
http://deb.devuan.org/merged/pool/DEBIAN/main/w/wayland/libwayland-client0_1.12.0-1_i386.deb
the correct path should be:
http://cdn-fastly.deb.debian.org/debian/pool/main/w/wayland/libwayland-bin_1.12.0-1+deb9u1_i386.deb
This might not be a fault of package but might be instead due to how petget converts the debian package database to the puppy format. |
If that proves to be the case I hope that fix gets appropriately prioritised since that conversion/filter is pretty much mission critical for reliable Debian-based Puppy builds.
wiak |
Well lets verify this is a legitimate error first. Here is the DB field from the pkgdb file in the devaun ascii repo:
Code: |
libwayland-client0|1.12.0-1+deb9u1|libwayland-client0_1.12.0-1+deb9u1_i386.deb|http://deb.devuan.org/merged/pool/DEBIAN/main/w/wayland/libwayland-client0_1.12.0-1+deb9u1_i386.deb|optional|libs|80096899735b1b88bd1fa57042116402|libc6, libffi6,
|
....
more to come.
Here is the entry in dup stretch:
/root/.packages/Packages-debian-stretch-main
Code: |
libwayland-client0_1.12.0-1+deb9u1|libwayland-client0|1.12.0-1+deb9u1||BuildingBlock|71K|pool/main/w/wayland|libwayland-client0_1.12.0-1+deb9u1_i386.deb|+libc6&ge2.10,+libffi6&ge3.0.4|wayland compositor infrastructure - client library|debian|stretch|
|
So the version looks the same on both devaun ascii and dpup stretch. Now I'll try to download it using petget.
I was able to download this using petget on dpup stretch.
_________________ Find me on minds and on pearltrees.
|
Back to top
|
|
 |
|