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.
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>
This makes it handier to skip the build for already installed packages.
Note that "installed packages" here includes different versions, since
only the package name is checked.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
The OK wasn't sent to the terminal, so the thing looked quite screwed up
(all the "Checking GPG of" instances were on a single line).
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>
This patch shows the currently installed version of each queued package
in queue dialogs, or "New" if the package isn't installed.
The main reason to do something like this is to be quickly able to disable
the build of already-installed packages from a loaded queue. We're not
simply showing "Installed" here just to avoid inducing the user into
thinking that the queued package is exactly the same installed, while it
possibly isn't due to version updates.
Signed-off-by: Mauro Giachero <mauro.giachero@gmail.com>