PACKAGE(1)

πŸ’– PACKAGE(1) β€” the group chat version πŸ’–

okay so bestie, welcome to the General Commands Manual section, entry PACKAGE(1). this one's a lil niche but it's literally so important, i promise. let's get into it 🫢


✨ NAME ✨

package β€” register package user via mailagent


πŸŽ€ SYNOPSIS πŸŽ€

package address system version patchlevel [ mailpatches | notifypatches ]

🌸 DESCRIPTION 🌸

okay so first things first: this command is NOT meant to be run directly by a user, bestie. like, don't just type it into your shell, that's not the vibe. it may show up in any mail whose subject is set to Command. mail like that gets processed by mailagent(1), which extracts all lines beginning with @SH, and those lines may specify this command. the mailagent sets up environment variables first, and those are the ones the command uses. πŸ’…

so what does package actually do? it's used to notify the author of a package about its users. it's normally generated automatically by the MailAuthor.U unit when the user runs Configure. main character energy, honestly. ✨

if the patchlevel you specified isn't the latest one for that system and version, mail is immediately sent suggesting they upgrade, and reminding them how to request the latest patches. iconic behavior. πŸŽ€

the final parameter β€” if you include it at all β€” can be set to mailpatches to say the user would like future patches mailed to them, or notifypatches to say that a mail notification of future patches should be sent instead, rather than the entire patch.

the user's address and notification request get saved in the file users in the package's directory. πŸ“

now, package does an approximate address match to avoid duplicate entries. whenever this elimination happens, a warning message is issued in the logfile. two addresses count as equivalent if one of them has an added machine name, or if they're really equal. so these two are equivalent:

ram@acri.fr
ram@main.acri.fr

whereas these two are, unfortunately, not equivalent:

ram@acri.acri.fr
ram@main.acri.fr
😭 the way that second pair just does not match up. tragic. no cap.

when a user is asking to be left alone, it's super important to let them know if the request failed β€” because otherwise they'll be annoyed when the next set of patches goes out and they still get them despite their previous request. so if no approximate match occurs, a warning message is sent back, along with a list of addresses that are close to their own e-mail address, but not equivalent. fortunately, these ones are considered close:

ram@acri.fr
ram@somewhere.com
raphael@main.acri.fr
manfredi@acri.acri.fr

because they either have the same login (which is important when someone changes company) or they share the same domain or sub-domain part. it's giving found family. πŸ¦‹

in order to edit the users file, you should use the edusers script. for one thing, it lets you edit the users file from whatever package you name in the command line, but it will also properly lock the file so that the execution of package will stall for the duration of the manual edition β€” provided you have a strict locking policy defined in your ~/.mailagent configuration file. πŸ”’


🌈 FORWARDING 🌈

package supports command forwarding as described in the mailhelp(1) page. periodt. πŸ’…


πŸ‘‘ FILES πŸ‘‘

  • ~/.mailagent β€” configuration file for mailagent.
  • System/users β€” list of users of that system.

this file is made of single line records, one for each registered user. each record has three tab-separated fields. πŸ“‹

the first field shows the level of updates requested by the user, as a single letter:

  • M β€” mail future patches directly to the user when they are issued.
  • N β€” notify the user of future patches.
  • U β€” the user chose to let the author know that they have tried the program, but does not wish to know about future updates.
  • L β€” the user is no longer interested in the program and wants to be left alone. πŸ™ˆ

the second field is their last notified patch level, or a dash (-) if it is not known.

the third field is the user's Email address.

  • Log/agentlog β€” mailagent's log file.

πŸ’œ AUTHORS πŸ’œ

  • Graham Stoney <greyham@research.canon.oz.au>
  • Raphael Manfredi <Raphael_Manfredi@pobox.com> (minor enhancements)

⭐ SEE ALSO ⭐

edusers(1), mailagent(1), metaconfig(1).


and that's the whole thing, bestie!! πŸ₯³ this page comes to you from the General Commands Manual, stamped PACKAGE(1) front and back β€” slay, we're done here πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from