Commit graph

974 commits

Author SHA1 Message Date
slakmagik
d79029a5c2 document gist of changes from r866-current 2011-03-07 01:27:02 +00:00
slakmagik
105e182449 modify view_queue() to use selection_state()
Traded a block of code for the function call and removed references to
the now unused WORKINGQUEUE.
2011-03-07 01:26:56 +00:00
slakmagik
511ef6f26f make remove_files() actually invert sel., etc.
- remove_files(): this had an 'Invert all' button which didn't
    entirely work, as it simply toggled all on/off rather than
    reflecting selection state (it was more 'Select/Deselect All'). By
    changing the order of the buttons and using selection_state(), it
    now can now 'Invert Sel'ections. The button order had to be juggled
    because dialog only outputs a list on 0/3. So now it asks to delete
    and defaults to Cancel with '--defaultno' rather than asking to keep
    and defaulting to OK. Also cleaned up the dialog invocation in
    general and cleaned up the sed/redirect creation of
    $FILES_CHECKLIST. Also changed the 'ERROR' title for not finding
    anything to 'NOTICE' since it's not an error to, e.g., not have any
    obsolete sources.
  - reverse_choices(): deleted since it was no longer used.
  - remove_obsolete_sources(), browse_categories(): similar sed cleanups
    as above.
  - selection_state(): clarified comments, remembered to add LINE as a
    local var, and anchored a regex whose $ got lost.
2011-03-07 01:26:50 +00:00
slakmagik
9677e0ebf9 modify list_packages() to preserve state, etc.
This creates selection_state() (so that the user's selections can be
preserved when the menu is regenerated in the loop) and breaks out
mk_pkg_lists() (so that, when packages are removed, they are also
removed from the menu). Before, this simply broke out of the loop but
that forced the user to re-enter the menu if they wanted to do anything
else with it.
2011-03-07 01:26:43 +00:00
slakmagik
2adf86f041 make list_packages() loop
Wrap list_packages()'s main dialog widget in a while loop so the user
can return to deletion selection after reading readmes. Also correct the
text in the widget (s/uninstall/remove./).
2011-03-07 01:26:32 +00:00
slakmagik
c3eb9de996 create nvabt2n(); revise list_packages()
PKG_LIST is now no longer used directly but makes for easier
manipulation into both PKG_CHECKLIST for the dialog menu and README_LIST
(created via nvabt2n()) as input for view_readmes(). Added the extra
button that calls view_readmes() with README_LIST.

While I was here, changed the package removal confirmation dialog to use
'--separate-output' and dumped the tr that was removing the quotes
dialog otherwise puts in.
2011-03-07 01:26:27 +00:00
slakmagik
31b07d91cc generalize view_readmes()
view_readmes() now takes two arguments for header text and input,
doesn't bother displaying 'DISABLED' packages if not displaying from a
queue, and has a fuzzier dialog title.
2011-03-07 01:26:21 +00:00
slakmagik
6389034312 rename view_queue_readmes() to view_readmes() 2011-03-07 01:26:15 +00:00
slakmagik
8155da8773 change VARNAMES to VAR_NAMES
Also drop the overly-specific 'SBO' from SBOPKGLIST as it's actually
whatever $REPO is.
2011-03-07 01:26:09 +00:00
slakmagik
bb87b804fa rename get_sbo_packages() to list_packages() 2011-03-07 01:26:03 +00:00
slakmagik
6ad3f472d7 updated French man pages
Thanks to Marie-Claude Collilieux.
2011-03-03 20:35:29 +00:00
slakmagik
b09d37c2f6 fix documentation bug regarding ~/.sbopkg.conf
Document the fact that (since 0.25.0) settings in the system
configuration file can be overridden with a private configuration file.
Thanks to Bill Kirkpatrick on sbopkg-users for raising this issue.

Also catch up on the NEWS file while adding this item.
2011-03-02 23:49:09 +00:00
slakmagik
07a8ec3d84 fix download failure
When an http url 301ed to an https and the certificate check failed,
sbopkg's certcheck code was not being triggered, causing the download to
fail. Thanks to vbatts for raising this issue.
2011-02-19 21:32:29 +00:00
slakmagik
72a0269454 updated French man pages in trunk
Thanks to Marie-Claude Collilieux.
2011-02-12 03:06:23 +00:00
slakmagik
da4a9ea2f8 update copyrights
Thanks to dive for reminding me. :)
2011-02-08 22:16:34 +00:00
slakmagik
5e6a72963e tag and release 0.34.1 2011-02-05 04:34:55 +00:00
slakmagik
f81a42eb13 minor changes to sbopkg's SlackBuild 2011-02-05 04:19:36 +00:00
slakmagik
6b5df12c1c two sbopkg(8) tweaks
Changed a line which made it almost sound like sbopkg might randomly
replace the config file, making it clear it's under user control.

Modified (mostly removed) the paragraph (similar to one in the README
that was also recently modified/removed) about sbopkg not really
supporting build chains. It isn't *guaranteed*, but doesn't need to
sound like some random fluke.
2011-02-05 03:19:23 +00:00
slakmagik
497e34feaf two tweaks noticed in testing
Exported TMPDIR from sbopkg.conf.

Worded the error message on mktemp failure to hopefully be more helpful
by suggesting a likely cause of failure.
2011-02-05 03:19:19 +00:00
slakmagik
0cd0d3ae7f updated NEWS/THANKS to reflect r853 2011-02-05 03:19:14 +00:00
slakmagik
482aed1f9b revise documentation
Major reformatting and some textual modifications of
src/usr/doc/sbopkg-*/* including breaking out the credits from the
script into a detailed THANKS file, renaming and reformatting
ChangeLog.txt into NEWS, renaming the sample queuefiles from *.sqf to
*.sqf.sample, and making lesser modifications to all the other docs.
2011-02-05 03:18:48 +00:00
slakmagik
fa831cdd97 renamed ChangeLog.txt to NEWS 2011-02-05 03:18:40 +00:00
slakmagik
ecdc8e9e73 add Spanish translations of the manuals
Much thanks to Pablo Castano Fernandez for doing these translations.
2011-01-25 00:08:01 +00:00
slakmagik
c2590f6aca make assigning to TMPDIR in sbopkg.conf work
Move the assignment to SBOPKGTMP (via mktemp and its TMPDIR) to after
sourcing the config file. Thanks to Ken Roberts for reporting the issue
and providing a preliminary fix.

Also modify config_check() to check for obsolete variables as it does
for required variables. Also modify cleanup() to only try to remove
SBOPKGTMP if it exists.
2011-01-21 07:45:37 +00:00
slakmagik
74306e5424 rectify a documentation omission from r838
Remove documentation for removed config file option SBOPKGTMP and
document its replacement, TMPDIR. Add TMPDIR (and comments) to the
config file.

Thanks to dive for raising this issue.
2011-01-21 07:45:29 +00:00
slakmagik
50a005bc3e address the old bash/dir_init() part of issue 55
r845 addresses part of a problem with sbopkg code and bash 3x array
handling but not all of it. When creating an array with the += operator,
if the array creation code was triggered, the item doing so should have
been assigned to index 0 and, instead, an empty string was being
assigned to 0 and the item was being assigned to index 1, resulting in a
blank line being output before the proper item. Thanks to greinze for
pointing this out. Explicitly declaring the variable an array seems to
solve this.
2011-01-21 05:48:07 +00:00
slakmagik
5c2ae15a42 addressed issue 49 (TAG not passed to SlackBuild)
Modified build_package() to export whatever we're using for REPO_TAG as
TAG.
2010-12-02 00:49:41 +00:00
slakmagik
d51de9267c addressed issue 50 (-o does nothing)
Applied patch by Mauro which modified get_source_names() to only attempt
to ls SRCNAME if SRCNAME is not empty so that it doesn't list the entire
cache directory and break get_obsolete_sources(). This was triggered by
django, whose DOWNLOAD was given as
"http://www.djangoproject.com/download/1.2.3/tarball/"

Signed-off-by: slakmagik <slakmagik@gmail.com>
2010-12-02 00:49:34 +00:00
slakmagik
f17e5ae404 addressed issue 48 (MKDIR_PROMPT ignored)
r819 mostly replaced directory_checks() and ck_dir() with dir_init() but
forgot about the MKDIR_PROMPT variable used in ck_dir(). So again wrapped
the prompting in a conditional based on that setting and moved the
action outside the conditional.
2010-12-02 00:49:26 +00:00
slakmagik
dac7bd21c9 tag and release 0.34.0 2010-11-12 04:07:45 +00:00
slakmagik
23fc2049ca corrected a problem in dir_init() w/older bashes
Changed an implicit array reference to DI_OUTPUT to an explicit one.
Also made a potential error message declare its origin.
2010-11-12 03:15:55 +00:00
slakmagik
c066f66f9c added several package renames 2010-11-06 02:44:35 +00:00
slakmagik
5fb9fd2a2e corrected typo in English man page
Forgot this in the last commit. :( Thanks to Marie-Claude Collilieux for
spotting this.
2010-07-29 01:48:36 +00:00
slakmagik
8cc3142bc6 updated French man pages in trunk
Thanks to Marie-Claude Collilieux (also noted in the ChangeLog).
2010-07-29 01:38:16 +00:00
slakmagik
0862608534 added two package renames to both branches
Also added a rename to the bugfix branch which had been added to trunk after
the branch point - now the two files are in sync (just in case we do another
0.33.x release).
2010-07-28 04:15:52 +00:00
slakmagik
ed6bfaac16 updated French man pages
Thanks to Marie-Claude Collilieux.
2010-07-24 22:59:20 +00:00
chess.griffin
59a35dd5fa update the current-* files in /tools so sbopkg.org site will display correct version and download links 2010-07-20 19:30:59 +00:00
slakmagik
badc768e12 address security hole; overhaul tempfile handling
This revision corrects a security issue introduced in r762 and a trap
lost in r819. The basic idea is to revert the unsafe operator from r762
and then replace sbopkg's static SBOPKGTMP directory with a more secure,
volatile one created by mktemp and to use it and a new batch of traps to
simplify creation and cleanup of tmp dirs and files.

Tmp/trap/cleanup changes:

* /etc/sbopkg/sbopkg.conf.new: removed old SBOPKGTMP variable.
* config_check(): ditto. Also removed everything about unexpected files
  since the new SBOPKGTMP should take care of that.
* dir_init(): removed SBOPKGTMP variable and its use. Dumped the
  ALLOW_MULTI/mcookie part, since the new SBOPKGTMP should take care of
  that.
* script-wide: removed all calls to cleanup(), except for the new call
  from the traps.
* check_for_updates(): reverted the redirection operator
* build_package(): now uses the volatile SBOPKGTMP directly if/when we
  CLEANUP, rather than a volatile subdir in a static SBOPKGTMP.
* cleanup(): changed all the specific deletions of the contents of the
  old SBOPKGTMP to a general deletion of the entire new SBOPKGTMP.
  Dumped the ALLOW_MULTI stuff since it can't be triggered now (rm -r of
  a mktemp vs. a rmdir of an mcookie).
* control_c(): made a comment more specific; made the function a lot
  quieter; removed the cleanup/exit parts now trapped.
* main: added traps; assigned to SBOPKGTMP internally with a mktemp
  invocation that respects TMPDIR and moved up all SBOPKGTMP variables
  that had to wait on sourcing the config file since they no longer have
  to wait for that.

Unrelated changes that I tripped over along the way:

* pid_check(): combine PIDFILE declaration and assignment and shorten
  comment.
* info_item(): changed use of filenames to use of variables.
* sync_repo(): made an error condition exit 1 rather than 0.
* get_source(): changed PIDLIST to SBOPKG_PIDLIST like it is elsewhere.
* pick_file(): establish a RETURN trap to clean out files which are now
  referred to by variables rather than semi-random deletions of files
  referred to by filenames.
* process_queue(): now moves the built package from the tmpdir before
  installing rather than after so people's PACKAGE LOCATION lines aren't
  screwed up in their package db.
* main: combined a command and exit status check into the one 'if'. Also
  changed some more filenames to vars and removed two that didn't need
  to be declared there. (They can be local to their functions since r831
  or so.)
2010-07-20 02:05:28 +00:00
slakmagik
871eef1e2c made sbopkg's use of SRCDIR more transparent 2010-07-09 04:18:29 +00:00
slakmagik
e5318d9d8e allowed user to retry a failed https download
Added check_cert_prompt() which is called from get_source() which
prompts the user to append '--no-check-certificate' to WGETFLAGS if it
is not already present, and tries again. Previously, this was handled by
changing WGETFLAGS manually (which is still possible) but this handles
it interactively on a case by case basis and may help new users who
aren't aware that modifying WGETFLAGS would be a solution. Thanks to
Chess and Mauro for review and suggestions.
2010-07-09 04:18:13 +00:00
slakmagik
c7553e2101 made a couple of small aesthetic tweaks
Made sbopkg quit announcing its GPG checks twice and made it clear what
the build options line was in the summary output.
2010-06-29 14:56:57 +00:00
slakmagik
0bd695fa24 implemented CLI build option passing
Created parse_arguments() and modified main to call it and use_options()
to use the results. Updated the man page to reflect the changes.

Also caught up on the ChangeLog.
2010-06-29 14:56:51 +00:00
slakmagik
f5efdc1fea made it possible to specify the b,g,i,s flags multiple times
Previously, the user had to quote multiple arguments to a single flag.
This is still possible but now there's the option of using the flags
multiple times with a single arg to each with no quoting.
2010-06-29 14:56:46 +00:00
slakmagik
3a92318fa8 fixed command line search with the -s/-g flags
* search_package(): modified to return a sorted list
* gen_search_package(): moved my select menu to the new function.
* search_and_display(): new function which takes one or more arguments
  (literal or quoted globs) from the command line (-s) and uses
  search_package() to return an array of possible matches. If more than
  one app is returned, it presents the user with a menu. It displays the
  standard files associated with the app the user chooses. If
  search_package() only returns one app, it displays the associated
  files immediately. Despite being a new function, this merely restores
  old functionality (albeit somewhat improved) which had been broken.
* main: moved the old code from the SEARCH test block to the new
  function, replacing it with a call to that function.
* main: temporarily disabled pathname expansion in part of the GENSEARCH
  test block (and in part of the new function) so it wouldn't break if
  someone searched for 'fu*' with a 'fubar' file in the current
  directory.

Also modified the man page and one comment regarding details of these
flags/functions.
2010-06-29 14:56:42 +00:00
chess.griffin
29c2e449e5 fix an ARCH display issue in the updates screen; thanks to alkos333, Marc Payne, and David Spencer for confirming the issue, and thanks to David for testing the fix. 2010-06-18 01:49:31 +00:00
slakmagik
183aa1e372 created fix_urls() to handle quirky URLs
This broke out a sed line used in a couple of places (and which needed
to be extended) into a commented function. This specifically addresses
dzen2, as well as the zarafa problems found while dealing with dzen2.
Also tightened up a regex that caused problems while dealing with
similar quirks. Also modified comments in these areas.

Note that virtualbox (no longer a problem) and calcurse (now
specifically handled) were handled by two generic substitution commands,
which have been removed. If these commands were catching things besides
virtualbox and calcurse, this will cause a regression but it's not
considered likely; it will let us know what *needs* to be fixed; and it
should be easy to do so.
2010-06-17 19:06:08 +00:00
slakmagik
87ee1582a2 updated ChangeLog
Also removed a bit of brain damage (long day). Also, thanks to Chess and
Mauro for review and discussion of the prompt patches.
2010-06-15 00:18:40 +00:00
slakmagik
22f8de1ad5 revised error_read and its calls
Brought the error_read() calls more into conformance with standard
'read's. Two items still differ significantly: since the 'read' is in
error_read() and must handle a variety of prompts, prompts are done
before the call with 'printf's and since error_read is restricted to Y/N
values, the prompts have to use those for at least two of their options.

* error_read(): modified comments to reflect current status. Made read
  use '-e' like the rest of the reads. Got rid of the '$1's and 'eval's
  and used a simple assignment to REPLY. While the "(as specified with
  '-e')" echo should never happen unless ON_ERROR was set to
  stop/continue, it's still better to assign it to a variable tied
  directly to where it's supposed to occur.
2010-06-14 23:54:31 +00:00
slakmagik
69224bfd1c made user prompts more consistent
All direct uses of the 'read' builtin are now close to the following
format: possibly a block of statement text to the user output by
whatever means are handiest then, if not an 'anykey' prompt, a loop
which prompts and checks for valid input. The prompt is generally a
concise line in the forms of

    read -p "(A)pples or (O)ranges?: "
    read -n1 -p "Press any key to continue: "

Then a case statement handles the input in the format:

    A|a) apple_action ;;
    O|o) orange_action ;;
    *) unknown_response ;;

Also misc minor changes such as modifying wording or option letters,
changing linebreaks in case statements, etc.

Beyond simple wording changes in the statement text, there was also:

* remove_files(): removed the 'echo -e foo\n' which seemed unnecessary.
* use_options(): added the SAVEDOPT and QUEUEOPT variables which are
  used in read's prompt to customize it to the nature of the actually
  possible choices and removed the 'else's we don't need to display.
2010-06-14 23:54:26 +00:00
slakmagik
a21d663040 combined/revised install_package()/do_install()
* do_install(): moved a revised form into install_package(), removing
  this one.
* install_package(): tried to make sure we local-ized all the vars we
  need; saved two variables and two stat calls with one find; put a
  missing loop around our read prompt; made the key line the argument of
  read's -p flag; put the breaks and returns in the right places; and,
  in terms of what was brought in from do_install(): removed the unused
  loop from around the rename check and upgradepkg call; modified
  variables to use install_package()s and dequoted the surviving
  PKG_NAME.
2010-06-14 23:54:21 +00:00