remove_obsolete_sources() uses data from get_source_names() to determine
whether a source is obsolete or not and was missing at least one atypical
package. Thanks to Chess for discussion and review.
Incidentally, this revision also finishes reordering the menu I started to
reorder in r771. It also tweaks the ChangeLog beyond just noting this
revision.
This allows the user to invoke sbopkg with '-V ?' to get a list of valid
repo/branches and allows us to suggest that in the manpage and help output.
This was we don't have to keep up with manually itemizing the valid options.
Part of this change pops out a pre-existing block of code and turns it into
list_repos().
"When in doubt use brute force." The timid line in r770 could result in rm
spitting errors. Thanks to Mauro for the right line. Corrected a typo while I
was at it.
Converted an egrep in info_item() into a grep to avoid issues with '+' being a
metacharacter.
Also removed stale lines (since r631) from gen_search_package() and
string_search(). Also added a couple of credits to the ChangeLog.
Changed the menu order of the "Build options" dialog to default to using
"Saved" options rather than "None" on the theory that, if a user has
saved options, he will more likely want to use them than not.
Removed a commented-out block and made an assignment more consistent.
Brought the add_item_to_queue() comments more in line with its code.
Changed the filename value of GSNFILE so it gets caught by cleanup().
Fixed a typo.
Addressed an issue where hitting ^C during the download of part of a queue
and restarting the queue could result in a download failure. Also added a
ChangeLog item for r768.
Sometimes sbopkg can't determine the version of a package. For example,
the google-chrome script looks at the source archive to determine it, and
such archive can very well be unavailable.
This patch makes sbopkg intercept the error condition and notify it to
the user gracefully, while at the same time falling back to trusting the
version provided in the .info file.
Thanks to alkos333 for the bug report.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
Small improvements:
- reduce the number of times the queue directory is scanned
- drop a wrong 'continue' in the error path
- allow having a QUEUEDIR that is a symlink to the actual directory
- improve file cleanup.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
This is a band-aid which explicitly enables all flash-player-plugin sources to
be removed by testing for its names. It also fixes more general issues with
some SRCNAMEs not containing the VERSION number and get_source_names()
sometimes emitting bare newlines in cases where it should emit nothing at all.
This patch also modifies a regex in remove_sources_for_app() and adds unrelated
comments to string_search().
Thanks to artourter for the report, Chess for review, and Mauro for review and
suggestions.
sbopkg sometimes misinterprets version numbers, and some upgrade can
be classified as a downgrade which, by default, is not shown.
For example, 1.0.1 looks older than 1.0-rc2 to it.
Always show and queue apparent downgrades and "unclassified" version
changes as disabled queue items. This way users can fix sbopkg errors
(since there's no way sbopkg can always correctly guess correctly).
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
Adding the updated packages to the build queue could put in the
queue the same package more than once (if it was already present
in there).
Use parse_queue() instead of the bare append to avoid this.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
assignment to PKG in get_source(); modifies process_queue() by checking return
values directly rather than via $? in a couple of places, changes an
assignment to BUILD, and removes an unused COUNTER, and parenthesizes a string
index in the '-b' flag code path
fall through a case; more directly, it sets a NO_DL_LOOP flag if sbopkg has
done a download so that it doesn't download in an infinite loop. It moves the
download command into a conditional which can break the loop. It also modifies
check_source() to unset the flag if sbopkg has done a successful download, so
it can do the next one. Finally, it modifies get_source_names() to only go
into the guessing code if we have done a download, don't have a source file,
and only need to guess on one source name - thanks to godling for noticing a
failure in downloading dictd and the infinite loop; thanks to Chess and Mauro
for review and suggestions.