project/opkg-lede.git
15 years agoFree memory if we fail to remove a package due to it having dependents.
graham.gower [Mon, 2 Nov 2009 02:49:25 +0000 (02:49 +0000)]
Free memory if we fail to remove a package due to it having dependents.

git-svn-id: http://opkg.googlecode.com/svn/trunk@237 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoAvoid reading past the end of the array.
graham.gower [Mon, 2 Nov 2009 02:34:29 +0000 (02:34 +0000)]
Avoid reading past the end of the array.

git-svn-id: http://opkg.googlecode.com/svn/trunk@236 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agopkg_init_from_file() already does this strdup(), so stop another leak.
graham.gower [Mon, 2 Nov 2009 01:35:59 +0000 (01:35 +0000)]
pkg_init_from_file() already does this strdup(), so stop another leak.

git-svn-id: http://opkg.googlecode.com/svn/trunk@235 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFree memory used when parsing a control file.
graham.gower [Mon, 2 Nov 2009 01:35:48 +0000 (01:35 +0000)]
Free memory used when parsing a control file.

git-svn-id: http://opkg.googlecode.com/svn/trunk@234 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFix memory leaks.
graham.gower [Mon, 2 Nov 2009 01:15:14 +0000 (01:15 +0000)]
Fix memory leaks.

git-svn-id: http://opkg.googlecode.com/svn/trunk@233 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agofree() temporary string.
graham.gower [Mon, 2 Nov 2009 00:23:05 +0000 (00:23 +0000)]
free() temporary string.

git-svn-id: http://opkg.googlecode.com/svn/trunk@232 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoMissing free in sha256 hash verification
pixdamix [Fri, 30 Oct 2009 17:04:06 +0000 (17:04 +0000)]
Missing free in sha256 hash verification

git-svn-id: http://opkg.googlecode.com/svn/trunk@231 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoAdd missing free (again)
pixdamix [Fri, 30 Oct 2009 15:07:59 +0000 (15:07 +0000)]
Add missing free (again)

git-svn-id: http://opkg.googlecode.com/svn/trunk@230 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFix some memory leaks.
graham.gower [Fri, 30 Oct 2009 06:37:09 +0000 (06:37 +0000)]
Fix some memory leaks.

git-svn-id: http://opkg.googlecode.com/svn/trunk@229 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThe compiler almost certainly knows better.
graham.gower [Fri, 30 Oct 2009 06:35:22 +0000 (06:35 +0000)]
The compiler almost certainly knows better.

git-svn-id: http://opkg.googlecode.com/svn/trunk@228 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFix problems in error list
pixdamix [Thu, 29 Oct 2009 09:07:11 +0000 (09:07 +0000)]
Fix problems in error list

push_error_list() should allocate the sizeof(struct) not sizeof(pointer
to struct).

And add some memory deallocation in error paths found while looking at
this.

git-svn-id: http://opkg.googlecode.com/svn/trunk@227 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoRemoved a unused variable warning
pixdamix [Wed, 28 Oct 2009 21:00:56 +0000 (21:00 +0000)]
Removed a unused variable warning

When compiled without openssl nor gpg signature verification
opkg build fail due to 3 unused variable and -Werror

git-svn-id: http://opkg.googlecode.com/svn/trunk@226 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoAdd error messages in case of signature error
pixdamix [Wed, 28 Oct 2009 10:05:48 +0000 (10:05 +0000)]
Add error messages in case of signature error

git-svn-id: http://opkg.googlecode.com/svn/trunk@225 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFix implicit declaration of strndup
pixdamix [Wed, 28 Oct 2009 09:10:59 +0000 (09:10 +0000)]
Fix implicit declaration of strndup

s/strndup/xstrndup/

Thanks to Graham Gower <graham.gower@gmail.com>

git-svn-id: http://opkg.googlecode.com/svn/trunk@224 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoAdding sha256.[ch]
ticktock35 [Wed, 28 Oct 2009 07:27:13 +0000 (07:27 +0000)]
Adding sha256.[ch]
Sorry forgot adding them.
Thanks for Graham Gower <graham.gower@gmail.com>

git-svn-id: http://opkg.googlecode.com/svn/trunk@223 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoImprove the poor man's fseek in unarchive.c
pixdamix [Tue, 27 Oct 2009 21:15:50 +0000 (21:15 +0000)]
Improve the poor man's fseek in unarchive.c

Modified seek_sub_file since the fgetc in the for loop
was very slow when installing huge packages.

A test on my machine showed a 4x gain when installing
a large package (23Mib)

git-svn-id: http://opkg.googlecode.com/svn/trunk@222 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoOpkg support for smime (pkcs7) packages list signing
ticktock35 [Tue, 27 Oct 2009 12:45:24 +0000 (12:45 +0000)]
Opkg support for smime (pkcs7) packages list signing

Thanks to Camille Moncelier <moncelier@devlife.org>
http://groups.google.com/group/opkg-devel/browse_thread/thread/6071ce290d5ceb77?utoken=qjR-TC0AAADKDldt5ZXsDDLs9sWCpWZI1zgeariQUwksg5ob1tmaFTCAL7MTcQRO6S85GfHgQ_k

As promised :) here is a patch allowing opkg to authenticate
a package list using smime and openssl instead of gpgme

Example:

 Sign a package list:
openssl smime -sign -in /path/to/repo/Packages \
       -signer /root/server.pem -binary \
       -outform PEM -out /path/to/repo/Packages.sig

 Configuration in /etc/opkg/opkg.conf
option check_signature 1
option signature_ca_file /etc/serverCA.pem
 option signature_ca_path /path/to/certs/dir

 opkg update
Downloading http://repo:8000/Packages
Updated list of available packages in /usr/lib/opkg/lists/angstrom
Downloading http://repo:8000/Packages.sig
Signature check passed

 Package list corruption or MIM:
Downloading http://repo:8000/Packages
Updated list of available packages in /usr/lib/opkg/lists/angstrom
Downloading http://repo:8000/Packages.sig
Signature check failed
Collected errors:
 * Verification failure

Camille Moncelier
http://devlife.org/

git-svn-id: http://opkg.googlecode.com/svn/trunk@221 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoAdd sha256 ckecksums to okpg
ticktock35 [Tue, 27 Oct 2009 12:45:12 +0000 (12:45 +0000)]
Add sha256 ckecksums to okpg

Thanks to Camille Moncelier <moncelier@devlife.org>
http://groups.google.com/group/opkg-devel/browse_thread/thread/78a2eb328da0ef73?utoken=pV1Kli0AAADKDldt5ZXsDDLs9sWCpWZI0mClVcTs45ANzZ7C9NH-1YGBxa5Bow63PTuzFmQCb1c

Here is a patch which adds sha256 checksum checking to Opkg.
More Opkg patches will follow shortly (x509 and smime signature support,
libcurl client/server authentication)

I hope these patch will be useful and finds their ways into okpg

Camille Moncelier
http://devlife.org/

git-svn-id: http://opkg.googlecode.com/svn/trunk@220 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoImprove install candidate selection
ticktock35 [Tue, 6 Oct 2009 03:57:46 +0000 (03:57 +0000)]
Improve install candidate selection
    Florian Boor <florian.boor@kernelconcepts.de>
Hello,

I have noticed that opkg does not resolve package selection properly if
the same
package is available in more than one compatible architecture.
Failing having installable candidates available is not necessary in this
case:
Either the packages are from feeds with different priorities - in this
case we
can select by priority - or the priorities are the same and it does not
matter
which one gets installed.
Another problem is that in some situations the package lists seem to
contain
duplicates for no obvious reason. (e.g. one package available from two
feeds
makes four entries in the package lists.)
The patch implements a workaround for this by filtering out duplicates
when the
candidate lists are created and makes opkg select an install candidate
per feed
priority.

I have tested the changes with OpenEmbedded and it does not seem to
cause any
obvious problems.
Could I get some opinions about the solution? :)

Greetings

Florian
-----------
Thanks to Florian

git-svn-id: http://opkg.googlecode.com/svn/trunk@219 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFix Segmentation fault while data in Package.gz is not good
ticktock35 [Tue, 22 Sep 2009 16:07:19 +0000 (16:07 +0000)]
Fix Segmentation fault while data in Package.gz is not good

While setting up a personal opkg feed, I encountered a crash in opgk
when trying to install the package from the repository. Instead of an
error message from opkg, it just gave me "Segmentation fault" and
exited.

Thanks to EdorFaus <edorfaus@gmail.com>
http://groups.google.com/group/opkg-devel/browse_thread/thread/9620711475fa98d2

git-svn-id: http://opkg.googlecode.com/svn/trunk@218 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFix opkg doesn't handle long link/path names in tar files well
ticktock35 [Mon, 21 Sep 2009 10:11:52 +0000 (10:11 +0000)]
Fix opkg doesn't handle long link/path names in tar files well

1. provide opkg with a tar file that has a link name that is 100
characters
    or
2. provide opkg with a tar file that has a 'path_prefix' of 155
characters.

Thanks to pblack88@gmail.com
http://code.google.com/p/opkg/issues/detail?id=21

git-svn-id: http://opkg.googlecode.com/svn/trunk@217 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoAdding error message for the lock file.
ticktock35 [Fri, 18 Sep 2009 02:35:00 +0000 (02:35 +0000)]
Adding error message for the lock file.
pkg just says "Could not obtain administrative lock" and provides no
further info when it encounters problems with the lock file. The
attached
patch makes these errors a bit easier to diagnose.

Thanks to cconroy
http://code.google.com/p/opkg/issues/detail?id=22

git-svn-id: http://opkg.googlecode.com/svn/trunk@216 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoFix issue on "Segmentation fault on package removal"
ticktock35 [Sat, 4 Jul 2009 03:22:11 +0000 (03:22 +0000)]
Fix issue on "Segmentation fault on package removal"
Thanks to http://code.google.com/u/kosmaty/
Find the issue and fix it.

http://code.google.com/p/opkg/issues/detail?id=13

git-svn-id: http://opkg.googlecode.com/svn/trunk@215 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThanks to claudyus84 and Gilles
ticktock35 [Fri, 26 Jun 2009 06:25:36 +0000 (06:25 +0000)]
Thanks to claudyus84 and Gilles
http://www.crisos.org/flyspray/index.php?do=details&task_id=10

Fix issue:
http://code.google.com/p/opkg/issues/detail?id=4#c5

git-svn-id: http://opkg.googlecode.com/svn/trunk@214 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoadds a configure option so "/etc/opkg" can be
ticktock35 [Sun, 14 Jun 2009 05:43:35 +0000 (05:43 +0000)]
adds a configure option so "/etc/opkg" can be
changed when opkg is configured and built.
fix issue due to an error of opkg_conf.c

Thanks to jlc <jlcster@gmail.com>
http://groups.google.com/group/opkg-devel/browse_thread/thread/5c6e55832a7168aa

git-svn-id: http://opkg.googlecode.com/svn/trunk@213 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoadding new flag flag_maintainer
ticktock35 [Fri, 17 Apr 2009 07:59:05 +0000 (07:59 +0000)]
adding new flag flag_maintainer
This flag is used for maintainer can use the latest conffile.
this flag need to be set manually.

git-svn-id: http://opkg.googlecode.com/svn/trunk@212 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agousing pkg->dest->root_dir
ticktock35 [Fri, 3 Apr 2009 08:22:03 +0000 (08:22 +0000)]
using pkg->dest->root_dir

git-svn-id: http://opkg.googlecode.com/svn/trunk@211 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoTry to avoid long unsigned int overflow.
ticktock35 [Fri, 3 Apr 2009 08:21:44 +0000 (08:21 +0000)]
Try to avoid long unsigned int overflow.
When free size is more than 4G, long unsigned int may enounter overflow

git-svn-id: http://opkg.googlecode.com/svn/trunk@210 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThanks to Keon's notify.
ticktock35 [Thu, 26 Mar 2009 18:22:39 +0000 (18:22 +0000)]
Thanks to Keon's notify.

converting curl error code to readable message

git-svn-id: http://opkg.googlecode.com/svn/trunk@209 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoDue to deb_extract's defect that I cannot tell if an extraction is
ticktock35 [Thu, 26 Mar 2009 17:57:23 +0000 (17:57 +0000)]
Due to deb_extract's defect that I cannot tell if an extraction is
successfull or failed via the return value.
Therefore I cannot use it as error message.
revert some code of R206

git-svn-id: http://opkg.googlecode.com/svn/trunk@208 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoreduce a memory leak of closing dir
ticktock35 [Thu, 26 Mar 2009 08:26:27 +0000 (08:26 +0000)]
reduce a memory leak of closing dir

git-svn-id: http://opkg.googlecode.com/svn/trunk@207 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoreduce a big memory leak
ticktock35 [Thu, 26 Mar 2009 07:58:43 +0000 (07:58 +0000)]
reduce a big memory leak
connecting deb_extract Null pointers

git-svn-id: http://opkg.googlecode.com/svn/trunk@206 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThanks to Antonio
ticktock35 [Thu, 26 Mar 2009 07:58:26 +0000 (07:58 +0000)]
Thanks to Antonio

Propagate gz_open() errors to caller function.

This is not enough, it is still needed to check deb_extract return value
everywhere in libopkg/pkg_extract.c

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
git-svn-id: http://opkg.googlecode.com/svn/trunk@205 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agobecause of the file_hash_set_file_owner may break the file list of pkgs
ticktock35 [Mon, 9 Mar 2009 04:39:22 +0000 (04:39 +0000)]
because of the file_hash_set_file_owner may break the file list of pkgs
it should be iterated more carefully.

Dealing with
http://code.google.com/p/opkg/issues/detail?id=9

git-svn-id: http://opkg.googlecode.com/svn/trunk@204 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThanks to Krzysztof Kotlenga <pocek@users.sf.net>:
ticktock35 [Wed, 4 Mar 2009 00:59:35 +0000 (00:59 +0000)]
Thanks to Krzysztof Kotlenga <pocek@users.sf.net>:
 Frans Meulenbroeks wrote:

> Anyway, appending the 0 byte is no good as tar_entry->name[100] is
> already out of bounds.

http://tiny.cc/964UD looks good enough. It's interesting that we have
to trace bugs already fixed upstream years ago.

http://lists.linuxtogo.org/pipermail/openembedded-devel/2009-March/008510.html

git-svn-id: http://opkg.googlecode.com/svn/trunk@203 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agothanks to Koen, a memory leak were fond and fixed here.
ticktock35 [Sat, 28 Feb 2009 06:12:06 +0000 (06:12 +0000)]
thanks to Koen, a memory leak were fond and fixed here.
When the flag is force-overwrite and replace files.
opkg will not free the root_filename well.

git-svn-id: http://opkg.googlecode.com/svn/trunk@202 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThanks to
ticktock35 [Thu, 12 Feb 2009 13:27:50 +0000 (13:27 +0000)]
Thanks to
Frans Meulenbroeks

http://groups.google.com/group/opkg-devel/browse_thread/thread/23c3557277de0f2e

If a file name in a tar archive is exactly 100 bytes long the name
field is completely filled and there is no terminating null byte;
so extraction of the file will yield a name that is extended with the
mode (e.g. 000644).

The attached patch cures it although there might be better solutions.
The problem is also in busybox tar and reported there too.

Frans.

git-svn-id: http://opkg.googlecode.com/svn/trunk@201 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoreduce a meory leak
ticktock35 [Tue, 3 Feb 2009 12:04:38 +0000 (12:04 +0000)]
reduce a meory leak

git-svn-id: http://opkg.googlecode.com/svn/trunk@200 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoInitial the 'err' valaible in opkg_install_by_name , or it may be used without
ticktock35 [Sun, 1 Feb 2009 14:12:41 +0000 (14:12 +0000)]
Initial the 'err' valaible in opkg_install_by_name , or it may be used without
initialize.

git-svn-id: http://opkg.googlecode.com/svn/trunk@199 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThanks to: Per Hansen <spamhans@yahoo.de>
ticktock35 [Sat, 24 Jan 2009 08:51:21 +0000 (08:51 +0000)]
Thanks to: Per Hansen <spamhans@yahoo.de>
http://groups.google.com/group/opkg-devel/browse_thread/thread/20ca40ec1f6cec02

opkg install *.ipk
An error ocurred, return value: -50512.

BTW.
This error message is not very helpful!

git-svn-id: http://opkg.googlecode.com/svn/trunk@198 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agofix a buffer overflow bug that cause
ticktock35 [Mon, 19 Jan 2009 18:21:08 +0000 (18:21 +0000)]
fix a buffer overflow bug that cause
http://code.google.com/p/opkg/issues/detail?id=3

git-svn-id: http://opkg.googlecode.com/svn/trunk@197 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoMaking the status_file singleton, every package is using the same file,
ticktock35 [Fri, 9 Jan 2009 13:05:05 +0000 (13:05 +0000)]
Making the status_file singleton, every package is using the same file,
and it should be handled only once.
Let status_file works (make the dest->status_file obsolete)

git-svn-id: http://opkg.googlecode.com/svn/trunk@196 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg the config file dir to that one actually works
ticktock35 [Sun, 28 Dec 2008 08:06:35 +0000 (08:06 +0000)]
opkg the config file dir to that one actually works

git-svn-id: http://opkg.googlecode.com/svn/trunk@194 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoadding check_signature config
ticktock35 [Sun, 28 Dec 2008 07:53:44 +0000 (07:53 +0000)]
adding check_signature config
default if off
you can turn that on via adding one line in /etc/opkg/opkg.conf file
+ option check_signature 1

git-svn-id: http://opkg.googlecode.com/svn/trunk@193 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agorevert R190, keep R191
ticktock35 [Sat, 27 Dec 2008 18:52:24 +0000 (18:52 +0000)]
revert R190, keep R191
Waiting for the patch fixing bugs.

git-svn-id: http://opkg.googlecode.com/svn/trunk@192 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoadding --enable-curl configuation to configure.ac
ticktock35 [Sat, 27 Dec 2008 17:26:46 +0000 (17:26 +0000)]
adding --enable-curl configuation to configure.ac

Basically it apply opkg_wget.patch from OE but I add something to the configure.ac

http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/opkg/files/opkg_wget.patch&id=1bbdc74a5384c81d0bdeb96f6acdfef91430d35d

Thanks Mike Westerhof <mwester@dls.net>

git-svn-id: http://opkg.googlecode.com/svn/trunk@191 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoThanks for Mike Westerhof <mwester@dls.net>
ticktock35 [Sat, 27 Dec 2008 16:52:36 +0000 (16:52 +0000)]
Thanks for  Mike Westerhof <mwester@dls.net>
----------
 This patchset updates the libbb stuff to use a vfork() version of
 gz_open, called gzvopen.  This is done because a standard fork will
 duplicate the entire address space.  This will invoke the OOM
 (out of memory) killer on small-memory machines, because most often
 by the time we unzip any package, we've read the entire package
 database into memory already.  By using vfork() and immediatly
 execing the external gunzip utility, we avoid the need to clone the
 entire address space.

 Yes, this is actually **LESS** efficient than the original way!
 But there is no way to (currently) dodge the OOM killer on a
 per-process basis, so the alternatives are to either change the
 OOM killer behavior system-wide, or to use this workaround.

 Mike Westerhof, Dec 2008

git-svn-id: http://opkg.googlecode.com/svn/trunk@190 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agowhen configure with --disable-gpg, no message complain about the signature stuff.
ticktock35 [Fri, 26 Dec 2008 07:07:21 +0000 (07:07 +0000)]
when configure with --disable-gpg, no message complain about the signature stuff.

git-svn-id: http://opkg.googlecode.com/svn/trunk@189 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoremove the active_list_test target
ticktock35 [Fri, 19 Dec 2008 22:53:28 +0000 (22:53 +0000)]
remove the active_list_test target

git-svn-id: http://opkg.googlecode.com/svn/trunk@188 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoTurn off the active_list_test app by default. Use it when we need it.
ticktock35 [Fri, 19 Dec 2008 22:48:57 +0000 (22:48 +0000)]
Turn off the active_list_test app by default. Use it when we need it.

git-svn-id: http://opkg.googlecode.com/svn/trunk@187 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agousing hash_table reduce an O(n^2) algorithm to O(n)
ticktock35 [Fri, 19 Dec 2008 10:43:55 +0000 (10:43 +0000)]
using hash_table reduce an O(n^2) algorithm to O(n)
in strcmp

analysis from gcov:
Before:
      507: 1386:     old_files = pkg_get_installed_files(old_pkg);
      507: 1387:     new_files = pkg_get_installed_files(pkg);
        -: 1388:
     5466: 1389:     for (of = str_list_first(old_files); of; of = str_list_next
        -: 1390:          pkg_t *owner;
        -: 1391:          char *old, *new;
     4959: 1392:          old = (char *)of->data;
  2963021: 1393:          for (nf = str_list_first(new_files); nf; nf = str_list
  2961464: 1394:               new = nf->data;
  2961464: 1395:               if (strcmp(old, new) == 0) {
     3402: 1396:                    niter = &nf;
     3402: 1397:                    nf=str_list_next(new_files, nf);
     3402: 1398:                    str_list_remove(new_files, niter);
     3402: 1399:                    free(new);
     3402: 1400:                    goto NOT_OBSOLETE;
        -: 1401:               }

After:
      507: 1393:     new_files_table.entries = NULL;
      507: 1394:     hash_table_init("new_files" , &new_files_table, 20);
     8897: 1395:     for (nf = str_list_first(new_files); nf; nf = str_list_next
     8390: 1396:         if (nf && nf->data)
     8390: 1397:            hash_table_insert(&new_files_table, nf->data, nf->da
        -: 1398:     }
        -: 1399:
     5466: 1400:     for (of = str_list_first(old_files); of; of = str_list_next
        -: 1401:          pkg_t *owner;
        -: 1402:          char *old, *new;
     4959: 1403:          old = (char *)of->data;
     4959: 1404:          new = (char *) hash_table_get (&new_files_table, old);
     4959: 1405:          if (new)
     4894: 1406:              continue;

git-svn-id: http://opkg.googlecode.com/svn/trunk@186 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agousing list_head to handle the list
ticktock35 [Thu, 18 Dec 2008 17:47:41 +0000 (17:47 +0000)]
using list_head to handle the list

git-svn-id: http://opkg.googlecode.com/svn/trunk@185 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoonly add pkg_vec_sort when needed
ticktock35 [Wed, 17 Dec 2008 00:27:16 +0000 (00:27 +0000)]
only add pkg_vec_sort when needed

git-svn-id: http://opkg.googlecode.com/svn/trunk@184 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agomove pkg_compare_name to pkg_vec and remove qsort in hash_get
ticktock35 [Wed, 17 Dec 2008 00:27:04 +0000 (00:27 +0000)]
move pkg_compare_name to pkg_vec and remove qsort in hash_get

git-svn-id: http://opkg.googlecode.com/svn/trunk@183 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoremove some unnecessary code from pkg_vec_insert
ticktock35 [Wed, 17 Dec 2008 00:26:45 +0000 (00:26 +0000)]
remove some unnecessary code from pkg_vec_insert

git-svn-id: http://opkg.googlecode.com/svn/trunk@182 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agointroduce the active_list for searching.
ticktock35 [Wed, 17 Dec 2008 00:26:32 +0000 (00:26 +0000)]
introduce the active_list for searching.

introduce the active_list_sort

git-svn-id: http://opkg.googlecode.com/svn/trunk@181 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: rename opkg_clone to pkg_t_to_opkg_package_t.
ticktock35 [Mon, 15 Dec 2008 05:34:38 +0000 (05:34 +0000)]
opkg: rename opkg_clone to pkg_t_to_opkg_package_t.
It's more likely the functionality.

git-svn-id: http://opkg.googlecode.com/svn/trunk@180 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: Update TODO and remark that pkg_hash_fetch_best_installation_candidate
ticktock35 [Mon, 15 Dec 2008 05:34:28 +0000 (05:34 +0000)]
opkg: Update TODO and remark that pkg_hash_fetch_best_installation_candidate
      is very slow and been called very often. This has a huge improve space.

git-svn-id: http://opkg.googlecode.com/svn/trunk@179 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: using active_list to list all the installed pkgs.
ticktock35 [Mon, 15 Dec 2008 05:34:16 +0000 (05:34 +0000)]
opkg: using active_list to list all the installed pkgs.
      adding function that allows node move from one list to another

git-svn-id: http://opkg.googlecode.com/svn/trunk@178 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: using active list to list upgradeable pkgs
ticktock35 [Mon, 15 Dec 2008 05:34:03 +0000 (05:34 +0000)]
opkg: using active list to list upgradeable pkgs

git-svn-id: http://opkg.googlecode.com/svn/trunk@177 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: trivial adding some comments
ticktock35 [Mon, 15 Dec 2008 05:33:45 +0000 (05:33 +0000)]
opkg: trivial adding some comments

git-svn-id: http://opkg.googlecode.com/svn/trunk@176 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: update TODO
ticktock35 [Mon, 15 Dec 2008 05:33:34 +0000 (05:33 +0000)]
opkg: update TODO

git-svn-id: http://opkg.googlecode.com/svn/trunk@175 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: trivial rename old_pkg_to_new to pkg_clone as a more readable name.
ticktock35 [Mon, 15 Dec 2008 05:33:27 +0000 (05:33 +0000)]
opkg: trivial rename old_pkg_to_new to pkg_clone as a more readable name.

git-svn-id: http://opkg.googlecode.com/svn/trunk@174 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: introduce active list into pkg_t
ticktock35 [Mon, 15 Dec 2008 05:33:16 +0000 (05:33 +0000)]
opkg: introduce active list into pkg_t

git-svn-id: http://opkg.googlecode.com/svn/trunk@173 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: update the the author infomation
ticktock35 [Mon, 15 Dec 2008 05:33:03 +0000 (05:33 +0000)]
opkg: update the the author infomation
Since my e-mail account had been deleted for some reason,
and I cannot get mail from that account, update a vaild one.
So that I can keep in touch with people who want to help opkg. :)

git-svn-id: http://opkg.googlecode.com/svn/trunk@172 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: reinitial node of active_list after clear
ticktock35 [Mon, 15 Dec 2008 05:32:57 +0000 (05:32 +0000)]
opkg: reinitial node of active_list after clear

git-svn-id: http://opkg.googlecode.com/svn/trunk@171 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: implment active_list_clear()
ticktock35 [Mon, 15 Dec 2008 05:32:47 +0000 (05:32 +0000)]
opkg: implment active_list_clear()

git-svn-id: http://opkg.googlecode.com/svn/trunk@170 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: implement active_list_prev and test cases.
ticktock35 [Mon, 15 Dec 2008 05:32:34 +0000 (05:32 +0000)]
opkg: implement active_list_prev and test cases.

git-svn-id: http://opkg.googlecode.com/svn/trunk@169 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: refactory active_list_next remove unnecessary field.
ticktock35 [Mon, 15 Dec 2008 05:32:19 +0000 (05:32 +0000)]
opkg: refactory active_list_next  remove unnecessary field.

git-svn-id: http://opkg.googlecode.com/svn/trunk@168 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: active_list tests
ticktock35 [Mon, 15 Dec 2008 05:32:04 +0000 (05:32 +0000)]
opkg: active_list tests

git-svn-id: http://opkg.googlecode.com/svn/trunk@167 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: introduce the protype of active_list
ticktock35 [Mon, 15 Dec 2008 05:31:50 +0000 (05:31 +0000)]
opkg: introduce the protype of active_list
     This can be used for upgrade path

git-svn-id: http://opkg.googlecode.com/svn/trunk@166 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: fixing some trivial defects while reviewing code
ticktock35 [Mon, 15 Dec 2008 05:31:34 +0000 (05:31 +0000)]
opkg: fixing some trivial defects while reviewing code

git-svn-id: http://opkg.googlecode.com/svn/trunk@165 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoadding list_upgradable
ticktock35 [Mon, 15 Dec 2008 05:31:22 +0000 (05:31 +0000)]
adding list_upgradable

opkg: refactory the upgradable list

git-svn-id: http://opkg.googlecode.com/svn/trunk@164 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: using calloc to replace the malloc, initialize varaiable
ticktock35 [Mon, 15 Dec 2008 05:31:04 +0000 (05:31 +0000)]
opkg: using calloc to replace the malloc, initialize varaiable

git-svn-id: http://opkg.googlecode.com/svn/trunk@163 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: trivial just indent
ticktock35 [Mon, 15 Dec 2008 05:30:54 +0000 (05:30 +0000)]
opkg: trivial just indent

git-svn-id: http://opkg.googlecode.com/svn/trunk@162 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: remove the free_error_list wrong usage bug
ticktock35 [Mon, 15 Dec 2008 05:30:44 +0000 (05:30 +0000)]
opkg: remove the free_error_list wrong usage bug
Thanks for manitu

git-svn-id: http://opkg.googlecode.com/svn/trunk@161 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: adding the hash_table_remove API, not using yet.
ticktock35 [Mon, 15 Dec 2008 05:30:29 +0000 (05:30 +0000)]
opkg: adding the hash_table_remove API, not using yet.
Just complete the API for future usage.
Clean all the entry at initial time. This reduces planty of unnecessary check.
In order to prevent this kind of bug, using calloc to replace most malloc

git-svn-id: http://opkg.googlecode.com/svn/trunk@160 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: making hash_table_insert works as real hash_table.
ticktock35 [Mon, 15 Dec 2008 05:29:50 +0000 (05:29 +0000)]
opkg: making hash_table_insert works as real hash_table.
solving the update_file_ownership misbehaviour issue, and redundent installed files issue.

git-svn-id: http://opkg.googlecode.com/svn/trunk@159 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: mark the pkg SF as !SF_FILELIST_CHANGED after write back.
ticktock35 [Mon, 15 Dec 2008 05:29:40 +0000 (05:29 +0000)]
opkg: mark the pkg SF  as !SF_FILELIST_CHANGED after write back.

git-svn-id: http://opkg.googlecode.com/svn/trunk@158 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: trivial, clean up obsolete code, and some typo
ticktock35 [Mon, 15 Dec 2008 05:29:30 +0000 (05:29 +0000)]
opkg: trivial, clean up obsolete code, and some typo

git-svn-id: http://opkg.googlecode.com/svn/trunk@157 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: only cache the packages
ticktock35 [Mon, 15 Dec 2008 05:29:12 +0000 (05:29 +0000)]
opkg: only cache the packages
 thanks Werner.

git-svn-id: http://opkg.googlecode.com/svn/trunk@156 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: add a simple way to pass a path environment for pre/post scription execution...
ticktock35 [Mon, 15 Dec 2008 05:29:02 +0000 (05:29 +0000)]
opkg: add a simple way to pass a path environment for pre/post scription execution when in offline mode.

Thanks for Christopher Hall <hsw@openmoko.com>

git-svn-id: http://opkg.googlecode.com/svn/trunk@155 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: adding cache support
ticktock35 [Mon, 15 Dec 2008 05:28:44 +0000 (05:28 +0000)]
opkg:  adding cache support

   opkg-cl --cache <cache_directory>

   Thank for Werner

git-svn-id: http://opkg.googlecode.com/svn/trunk@154 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoClean up some out of date TODOs
ticktock35 [Mon, 15 Dec 2008 05:28:25 +0000 (05:28 +0000)]
Clean up some out of date TODOs
Keep some still valid, or what I am not sure about.

git-svn-id: http://opkg.googlecode.com/svn/trunk@153 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: remove ChangeLog, add AUTHORS, remove maintainer-mode
ticktock35 [Mon, 15 Dec 2008 05:28:19 +0000 (05:28 +0000)]
opkg: remove ChangeLog, add AUTHORS, remove maintainer-mode

git-svn-id: http://opkg.googlecode.com/svn/trunk@152 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: attached patch fixes build failures with gcc 4.3.2. patch by Enrico Scholz...
ticktock35 [Mon, 15 Dec 2008 05:28:08 +0000 (05:28 +0000)]
opkg: attached patch fixes build failures with gcc 4.3.2. patch by Enrico Scholz -- thanks!

git-svn-id: http://opkg.googlecode.com/svn/trunk@151 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years ago[opkg] fixing typo & incompatible part to gcc 4.3.2
ticktock35 [Mon, 15 Dec 2008 05:27:58 +0000 (05:27 +0000)]
[opkg] fixing typo & incompatible part to gcc 4.3.2

git-svn-id: http://opkg.googlecode.com/svn/trunk@150 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoPatch from rwhitby to follow 302 redirects properly.
ticktock35 [Mon, 15 Dec 2008 05:27:43 +0000 (05:27 +0000)]
Patch from rwhitby to follow 302 redirects properly.

git-svn-id: http://opkg.googlecode.com/svn/trunk@149 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years ago[opkg] trivial, remove unused variable res
ticktock35 [Mon, 15 Dec 2008 05:27:33 +0000 (05:27 +0000)]
[opkg] trivial, remove unused variable res

git-svn-id: http://opkg.googlecode.com/svn/trunk@148 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years ago[opkg] Remove the orphan packages while upgrading
ticktock35 [Mon, 15 Dec 2008 05:27:24 +0000 (05:27 +0000)]
[opkg] Remove the orphan packages while upgrading

git-svn-id: http://opkg.googlecode.com/svn/trunk@147 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years ago[opkg] fix opkg crashes if PATH is unset
ticktock35 [Mon, 15 Dec 2008 05:27:15 +0000 (05:27 +0000)]
[opkg] fix opkg crashes if PATH is unset

Thanks for chgros

git-svn-id: http://opkg.googlecode.com/svn/trunk@146 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoremove build error on gcc 3.4
ticktock35 [Mon, 15 Dec 2008 05:27:05 +0000 (05:27 +0000)]
remove build error on gcc 3.4
Thanks for jserv found and fix this.

git-svn-id: http://opkg.googlecode.com/svn/trunk@145 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: fix the crashing issue.
ticktock35 [Mon, 15 Dec 2008 05:26:51 +0000 (05:26 +0000)]
opkg: fix the crashing issue.
      It's a hanging pointer.
      Using installed_files without get and free

git-svn-id: http://opkg.googlecode.com/svn/trunk@144 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: mark one line that cause crash.
ticktock35 [Mon, 15 Dec 2008 05:26:39 +0000 (05:26 +0000)]
opkg: mark one line that cause crash.
      But it will makes the system failed in reference count.

git-svn-id: http://opkg.googlecode.com/svn/trunk@143 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: remove a serious memory leak
ticktock35 [Mon, 15 Dec 2008 05:26:29 +0000 (05:26 +0000)]
opkg: remove a serious memory leak
      when searching every package opkg will clone the package but never released.

git-svn-id: http://opkg.googlecode.com/svn/trunk@142 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: make .opk as the default opkg file extension
ticktock35 [Mon, 15 Dec 2008 05:26:19 +0000 (05:26 +0000)]
opkg: make .opk as the default opkg file extension

git-svn-id: http://opkg.googlecode.com/svn/trunk@141 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: balance the installed_files reference count
ticktock35 [Mon, 15 Dec 2008 05:26:01 +0000 (05:26 +0000)]
opkg: balance the installed_files reference count
      reducing some memory leaks

git-svn-id: http://opkg.googlecode.com/svn/trunk@140 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: fix some memory leak and double free issues.
ticktock35 [Mon, 15 Dec 2008 05:25:48 +0000 (05:25 +0000)]
opkg: fix some memory leak and double free issues.

git-svn-id: http://opkg.googlecode.com/svn/trunk@139 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: Fix a bug that ap may undefined.
ticktock35 [Mon, 15 Dec 2008 05:25:37 +0000 (05:25 +0000)]
opkg: Fix a bug that ap may undefined.
  by Alexandros Kostopoulos <akostop@inaccessnetworks.com>

git-svn-id: http://opkg.googlecode.com/svn/trunk@138 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

15 years agoopkg: write the status change after actually updated.
ticktock35 [Mon, 15 Dec 2008 05:25:26 +0000 (05:25 +0000)]
opkg: write the status change after actually updated.

git-svn-id: http://opkg.googlecode.com/svn/trunk@137 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358