From e41c0c99c8d498cc2f3761eb35d4f5389a6d1798 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Mon, 8 Jun 2020 21:30:18 +0200 Subject: Proposed changes for a migration from ConsoleKit2 to elogind Using elogind will enable a fully working Wayland session for KDE Plasma5. --- deps/util-linux/adjtimex_1.29-2.2.diff.gz | Bin 0 -> 53236 bytes .../bsdstrings-util-linux_overflow.diff.gz | Bin 0 -> 434 bytes deps/util-linux/ddate.1 | 115 ++++++ deps/util-linux/ddate.c | 399 +++++++++++++++++++++ deps/util-linux/doinst.sh.gz | Bin 0 -> 427 bytes deps/util-linux/pam.d-su/su | 11 + deps/util-linux/pam.d-su/su-l | 6 + deps/util-linux/pam.d/chfn | 6 + deps/util-linux/pam.d/chsh | 6 + deps/util-linux/pam.d/login | 15 + deps/util-linux/pam.d/runuser | 5 + deps/util-linux/pam.d/runuser-l | 4 + deps/util-linux/rc.setterm | 13 + deps/util-linux/scsi_ioctl.h | 48 +++ deps/util-linux/setserial-rc.serial.diff.gz | Bin 0 -> 729 bytes .../setserial-undef_TIOCGHAYESESP.diff.gz | Bin 0 -> 376 bytes deps/util-linux/slack-desc | 19 + deps/util-linux/su.default | 3 + deps/util-linux/util-linux.SlackBuild | 381 ++++++++++++++++++++ .../util-linux.do.not.list.ram.devices.diff.gz | Bin 0 -> 275 bytes .../util-linux/util-linux.fdisk-no-solaris.diff.gz | Bin 0 -> 335 bytes deps/util-linux/ziptool-fix_build.patch.gz | Bin 0 -> 386 bytes 22 files changed, 1031 insertions(+) create mode 100644 deps/util-linux/adjtimex_1.29-2.2.diff.gz create mode 100644 deps/util-linux/bsdstrings-util-linux_overflow.diff.gz create mode 100644 deps/util-linux/ddate.1 create mode 100644 deps/util-linux/ddate.c create mode 100644 deps/util-linux/doinst.sh.gz create mode 100644 deps/util-linux/pam.d-su/su create mode 100644 deps/util-linux/pam.d-su/su-l create mode 100644 deps/util-linux/pam.d/chfn create mode 100644 deps/util-linux/pam.d/chsh create mode 100644 deps/util-linux/pam.d/login create mode 100644 deps/util-linux/pam.d/runuser create mode 100644 deps/util-linux/pam.d/runuser-l create mode 100644 deps/util-linux/rc.setterm create mode 100644 deps/util-linux/scsi_ioctl.h create mode 100644 deps/util-linux/setserial-rc.serial.diff.gz create mode 100644 deps/util-linux/setserial-undef_TIOCGHAYESESP.diff.gz create mode 100644 deps/util-linux/slack-desc create mode 100644 deps/util-linux/su.default create mode 100755 deps/util-linux/util-linux.SlackBuild create mode 100644 deps/util-linux/util-linux.do.not.list.ram.devices.diff.gz create mode 100644 deps/util-linux/util-linux.fdisk-no-solaris.diff.gz create mode 100644 deps/util-linux/ziptool-fix_build.patch.gz (limited to 'deps/util-linux') diff --git a/deps/util-linux/adjtimex_1.29-2.2.diff.gz b/deps/util-linux/adjtimex_1.29-2.2.diff.gz new file mode 100644 index 0000000..832e728 Binary files /dev/null and b/deps/util-linux/adjtimex_1.29-2.2.diff.gz differ diff --git a/deps/util-linux/bsdstrings-util-linux_overflow.diff.gz b/deps/util-linux/bsdstrings-util-linux_overflow.diff.gz new file mode 100644 index 0000000..0aa3f6b Binary files /dev/null and b/deps/util-linux/bsdstrings-util-linux_overflow.diff.gz differ diff --git a/deps/util-linux/ddate.1 b/deps/util-linux/ddate.1 new file mode 100644 index 0000000..ec4ee81 --- /dev/null +++ b/deps/util-linux/ddate.1 @@ -0,0 +1,115 @@ +.\" All Rites Reversed. This file is in the PUBLIC DOMAIN. +.\" Kallisti. +.TH DDATE 1 "Bureaucracy 3161" "ddate" "Emperor Norton User Command" +.SH NAME +ddate \- convert Gregorian dates to Discordian dates +.SH SYNOPSIS +.B ddate +.RI [ \fB+\fPformat] +.RI [ date ] +.SH DESCRIPTION +.B ddate +prints the date in Discordian date format. +.PP +If called with no arguments, +.B ddate +will get the current system date, convert this to the Discordian +date format and print this on the standard output. Alternatively, a +Gregorian date may be specified on the command line, in the form of a numerical +day, month and year. +.PP +If a format string is specified, the Discordian date will be printed in +a format specified by the string. This mechanism works similarly to the +format string mechanism of +.B date(1), +only almost completely differently. The fields are: +.IP %A +Full name of the day of the week (i.e., Sweetmorn) +.IP %a +Abbreviated name of the day of the week (i.e., SM) +.IP %B +Full name of the season (i.e., Chaos) +.IP %b +Abbreviated name of the season (i.e., Chs) +.IP %d +Cardinal number of day in season (i.e., 23) +.IP %e +Ordinal number of day in season (i.e., 23rd) +.IP %H +Name of current Holyday, if any +.IP %N +Magic code to prevent rest of format from being printed unless today is +a Holyday. +.IP %n +Newline +.IP %t +Tab +.IP %X +Number of days remaining until X-Day. (Not valid if the SubGenius options +are not compiled in.) +.IP %{ +.IP %} +Used to enclose the part of the string which is to be replaced with the +words "St. Tib's Day" if the current day is St. Tib's Day. +.IP %\. +Try it and see. +.bp +.SH EXAMPLES +.nf +% ddate +.br +Sweetmorn, Bureaucracy 42, 3161 YOLD +.PP +% ddate +'Today is %{%A, the %e of %B%}, %Y. %N%nCelebrate %H' +.br +Today is Sweetmorn, the 42nd of Bureaucracy, 3161. +.PP +% ddate +"It's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 26 9 1995 +.br +It's Prickle-Prickle, the 50th of Bureaucracy, 3161. +.br +Celebrate Bureflux +.PP +% ddate +"Today's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 29 2 1996 +.br +Today's St. Tib's Day, 3162. +.br + +.SH BUGS + +.B ddate(1) +will produce undefined behavior if asked to produce the date for St. Tib's +day and its format string does not contain the St. Tib's Day delimiters +%{ and %}. + +.SH NOTE + +After `X-Day' passed without incident, the Church of the SubGenius +declared that it had got the year upside down - X-Day is actually in 8661 AD +rather than 1998 AD. Thus, the True X-Day is Cfn 40, 9827. + +.SH AUTHOR +.nh +Original program by Druel the Chaotic aka Jeremy Johnson (mpython@gnu.ai.mit.edu) +.br +Major rewrite by Lee H:. O:. Smith, KYTP, aka Andrew Bulhak (acb@dev.null.org) +.br +Gregorian B.C.E. dates fixed by Chaplain Nyan the Wiser, aka Dan Dart (ntw@dandart.co.uk) +.br +Five tons of flax. + +.SH DISTRIBUTION POLICY + +Public domain. All rites reversed. + +.SH SEE ALSO + +date(1), +.br +http://www.subgenius.com/ +.br +Malaclypse the Younger, +.I "Principia Discordia, Or How I Found Goddess And What I Did To Her When I Found Her" + +.SH AVAILABILITY +The ddate command is available from https://github.com/bo0ts/ddate. diff --git a/deps/util-linux/ddate.c b/deps/util-linux/ddate.c new file mode 100644 index 0000000..4c2a0f8 --- /dev/null +++ b/deps/util-linux/ddate.c @@ -0,0 +1,399 @@ +/* $ DVCS ID: $jer|,523/lhos,KYTP!41023161\b"?" <<= DO NOT DELETE! */ + +/* ddate.c .. converts boring normal dates to fun Discordian Date -><- + written the 65th day of The Aftermath in the Year of Our Lady of + Discord 3157 by Druel the Chaotic aka Jeremy Johnson aka + mpython@gnu.ai.mit.edu + 28 Sever St Apt #3 + Worcester MA 01609 + + and I'm not responsible if this program messes anything up (except your + mind, I'm responsible for that) + + (k) YOLD 3161 and all time before and after. + Reprint, reuse, and recycle what you wish. + This program is in the public domain. Distribute freely. Or not. + + Majorly hacked, extended and bogotified/debogotified on + Sweetmorn, Bureaucracy 42, 3161 YOLD, by Lee H:. O:. Smith, KYTP, + aka Andrew Bulhak, aka acb@dev.null.org + + Slightly hackled and crackled by a sweet firey stove on + Boomtime, the 53rd day of Bureaucracy in the YOLD 3179, + by Chaplain Nyan the Wiser, aka Dan Dart, aka ntw@dandart.co.uk + + and I'm not responsible if this program messes anything up (except your + mind, I'm responsible for that) (and that goes for me as well --lhos) + + Version history: + Bureflux 3161: First release of enhanced ddate with format strings + 59 Bcy, 3161: PRAISE_BOB and KILL_BOB options split, other minor + changes. + 53 Bcy, 3179: Fixed gregorian date conversions less than YOLD 1167 + + 1999-02-22 Arkadiusz Miskiewicz + - added Native Language Support + + 2000-03-17 Burt Holzman + - added range checks for dates + + 2014-06-07 William Woodruff + - removed gettext dependent locale code + + 15th of Confusion, 3180: + - call out adherents of the wrong fruit + + FIVE TONS OF FLAX +*/ + +/* configuration options VVVVV READ THIS!!! */ + +/* If you wish ddate(1) to print the date in the same format as Druel's + * original ddate when called in immediate mode, define OLD_IMMEDIATE_FMT + */ + +#define OLD_IMMEDIATE_FMT + +/* If you wish to use the US format for aneristic dates (m-d-y), as opposed to + * the Commonwealth format, define US_FORMAT. + */ + +/* #define US_FORMAT */ + +/* If you are ideologically, theologically or otherwise opposed to the + * Church of the SubGenius and do not wish your copy of ddate(1) to contain + * code for counting down to X-Day, undefine KILL_BOB */ + +#define KILL_BOB 13013 + +/* If you wish ddate(1) to contain SubGenius slogans, define PRAISE_BOB */ + +/*#define PRAISE_BOB 13013*/ + +#include +#include +#include +#include + + +// work around includes and defines from formerly c.h +#ifndef ARRAY_SIZE +# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) +#endif + +/* &a[0] degrades to a pointer: a different type from an array */ +# define __must_be_array(a) \ + BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(__typeof__(a), __typeof__(&a[0]))) + +#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) + +/* work around hacks for standalone package */ +#define PACKAGE "ddate" +#define PACKAGE_STRING "Stand Alone" + +#ifndef __GNUC__ +#define inline /* foo */ +#endif + +#ifdef KILL_BOB +int xday_countdown(int yday, int year); +#endif + + +/* string constants */ + +char *day_long[5] = { + "Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange" +}; + +char *day_short[5] = {"SM","BT","PD","PP","SO"}; + +char *season_long[5] = { + "Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath" +}; + +char *season_short[5] = {"Chs", "Dsc", "Cfn", "Bcy", "Afm"}; + +char *holyday[5][2] = { + { "Mungday", "Chaoflux" }, + { "Mojoday", "Discoflux" }, + { "Syaday", "Confuflux" }, + { "Zaraday", "Bureflux" }, + { "Maladay", "Afflux" } +}; + +struct disc_time { + int season; /* 0-4 */ + int day; /* 0-72 */ + int yday; /* 0-365 */ + int year; /* 3066- */ +}; + +char *excl[] = { + "Hail Eris!", "All Hail Discordia!", "Kallisti!", "Fnord.", "Or not.", + "Wibble.", "Pzat!", "P'tang!", "Frink!", +#ifdef PRAISE_BOB + "Slack!", "Praise \"Bob\"!", "Or kill me.", +#endif /* PRAISE_BOB */ + /* randomness, from the Net and other places. Feel free to add (after + checking with the relevant authorities, of course). */ + "Grudnuk demand sustenance!", "Keep the Lasagna flying!", + "You are what you see.", + "Or is it?", "This statement is false.", + "Lies and slander, sire!", "Hee hee hee!", +#if defined(linux) || defined (__linux__) || defined (__linux) + "Hail Eris, Hack Linux!", +#elif defined(__APPLE__) + "This Fruit is not the True Fruit of Discord.", +#endif + "" +}; + +char default_fmt[] = "%{%A, %B %d%}, %Y YOLD"; +char *default_immediate_fmt= +#ifdef OLD_IMMEDIATE_FMT +"Today is %{%A, the %e day of %B%} in the YOLD %Y%N%nCelebrate %H" +#else +default_fmt +#endif +; + +#define DY(y) (y+1166) + +static inline char *ending(int i) { + return i/10==1?"th":(i%10==1?"st":(i%10==2?"nd":(i%10==3?"rd":"th"))); +} + +static inline int leapp(int i) { + return (!(DY(i)%4))&&((DY(i)%100)||(!(DY(i)%400))); +} + +/* select a random string */ +static inline char *sel(char **strings, int num) { + return(strings[random()%num]); +} + +void print(struct disc_time,char **); /* old */ +void format(char *buf, const char* fmt, struct disc_time dt); +/* read a fortune file */ +int load_fortunes(char *fn, char *delim, char** result); + +struct disc_time convert(int,int); +struct disc_time makeday(int,int,int); + +int +main (int argc, char *argv[]) { + long t; + struct tm *eris; + int bob,raw; + struct disc_time hastur; + char schwa[23*17], *fnord=0; + int pi; + char *progname, *p; + + progname = argv[0]; + if ((p = strrchr(progname, '/')) != NULL) + progname = p+1; + + srandom(time(NULL)); + /* do args here */ + for(pi=1; pitm_yday; /* days since Jan 1. */ + raw=eris->tm_year; /* years since 1980 */ + hastur=convert(bob,raw); + fnord=fnord?fnord:default_immediate_fmt; + } + format(schwa, fnord, hastur); + printf("%s\n", schwa); + + return 0; +} + +void format(char *buf, const char* fmt, struct disc_time dt) +{ + int tib_start=-1, tib_end=0; + int i, fmtlen=strlen(fmt); + char *bufptr=buf; + +/* fprintf(stderr, "format(%p, \"%s\", dt)\n", buf, fmt);*/ + + /* first, find extents of St. Tib's Day area, if defined */ + for(i=0; i0) tib_end=i+1; + else tib_start=i; + break; + case '{': tib_start=i; break; + case '}': tib_end=i+1; break; + } + } + } + + /* now do the formatting */ + buf[0]=0; + + for(i=0; i 12 || iyear == 0) { + funkychickens.season = -1; + return funkychickens; + } + if (iday < 1 || iday > cal[imonth-1]) { + if (!(imonth == 2 && iday == 29 && iyear%4 == 0 && + (iyear%100 != 0 || iyear%400 == 0))) { + funkychickens.season = -1; + return funkychickens; + } + } + + imonth--; + /* note: gregorian year 0 doesn't exist so + * add one if user specifies a year less than 0 */ + funkychickens.year= iyear+1166 + ((0 > iyear)?1:0); + while(imonth>0) { dayspast+=cal[--imonth]; } + funkychickens.day=dayspast+iday-1; + funkychickens.season=0; + if((funkychickens.year%4)==2) { + if (funkychickens.day==59 && iday==29) funkychickens.day=-1; + } + funkychickens.yday=funkychickens.day; +/* note: EQUAL SIGN...hopefully that fixes it */ + while(funkychickens.day>=73) { + funkychickens.season++; + funkychickens.day-=73; + } + return funkychickens; +} + +struct disc_time convert(int nday, int nyear) +{ struct disc_time funkychickens; + + funkychickens.year = nyear+3066; + funkychickens.day=nday; + funkychickens.season=0; + if ((funkychickens.year%4)==2) + {if (funkychickens.day==59) + funkychickens.day=-1; + else if (funkychickens.day >59) + funkychickens.day-=1; + } + funkychickens.yday=funkychickens.day; + while (funkychickens.day>=73) + { funkychickens.season++; + funkychickens.day-=73; + } + return funkychickens; + + } + +#ifdef KILL_BOB + +/* Code for counting down to X-Day, X-Day being Cfn 40, 3164 + * + * After `X-Day' passed without incident, the CoSG declared that it had + * got the year upside down --- X-Day is actually in 8661 AD rather than + * 1998 AD. + * + * Thus, the True X-Day is Cfn 40, 9827. + * + */ + +int xday_countdown(int yday, int year) { + int r=(185-yday)+(((yday<59)&&(leapp(year)))?1:0); + while(year<9827) r+=(leapp(++year)?366:365); + while(year>9827) r-=(leapp(year--)?366:365); + return r; +} + +#endif diff --git a/deps/util-linux/doinst.sh.gz b/deps/util-linux/doinst.sh.gz new file mode 100644 index 0000000..80b759d Binary files /dev/null and b/deps/util-linux/doinst.sh.gz differ diff --git a/deps/util-linux/pam.d-su/su b/deps/util-linux/pam.d-su/su new file mode 100644 index 0000000..c28a252 --- /dev/null +++ b/deps/util-linux/pam.d-su/su @@ -0,0 +1,11 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +# Uncomment the following line to implicitly trust users in the "wheel" group. +#auth sufficient pam_wheel.so trust use_uid +# Uncomment the following line to require a user to be in the "wheel" group. +#auth required pam_wheel.so use_uid +auth include system-auth +account include system-auth +password include system-auth +session include system-auth +session optional pam_xauth.so diff --git a/deps/util-linux/pam.d-su/su-l b/deps/util-linux/pam.d-su/su-l new file mode 100644 index 0000000..654dc24 --- /dev/null +++ b/deps/util-linux/pam.d-su/su-l @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth include su +account include su +password include su +session optional pam_keyinit.so force revoke +session include su diff --git a/deps/util-linux/pam.d/chfn b/deps/util-linux/pam.d/chfn new file mode 100644 index 0000000..2dbc0aa --- /dev/null +++ b/deps/util-linux/pam.d/chfn @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth include system-auth +account include system-auth +password include system-auth +session include system-auth diff --git a/deps/util-linux/pam.d/chsh b/deps/util-linux/pam.d/chsh new file mode 100644 index 0000000..2dbc0aa --- /dev/null +++ b/deps/util-linux/pam.d/chsh @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth include system-auth +account include system-auth +password include system-auth +session include system-auth diff --git a/deps/util-linux/pam.d/login b/deps/util-linux/pam.d/login new file mode 100644 index 0000000..93923f9 --- /dev/null +++ b/deps/util-linux/pam.d/login @@ -0,0 +1,15 @@ +#%PAM-1.0 +auth required pam_securetty.so +# To set a limit on failed authentications, the pam_tally2 module +# can be enabled. See pam_tally2(8) for options. +#auth required pam_tally2.so deny=4 unlock_time=1200 +auth include system-auth +auth include postlogin +account required pam_nologin.so +account include system-auth +password include system-auth +session include system-auth +session include postlogin +session required pam_loginuid.so +-session optional pam_ck_connector.so nox11 +-session optional pam_elogind.so diff --git a/deps/util-linux/pam.d/runuser b/deps/util-linux/pam.d/runuser new file mode 100644 index 0000000..5344abf --- /dev/null +++ b/deps/util-linux/pam.d/runuser @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +session optional pam_keyinit.so revoke +session required pam_limits.so +session required pam_unix.so diff --git a/deps/util-linux/pam.d/runuser-l b/deps/util-linux/pam.d/runuser-l new file mode 100644 index 0000000..5ba318a --- /dev/null +++ b/deps/util-linux/pam.d/runuser-l @@ -0,0 +1,4 @@ +#%PAM-1.0 +auth include runuser +session optional pam_keyinit.so force revoke +session include runuser diff --git a/deps/util-linux/rc.setterm b/deps/util-linux/rc.setterm new file mode 100644 index 0000000..b98b102 --- /dev/null +++ b/deps/util-linux/rc.setterm @@ -0,0 +1,13 @@ +#!/bin/sh +# +# This file provides the command line for the setterm utility to set the +# terminal attributes (primarily used for screen blanking and power +# management). + +# Screen blanks after 15 minutes idle time, and powers down in one hour +# if the kernel supports APM or ACPI power management (default setting): +/bin/setterm -blank 15 -powersave powerdown -powerdown 60 + +# Screen does not blank or use power management features: +#/bin/setterm -blank 0 -powersave off -powerdown 0 + diff --git a/deps/util-linux/scsi_ioctl.h b/deps/util-linux/scsi_ioctl.h new file mode 100644 index 0000000..edb9525 --- /dev/null +++ b/deps/util-linux/scsi_ioctl.h @@ -0,0 +1,48 @@ +#ifndef _SCSI_IOCTL_H +#define _SCSI_IOCTL_H + +#define SCSI_IOCTL_SEND_COMMAND 1 +#define SCSI_IOCTL_TEST_UNIT_READY 2 +#define SCSI_IOCTL_BENCHMARK_COMMAND 3 +#define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters */ +#define SCSI_IOCTL_START_UNIT 5 +#define SCSI_IOCTL_STOP_UNIT 6 +/* The door lock/unlock constants are compatible with Sun constants for + the cdrom */ +#define SCSI_IOCTL_DOORLOCK 0x5380 /* lock the eject mechanism */ +#define SCSI_IOCTL_DOORUNLOCK 0x5381 /* unlock the mechanism */ + +#define SCSI_REMOVAL_PREVENT 1 +#define SCSI_REMOVAL_ALLOW 0 + +#ifdef __KERNEL__ + +struct scsi_device; + +/* + * Structures used for scsi_ioctl et al. + */ + +typedef struct scsi_ioctl_command { + unsigned int inlen; + unsigned int outlen; + unsigned char data[0]; +} Scsi_Ioctl_Command; + +typedef struct scsi_idlun { + __u32 dev_id; + __u32 host_unique_id; +} Scsi_Idlun; + +/* Fibre Channel WWN, port_id struct */ +typedef struct scsi_fctargaddress { + __u32 host_port_id; + unsigned char host_wwn[8]; // include NULL term. +} Scsi_FCTargAddress; + +extern int scsi_ioctl(struct scsi_device *, int, void __user *); +extern int scsi_nonblockable_ioctl(struct scsi_device *sdev, int cmd, + void __user *arg, struct file *filp); + +#endif /* __KERNEL__ */ +#endif /* _SCSI_IOCTL_H */ diff --git a/deps/util-linux/setserial-rc.serial.diff.gz b/deps/util-linux/setserial-rc.serial.diff.gz new file mode 100644 index 0000000..d64124c Binary files /dev/null and b/deps/util-linux/setserial-rc.serial.diff.gz differ diff --git a/deps/util-linux/setserial-undef_TIOCGHAYESESP.diff.gz b/deps/util-linux/setserial-undef_TIOCGHAYESESP.diff.gz new file mode 100644 index 0000000..2ea4d08 Binary files /dev/null and b/deps/util-linux/setserial-undef_TIOCGHAYESESP.diff.gz differ diff --git a/deps/util-linux/slack-desc b/deps/util-linux/slack-desc new file mode 100644 index 0000000..2ddf351 --- /dev/null +++ b/deps/util-linux/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------| +util-linux: util-linux (a huge collection of essential utilities) +util-linux: +util-linux: The util-linux package is a huge collection of random utilities +util-linux: that are essential to run a Linux system. +util-linux: +util-linux: Homepage: https://www.kernel.org/pub/linux/utils/util-linux/ +util-linux: +util-linux: +util-linux: +util-linux: +util-linux: diff --git a/deps/util-linux/su.default b/deps/util-linux/su.default new file mode 100644 index 0000000..73fb50a --- /dev/null +++ b/deps/util-linux/su.default @@ -0,0 +1,3 @@ +# Ensure that ENV_SUPATH from /etc/login.defs is used for the $PATH when +# 'su' is used. Otherwise /sbin paths will be missing unless 'su -' is used. +ALWAYS_SET_PATH yes diff --git a/deps/util-linux/util-linux.SlackBuild b/deps/util-linux/util-linux.SlackBuild new file mode 100755 index 0000000..3c33fe5 --- /dev/null +++ b/deps/util-linux/util-linux.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/bash + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Slackware build script for util-linux + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=util-linux +VERSION=${VERSION:-$(echo util-linux*.tar.xz | cut -d - -f 3 | rev | cut -f 3- -d . | rev)} +BUILD=${BUILD:-2} + +ADJTIMEXVERS=1.29 +SETSERIALVERS=2.17 +ZIPTOOLVERS=1.4.0 + +NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-util-linux + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP || exit 1 +rm -rf util-linux-$VERSION +tar xvf $CWD/util-linux-$VERSION.tar.xz || exit 1 +cd util-linux-$VERSION || exit 1 +chown -R root.root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \+ + +# Choose correct options depending on whether PAM is installed: +if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then + LOGIN_OPTIONS="" + # By default, don't use the util-linux version of /bin/su: + SHIP_SU=${SHIP_SU:-NO} + # Add /etc/pam.d config files: + rm -rf $PKG/etc/pam.d + mkdir -p $PKG/etc/pam.d + for file in $CWD/pam.d/* ; do + cp -a ${file} $PKG/etc/pam.d/ + done + if [ "$SHIP_SU" = "YES" ]; then + # Add su default file to ensure using ENV_SUPATH with 'su': + mkdir -p $PKG/etc/default + cp -a $CWD/su.default $PKG/etc/default/su.new + chown root:root $PKG/etc/default/su.new + chmod 644 $PKG/etc/default/su.new + # Add su /etc/pam.d files: + cp -a $CWD/pam.d-su/* $PKG/etc/pam.d/ + fi + # Ensure correct perms/ownership on files in /etc/pam.d/: + chown root:root $PKG/etc/pam.d/* + chmod 644 $PKG/etc/pam.d/* + # Don't clobber existing config files: + find $PKG/etc/pam.d -type f -exec mv {} {}.new \; +else + # Don't use the util-linux version of /bin/su. + # It can't be built without PAM anyway. + SHIP_SU=NO + LOGIN_OPTIONS="--disable-login" +fi + +# Changing the fdisk -l output (this was done prior to util-linux-ng) broke +# our installation scripts, so we have changed the name of partition type +# 83 back to "Linux swap": +zcat $CWD/util-linux.fdisk-no-solaris.diff.gz | patch -p1 --verbose || exit 1 + +# Revert to the behavior of earlier versions of fdisk which did not list the +# /dev/ram* devices in 'fdisk -l' output: +zcat $CWD/util-linux.do.not.list.ram.devices.diff.gz | patch -p1 --verbose || exit 1 + +# This just call the configure script with $1 either being 2 for python2 +# or 3 for python3. +# +# The releasenotes say to use --runstatedir, but it doesn't work and the +# configure script fails. So we'll leave things using localstatedir, but +# check again later: +# +# --runstatedir=/run +configure_with_python(){ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/util-linux-$VERSION \ + --disable-static \ + --enable-agetty \ + --enable-kill \ + --disable-last \ + --enable-libmount-support-mtab \ + --enable-line \ + --enable-mesg \ + --enable-partx \ + --enable-pg \ + --enable-raw \ + --enable-rename \ + $LOGIN_OPTIONS \ + --enable-schedutils \ + --enable-wall \ + --enable-write \ + --enable-use-tty-group \ + --enable-libblkid \ + --enable-libmount \ + --enable-libuuid \ + --disable-uuidd \ + --with-python=$1 \ + --build=$ARCH-slackware-linux +} + +CFLAGS="$SLKCFLAGS" \ + configure_with_python 2 || exit 1 + +make $NUMJOBS || make || exit 1 +make install $NUMJOBS DESTDIR=$PKG || exit 1 + +# These need to be setuid root to work properly (only built for PAM): +if [ -r $PKG/usr/bin/chfn ]; then + chmod 4711 $PKG/usr/bin/chfn +fi +if [ -r $PKG/usr/bin/chsh ]; then + chmod 4711 $PKG/usr/bin/chsh +fi + +# Build python3 bindings for libmount: +make clean +CFLAGS="$SLKCFLAGS" \ + configure_with_python 3 || exit 1 +make $NUMJOBS \ + install-pylibmountexecLTLIBRARIES \ + install-pylibmountexecPYTHON \ + DESTDIR=$PKG || exit 1 + +# Remove all overlap with the shadow package, since --disable-login doesn't quite do that: +rm $PKG/sbin/nologin $PKG/usr/man/man8/nologin.8 $PKG/sbin/sulogin $PKG/usr/man/man8/sulogin.8 + +# If we aren't shipping su, remove the files: +if [ "$SHIP_SU" = "NO" ]; then + rm -f $PKG/bin/su + rm -f $PKG/usr/man/man1/su.1 + rm -f $PKG/usr/share/bash-completion/completions/su +fi + +# Move the libblkid, libfdisk, libmount, libsmartcols, and +# libuuid libraries to /lib${LIBSUFFIX}: +mkdir -p $PKG/lib${LIBDIRSUFFIX} +( cd $PKG/usr/lib${LIBDIRSUFFIX} + mv libblkid.so.1* $PKG/lib${LIBDIRSUFFIX} + mv libfdisk.so.1* $PKG/lib${LIBDIRSUFFIX} + mv libmount.so.1* $PKG/lib${LIBDIRSUFFIX} + mv libsmartcols.so.1* $PKG/lib${LIBDIRSUFFIX} + mv libuuid.so.1* $PKG/lib${LIBDIRSUFFIX} + rm -f libblkid.so libfdisk.so libmount.so libsmartcols.so libuuid.so + ln -sf ../../lib${LIBDIRSUFFIX}/libblkid.so.1 libblkid.so + ln -sf ../../lib${LIBDIRSUFFIX}/libfdisk.so.1 libfdisk.so + ln -sf ../../lib${LIBDIRSUFFIX}/libmount.so.1 libmount.so + ln -sf ../../lib${LIBDIRSUFFIX}/libsmartcols.so.1 libsmartcols.so + ln -sf ../../lib${LIBDIRSUFFIX}/libuuid.so.1 libuuid.so +) + +# Moving things around that have been in the same place +# for 15 years is, IMHO, not a wise idea AT ALL. +# If this had to be moved, some place out of /usr might +# have shown a grain of insight... +if [ -r $PKG/usr/sbin/fdformat ]; then + mkdir -p $PKG/usr/bin + mv $PKG/usr/sbin/fdformat $PKG/usr/bin/fdformat + # Now since stuff will start looking in this new place, + # we have no choice but to link these: + ( cd $PKG/usr/sbin + ln -sf ../bin/fdformat . + ) +fi + +# Add the rc.setterm init script to set default terminal attributes: +mkdir -p $PKG/etc/rc.d +cp -a $CWD/rc.setterm $PKG/etc/rc.d/rc.setterm.new +chown root:root $PKG/etc/rc.d/rc.setterm.new +chmod 755 $PKG/etc/rc.d/rc.setterm.new + +# ddate.{1,c} taken from https://github.com/bo0ts/ddate: +cp -a $CWD/ddate.? . +cc -O -o ddate ddate.c +cp -a ddate $PKG/usr/bin +cat ddate.1 > $PKG/usr/man/man1/ddate.1 +chown root:root $PKG/usr/bin/ddate + +# Build ziptool (install as jaztool to avoid conflict with libzip): +cd $TMP || exit 1 +rm -rf ziptool-$ZIPTOOLVERS +tar xvf $CWD/ziptool-$ZIPTOOLVERS.tar.xz || exit 1 +cd ziptool-$ZIPTOOLVERS || exit 1 +zcat $CWD/ziptool-fix_build.patch.gz | patch -p1 || exit 1 +mkdir scsi +cat $CWD/scsi_ioctl.h > scsi/scsi_ioctl.h +chown -R root:root . +make || exit 1 +strip ziptool +cat ziptool > $PKG/sbin/jaztool +chmod 0755 $PKG/sbin/jaztool +mkdir -p $PKG/usr/doc/ziptool-$ZIPTOOLVERS +cp -a README $PKG/usr/doc/ziptool-$ZIPTOOLVERS +chmod 644 $PKG/usr/doc/ziptool-$ZIPTOOLVERS/* +cat ziptool.1.gz > $PKG/usr/man/man1/jaztool.1.gz + +# Build bsdstrings +cd $TMP || exit 1 +rm -rf bsdstrings +tar xvf $CWD/bsdstrings.tar.gz || exit 1 +cd bsdstrings || exit 1 +zcat $CWD/bsdstrings-util-linux_overflow.diff.gz | patch -p1 --verbose || exit 1 +make || exit 1 +strip strings +cat strings > $PKG/usr/bin/strings-BSD +chmod 0755 $PKG/usr/bin/strings-BSD +cat strings.1 | gzip -9c > $PKG/usr/man/man1/strings-BSD.1.gz + +# Build adjtimex +cd $TMP || exit 1 +rm -rf adjtimex-$ADJTIMEXVERS +tar xvf $CWD/adjtimex_${ADJTIMEXVERS}.orig.tar.gz || exit 1 +cd adjtimex-$ADJTIMEXVERS || exit 1 +chown -R root:root . +zcat $CWD/adjtimex_1.29-2.2.diff.gz | patch -p1 || exit 1 +CFLAGS=-O2 ./configure --prefix=/usr || exit 1 +make || exit 1 +strip adjtimex +cat adjtimex > $PKG/sbin/adjtimex +chmod 0755 $PKG/sbin/adjtimex +cat adjtimex.8 | gzip -9c > $PKG/usr/man/man8/adjtimex.8.gz +mkdir -p $PKG/usr/doc/adjtimex-$ADJTIMEXVERS +cp -a COPYING COPYRIGHT README README.ru adjtimex.lsm \ + $PKG/usr/doc/adjtimex-$ADJTIMEXVERS + +# Build setserial +cd $TMP || exit 1 +rm -rf setserial-$SETSERIALVERS +tar xvf $CWD/setserial-$SETSERIALVERS.tar.gz || exit 1 +cd setserial-$SETSERIALVERS || exit 1 +chown -R root:root . +zcat $CWD/setserial-rc.serial.diff.gz | patch -E -p1 --verbose || exit 1 +zcat $CWD/setserial-undef_TIOCGHAYESESP.diff.gz | patch -E -p1 --verbose || exit 1 +# The original config.{guess,sub} do not work on x86_64 +cp -p /usr/share/libtool/config/config.{guess,sub} . +./configure --prefix=/usr || exit 1 +make || exit 1 +strip setserial +cat setserial > $PKG/sbin/setserial +chmod 0755 $PKG/sbin/setserial +mkdir -p $PKG/etc/rc.d +cat rc.serial > $PKG/etc/rc.d/rc.serial.new +cat serial.conf > $PKG/etc/serial.conf.new +cat setserial.8 | gzip -9c > $PKG/usr/man/man8/setserial.8.gz + +# These have always traditionally been available before /usr +# might be mounted: +( cd $PKG/usr/bin + mv getopt setterm $PKG/bin + cd $PKG/usr/bin + ln -s ../../bin/getopt . + ln -s ../../bin/setterm . +) + +cd $TMP/util-linux-$VERSION # Go back home :) + +# Now let's add some important symlinks :) +( cd $PKG/sbin + ln -s ../bin/mount . + ln -s ../bin/umount . + #ln -s ziptool jaztool + ln -s hwclock clock + cd $PKG/usr/sbin + ln -s ../../sbin/cfdisk . + ln -s ../../sbin/ctrlaltdel . + ln -s ../../sbin/sfdisk . + cd $PKG/usr/bin + ln -s ../sbin/readprofile . + # tunelp was removed by upstream: + #ln -s ../sbin/tunelp . + ln -s ../../bin/more . + ln -s ../../sbin/raw . + cd $PKG/usr/man/man1 + #ln -s ziptool.1 jaztool.1 + cd $PKG/usr/man/man8 + ln -s hwclock.8 clock.8 +) + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Compress info page and remove dir file +rm $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +mkdir -p $PKG/usr/doc/util-linux-$VERSION +cp -a AUTHORS COPYING* DEPRECATED NEWS README* \ + Documentation/v${VERSION}-ReleaseNotes \ + Documentation/licenses/* Documentation/{TODO,*.txt} \ + $PKG/usr/doc/util-linux-$VERSION + +mkdir $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/util-linux-$VERSION-$ARCH-$BUILD.txz + diff --git a/deps/util-linux/util-linux.do.not.list.ram.devices.diff.gz b/deps/util-linux/util-linux.do.not.list.ram.devices.diff.gz new file mode 100644 index 0000000..fa79e82 Binary files /dev/null and b/deps/util-linux/util-linux.do.not.list.ram.devices.diff.gz differ diff --git a/deps/util-linux/util-linux.fdisk-no-solaris.diff.gz b/deps/util-linux/util-linux.fdisk-no-solaris.diff.gz new file mode 100644 index 0000000..73a3183 Binary files /dev/null and b/deps/util-linux/util-linux.fdisk-no-solaris.diff.gz differ diff --git a/deps/util-linux/ziptool-fix_build.patch.gz b/deps/util-linux/ziptool-fix_build.patch.gz new file mode 100644 index 0000000..f367eb0 Binary files /dev/null and b/deps/util-linux/ziptool-fix_build.patch.gz differ -- cgit v1.2.3