| Author |
Message |
jpeps
Joined: 31 May 2008 Posts: 2449
|
Posted: Tue 09 Aug 2011, 11:35 Post subject:
|
|
| puppyluvr wrote: | :
Couldnt the PPM parse /root/.packages and compare against a list of builtins before uninstalling?
|
Unfortunately, all the distro's installed files aren't listed in the builtin list (even initially). It would be more helpful to run an "already installed" check, even if that would include locally installed files (do I really want my locally installed apps to stop working when I uninstall a package?) Of course, this would have to be noted somewhere before installation
|
|
Back to top
|
|
 |
big_bass

Joined: 13 Aug 2007 Posts: 1736
|
Posted: Tue 09 Aug 2011, 13:05 Post subject:
|
|
having other package formats and package management
would solve most of those problems
but that may be a hard dog biscuit to swallow
anyway having a choice is better than not having a choice
Joe
_________________ slackware 14
|
|
Back to top
|
|
 |
jpeps
Joined: 31 May 2008 Posts: 2449
|
Posted: Tue 09 Aug 2011, 15:19 Post subject:
|
|
| big_bass wrote: | having other package formats and package management
would solve most of those problems
but that may be a hard dog biscuit to swallow
anyway having a choice is better than not having a choice
Joe |
Yes..well for myself I'm using a "keepfile" along with an uninstall script that won't touch anything on it (in addition to not removing builtins). When checking the pet, any "already installed" files go on the list before installation (although I'm more likely to repackage it).
|
|
Back to top
|
|
 |
big_bass

Joined: 13 Aug 2007 Posts: 1736
|
Posted: Tue 09 Aug 2011, 19:29 Post subject:
|
|
well just to clear up what I meant was
when I started on puppy you had dot pets and tar.gz and the first pets before woof pets
when I started it was not possible to use slackwares pkgtool
to install packages on puppy because pkgtool handles tgz and txz and a few other formats that slackware spinoffs use
but it is now possible to use pkgtool I have been using it daily for over 2 years to install packages I havent needed to install a single pet in over 2 years and it works perfectly
so I am not rambling on about something I havent tested myself to be working
so there is now a choice when I started with puppy that choice wasnt an option I worked on it and now it is a valid option
now I take sources (official sources) from the developers web sites
and build packages againt the libs on my system
therefore maintaining perfert compatibility to the other installed programs and glibc all almost automatically
if this sounds hard to believe look at this
http://www.murga-linux.com/puppy/viewtopic.php?t=70289
there are choices but can you teach an old dog a new trick?
what does that have to do with wiping out installed packages ?
thats already an function built into pkgtool OTB
Joe
_________________ slackware 14
|
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15109 Location: Paradox Realm
|
Posted: Tue 09 Aug 2011, 21:18 Post subject:
|
|
Several things to mention here:
In Android (a Linux fork) programs have options to install, launch and uninstall. Simples.
This can be done with SFS (includes dependencies) and
http://portablelinuxapps.org/ (not all of which work in Puppy)
Proper PPM can be implemented in the design specs of Saluki
http://puppylinux.org/wikka/Puppy6
Proper Puppy
Proper Penguin
_________________ Puppy WIKI
|
|
Back to top
|
|
 |
jpeps
Joined: 31 May 2008 Posts: 2449
|
Posted: Fri 12 Aug 2011, 03:02 Post subject:
|
|
Here's a prototype for an installer that shows the pet's files along with already installed files that it will clobber.
| Description |
|
| Filesize |
59.75 KB |
| Viewed |
750 Time(s) |

|
|
|
Back to top
|
|
 |
amigo
Joined: 02 Apr 2007 Posts: 1776
|
Posted: Fri 12 Aug 2011, 03:33 Post subject:
|
|
Slackware's 'installpkg -warn package.txz' will show any conflicts and warn of locations which will be removed by installation of the package.
|
|
Back to top
|
|
 |
jpeps
Joined: 31 May 2008 Posts: 2449
|
Posted: Sun 14 Aug 2011, 11:59 Post subject:
|
|
| amigo wrote: | | Slackware's 'installpkg -warn package.txz' will show any conflicts and warn of locations which will be removed by installation of the package. |
After testing a bit, I think an installer with a -noclobber option is necessary. I noticed some pet that replace libs with links, so that the uninstall will break things even with a "keepfile." Gnucash clobbers some /etc files, etc., and even after uninstalling (with the keepfile) other programs (gnumeric, etc) won't work right.
|
|
Back to top
|
|
 |
sc0ttman

Joined: 16 Sep 2009 Posts: 2199 Location: UK
|
Posted: Sun 14 Aug 2011, 15:32 Post subject:
|
|
| amigo wrote: | | There should be *no* 'built-in' files. Every file should be part of a single package which can be installed, removed upgraded, etc. It seems like a good idea, jam a bunch of stuff into a single image and call it a 'base' installation, but that concept is at the core of the problem with puppy package management -how can you manage these built-ins? We have had a special program which could remove parts of the base, but why have a special program to do it at all? A simple list of all the base files doesn't help when we want to remove coherent parts of that base, update it or whatever. Everything should simply be part of an individual package to keep track of it. |
Why doesn't Woof do this? I have not checked the 'builtins' file, but wouldn't it be a simple change to just create a new file for each package added during Woof, with the package contents. Then the 'builtins' can be split by package... It is a (tiny) first step in the right direction, right? Or is that a 'hackish', pointless workaround?
And was the 'special program' called Pet-be-Gone, for unleashed builds?
_________________ Akita Linux, VLC-GTK, Pup Search, Pup File Search
|
|
Back to top
|
|
 |
jpeps
Joined: 31 May 2008 Posts: 2449
|
Posted: Sun 14 Aug 2011, 21:40 Post subject:
|
|
Here's a prototype that lets you see files in the package, view installed files and built-in files that would get clobbered, and install only the remaining files (Install-NoClobber). The Install List can be edited*, or regular install chosen. With the "No-Clobber" option, only the installed libs are copied to /root/.packages, so there is no danger of unintentional file deletion.
* Added: "files to be installed" opens in Geany, so the list can be immediately edited prior to installing.
| Description |
|
| Filesize |
44.66 KB |
| Viewed |
684 Time(s) |

|
|
|
Back to top
|
|
 |
jpeps
Joined: 31 May 2008 Posts: 2449
|
Posted: Mon 15 Aug 2011, 01:58 Post subject:
|
|
Installed gnucash with Install-NoClobber and it didn't break gnumeric. Another nice thing, is I could easily edit out all the manuals,etc, without rebuilding the package.
http://murga-linux.com/puppy/viewtopic.php?p=553362#553362
|
|
Back to top
|
|
 |
big_bass

Joined: 13 Aug 2007 Posts: 1736
|
Posted: Wed 24 Aug 2011, 19:19 Post subject:
|
|
you have to first get around some built in problems like core utils for an example
and nobody seems to take an interest when people talk about trying to organize things
that gets looked upon as being anti puppy around here
until people take an interest in some of these concerns your
"your answer my friend is blowing in the wind"
but there is still hope here is one example you could run to see what I mean
some files are pre instaled in different places than official packages
so when you decide to update beware of these pit falls
how do you know what bins were removed from full packages ?
Joe
run this its simple and safe it just shows one example with core utils
| Code: |
#!/bin/bash
:> /tmp/missing
:> /tmp/not-missing
#-------------------------------------
# generate a list for testing core bins
#-------------------------------------
#you could add something to test
echo "[
base64
basename
cat
chcon
chgrp
chmod
chown
chroot
cksum
comm
cp
csplit
cut
date
dd
df
dir
dircolors
dirname
du
echo
env
expand
expr
factor
false
fmt
fold
groups
head
hostid
id
install
join
link
ln
logname
ls
md5sum
mkdir
mkfifo
mknod
mktemp-gnu
mv
nice
nl
nohup
nproc
od
paste
pathchk
pinky
pr
printenv
printf
ptx
pwd
readlink
rm
rmdir
runcon
seq
sha1sum
sha224sum
sha256sum
sha384sum
sha512sum
shred
shuf
sleep
sort
split
stat
stdbuf
stty
sum
sync
tac
tail
tee
test
timeout
touch
tr
true
truncate
tsort
tty
uname
unexpand
uniq
unlink
users
vdir
wc
who
whoami
yes">/tmp/coreutils-test
#-------------------------------------
# test core bins to see if they exist
#-------------------------------------
>/tmp/location
for package in `cat /tmp/coreutils-test`
do echo "$package"
which "$package" >>/tmp/location
if [[ $? -eq 0 ]] ; then # we found it
# do stuff to file
echo "$package" "-->ok" >>/tmp/not-missing
else
echo "$package" "-->missing" >>/tmp/missing
fi
done
grep '^\/usr' "/tmp/location" >/tmp/wrongplace
Xdialog --backtitle "These core utils are installed in the wrong place
they should be installed in /bin " \
--tailbox /tmp/wrongplace 18 70
Xdialog --backtitle "These are missing core utils " \
--tailbox /tmp/missing 18 70
|
_________________ slackware 14
|
|
Back to top
|
|
 |
jpeps
Joined: 31 May 2008 Posts: 2449
|
Posted: Thu 25 Aug 2011, 03:09 Post subject:
|
|
| big_bass wrote: |
run this its simple and safe it just shows one example with core utils
|
Nice!!
A good reason why they should be in /bin is that your computer won't boot without them. I moved them over (lucid 525), and don't anticipate any problems*.
*edit..... after correcting my scripts to: "#!/bin/env"
| Code: |
#!/bin/sh
while read line
do
mv "$line" /bin
done </tmp/wrongplace
|
|
|
Back to top
|
|
 |
8-bit

Joined: 03 Apr 2007 Posts: 3033 Location: Oregon
|
Posted: Fri 02 Sep 2011, 14:51 Post subject:
|
|
PetCheck is now available in Additional Software Section under Utilities.
I have downloaded it and tried it and it works Great!
Thank you jpeps!
|
|
Back to top
|
|
 |
big_bass

Joined: 13 Aug 2007 Posts: 1736
|
Posted: Sat 03 Sep 2011, 11:46 Post subject:
|
|
Hey jpeps
*note that I havent seen your package yet to comment about it*
trying to standardize things can be tricky with cut down pre installed packages
only using the example I posted using core utils and Xdialog
the snippet you posted
should have a safety so you could recover from if something gets clobbered
first run the core utils check I posted above to generate the
/tmp/wrongplace file
then
| Code: |
#!/bin/sh
#---------------------------------------------------------------------
# make a back up of original files a safety step
#---------------------------------------------------------------------
mkdir -p $HOME/saved
while read line
do
cp "$line" $HOME/saved
done </tmp/wrongplace
#---------------------------------------------------------------------
# now install the correct full core utils package here
#---------------------------------------------------------------------
sleep 5
exit
# delete files in the wrong place you have a fall back in $HOME/saved
while read line
do
rm -f "$line"
done </tmp/wrongplace |
here is the core utils I compiled on TXZ_pup as an example of a full package
minus the docs and locals those are on my site but not linked here
http://www.puppy2.org/slaxer/coreutils-8.11-i486-1.tgz
_________________ slackware 14
|
|
Back to top
|
|
 |
|