Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 01 Oct 2014, 04:51
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
packdude
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 4 of 5 [62 Posts]   Goto page: Previous 1, 2, 3, 4, 5 Next
Author Message
jamesbond

Joined: 26 Feb 2007
Posts: 2186
Location: The Blue Marble

PostPosted: Sat 31 May 2014, 09:14    Post subject:  

Which repo URL can I use for testing packdude?
_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1907
Location: Israel, somewhere in the beautiful desert

PostPosted: Sat 31 May 2014, 10:06    Post subject:  

This one - http://repo.dimakrasner.com:1024
_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
jamesbond

Joined: 26 Feb 2007
Posts: 2186
Location: The Blue Marble

PostPosted: Mon 02 Jun 2014, 03:10    Post subject:  

Thanks.

Is there a way to download the packages for offline use? When building a distro, I don't want to keep re-downloading the packages over and over again.
These are the steps:
1) Get to know the list of available packages
2) Get a list of dependency for all packages.
3) I have a subset of packages I want to use (I may not want to install everything that exist in the repo). With information from 1) and 2), I want to download packages for offline storage (download only - don't install).
4) Install to chroot, with packages from local filesystem
- if it does not use dependency, then its fine.
- if it does use dependency, I want that dependency to be resolved from my local filesystem.

I think packdude can only do step 1 at the moment (and may be partially 4, as you said before).

For testing, I did this before:
Code:
mkdir -p /root/p/var/packdude
export REPO=your-repo-url above.
for p in $(./packdude -p /root/p -l | sed 's/|.*//'); do ./packdude -p /root/p -i $p; done

And that gives me a nice filesystem, but if I want to do it again I end up re-downloading everything again.

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread
Back to top
View user's profile Send private message 
neerajkolte


Joined: 10 Feb 2014
Posts: 271
Location: Pune, India.

PostPosted: Mon 02 Jun 2014, 04:08    Post subject:  

Hi jamesbond,

In which puppy you're testing Packdude.
In Fatdog-64, or the new puppy you're building with pure ubuntu repo packages using Fatdog's kernal.

If that's the case could you provide me link to libarchive for fatdog64-631.

I tried using Packdude but it asks me libarchive (see Here) . I couldn't find it.
I have no knowledge of compiling.
But i downloaded source from HERE. I don't even know if that's right.

_________________
"One of my most productive days was throwing away 1000 lines of code."— Ken Thompson
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1907
Location: Israel, somewhere in the beautiful desert

PostPosted: Mon 02 Jun 2014, 04:11    Post subject:  

jamesbond - you can download the packages and repo.sqlite3, using wget. All files are located at the repository root. Then, use file:// or python -m SimpleHTTPServer.
_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
jamesbond

Joined: 26 Feb 2007
Posts: 2186
Location: The Blue Marble

PostPosted: Mon 02 Jun 2014, 04:43    Post subject:  

Iguleder wrote:
jamesbond - you can download the packages and repo.sqlite3, using wget. All files are located at the repository root. Then, use file:// or python -m SimpleHTTPServer.

I visited your repo URL (using browser) and I saw nothing. And how would I know the package filenames to download? "packdude -l" doesn't show me the filenames.

Neerajkolte - I'm using Fatdog631. Indeed you need to build libarchive before you can build packdude. I have a pet for it - which I can upload, no problem - but no offense, are you sure you know what you're doing? This is a package manager, you can easily install files overwriting Fatdog's one which will screw up your installation. If you want to test it, the packages must be installed in a chroot directory (by default packdude will install its packages to your REAL ROOT and thus clobbering your setup).
packdude-630.pet
Description  For Fatdog64
pet

 Download 
Filename  packdude-630.pet 
Filesize  67.74 KB 
Downloaded  36 Time(s) 

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1907
Location: Israel, somewhere in the beautiful desert

PostPosted: Mon 02 Jun 2014, 05:39    Post subject:  

The repository is security hardened. You can see package file names during their download.
_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
jamesbond

Joined: 26 Feb 2007
Posts: 2186
Location: The Blue Marble

PostPosted: Mon 02 Jun 2014, 07:52    Post subject:  

Code:
sqlite3 repo.sqlite3 "select file_name from packages"

is a better way to do it. That solves point 2) and 3) from my original question.

More questions:
4. If I install package with dependency, say, mtpaint, from filesystem (file:///path/to/mtpaint.dude), what happens with its dependencies? Will it fetch its dependencies from the same directory on the filesystem, or will it attempt to fetch from the remote repo?

5. Alternatively, will REPO=file:///xxx work? Since you linked it libcurl I suppose it does, doesn't it?
EDIT: This is confirmed to work. So question no 4 is not relevant anymore.

While we're at it, why not add md5sum to the package database? Helps to ensure that downloaded packages aren't corrupted (and helps to avoid downloading when there is already a local copy and server's copy have not changed).

cheers!

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1907
Location: Israel, somewhere in the beautiful desert

PostPosted: Mon 02 Jun 2014, 08:32    Post subject:  

Dependencies are fetched from REPO as well.

The package format has a checksum, so putting it in the database is a waste. Look at package.c.

_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
jamesbond

Joined: 26 Feb 2007
Posts: 2186
Location: The Blue Marble

PostPosted: Mon 02 Jun 2014, 08:40    Post subject:  

Iguleder wrote:
Dependencies are fetched from REPO as well.

The package format has a checksum, so putting it in the database is a waste. Look at package.c.

Okay, that solves the integrity problem. But I'd like to check for that fact before I run "packdude -i" (if you have packdude --check-integrity that returns true or false, that would be good enough).

The md5sum in the database serves a different purpose. It avoids unnecessary downloading when the server's copy of the package hasn't changed.

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1907
Location: Israel, somewhere in the beautiful desert

PostPosted: Mon 02 Jun 2014, 10:10    Post subject:  

packdude doesn't keep downloaded packages - the whole installation is done in-memory. Local package cache wastes save file space and it's good only if you re-install a package (a rare situation).
_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
jamesbond

Joined: 26 Feb 2007
Posts: 2186
Location: The Blue Marble

PostPosted: Mon 02 Jun 2014, 10:26    Post subject:  

Well, that rare use case is what I've said before: when building a distro. I want to keep all the packages local so I don't have to re-download every time when I re-build the distro. And keeping the packages local means I need a means to ensure my local copy is updated, without the need to re-download every single package and comparing them.

Aside from that, as a user, I also like to keep a copy of the packages locally, in case I need that packages when the server's copy is gone (keeping old version of the packages -- since you say packdude can only keep one version of a package at one time, or in case I need to re-install when I'm offline, or when sharing packages with others nearby, or when the repo maintainer gets bored of maintaining it and kills the server Wink ).

Please consider it.

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1907
Location: Israel, somewhere in the beautiful desert

PostPosted: Mon 02 Jun 2014, 10:34    Post subject:  

I can add a repository cloning mode, which downloads everything. What do you think?
_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
jamesbond

Joined: 26 Feb 2007
Posts: 2186
Location: The Blue Marble

PostPosted: Mon 02 Jun 2014, 10:43    Post subject:  

Clone meets my needs, but it sounds like you're going to re-implement rsync - are you sure you want to do that?

1) How about adding a filter to the clone? fnmatch or regex would be fine. I want to clone but I don't want to necessarily copy everything (especially the repo grows big).

2) When I re-run clone over existing local repo, I assume it will only download changed or missing packages?

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1907
Location: Israel, somewhere in the beautiful desert

PostPosted: Mon 02 Jun 2014, 10:46    Post subject:  

I think full cloning is a good start. Updating sounds like something I'd leave for LFTP and rsync.
_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
Display posts from previous:   Sort by:   
Page 4 of 5 [62 Posts]   Goto page: Previous 1, 2, 3, 4, 5 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0762s ][ Queries: 12 (0.0045s) ][ GZIP on ]