Robert-

what is
ls -l feeds/oldpackages/Binary
>From your working directory?

Provide a copy of your feeds.conf.default to verify syntax.




I just did this and got no error (which you also do not on other machines)

dylan@BigBox /mnt/store/public/openWRT_source/trunk $ scripts/feeds update
-a...
...
Updating feed 'oldpackages' from 'http://git.openwrt.org/packages.git' ...
Cloning into './feeds/oldpackages'...
remote: Counting objects: 3283, done.
remote: Compressing objects: 100% (2785/2785), done.
remote: Total 3283 (delta 109), reused 2207 (delta 57)
Receiving objects: 100% (3283/3283), 2.52 MiB | 579.00 KiB/s, done.
Resolving deltas: 100% (109/109), done.
Checking connectivity... done.
Create index file './feeds/oldpackages.index'
Collecting package info: done


dylan@BigBox /mnt/store/public/openWRT_source/trunk $ cat feeds.conf.default
src-git packages http://git.openwrt.org/packages.git
src-git luci http://git.openwrt.org/project/luci.git
src-git routing https://github.com/openwrt-routing/packages.git
src-git telephony http://git.openwrt.org/feed/telephony.git
src-git oldpackages http://git.openwrt.org/packages.git
#src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package
#src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone
#src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl
#src-svn xorg svn://svn.openwrt.org/openwrt/feeds/xorg
#src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop
#src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce
#src-svn lxde svn://svn.openwrt.org/openwrt/feeds/lxde
#src-link custom /usr/src/openwrt/custom-feed


This is the code in the feeds code that spits out the 'Create index file'
        warn "Create index file './feeds/$name.index' \n";
        update_index($name) == 0 or do {
                warn "failed.\n";
                return 1;
        };
        return 0;

Its failing somewhere in update_index, since we never see 'failed.' in your
output (seems that update_index never completes)

update_index looks like this

sub update_index($)
{
        my $name = shift;

        -d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1;
        -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or
return 1;

        system("$mk -s prepare-mk OPENWRT_BUILD=
TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"");
        system("$mk -s -f include/scan.mk IS_TTY=1
SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\"
SCAN_DEPS=\"$ENV{TOPDIR}/include/package*.mk\" SCAN_DEPTH=5 SCAN_EXTRA=\"\"
TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"");
        system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index");

        return 0;
}


shift moves parameters right one (see man bash) setting $name to be the
feed name supposedly.

-d checks for existence of directory.  Since returns are tied in here,
'failed' would print in the output from previous code snippet.  So not
failing here.  Directories must exist or be created.  For fun, to check the
name of the feed.. remove ./feeds/oldpackages and feeds/oldpackages/
oldpackages.info (if exist) ... then run again and check to be sure dirs
are named properly
(or echo $name direcly before in main code and make sure $name ==
oldpackages )

So that means our failures are in one of the next three lines
Need to find the command that $mk designates..
Oh, that was easy
my $mk=`which gmake 2>/dev/null`;       # select the right 'make' program
chomp($mk);             # trim trailing newline
$mk or $mk = "make";    # default to 'make'

Check to see what 'which gmake' provides on working and non-working
systems. Mine is
dylan@BigBox /mnt/store/public/openWRT_source/trunk $ which gmake
/usr/bin/gmake

It then notes that if mk is empty, default to 'make' alone

Okay, so now .. looking at update_index again.. my guess would be offhand
the problem occurs within the system("$mk -s -f include/scan.mk ... line,
since scanning and scan depth implies to me grepping for something.  And
because i doubt mk (/usr/bin/gmake) calls grep directly.  And that mk line
has the 'include/scan.mk' bit in it.  So what's in scan.mk..

Only greps appear to be here:
$(FILELIST):
        rm -f $(TMP_DIR)/info/.files-$(SCAN_TARGET)-*
        $(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if
$(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE
'call (Build/DefaultTargets|Build(Package|Target)|.+Package)' | sed -e
's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@

$(TMP_DIR)/info/.files-$(SCAN_TARGET).mk: $(FILELIST)
        ( \
                cat $< | awk '{print "$(SCAN_DIR)/" $$0 "/Makefile" }' |
xargs grep -HE '^ *SCAN_DEPS *= *' | awk -F: '{ gsub(/^.*DEPS *= */, "",
$$2); print "DEPS_" $$1 "=" $$2 }'; \
                awk -v deps="$$DEPS" '{ \
                        info=$$0; \
                        gsub(/\//, "_", info); \
                        print "$$(eval $$(call PackageDir," info "," $$0
"))"; \
                } ' < $<; \
                true; \
        ) > $@

Now that is a bunch of crazy ass code, I have no idea what it does.

My bet would be your problem lies somewhere here or the make version as
noted previously..

but what do i really know?






On Wed, Dec 10, 2014 at 12:50 AM, Robert P. J. Day <[email protected]>
wrote:

>
>   following up on an earlier post of mine, i am still baffled as to
> why i can't activate the oldpackages feed on my system. i'm running
> 64-bit fedora rawhide, and here's the symptom.
>
>   i started with an absolutely new git clone of openwrt:
>
>   $ git clone git://git.openwrt.org/openwrt.git git
>
> went into that directory, changed nothing (so oldpackages was *not*
> activated in feeds.conf.default), and ran:
>
>   $ ./scripts/feeds update -a
>
> which worked fine. i then edited feeds.conf.default, and ran that
> command again, to get:
>
> ... snip ...
>
> Updating feed 'oldpackages' from 'http://git.openwrt.org/packages.git' ...
> Already up-to-date.
> Create index file './feeds/oldpackages.index'
> grep: feeds/oldpackages/Binary: No such file or directory
> grep: file: No such file or directory
> grep: matches/Makefile: No such file or directory
> gmake: *** No rule to make target 'feeds/oldpackages/Binary', needed by
>
> '/home/rpjday/openwrt/t/git/feeds/oldpackages.tmp/info/.packageinfo-Binary'.
> Stop.
>
>   i've tried this several times on this linux laptop and i get the
> same result each time, but i didn't used to. and if i try it on a
> different linux development system at work, it works fine. and as i
> mentioned in my earlier post, i showed this to a colleague who also
> tried, and *also* got this error, but only on his personal laptop, and
> not on a development system.
>
>   thoughts? might i have set some unlucky environment variable that
> just happens to be clashing with an openwrt variable?
>
> rday
>
> --
>
> ========================================================================
> Robert P. J. Day                                 Ottawa, Ontario, CANADA
>                         http://crashcourse.ca
>
> Twitter:                                       http://twitter.com/rpjday
> LinkedIn:                               http://ca.linkedin.com/in/rpjday
> ========================================================================
> _______________________________________________
> openwrt-users mailing list
> [email protected]
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-users
>
_______________________________________________
openwrt-users mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-users

Reply via email to