This revision converts remove_obsolete_packages() to
remove_uninstalled_packages() to better reflect what it currently
actually does and makes other minor revisions related to it. It also
adds a command line option (-O) to access this function. It's still
mnemonic with 'obsolete' because we're running out of option letters and
the function may yet be modified to remove obsolete sources.
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.
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>
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>
Some users use a customized LC_COLLATE value, which is known to
be a source of script breakage.
This patch makes sure that LC_COLLATE is set to C (the default)
when building.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
Without this patch, the list of build options was placed on the
left side of a menu dialog entry. Since dialog entries cannot span
to multiple lines, very long option lists were (visually) truncated.
Rework the dialog to show the options in the menu text field, so
there's much more room for them.
Reported by Erik Hanson.
While at it, also make sure that there's no stale options.build
file lying around (which is a minor bugfix).
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
This is meant to be useful for doing "final checks" on the active queue
before starting the build process.
Thanks to slakmagik for reviewing.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
should still be customized by the user; add UID check; fix bug with
non-existent repo directories (thanks to Mauro for the even less buggy fix);
fix bug with a subshell that prevented sspm from exiting on one error - it was
meant to be a group command; convert the su block into a normal block; add a
couple more exclusions to the tar command to skip backup and tags files - and
throw a note into the ChangeLog so users don't get surprised by the repo
moving or having its ownership changed
This way users won't be surprised when misspelling "no" as "np" and
getting a "yes" behavior...
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
This patch makes it possible to run multiple sbopkg instances
simultaneously in different $SBOPKGTMP prefixes.
There are some known (and possibly unknown) caveats the user
should be aware before enabling this option -- I documented the
ones I could think of.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
caused quoted strings in the RHS of the =~ operator in [[ commands to be
interpreted as literal strings, thus causing parts of sbopkg to fail. Update
HACKING to address this. Thanks to SiegeX and others for the reports and
suggestions. Thanks to Mauro and Chess for review and suggestions.
The old regex turned ON into ONOFF. Dialog apparently treats that as
an OFF, so overall the code appeared to work fine. Neverthess, this is
worth a fix.
Spotted by slakmagik.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
'find' prints the directory name as the first result, and if $SBOPKGTMP
is not named after sbopkg it makes the sanity check fail.
Fix this by making sure that 'find' doesn't ever return the directory
name.
Thanks to Ken Roberts for raising the issue.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
In the updates check we split the package name expression (on the
makepkg line) counting dashes. The 13.0 scripts now have, instead of
'tgz', the expression ${PKGTYPE:-tgz} at the end. This makes us pick
up the ARCH field instead.
Fix this by suppressing any ':-' operation found. This should be
reasonably safe (no 12.2 script has such expression there).
While at it, replace the old cut/rev dance with a single sed invocation.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>