Re: Interactive tool for installing packages

2010-11-12 Thread Marin Atanasov Nikolov
On Thu, Nov 11, 2010 at 9:08 AM, Marin Atanasov Nikolov
dna...@gmail.com wrote:
 On Thu, Nov 11, 2010 at 8:01 AM,  per...@pluto.rain.com wrote:
 Marin Atanasov Nikolov dna...@gmail.com wrote:

 If you do not have git installed, you could still get the
 latest snapshot of pkg_add_it via the Cgit repo. [1]
 [1] http://git.unix-heaven.org/cgit.cgi/pkg_add_it/

 Aha!  I'm sure I looked at that page before posting, but did not see
 how to pull down a snapshot (vs browsing individual files) the first
 time.  It seems to have been reorganized since 1.2, as well as having
 grown quite a bit :)


 Yep, quite a lot of changes went to 1.3, the program was completely
 rewritten and introduced a lot of new features :)

 Most significant changes were:
  - own-styled lists were replaced by queue(3) macros, so generally now
 everything is dynamic and memory leak-free.
  - a lot of new functions dealing with packages, added a configuration module
  - etc... :)


Hello again :)

 One thing that can be improved is the recursion introduced by
 DEPS_FULL_TREE=true, so that dependencies can be found easier and
 faster from INDEX, but I'm looking into this already, since I think
 that feature is very useful when you need to know the dependencies of
 a package in a tree-view.


I spent some time today working on the algorithm for finding package
dependencies from INDEX and
managed to improve it a lot, so now dependencies are being found in
times faster than before (!!)

The previous algorithm was recursing over the INDEX file in order to
find all dependencies to build a tree-view of
the package dependencies, and now only 1 iteration is needed to
accomplish this :)

Now, only if there was a libpkg ready, then pkg_add_it(1) could be
transformed into a standalone install tool, which does not need
pkg_add(1) for it's job :)

Regards,
Marin

 Regards,
 Marin

 --
 Marin Atanasov Nikolov

 dnaeon AT gmail DOT com
 daemon AT unix-heaven DOT org
 http://www.unix-heaven.org/




-- 
Marin Atanasov Nikolov

dnaeon AT gmail DOT com
daemon AT unix-heaven DOT org
http://www.unix-heaven.org/
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-10 Thread perryh
Marin Atanasov Nikolov dna...@gmail.com wrote:

 in order to install the program, you need to:

 # git clone git://git.unix-heaven.org/public/pkg_add_it
...
 Surely, there's room for improvement, but that's a start.. :)

Dunno about anyone else, but from my standpoint it would be a _big_
improvement to provide a more recent snapshot than the 6-month-old
pkg_add_it-1.2.tar.gz on ftp.freebsd.org so one doesn't have to
install git, with its boatload of dependencies*, to see the recent
improvements.

* The amount of stuff downloaded by
cd /usr/ports/devel/git ; make fetch-recursive
  is, shall we say, impressive.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-10 Thread Marin Atanasov Nikolov
On Wed, Nov 10, 2010 at 10:01 AM,  per...@pluto.rain.com wrote:
 Marin Atanasov Nikolov dna...@gmail.com wrote:

 in order to install the program, you need to:

 # git clone git://git.unix-heaven.org/public/pkg_add_it
 ...
 Surely, there's room for improvement, but that's a start.. :)

 Dunno about anyone else, but from my standpoint it would be a _big_
 improvement to provide a more recent snapshot than the 6-month-old
 pkg_add_it-1.2.tar.gz on ftp.freebsd.org so one doesn't have to
 install git, with its boatload of dependencies*, to see the recent
 improvements.

If you do not have git installed, you could still get the latest
snapshot of pkg_add_it via the Cgit repo. [1]

Currently the latest version of the program is tagged as RELEASE_1_3,
so just go to [1] and get a compressed snapshot of the program,
then extract and compile it.

I'm planning to submit a PR to update the port soon, but before that I
still need to finish a few things.

Regards,
Marin

[1] http://git.unix-heaven.org/cgit.cgi/pkg_add_it/


 * The amount of stuff downloaded by
    cd /usr/ports/devel/git ; make fetch-recursive
  is, shall we say, impressive.




-- 
Marin Atanasov Nikolov

dnaeon AT gmail DOT com
daemon AT unix-heaven DOT org
http://www.unix-heaven.org/
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-10 Thread Dan Nelson
In the last episode (Nov 10), per...@pluto.rain.com said:
 Marin Atanasov Nikolov dna...@gmail.com wrote:
  in order to install the program, you need to:
 
  # git clone git://git.unix-heaven.org/public/pkg_add_it
 ...
  Surely, there's room for improvement, but that's a start.. :)
 
 Dunno about anyone else, but from my standpoint it would be a _big_
 improvement to provide a more recent snapshot than the 6-month-old
 pkg_add_it-1.2.tar.gz on ftp.freebsd.org so one doesn't have to install
 git, with its boatload of dependencies*, to see the recent improvements.
 
 * The amount of stuff downloaded by
 cd /usr/ports/devel/git ; make fetch-recursive
   is, shall we say, impressive.

I use the devel/hg-git port to pull all the git trees I need to access using
mercurial.

-- 
Dan Nelson
dnel...@allantgroup.com
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-10 Thread perryh
Marin Atanasov Nikolov dna...@gmail.com wrote:

 If you do not have git installed, you could still get the
 latest snapshot of pkg_add_it via the Cgit repo. [1]
 [1] http://git.unix-heaven.org/cgit.cgi/pkg_add_it/

Aha!  I'm sure I looked at that page before posting, but did not see
how to pull down a snapshot (vs browsing individual files) the first
time.  It seems to have been reorganized since 1.2, as well as having
grown quite a bit :)
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-10 Thread Marin Atanasov Nikolov
On Thu, Nov 11, 2010 at 8:01 AM,  per...@pluto.rain.com wrote:
 Marin Atanasov Nikolov dna...@gmail.com wrote:

 If you do not have git installed, you could still get the
 latest snapshot of pkg_add_it via the Cgit repo. [1]
 [1] http://git.unix-heaven.org/cgit.cgi/pkg_add_it/

 Aha!  I'm sure I looked at that page before posting, but did not see
 how to pull down a snapshot (vs browsing individual files) the first
 time.  It seems to have been reorganized since 1.2, as well as having
 grown quite a bit :)


Yep, quite a lot of changes went to 1.3, the program was completely
rewritten and introduced a lot of new features :)

Most significant changes were:
 - own-styled lists were replaced by queue(3) macros, so generally now
everything is dynamic and memory leak-free.
 - a lot of new functions dealing with packages, added a configuration module
 - etc... :)

One thing that can be improved is the recursion introduced by
DEPS_FULL_TREE=true, so that dependencies can be found easier and
faster from INDEX, but I'm looking into this already, since I think
that feature is very useful when you need to know the dependencies of
a package in a tree-view.

Regards,
Marin

-- 
Marin Atanasov Nikolov

dnaeon AT gmail DOT com
daemon AT unix-heaven DOT org
http://www.unix-heaven.org/
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-09 Thread Mark Johnston
On Tue, Nov 09, 2010 at 09:32:15PM +0200, Marin Atanasov Nikolov wrote:
 Hello,
 
 Some time ago I've started a thread on freebsd-ports@ regarding an
 interactive tool for installing packages under FreeBSD - pkg_add_it.
 
 Now that I got some time to work on the program, I have added a few
 additional features to it, which I think someone might find useful
 like:
 
  - dependencies tree view of packages (useful to find out package 
 dependencies)
  - a similar tool that does this already exists - pkg_tree, but it
 only works for installed ports, while pkg_add_it can show you every
 package from INDEX
  - regex support
  - displays categories and packages from each of them found in INDEX
  - some code improvements, etc...
 
 The code can be found here [1] and in order to install the program, you need 
 to:
 
 # git clone git://git.unix-heaven.org/public/pkg_add_it
 # cd pkg_add_it  make install clean
 
 I still haven't updated the manual pages yet, but you can read
 something about the program on the web page [2].
 
 Screenshots can be seen as well. [3]
 
 Would be nice if someone can test it, and provide some feedback - what
 can be removed, improved, added, etc..
 
 Surely, there's room for improvement, but that's a start.. :)
 
 Thanks,
 Marin
 
 [1] git.unix-heaven.org
 [2] www.unix-heaven.org/index.php?page=pkg_add_it
 [3] http://www.unix-heaven.org/pkg_add_it-new-gfx/
 
 -- 
 Marin Atanasov Nikolov
 
 dnaeon AT gmail DOT com
 daemon AT unix-heaven DOT org
 http://www.unix-heaven.org/

It looks pretty neat. I spent a minute or two trying it out, and my only
suggestion at this point is to check errno for common errors instead of 
immediately calling ERRX to report non-zero returns from system calls.
It's kind of annoying to see a message like

pkg_add_it: Error in config_read_file() from config.c at line 179: No
such file or directory

when it's my fault that pkg_add_it can't find its config file. =)
Ditto for things like permissions errors and getenv(3). sudo doesn't
bring in my environment unless I use -E, so I get the following message
when a 'getenv(PAGER)' fails:

pkg_add_it: Error in pkg_display_found() from pkg.c at line 418: No such
file or directory

-Mark




___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-09 Thread Marin Atanasov Nikolov
On Tue, Nov 9, 2010 at 10:59 PM, Mark Johnston mark...@gmail.com wrote:
 On Tue, Nov 09, 2010 at 09:32:15PM +0200, Marin Atanasov Nikolov wrote:
 Hello,

 Some time ago I've started a thread on freebsd-ports@ regarding an
 interactive tool for installing packages under FreeBSD - pkg_add_it.

 Now that I got some time to work on the program, I have added a few
 additional features to it, which I think someone might find useful
 like:

  - dependencies tree view of packages (useful to find out package 
 dependencies)
  - a similar tool that does this already exists - pkg_tree, but it
 only works for installed ports, while pkg_add_it can show you every
 package from INDEX
  - regex support
  - displays categories and packages from each of them found in INDEX
  - some code improvements, etc...

 The code can be found here [1] and in order to install the program, you need 
 to:

 # git clone git://git.unix-heaven.org/public/pkg_add_it
 # cd pkg_add_it  make install clean

 I still haven't updated the manual pages yet, but you can read
 something about the program on the web page [2].

 Screenshots can be seen as well. [3]

 Would be nice if someone can test it, and provide some feedback - what
 can be removed, improved, added, etc..

 Surely, there's room for improvement, but that's a start.. :)

 Thanks,
 Marin

 [1] git.unix-heaven.org
 [2] www.unix-heaven.org/index.php?page=pkg_add_it
 [3] http://www.unix-heaven.org/pkg_add_it-new-gfx/

 --
 Marin Atanasov Nikolov

 dnaeon AT gmail DOT com
 daemon AT unix-heaven DOT org
 http://www.unix-heaven.org/


Hello Mark,

 It looks pretty neat. I spent a minute or two trying it out, and my only
 suggestion at this point is to check errno for common errors instead of
 immediately calling ERRX to report non-zero returns from system calls.
 It's kind of annoying to see a message like

 pkg_add_it: Error in config_read_file() from config.c at line 179: No
 such file or directory

Yep, my fault, the port does not install the config file in
/usr/local/etc/pkg_add_it.conf

I'll take care of adding it to the port :)


 when it's my fault that pkg_add_it can't find its config file. =)
 Ditto for things like permissions errors and getenv(3). sudo doesn't
 bring in my environment unless I use -E, so I get the following message
 when a 'getenv(PAGER)' fails:

 pkg_add_it: Error in pkg_display_found() from pkg.c at line 418: No such
 file or directory


Thanks for the feedback, I need to fix that one too :)

Regards,
Marin

 -Mark








-- 
Marin Atanasov Nikolov

dnaeon AT gmail DOT com
daemon AT unix-heaven DOT org
http://www.unix-heaven.org/
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Interactive tool for installing packages

2010-11-09 Thread Mark Johnston
On Tue, Nov 09, 2010 at 11:08:07PM +0200, Marin Atanasov Nikolov wrote:
 On Tue, Nov 9, 2010 at 10:59 PM, Mark Johnston mark...@gmail.com wrote:
  On Tue, Nov 09, 2010 at 09:32:15PM +0200, Marin Atanasov Nikolov wrote:
  Hello,
 
  Some time ago I've started a thread on freebsd-ports@ regarding an
  interactive tool for installing packages under FreeBSD - pkg_add_it.
 
  Now that I got some time to work on the program, I have added a few
  additional features to it, which I think someone might find useful
  like:
 
  ?- dependencies tree view of packages (useful to find out package 
  dependencies)
  ?- a similar tool that does this already exists - pkg_tree, but it
  only works for installed ports, while pkg_add_it can show you every
  package from INDEX
  ?- regex support
  ?- displays categories and packages from each of them found in INDEX
  ?- some code improvements, etc...
 
  The code can be found here [1] and in order to install the program, you 
  need to:
 
  # git clone git://git.unix-heaven.org/public/pkg_add_it
  # cd pkg_add_it  make install clean
 
  I still haven't updated the manual pages yet, but you can read
  something about the program on the web page [2].
 
  Screenshots can be seen as well. [3]
 
  Would be nice if someone can test it, and provide some feedback - what
  can be removed, improved, added, etc..
 
  Surely, there's room for improvement, but that's a start.. :)
 
  Thanks,
  Marin
 
  [1] git.unix-heaven.org
  [2] www.unix-heaven.org/index.php?page=pkg_add_it
  [3] http://www.unix-heaven.org/pkg_add_it-new-gfx/
 
  --
  Marin Atanasov Nikolov
 
  dnaeon AT gmail DOT com
  daemon AT unix-heaven DOT org
  http://www.unix-heaven.org/
 
 
 Hello Mark,
 
  It looks pretty neat. I spent a minute or two trying it out, and my only
  suggestion at this point is to check errno for common errors instead of
  immediately calling ERRX to report non-zero returns from system calls.
  It's kind of annoying to see a message like
 
  pkg_add_it: Error in config_read_file() from config.c at line 179: No
  such file or directory
 
 Yep, my fault, the port does not install the config file in
 /usr/local/etc/pkg_add_it.conf
 
 I'll take care of adding it to the port :)

Well, it was more of a general suggestion. I didn't even install the
program - I just compiled and ran it. Nevertheless, I had to look at the
source to figure out what the actual problem was.

-Mark
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org