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 26 Nov 2014, 23:13
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Utilities
GoNgetIT - Ubuntu&Debian Package Downloader for Puppy
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 1 of 2 Posts_count   Goto page: 1, 2 Next
Author Message
ariel


Joined: 03 Jul 2009
Posts: 97

PostPosted: Mon 09 May 2011, 21:11    Post_subject:  GoNgetIT - Ubuntu&Debian Package Downloader for Puppy
Sub_title: automatically download ubuntu & debian packages
 

WHAT IS IT?

GoNgetIT is a program written in C++ that allows to automatically download deb packages and their dependencies from an Ubuntu repository. It doesn't need any index files and it should work with most/all versions of Puppy as it only depends on curl.

HOW DOES IT WORK?

Choose a package here.

open a terminal and type gongetit. It will appear a menu with some options that are self-explanatory. When you press option 1- begin you will be prompted to input an address of a package (eg. hardy/editors/zile). Be sure to write the correct address as I have written no sanity check. Keep in mind that Hardy repo is good for puppy 4.x and Wary while Lucid for Lupu.

When you press enter GoNgetIT will start and parse all the links of the dependencies and then download everything.

If you have turned on option 5 the program will turn all the .deb packages into a .pet by using dir2pet.

Packages will be stored in a directory in /root with several txt files used by the program.

If your download is slow you can change the download site by modifying /root/.gongetit/searchtree.txt. Put the repo you prefer in the first place with a text editor.


WHAT IS THE FILTER?

In /root/.gongetit there are some files needed by the program. Among them there's libraries.txt in which there is a list of libraries that are already in Puppy and that should not be downloaded, such as C library and so forth. If you have already some libraries that you don't want to download anymore add them here with a text editor (openGL libraries are already filtered because I assume that you can find them in the official Puppy repo). On the other hand if you leave this file blank all the libraries will be downloaded. This can be useful for repairing an Ubuntu system that is damaged or that cannot connect to the internet for any reasons. In this way Puppy may turn into a rescue tool for Ubuntu Smile Be careful not to delete critical libraries in the filter, though. You might install a package that could disrupt your Puppy installation.

BEWARE

With GoNgetIT several requests in the forum may be fulfilled but keep in mind that GoNgetIT is not a substitute of aptget and Puppy is not Ubuntu. If you download a package and it doesn't work probably you have to manually set things right. GoNgetIT is a powerful tool but not a magic wand.

Don't ask, just GoNgetIT!



^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


GoNgetIT v.0.2




What's new:
===========

-download deb packages from both the ubuntu and debian repositories.
-command line options.
-stop download when space on disk is less than 15Mb. Continue when free space is available.
- the target directory can be chosen from the command line.
-different way to deal with default options.


Command line:
=============

Command-line options have been added so that you can implement gongetit in a script like this:


Code:
#!/bin/sh

echo "Do you want to download emacs? It's a powerful editor."
read a
if [ $a == "y" ] ; then
gongetit -d lenny/emacs22-gtk
echo "downloading..."
else echo "Maybe next time."
fi


To see the accepted options type gongetit --help. If you don't insert any options it will start up a menu, like before. And to chose the repo in the menu launch the program like so:

Code:
gongetit -u      # menu uses ubuntu repo

gongetit -d      # menu uses debian repo


Pay attention because there are small differences in the way v 0.2 deals with default values and directories. And there are small differences in what can be done in the menu with respect to the command line. This one is more powerful. For example, the target directory can be chosen from the command line, but from the menu packages are stored in /root/gongetit/ by default.

Known issues:
=============

* No verification of both syntax and path is done by the program yet. So, check that the target directory exists and that it ends with a slash (by typing TAB) and that the URLpath does not have one. Example:

gongetit -d -p -s /root/my-documents/tmp/ lenny/games/vectoroids
---------------------------------------------------^^---------------------------^
------------options------------directory---------------URLpath------------

* Be sure to chose the same repo in both option and URLpath. Example:

Code:
gongetit -d lenny/emacs22-gtk           # OK
gongetit -u lenny/emacs22-gtk           # WRONG: ubuntu path is different (e.g. hardy/editors/emacs22-gtk)


* if it is inserted a non-existent option no warning is shown


Uninstall programs:
===================

To install a package click on the new pet package generated by the program and uninstall it with the standard Puppy Package Manager.


How to compile
==============
The program is written in C++ so to compile just type:

g++ gongetit-0.2.cpp -o gongetit





**********************************************************************
************************GraphicGoNgetIT*****************************
**********************************************************************



Here we go with another gui for GoNgetIT. I played with tcl/tk and here's the result: GraphicGoNGetit, or GGnG to put it simply.

Basically it's formed by two screens.

1-deb download section (steps 1,2,3)
2-pet making (steps 4,5)


1)Choosing the deb to download.

Go to the package section of the ubuntu or debian website and choose the package that you wish to download. For example packages.ubuntu.com/precise/tk. Copy the part of the URL with the exception of the repo address, so precise/tk.

2)Choosing the directory.

Click on the 'directory' button and choose where you want your package to be downloaded.

3)Go'N'Get IT

Click this button. While the program donloads the packages the button will display in a red colour. The time of the download depends on how the package is big and on your connection speed. When the download is over the button turns green again and the message 'PACKAGE DOWNLOADED' appears in the bottom part of the window. You can look at the log if something went wrong.


4) Turn the debs into a pet package (standard Puppy Linux package).

Click the 'Make Pet' button and it pops up a new window. Choose the directory CONTAINING the deb packages previously downloaded and click the button 'Pet'. You have to answer a number of questions to build the package. At the end of the process, when the button changes from red to green again, close this window.

5) Install the pet package.

Open Rox filer and click on the newly created pet package as usual.



NOTES
=====

* The gui has tcl/tk as a dependency. Racy comes with these packages already installed. But if you don't have tcl/tk installed you can download with gongetit the Precise version, that should work with other recent puppies.

* If you have tcl/tk already installed and the gui doesn't show up, this means that you should create a symlink to your binary with something similar to this:


Code:
ln -s /usr/bin/wish8.5 /usr/bin/wish


* This package doesn't install GoNgetIT. You must install GoNgetIT v. 0.2 before using GGnG.

* Tested with Racy and Precise puppy.
GGnG-0.1.pet
Description  tcl/tk-Graphic environement for GoNgetIT
pet

 Download 
Filename  GGnG-0.1.pet 
Filesize  1.61 KB 
Downloaded  488 Time(s) 
GGnG-screenshot.png
 Description   
 Filesize   7.05 KB
 Viewed   1530 Time(s)

GGnG-screenshot.png

GGnG-screenshot-1.png
 Description   
 Filesize   5.54 KB
 Viewed   1295 Time(s)

GGnG-screenshot-1.png

screenshot-v0-2.jpg
 Description   screenshot v 0.2
 Filesize   42.96 KB
 Viewed   2034 Time(s)

screenshot-v0-2.jpg

gongetit-0.2-source.pet
Description  source
pet

 Download 
Filename  gongetit-0.2-source.pet 
Filesize  5.62 KB 
Downloaded  377 Time(s) 
gongetit-0.2.pet
Description  binary
pet

 Download 
Filename  gongetit-0.2.pet 
Filesize  28.8 KB 
Downloaded  484 Time(s) 
screenshot-1.jpg
 Description   
 Filesize   17.9 KB
 Viewed   3129 Time(s)

screenshot-1.jpg

screenshot-2.jpg
 Description   
 Filesize   19.39 KB
 Viewed   3235 Time(s)

screenshot-2.jpg

gongetit-0.1.pet
Description  binary
pet

 Download 
Filename  gongetit-0.1.pet 
Filesize  25.51 KB 
Downloaded  536 Time(s) 
gongetit-0.1-source.tar.gz
Description  source
gz

 Download 
Filename  gongetit-0.1-source.tar.gz 
Filesize  4.33 KB 
Downloaded  429 Time(s) 

Edited_times_total
Back to top
View user's profile Send_private_message 
gcmartin

Joined: 14 Oct 2005
Posts: 4443
Location: Earth

PostPosted: Tue 10 May 2011, 12:14    Post_subject: Get Debian Packages into Puppy  

Very good.
_________________
Get ACTIVE Create Circles; Do those good things which benefit people's needs!
We are all related ... Its time to show that we know this!
3 Different Puppy Search Engine or use DogPile
Back to top
View user's profile Send_private_message 
Béèm


Joined: 21 Nov 2006
Posts: 11782
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

PostPosted: Tue 10 May 2011, 15:11    Post_subject:  

Looks nice, but one thing worries me.
As packages are downloaded to /root, if I understand well, there is a danger that the save file is filled-up rapidly.

So nice for FULL installs, but potential problematic for FRUGAL installs.

Would be nice to select a download directory.

_________________
Time savers:
Find packages in a snap and install using Puppy Package Manager (Menu).
Consult Wikka
Use peppyy's puppysearch
Back to top
View user's profile Send_private_message 
smokey01


Joined: 30 Dec 2006
Posts: 1845
Location: South Australia

PostPosted: Tue 10 May 2011, 16:46    Post_subject:  

It looks very useful but it would appeal to more users with a GUI.
_________________
Puppy Software <-> Distros <-> Puppy Linux Tips
Back to top
View user's profile Send_private_message Visit_website 
neurino


Joined: 15 Oct 2009
Posts: 360

PostPosted: Tue 10 May 2011, 16:52    Post_subject:  

I think I will absolutely love it given I can store outside my savefile, for example all my downloaded / created pets go in /mnt/home/petsbin...

Don't care at all about missing GUI...
Back to top
View user's profile Send_private_message 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Tue 10 May 2011, 17:07    Post_subject:  

awesome! this looks great... gonna try it out now in puppy 4 (puplite).. wil let you know how I get on...

would you be able to make one like this that works with debian?
the .debs there are easier to integrate into puppy usually... not so many libs..

Can you give the line you use to compile this? Sorry if I am being really thick, but I tried
Code:
gcc file
which did not work Sad

Using goingnuts excellent work on a CLI/X menu wrapper for stuff, you could easily make this a CLI and Gtkdialog frontend... It would detect if X is running and load either a CLI menu or a Xdialog one... Checkout the pUpnGo thread for more info - his latest OTF-SFS thing uses it...

_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send_private_message 
vovchik


Joined: 23 Oct 2006
Posts: 1287
Location: Ukraine

PostPosted: Wed 11 May 2011, 04:50    Post_subject:  

Dear ariel,

Thanks and good work. I tested it last night and was pleased that gongetit really examined the dependencies. I, too, think this is a nice candidate for a gui version....

With kind regards,
vovchik
Back to top
View user's profile Send_private_message 
ariel


Joined: 03 Jul 2009
Posts: 97

PostPosted: Wed 11 May 2011, 05:38    Post_subject:  

Béèm wrote:
Looks nice, but one thing worries me.
As packages are downloaded to /root, if I understand well, there is a danger that the save file is filled-up rapidly.

So nice for FULL installs, but potential problematic for FRUGAL installs.

Would be nice to select a download directory.


this is the reason why I have inserted the option 'ask' by which the program examines the dependency tree but will ask you before downloading anything; and when you have 50Mb free you can download really big packages even with a frugal install.

anyway I'll leave this for future versions.

sc0ttman wrote:
Can you give the line you use to compile this? Sorry if I am being really thick, but I tried

Code:
gcc file

which did not work


Code:
g++ file -o optional_new_name


As for the gui I have to say that I like CLI apps because of best backward and forward compatibility, keyboard friendliness and less trouble in coding Very Happy . Moreover, I have some functions that I'd like to implement. There are a few things that can be done starting from this point. I have to think about it some more before implementing a gui. I'll think about it anyway.

Thanks to all of you guys for your feedback.

Note.
You don't realise that we're all under the watch of our kind administrators until you see the title of your post gracefully changed. Yeah, this one is better than the previous. Wink
Back to top
View user's profile Send_private_message 
stu90


Joined: 25 Feb 2010
Posts: 1401
Location: England. Dell Inspiron 1501. Dpup

PostPosted: Wed 11 May 2011, 06:05    Post_subject:  

Great work Ariel - GoNgetIT is straight forward, easy to use and works well.

thanks.
Back to top
View user's profile Send_private_message 
neurino


Joined: 15 Oct 2009
Posts: 360

PostPosted: Wed 11 May 2011, 06:51    Post_subject:  

Stupid question:

will GONgetIT work the same as downloading a .deb package and clicking on it (I miss the default action)?

Since this often breaks CUPS.
Back to top
View user's profile Send_private_message 
ariel


Joined: 03 Jul 2009
Posts: 97

PostPosted: Wed 11 May 2011, 16:01    Post_subject:  

neurino wrote:

will GONgetIT work the same as downloading a .deb package and clicking on it (I miss the default action)?

Since this often breaks CUPS.


GoNgetIT undebs deb packages before turning them into a pet when you turn 'pet' switch on. After that you click on a pet package as usual. If the switch is off you'll have deb packages in a directory. It's up to you what to do afterwards.


I forgot to reply to this question:
sc0ttman wrote:


would you be able to make one like this that works with debian?


Yes, it is possible to extend the principle to the debian repo. but it takes a tad more work.
Back to top
View user's profile Send_private_message 
ariel


Joined: 03 Jul 2009
Posts: 97

PostPosted: Sat 04 Feb 2012, 13:50    Post_subject: ubuntu + debian package downloader for puppy linux
Sub_title: download deb packages with all puppy OSs
 

check out new version 0.2 and download packages from debian repo too.

see first post
Back to top
View user's profile Send_private_message 
aarf

Joined: 30 Aug 2007
Posts: 3620
Location: around the bend

PostPosted: Sat 04 Feb 2012, 21:50    Post_subject:  

Looks good havent tried it. But if you have all the pets in a directory could you also have an option to make an sfs? Re www.murga-linux.com/puppy/viewtopic.php?t=75423
_________________

ASUS EeePC Flare series 1025C 4x Intel Atom N2800 @ 1.86GHz RAM 2063MB 800x600p ATA 320G
_-¤-_

<º))))><.¸¸.•´¯`•.#.•´¯`•.¸¸. ><((((º>
Back to top
View user's profile Send_private_message Visit_website 
ariel


Joined: 03 Jul 2009
Posts: 97

PostPosted: Sun 05 Feb 2012, 15:34    Post_subject:  

yes, it could be done. GoNgetIT is flexible enough that I think it could be implemented in the future.

for now if you actually need to convert pet packages to sfs you can have a go with programs like this one. It seems that Trio hasn't much time to keep it up to date but it's worth trying.
Back to top
View user's profile Send_private_message 
aarf

Joined: 30 Aug 2007
Posts: 3620
Location: around the bend

PostPosted: Sun 05 Feb 2012, 22:14    Post_subject:  

There are two sfs for software that have a limited following that would be useful additions to the puppy array. One is zoneminder the other is Arduino. If goNgetit can do zoneminder it has passed all tests. Anyone interested in having a shot. Currently i dont have the connection capabilities to even try.
_________________

ASUS EeePC Flare series 1025C 4x Intel Atom N2800 @ 1.86GHz RAM 2063MB 800x600p ATA 320G
_-¤-_

<º))))><.¸¸.•´¯`•.#.•´¯`•.¸¸. ><((((º>
Back to top
View user's profile Send_private_message Visit_website 
Display_posts:   Sort by:   
Page 1 of 2 Posts_count   Goto page: 1, 2 Next
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Utilities
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1104s ][ Queries: 13 (0.0071s) ][ GZIP on ]