Author Topic: Cacko Ipkg Dependancies  (Read 6941 times)

Sy Ali

  • Full Member
  • ***
  • Posts: 122
    • View Profile
    • SyeedAli.com
Cacko Ipkg Dependancies
« on: June 17, 2006, 02:32:00 pm »
The package manager.. doesn't.  It's just a frontend to the ipkg tools.

I searched around and found a reference to ldd, but that isn't right for ipk files.

The packaging guidelines say:
Quote
6.  The package control file should list all dependency information in the "Depends:" field.  All dependencies (libraries, etc.) should be on the feed as well.

How do I:
1. Determine the requirements of a particular package (before installing it)?
2. Determine the installed-size of a package before it is installed?
3. Determine the combined installed size of a package and all its dependancies?
4. Automatically install all dependancies?


1. Now I can see things like
Code: [Select]
ipkg depends .ipk
which happens to have failed when I tried it thusly:
Code: [Select]
ipkg depends ruby_1.8.0-1_arm.ipk
Quote
ipkg_depends: ERROR: Package name ruby_1.8.0-1_arm.ipk contains illegal characters (should be [a-zA-Z0-0.+-])
error

ipkg info doesn't seem to do anything for that package.

Indeed it looks like running ipkg at the commandline is generally a bad idea, as I was unable to "manually" install ruby using the ipkg program.  Strange.


2. I assume I can take a peek inside the archives and do some math.  Is there a better way to do this?

3. Presumably this is possible with some scripting voodoo.  Is there a better way?

4. Since viewing the dependancy of a package fails, I presume that this is impossible.

...

How does everyone else handle packages?

Snappy

  • Hero Member
  • *****
  • Posts: 793
    • View Profile
    • http://
Cacko Ipkg Dependancies
« Reply #1 on: June 17, 2006, 08:37:40 pm »
Hi there ... I hear you on your ipkg dependency woes ...

to install via command line:

# ipkg install ruby_1.8.0-1_arm.ipk

if you have feed setup ... you can do a

# ipkg install ruby

the ipkg installer should pull down the main pkg and dependencies if they are found on the feeds.
Snappy!
------------------------
Akita (Daily use)
<span style='font-size:8pt;line-height:100%'>SL-C1000 with Cacko 1.23 full
Accessories: Wifi XI-825 CF  |  16GB (6) SDHC (Transcend) | 1GB 80x CF (RiDATA PRO-2) </span>

Collie (Sandbox)
<span style='font-size:8pt;line-height:100%'>SL-5500 with OZ/GPE 3.5.4.1 alpha3 build 2006-04-27
Accessories: 512MB A-Data SD | 64MB Toshiba SD</span>

Sy Ali

  • Full Member
  • ***
  • Posts: 122
    • View Profile
    • SyeedAli.com
Cacko Ipkg Dependancies
« Reply #2 on: June 17, 2006, 08:46:42 pm »
Code: [Select]
# ipkg install ruby_1.8.0-1_arm.ipk
I did try this, but it didn't work as-expected.  I was able to use the GUI tool -- after the silly wait for it to load everything up -- and then it would work.

Upon installing via the commandline, trying to run ruby gave me an error.  I didn't have the forethought to record it though.

Snappy

  • Hero Member
  • *****
  • Posts: 793
    • View Profile
    • http://
Cacko Ipkg Dependancies
« Reply #3 on: June 17, 2006, 09:59:06 pm »
Quote
Code: [Select]
# ipkg install ruby_1.8.0-1_arm.ipk
I did try this, but it didn't work as-expected.  I was able to use the GUI tool -- after the silly wait for it to load everything up -- and then it would work.

Upon installing via the commandline, trying to run ruby gave me an error.  I didn't have the forethought to record it though.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=131547\"][{POST_SNAPBACK}][/a][/div]

the above line requires the ipk to be downloaded before hand (I think) ... I tried

# ipkg install ruby ... without the versions and .ipk stuffs and it pulls down via network. ... assuming you have network on your z sorted out ...
Snappy!
------------------------
Akita (Daily use)
<span style='font-size:8pt;line-height:100%'>SL-C1000 with Cacko 1.23 full
Accessories: Wifi XI-825 CF  |  16GB (6) SDHC (Transcend) | 1GB 80x CF (RiDATA PRO-2) </span>

Collie (Sandbox)
<span style='font-size:8pt;line-height:100%'>SL-5500 with OZ/GPE 3.5.4.1 alpha3 build 2006-04-27
Accessories: 512MB A-Data SD | 64MB Toshiba SD</span>

Sy Ali

  • Full Member
  • ***
  • Posts: 122
    • View Profile
    • SyeedAli.com
Cacko Ipkg Dependancies
« Reply #4 on: June 17, 2006, 11:33:42 pm »
I downloaded the appropriate files from the feed and put them on my SD card.  The GUI package manager finds the ipk files and lets me install the packages that way.

The commandline is less helpful for me.

No I do not have networking set up yet.  I wanted to keep things simple for now, but perhaps I should investigate networking over USB.  =)

bdbell

  • Newbie
  • *
  • Posts: 20
    • View Profile
Cacko Ipkg Dependancies
« Reply #5 on: June 18, 2006, 06:53:19 am »
Quote
I downloaded the appropriate files from the feed and put them on my SD card.  The GUI package manager finds the ipk files and lets me install the packages that way.

The commandline is less helpful for me.

No I do not have networking set up yet.  I wanted to keep things simple for now, but perhaps I should investigate networking over USB.  =)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=131592\"][{POST_SNAPBACK}][/a][/div]
If you install via local directory the depends will not be automatically installed. - you will have to install all depends manually.

If you install via the network from a proper feed the depends will be automatically installed - as long as they are available in the configured feeds.

Sy Ali

  • Full Member
  • ***
  • Posts: 122
    • View Profile
    • SyeedAli.com
Cacko Ipkg Dependancies
« Reply #6 on: June 18, 2006, 07:36:36 am »
It's very odd that local installation won't do dependancy checking.

So my solution is to learn how to configure things so that local files can be used like a remote feed.  My notes say that I can set it to this:

file:///mnt/cf/feed

However, where should I go to set this preference?  And will this be the solution for me?  =)
« Last Edit: June 18, 2006, 07:37:15 am by Sy Ali »

Snappy

  • Hero Member
  • *****
  • Posts: 793
    • View Profile
    • http://
Cacko Ipkg Dependancies
« Reply #7 on: June 18, 2006, 10:07:41 pm »
yes, if you download the package and relevant dependencies into a local directory (say, /mnt/cf/feed), and point ipkg feed to it, it will work.

I also like to download the ipks and dependencies before installing ... that way, if I ever need to reinstall, I do not have to wait for download again.

open up /etc/ipkg.conf and you should see couple of lines defining the feeds

...
#src spy http://................
src localcf file:///mnt/cf/feed
...

lines with "#" are comments or commented out, and are not active.
Hope this helps.
Snappy!
------------------------
Akita (Daily use)
<span style='font-size:8pt;line-height:100%'>SL-C1000 with Cacko 1.23 full
Accessories: Wifi XI-825 CF  |  16GB (6) SDHC (Transcend) | 1GB 80x CF (RiDATA PRO-2) </span>

Collie (Sandbox)
<span style='font-size:8pt;line-height:100%'>SL-5500 with OZ/GPE 3.5.4.1 alpha3 build 2006-04-27
Accessories: 512MB A-Data SD | 64MB Toshiba SD</span>

Sy Ali

  • Full Member
  • ***
  • Posts: 122
    • View Profile
    • SyeedAli.com
Cacko Ipkg Dependancies
« Reply #8 on: June 18, 2006, 10:20:15 pm »
I did get a chance to play around with the /etc/ipkg.conf and also with the package manager GUI.  The GUI is useful when I enter into "install packages via networks" and there I can enter in the file:/// settings manually.

However, both routes appear to do nothing.  I used to get errors with file:///mnt/cf/feed but I clued in and used file:///mnt/cf/feed/ and now clicking "upgrade" process something and gets to 100% but displays no packages.

* After playing around, the /etc/ipkg.conf gets overwritten by the GUI.
* I doublecheck the ipkg.conf and the only reference is commented out.
* I fix it and then launch the GUI again.
* When pressing "upgrade" the GUI gives "ipkg says something went wrong. Sorry." (what is this, a Mac?)
* Entering into the configuration shows my localcf feed properly.
* Clicking "upgrade" again gives me the 100% meter but.. does nothing.

Am I doing something non-standard?  I've never been able to get the packaging working "via network".  Manually installing dependancies using the regular "install packages" does work as-expected (minus the complete functionality of package management)

Meanie

  • Hero Member
  • *****
  • Posts: 2803
    • View Profile
    • http://www.users.on.net/~hluc/myZaurus/
Cacko Ipkg Dependancies
« Reply #9 on: June 18, 2006, 10:29:29 pm »
Quote
I did get a chance to play around with the /etc/ipkg.conf and also with the package manager GUI.  The GUI is useful when I enter into "install packages via networks" and there I can enter in the file:/// settings manually.

However, both routes appear to do nothing.  I used to get errors with file:///mnt/cf/feed but I clued in and used file:///mnt/cf/feed/ and now clicking "upgrade" process something and gets to 100% but displays no packages.

* After playing around, the /etc/ipkg.conf gets overwritten by the GUI.
* I doublecheck the ipkg.conf and the only reference is commented out.
* I fix it and then launch the GUI again.
* When pressing "upgrade" the GUI gives "ipkg says something went wrong. Sorry." (what is this, a Mac?)
* Entering into the configuration shows my localcf feed properly.
* Clicking "upgrade" again gives me the 100% meter but.. does nothing.

Am I doing something non-standard?  I've never been able to get the packaging working "via network".  Manually installing dependancies using the regular "install packages" does work as-expected (minus the complete functionality of package management)
[div align=\"right\"][a href=\"index.php?act=findpost&pid=131759\"][{POST_SNAPBACK}][/a][/div]

update will only refresh the Package Manager cache of packages listed on the remote feed

you need the Packages files in your local feed in order for it to resolve dependencies for your local packages. once you got a proper Packages file in your local feed, then update will be able to refresh the cache with data from the local Packages file in your local feed assuming you create an appropriate Packages file for your local feed/files.
« Last Edit: June 18, 2006, 10:32:51 pm by Meanie »
SL-C3000 - pdaXii13 build5.4.9 (based on pdaXrom beta3) / SL-C3100 - Sharp ROM 1.02 JP (heavily customised)
Netgear MA701 CF, SanDisk ConnectPlus CF, Socket Bluetooth CF, 4GB Kingston CF,  4GB pqi SD, 4GB ChoiceOnly SD, 2GB SanDisk SD USB Plus, 1GB SanDisk USB Plus, 1GB Transcend SD, 2GB SanDisk MicroSD with SD adaptor, Piel Frama Leather Case, GoldX 5-in-1 USB cable, USB hub, USB mouse, USB keyboard, USB ethernet, USB HDD, many other USB accessories...
(Zaurus SL-C3000 owner since March 14. 2005, Zaurus SL-C3100 owner since September 21. 2005)
http://members.iinet.net.au/~wyso/myZaurus - zBook3K

Sy Ali

  • Full Member
  • ***
  • Posts: 122
    • View Profile
    • SyeedAli.com
Cacko Ipkg Dependancies
« Reply #10 on: June 18, 2006, 10:54:32 pm »
Quote
update will only refresh the Package Manager cache of packages listed on the remote feed
But isn't the file:///path/to/feed/ the right way to tell it where the remote feed is?  I used this setting and 'update' did not refresh the list.

Quote
you need the Packages files in your local feed in order for it to resolve dependencies for your local packages. once you got a proper Packages file in your local feed, then update will be able to refresh the cache with data from the local Packages file in your local feed assuming you create an appropriate Packages file for your local feed/files.
What is the "local feed"?  Where is it?

Once I put files into this local feed, how do I install software and have it check dependancies automatically?

Nothing I have been doing so far has worked with dependancy checking.

gerhart.steiner

  • Newbie
  • *
  • Posts: 6
    • View Profile
    • http://members.a1.net/gerhart.steiner
Cacko Ipkg Dependancies
« Reply #11 on: June 19, 2006, 04:02:27 am »
Quote
Quote
update will only refresh the Package Manager cache of packages listed on the remote feed
But isn't the file:///path/to/feed/ the right way to tell it where the remote feed is?  I used this setting and 'update' did not refresh the list.

Quote
you need the Packages files in your local feed in order for it to resolve dependencies for your local packages. once you got a proper Packages file in your local feed, then update will be able to refresh the cache with data from the local Packages file in your local feed assuming you create an appropriate Packages file for your local feed/files.
What is the "local feed"?  Where is it?

Once I put files into this local feed, how do I install software and have it check dependancies automatically?

Nothing I have been doing so far has worked with dependancy checking.
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]

If you made a local feed you also have to create a "Package" file in this feed.
At the bottom of [a href=\"http://dream.reichholf.net/wiki/Howto:IPK_Pakete_erstellen]this[/url] page you can find the script to create this file.

...tschüß, Gerhart
...
C760, Cacko 1.22a, Qtopia 1.5.4 , SD 512 MB, CF 256 MB, Nokia Bluetooth DTL-1, Buffalo WLAN Airstation, GPS Emtac Crux II, ...

Sy Ali

  • Full Member
  • ***
  • Posts: 122
    • View Profile
    • SyeedAli.com
Cacko Ipkg Dependancies
« Reply #12 on: June 19, 2006, 05:20:26 am »
Hmm, perhaps we misunderstand oneanother.

I have a directory called:
/mnt/card/feed/

Within it are my many .ipk files.

I use the GUI tool in "Settings" called "Add/Remove Software".  Selecting "Install packages" will automatically find my ipk files and display them.  However, this tool will not resolve dependancies.

I am told that "Install packages via networks" will resolve dependancies.  So my goal is to make this feature look on my card for the ipk files.

I am told that editing my /etc/ipkg.conf file like this will work:
Code: [Select]
src localcf file:///mnt/card/feed/
dest root /
dest tmpinst /home/tmp/ipkg/inst

However this does not work, and in fact the GUI tool will transform this file like this:
Code: [Select]
# Written by Qt Palmtop Package Manager
# src localcf file:///mnt/card/feed/
dest root /
dest tmpinst /home/tmp/ipkg/inst

So when you say "local feed", I am thinking the /mnt/card/feed/ directory.  Am I mistaken?

gerhart.steiner

  • Newbie
  • *
  • Posts: 6
    • View Profile
    • http://members.a1.net/gerhart.steiner
Cacko Ipkg Dependancies
« Reply #13 on: June 20, 2006, 03:15:45 am »
Quote
Hmm, perhaps we misunderstand oneanother.

I have a directory called:
/mnt/card/feed/

Within it are my many .ipk files.

I use the GUI tool in "Settings" called "Add/Remove Software".  Selecting "Install packages" will automatically find my ipk files and display them.  However, this tool will not resolve dependancies.

I am told that "Install packages via networks" will resolve dependancies.  So my goal is to make this feature look on my card for the ipk files.

I am told that editing my /etc/ipkg.conf file like this will work:
Code: [Select]
src localcf file:///mnt/card/feed/
dest root /
dest tmpinst /home/tmp/ipkg/inst

Without a "Package" file you can't resolve the dep's - and you have to choose "Install packages via Network" at the GUI-Installer.

...tschüß, Gerhart

However this does not work, and in fact the GUI tool will transform this file like this:
Code: [Select]
# Written by Qt Palmtop Package Manager
# src localcf file:///mnt/card/feed/
dest root /
dest tmpinst /home/tmp/ipkg/inst

So when you say "local feed", I am thinking the /mnt/card/feed/ directory.  Am I mistaken?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=131804\"][{POST_SNAPBACK}][/a][/div]
...
C760, Cacko 1.22a, Qtopia 1.5.4 , SD 512 MB, CF 256 MB, Nokia Bluetooth DTL-1, Buffalo WLAN Airstation, GPS Emtac Crux II, ...

Meanie

  • Hero Member
  • *****
  • Posts: 2803
    • View Profile
    • http://www.users.on.net/~hluc/myZaurus/
Cacko Ipkg Dependancies
« Reply #14 on: June 20, 2006, 03:57:09 am »
Quote
Quote
Quote
update will only refresh the Package Manager cache of packages listed on the remote feed
But isn't the file:///path/to/feed/ the right way to tell it where the remote feed is?  I used this setting and 'update' did not refresh the list.

Quote
you need the Packages files in your local feed in order for it to resolve dependencies for your local packages. once you got a proper Packages file in your local feed, then update will be able to refresh the cache with data from the local Packages file in your local feed assuming you create an appropriate Packages file for your local feed/files.
What is the "local feed"?  Where is it?

Once I put files into this local feed, how do I install software and have it check dependancies automatically?

Nothing I have been doing so far has worked with dependancy checking.
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]

If you made a local feed you also have to create a "Package" file in this feed.
At the bottom of [a href=\"http://dream.reichholf.net/wiki/Howto:IPK_Pakete_erstellen]this[/url] page you can find the script to create this file.

...tschüß, Gerhart
[div align=\"right\"][a href=\"index.php?act=findpost&pid=131791\"][{POST_SNAPBACK}][/a][/div]

Das Script dort baut nur IPK Dateien aber macht nicht die Packages Datei. Man braucht da ipkg-make-index
SL-C3000 - pdaXii13 build5.4.9 (based on pdaXrom beta3) / SL-C3100 - Sharp ROM 1.02 JP (heavily customised)
Netgear MA701 CF, SanDisk ConnectPlus CF, Socket Bluetooth CF, 4GB Kingston CF,  4GB pqi SD, 4GB ChoiceOnly SD, 2GB SanDisk SD USB Plus, 1GB SanDisk USB Plus, 1GB Transcend SD, 2GB SanDisk MicroSD with SD adaptor, Piel Frama Leather Case, GoldX 5-in-1 USB cable, USB hub, USB mouse, USB keyboard, USB ethernet, USB HDD, many other USB accessories...
(Zaurus SL-C3000 owner since March 14. 2005, Zaurus SL-C3100 owner since September 21. 2005)
http://members.iinet.net.au/~wyso/myZaurus - zBook3K