Commit Graph

789 Commits

Author SHA1 Message Date
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
slakmagik
2ee1c2345a reversed ChangeLog handling and updated it
Now we write changes to */src/usr/doc/ChangeLog.txt and generate
*/tools/ChangeLog-latest.txt. User visible changes since the last
release were added to the former.

Also re-added a re-re-rename that SBo keeps waffling about. ;)
2010-06-14 04:47:10 +00:00
chess.griffin
1ca33a80d9 fix URL to changelog at sbopkg.org (now a direct to ChangeLog in SVN) 2010-06-14 02:17:23 +00:00
slakmagik
e22a5a3574 replaced read fallbacks with new unknown_response()
* unknown_response(): new function to specify calling function and
  unknown input in the error message.
* any functions with '{error_,}read's in them: replaced 'local ANS/read
  ANS/case $ANS' with 'local REPLY/read/case $REPLY' and all '*) Unknown
  response' with '*) unknown_response'.
* several functions: added missing 'local REPLY'
* get_source(): removed stale 'ANS'
* read_info(): reformatted case statement

Also made two other probably unnecessary changes to help with hunting an
elusive bug.

* error_read(): modified to loudly bomb out if it's somehow acquired an
  impossible value.
* main: modified ON_ERROR so it's even more impossible for it to get the
  wrong value.
2010-06-12 01:37:44 +00:00
slakmagik
2447fd7a14 re{named,wrote} directory_checks() into dir_init()
Previously, the user was confronted with 7 prompts for directory
creation on first run to which they could hit enter or ^C in response.
The main purpose of this revision is to provide a nice printout and a
single question to which they can hit 'y/n'.

This led to a cascade of changes but it's all focused on establishing
sbopkg's needed directories and even results in fewer loc.

* directory_checks(): replaced with dir_init()
* config_check(): the ALLOW_MULTI check there was creating a directory
  rather than checking the config, so moved it to dir_init(). Also made
  the directory creation non-interactive since it's only creating a
  tmpdir in an already-created sbopkg directory.
* sync_repo(): moved the directory_check() call to select_repository()
  since being able to switch repos mid-run in the dialog
  select_repository() interface is the direct (and only) reason for
  calling dir_init() after startup. Removed the check_write() call and
  all the rest related to it as it was no longer needed.
* select_repository(): aside from gaining the item just mentioned, the
  'save setting' dialog was wrapped in a conditional based on whether
  the user actually chose to create the new repo dir.
* ck_dir(): removed. The seven calls in directory_checks() went with
  that function and the one in config_check() was also removed, since
  it's now handled by dir_init() non-interactively, leaving it unused.
* check_write(): removed. The single call from sync_repo() was removed,
  as discussed above, leaving it unused.
* pid_check(): now does a quick check for ALLOW_MULTI, making that a black
  box that does the right thing.
* main: as just mentioned, the ALLOW_MULTI check was moved into
  pid_check(). ALLOW_MULTI already gets special treatment in cleanup()
  and did in config_check() and does in dir_init(), so it might as well
  in pid_check() rather than being tested for in main. And, of course,
  replaced the directory_checks() call with one to dir_init().
2010-06-12 01:10:32 +00:00
slakmagik
7355d65b9f reordered sections and items in sbopkg.conf.new
Also reformatted comments to 72 cols. No textual/functional changes.
2010-06-12 01:00:21 +00:00
slakmagik
65289af69c modified parameter expansions in sbopkg.conf.new
Modified all parameter expansions to use default values.

Also tweaked some wording and spacing and fixed an sbopkg-breaking typo
from the last commit of this file.
2010-06-12 01:00:17 +00:00
slakmagik
a441d09eba Modified documentation to (almost) auto-update
Replaced variable data with 'xxxDATAxxx' tags. The tags are replaced by
the revised release script. This way, only that file needs to have,
e.g., 'size' changed and it will propagate to the README and both
manpages, rather than requiring three separate edits. Also, sbopkg.conf
and sbopkg.conf(5) will always automatically be in sync.
2010-06-08 02:59:46 +00:00
slakmagik
8ecc889b18 Copyrights, timeouts, typo
A shotgun commit that updates the copyright notices, bumps the default
timeouts of rsync and wget from 10/15 to 30 and fixes a doubled word.
2010-06-02 23:26:03 +00:00
slakmagik
7461e231fa Change DEBUG to DEBUG_UPDATES
Also shortened how we test for whether DEBUG(_UPDATES) is 0,1,2 and made
DEBUG_UPDATES use default values if unset, rather than being set
directly to a default value.

This entire variable may be removed shortly but, until then, there's
this.
2010-06-02 23:06:02 +00:00
slakmagik
4b35bdf032 Yet more manpage tweaks and cleanups
In HACKING, I moved two points, modified two points, moved and modified
one point, and added two points. I also separated all points with a
blank line as is consistent with the first list in the file.

In both man pages, I shortened most 'SlackBuilds.org' references to
'SBo'; shortened most 'SlackBuild scripts' references to 'SlackBuilds';
added some missed root prompt symbols; and added a few missed .Bs and
.Is or flipped a wrong one for the right one.

In sbopkg.conf.5, I added 'simultaneously' in ALLOW_MULTI; revised a
line in KEEPLOG, and one in LOGFILE; and flipped a couple of
inconsistent .PP/.RS pairs to .RS/.PP.

In sbopkg.8, I added a comma in a list; redid a sequence of bold/roman
in the '-e' arg list; changed 'another configuration file' to 'FILE';
and flipped the out-of-order -r/-R flags.
2010-06-02 23:05:51 +00:00
slakmagik
1978ab59a9 Correct a glitch in each man page
Started a sentence on another sentence's line in sbopkg.conf(5) and left
a separator at double lines when it should have been changed to single
in sbopkg(8).
2010-06-02 23:05:41 +00:00
slakmagik
355a3176fb Mostly font changes to both man pages
Also added several more points to HACKING which cover most of the other
changes - there are a few semantic/textual changes in here, too. The
largest changes are probably a making the 'type' of the conf values a
part of the 'template', moving and adding complete authors to both
2010-06-02 23:05:31 +00:00
slakmagik
b555c36c94 Do away with the LOGDIR variable
The revision removes LOGDIR from sbopkg, sbopkg.conf.new, and
sbopkg.conf(5) and adds the previously missing LOGFILE value to
sbopkg.conf(5). Now, with a test for a setting to absolute path, we use
the dirname of LOGFILE rather than LOGDIR.
2010-06-02 23:05:19 +00:00
slakmagik
123b3799bc Reorder options in sbopkg.conf(5)
Despite the huge diff, nothing was changed but alphabetizing the
options.
2010-06-02 23:05:09 +00:00
slakmagik
1e0fe22e0a Modified rendition of defaults in sbopkg.conf(5)
This makes all config file values be rendered the same way, with the entire
line in its own paragraph, which is set to fixed-width font (for postscript
output) and shortens and simplifies the intro line in keeping with the
whole-line consistency.
2010-06-02 23:05:01 +00:00
slakmagik
7e26d3b5d5 General textual revisions to manpages
Also corrected one point in HACKING relevant to earlier revisions and
added three more points relevant to this one. However, the vast majority
of changes in this revision don't fall under those three points or any
easily generalizable description. They're just attempts at more clarity,
consistency, accuracy, etc. Oh, and some punctuation, too.
2010-06-02 23:04:50 +00:00
slakmagik
3a57bf9bd4 Misc textual fixes/changes to the man pages
Fixed the NAME sections and man page cross references; tried to make
VARIABLES reflect whether they were used in an expanded sense or not;
changed an .IP list with non-standard bullets to a .TP with standard;
added standard NOTES section to sbopkg.conf and changed the .SH under it
to .SS and also changed the INSTRUCTIONS .SH in sbopkg(8) to an .SS of
DESCRIPTION; changed the FILES section from dashed .PP to undashed .TPs,
and changed the font to .I; changed the SEE ALSO section by removing
quotes, adding commas, reducing individual file references to the
general doc dir which was given a full path and changing its font to
.IR; and redid the tags in the OPTIONS section of sbopkg(8), making
replaceable args italic, changing the dashes, adding the missing
argument to the -f option.
2010-06-02 23:04:40 +00:00
slakmagik
bb498e4f15 Change size of tag in sbopkg.conf.5, s/.br/.IP/
Also did away with extraneous arguments to subsequent .TPs.
2010-06-02 23:04:30 +00:00
slakmagik
5a5e0a6969 Wrapped text to 72 cols; started sentences on NLs
Also added forgotten modeline to sbopkg.8
2010-06-02 23:04:20 +00:00
slakmagik
af42f83892 Replaced blank lines in manpages with .PP/.IP tags
In one instance, inserted a .br instead and, in another, replaced an
.RS/.RE with an .IP.
2010-06-02 23:04:08 +00:00
slakmagik
05fab96338 Added commented dividers to man pages
Also added a man page style guide section to HACKING and added a point
reflecting this change.
2010-06-02 23:03:56 +00:00
slakmagik
1de589ca1a Fix current version's number in the ChangeLog 2010-06-02 22:33:05 +00:00
slakmagik
f1a2d0e19b Reverted the check_gpg() part of r797; added real fix
Another 'brown paper bag' commit. This is hopefully the real fix,
deleting the line from info_item() that actually echos 'OK'.
2010-05-27 22:14:16 +00:00
slakmagik
b77ee141f2 tag and release version 0.33.1 2010-05-27 18:47:04 +00:00
slakmagik
3b519d25e8 Update the ChangeLog with the changes since "0.33.0" 2010-05-27 18:21:55 +00:00
slakmagik
e9605f78b6 tweaked KNOWN_ISSUES, check_gpg(), load_user_queue()
this misc revision adds a note about git to KNOWN_ISSUES, silences unwanted
output from gpg in check_gpg(), and provides a better button to a widget in
load_user_queue()
2010-05-27 18:12:22 +00:00
slakmagik
90d57940b8 Tweaked the size of the select_repository() widget
This allows all current repos + 1 to fit without scrolling - eventually, the
repo list will outgrow the displayable area, but we might as well save
scrolling while we can.
2010-05-27 15:55:42 +00:00
slakmagik
e445401c90 Documentation changes to reflect the new(est) ARCH issues.
Add the possible ARCH-discrepancy issue to KNOWN_ISSUES and change
sbopkg.conf(5) to reflect how we currently process ARCH.
2010-05-26 03:08:53 +00:00
chess.griffin
42300db6db tweak the ARCH assignment for i*86 based on changes in the SBo SlackBuild template 2010-05-26 01:50:58 +00:00
chess.griffin
3459a87377 change the various pointers back to 0.32.0 for the time being 2010-05-25 15:22:25 +00:00
chess.griffin
fc8214a615 change the various pointers back to 0.32.1 for the time being 2010-05-25 15:17:43 +00:00
slakmagik
1045ba463e tag and release version 0.33.0 2010-05-24 22:32:33 +00:00
slakmagik
9bb1e4a140 Removed a rename that got re-renamed; tweak Changelog 2010-05-24 20:51:27 +00:00
chess.griffin
f07b0e0b3b add a --no-check-certificate fix in KNOWN_ISSUES 2010-05-23 16:36:17 +00:00
slakmagik
558e9179b8 Changed -O option to -P
Realized -P would make a better option letter.
2010-05-21 01:17:17 +00:00